青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數(shù)據(jù)加載中……

基于有限狀態(tài)機的工控系統(tǒng)軟件設計

1. 引言

1.1 工控軟件的一般問題

工控軟件設計可分為基于控制環(huán)和基于實時操作系統(tǒng)兩大類??刂骗h(huán)是把各個功能模塊連接成首尾相接的環(huán)狀結構。其特點為任何一個功能模塊都不能出現(xiàn)死循環(huán),甚至循環(huán)次數(shù)太多的循環(huán)語句都應避免出現(xiàn)。以保證能夠在實時意義上盡可能快地遍歷各功能模塊,從而滿足實時多任務的需求。在各功能模塊中一般用狀態(tài)機來描述模塊所處的狀態(tài)。而實時操作系統(tǒng)則可以通過一套底層機制根據(jù)優(yōu)先級和各任務狀態(tài)調度各功能模塊。此時各功能模塊就以任務作為表現(xiàn)形式。但是在每個任務內(nèi)部仍然為一個獨立的控制環(huán)結構,仍然需要用狀態(tài)機描述。本文將結合工程實踐論述狀態(tài)機在工控中的應用,給出通用模型和注意要點。

1.2 有限狀態(tài)機

有限狀態(tài)機是一種重要的思想方法。從數(shù)學的角度看,它實際是一個五元組M = I, O, S, δ, λ),其中IO分別表示輸入輸出,S為狀態(tài)向量,δ為次態(tài)方程(δ: S×I ->S), 表示輸出方程(λ: S×I -> O)。有限狀態(tài)機從結構體系上有層級狀態(tài)機,并發(fā)狀態(tài)機等。層級狀態(tài)機類似于軟件中的子程序調度:更高層的一個狀態(tài)對應于較低層的一個狀態(tài)機。這個高層的狀態(tài)處于底層狀態(tài)機的某個狀態(tài)中。這個低層狀態(tài)稱為子狀態(tài)。與子程序調用受到系統(tǒng)堆棧深度制約不一樣,層級狀態(tài)機可以由開發(fā)者根據(jù)控制對象的層次性運動規(guī)律任意指定深度。與子程序的目的一樣,層級狀態(tài)機也是為了提高控制軟件的模塊化程度,降低狀態(tài)分析的復雜度。并發(fā)狀態(tài)機偏重于描述狀態(tài)機的調度。狀態(tài)機本身不能實現(xiàn)什么并發(fā)功能,并發(fā)的實現(xiàn)是通過軟件調度的。如果把狀態(tài)機理解成一個任務,那么就能理解并發(fā)的實現(xiàn)。在控制環(huán)中,一個任務就是一個功能模塊,我們只需要把多個狀態(tài)機串聯(lián)在環(huán)中,也就是實現(xiàn)了多輸入多輸出的并發(fā)控制。此時,多個狀態(tài)機在空間上是并存的,然而卻是分時調用的,調用的周期等同于控制環(huán)掃描一周的時間。不過如果CPU運算速度足夠快,這個周期將會足夠的快,達到實時的程度,從而這多個狀態(tài)機也就實現(xiàn)了并發(fā)運行。同理,在多任務操作系統(tǒng)中,并發(fā)的實現(xiàn)就更容易理解了,除了在單個任務內(nèi)存在控制環(huán)的并發(fā)控制外,在任務之間也同樣存在多狀態(tài)機的并發(fā)運行。當然,從CPU的角度而言,只要是單核的,也就從來不存在真正的并發(fā),它在任何一個特定的時間點都只能處理某個特定狀態(tài)機。不過多任務操作系統(tǒng)卻提供了一套底層機制來調度原來僅靠控制環(huán)來調度的任務。

2.有限狀態(tài)機在前后臺信息交互中的作用

工控系統(tǒng)一般都具有人機對話界面。其通常的操作模式為用戶進入某個頁面,選取某項操作并執(zhí)行。人機對話界面通常被設定為一個獨立模塊。該模塊軟件結構為一個消息控制環(huán)。用戶在硬件接口的操作會通過接口的驅動程序封裝成消息加入到專屬界面模塊的消息隊列中。消息控制環(huán)循環(huán)掃描該隊列,如有新消息則提取并解釋然后封裝成新消息發(fā)往后臺執(zhí)行。前后臺軟件的接口模塊負責分發(fā)界面消息到各個執(zhí)行模塊。消息應包括目標模塊的編碼,命令編碼以及命令參數(shù)。前后臺接口模塊的軟件結構多采用以下兩種模式。

clip_image001
1 兩種消息分發(fā)結構

模式一的輸出結構根據(jù)消息數(shù)據(jù)的目標模塊編碼直接分發(fā)消息到各模塊中。模式二則是根據(jù)當前系統(tǒng)所處的狀態(tài)再分發(fā)消息到各模塊中。也就是說模式二在模式一的基礎上增加了一個系統(tǒng)級的狀態(tài)機。下面我們看看兩種不同的輸出結構會帶來何種影響。

工控軟件設計者通常會碰到兩種情況。一是在研發(fā)階段,界面任務與控制任務聯(lián)調時,雙方均有可能出錯。對于界面任務而言,有可能自身原因誤發(fā)消息;而對控制任務,也有可能輸出時序出錯。此時需要在聯(lián)調中快速定位故障,縮短研發(fā)周期。二是在產(chǎn)品運行中由于惡劣工況的影響,導致緩沖區(qū)數(shù)據(jù)發(fā)生異常。比如消息頭的模塊編碼發(fā)生位翻轉,則會直接導致控制任務接收到錯誤的界面消息。對于模式一,如果界面消息出錯則會出現(xiàn)全局的混亂。比如模塊1收到消息后開始輸出一個控制時序,期間界面層又發(fā)來一個錯誤的消息,使其分發(fā)到模塊2,于是模塊2馬上開始輸出時序。這個不希望輸出的時序在工控中有可能會導致災難。而在聯(lián)調時出現(xiàn)這種現(xiàn)象,則無法立刻判斷到底是模塊1還是界面層出的問題。但如果采用模式二則可以屏蔽這種混亂。如下圖

clip_image002
2 不同分發(fā)結構對錯誤消息的處理示意圖

 

我們可以看到由于模式二采用全局狀態(tài)機標定當前軟件所處的狀態(tài),消息首先會到達相應的狀態(tài)處理程序,然后才進行分發(fā)。此時分發(fā)語句可以根據(jù)當前的狀態(tài)屏蔽不應該被調用的模塊。即使消息出現(xiàn)錯誤,也會過濾掉,等待正確消息的到來。而且可進一步優(yōu)化為當收到錯誤消息可以通知界面層??梢娫诳刂栖浖昂笈_的接口層增加一個標記后臺狀態(tài)的全局狀態(tài)機有助于增強軟件的健壯性。

3.狀態(tài)機的錯步問題

工控軟件本質上是根據(jù)一定的邏輯條件給出有序的輸出。根據(jù)輸出的次序可以劃分不同的狀態(tài)。邏輯條件在嵌入式領域中就是用戶的輸入和傳感器的狀態(tài)。正是這些條件決定了狀態(tài)的躍遷。在這里我們探討的是根據(jù)傳感器輸入而建立的狀態(tài)機。很明顯,它的運行速度比前述系統(tǒng)級狀態(tài)機高很多。這種狀態(tài)機分布在軟件的控制層中,正是它們使得受控對象能夠有序精確高速的運行。對于這樣高速運轉的狀態(tài)機,如果考慮不周全,會使其產(chǎn)生失步或者跳步,即高速狀態(tài)機中的錯步現(xiàn)象。由于控制層的狀態(tài)機的躍遷條件來源于傳感器信號,如果不能完全跟蹤到傳感器信號的變化,則躍遷條件將被遺漏,導致狀態(tài)機不能躍遷到新的狀態(tài)。這就會導致失步。有兩種情況會導致傳感器信號的檢測遺漏:一是采樣頻率不夠高,漏掉了一些保持時間較短的信號。這可以通過硬件上提高采樣頻率得到解決。二是狀態(tài)機設計的缺陷,詳見以下例子。

clip_image003
3 出現(xiàn)失步的狀態(tài)機

由圖3可以看出,狀態(tài)1根據(jù)傳感器a信號躍遷到狀態(tài)2,狀態(tài)2根據(jù)傳感器b信號躍遷到狀態(tài)3。如果b信號在a信號前發(fā)出了一個完整的脈沖,由于根據(jù)狀態(tài)圖在狀態(tài)1時并不需要檢測b信號,因此當躍遷到狀態(tài)2以后,狀態(tài)機就出現(xiàn)失步了。解決這個問題需要預先分析好a,b信號的關系。如果是b信號一定出現(xiàn)在a信號前,那不妨把狀態(tài)12的條件判斷對調,如果兩個信號是并發(fā)關系的,那就要合并狀態(tài)機1,2,把ab信號作為躍遷到3的綜合條件。因此解決失步問題的要點在于仔細考察受控對象處于此狀態(tài)時所可能出現(xiàn)的傳感器信號變化及其變化關系。

在處理輸入-輸出對時要注意防止狀態(tài)機跳步。輸入-輸出對是嵌入式領域中經(jīng)常遇到的控制模式,類似于應答機制。控制層給出一個輸出,使得傳感器信號產(chǎn)生變化并反饋,過一段時間后,控制對象運動完成,傳感器信號恢復初態(tài),此時控制層可以撤消原輸出并給出相關處理。設計者會有意無意的把注意力放在什么時候撤消輸出,因此設計出如圖4a)所示的有潛在問題的狀態(tài)機。

clip_image004
4 出現(xiàn)跳步的狀態(tài)圖

可是控制對象在收到控制層輸出的驅動產(chǎn)生運動,傳感器感知運動并給出信號變化是需要時間的。根據(jù)圖4a)的狀態(tài)機,很可能跳過傳感器信號變化的狀態(tài),而直接到達撤消輸出的狀態(tài)。結果導致控制層的輸出僅僅是一瞬而過甚至是無法輸出,這就是跳步。為解決跳步問題,就需要設計者仔細分析所有的輸入-輸出對,把狀態(tài)細分。如圖4b)所示,增加一個等待對象運動的新狀態(tài),確保上一狀態(tài)的輸出驅使對象真正運動以后才判斷對象運動停止。然而在細分狀態(tài)的同時也要注意防止失步。狀態(tài)分得越細,越要注意分析此狀態(tài)中所有可能出現(xiàn)的信號變化。

 

posted on 2010-01-06 17:12 肥仔 閱讀(1507) 評論(0)  編輯 收藏 引用 所屬分類: 狀態(tài)機 & 自動機 & 形式語言

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩视频一区二区| 欧美视频在线不卡| 欧美高清日韩| 久久精品国产亚洲aⅴ| 亚洲欧美日韩一区| 欧美一区二区福利在线| 午夜免费在线观看精品视频| 亚洲一区二区三| 中文在线一区| 久久精品人人做人人爽| 免费视频一区二区三区在线观看| 亚洲大片在线观看| 在线亚洲欧美视频| 欧美中文字幕精品| 欧美激情精品久久久久久免费印度 | 在线性视频日韩欧美| 亚洲先锋成人| 欧美一区二区日韩| 欧美成ee人免费视频| 一本一本久久a久久精品综合妖精| 亚洲午夜电影在线观看| 久久se精品一区二区| 美女精品自拍一二三四| 国产精品美女一区二区| 亚洲激情二区| 久久成年人视频| 99国产精品久久久久久久久久| 性久久久久久久久久久久| 欧美在线啊v| 久久深夜福利免费观看| 久久亚洲不卡| 欧美色综合网| 亚洲高清不卡在线| 宅男精品导航| 免费观看日韩| 亚洲综合999| 久久视频一区二区| 欧美精品www在线观看| 欧美三日本三级少妇三99| 国产精品一区毛片| 9色porny自拍视频一区二区| 久久手机免费观看| 亚洲欧美国产精品桃花| 欧美人与性动交a欧美精品| 1769国产精品| 老色鬼精品视频在线观看播放| 一区二区三区偷拍| 欧美日韩一区在线观看视频| 最新亚洲电影| 亚洲国产综合视频在线观看| 久久精品一本| 黄色亚洲在线| 老司机凹凸av亚洲导航| 亚洲欧美中文另类| 国产精品理论片在线观看| 中文欧美字幕免费| 99热精品在线观看| 欧美日韩性视频在线| 在线视频精品一| 日韩午夜激情| 国产乱码精品一区二区三区不卡| 亚洲伊人伊色伊影伊综合网| 亚洲乱码国产乱码精品精98午夜| 欧美激情一区二区三级高清视频| 亚洲日韩中文字幕在线播放| 欧美激情视频一区二区三区在线播放 | 国产欧美日韩中文字幕在线| 午夜欧美大片免费观看| 亚洲综合色在线| 国产午夜精品一区二区三区视频| 久久精品国产一区二区电影 | 国产农村妇女精品一二区| 欧美一区二区三区婷婷月色| 欧美亚洲免费| 亚洲第一毛片| 亚洲人成7777| 国产精品看片你懂得| 久久精品理论片| 一区二区三区鲁丝不卡| 免费看成人av| 亚洲深夜福利| 国产日韩欧美中文| 欧美成人精品在线| 欧美日韩一级大片网址| 欧美一级一区| 久久国产精品亚洲va麻豆| 亚洲国产视频一区| 日韩一区二区精品葵司在线| 日韩视频―中文字幕| 国产精品九九久久久久久久| 久久久精品2019中文字幕神马| 久久免费精品视频| 制服诱惑一区二区| 欧美影院一区| 一区二区免费在线播放| 午夜免费日韩视频| 日韩一二三在线视频播| 亚洲欧美在线网| 亚洲黄色在线看| 亚洲天堂av高清| 亚洲日韩视频| 久久免费高清视频| 欧美综合二区| 欧美日韩精品欧美日韩精品| 久久久国产精品亚洲一区| 欧美伦理91i| 开元免费观看欧美电视剧网站| 欧美久久久久久| 久久字幕精品一区| 国产精品高清网站| 亚洲久色影视| 91久久国产自产拍夜夜嗨| 亚洲女性裸体视频| 一区二区国产在线观看| 久久资源在线| 久久成人综合视频| 欧美私人网站| 日韩视频在线一区| 亚洲精品一区中文| 久久视频一区二区| 久久久精品一区二区三区| 国产精品成人一区二区| 亚洲精品中文字幕女同| 亚洲欧洲偷拍精品| 噜噜噜躁狠狠躁狠狠精品视频| 欧美一区二区三区播放老司机| 欧美精品在线观看播放| 欧美第一黄网免费网站| 狠狠噜噜久久| 欧美一区二区三区视频在线 | 牛牛国产精品| 久久影音先锋| 一区二区三区在线看| 性做久久久久久免费观看欧美| 亚洲欧美中文字幕| 国产精品欧美久久久久无广告| 亚洲美女中出| 国产精品99久久久久久www| 欧美国产综合视频| 亚洲福利视频一区二区| 亚洲国产精品第一区二区| 久久久国际精品| 亚洲一区二区三区四区视频| 9人人澡人人爽人人精品| 亚洲日本成人网| 欧美不卡福利| 亚洲国产一区二区三区a毛片| 亚洲黄色小视频| 欧美日本不卡高清| 99精品国产高清一区二区| 一本色道久久综合亚洲二区三区| 欧美成人精品激情在线观看| 欧美国产日韩精品| 一区二区电影免费观看| 国产精品久久久久9999| 欧美一级艳片视频免费观看| 久久综合久久久久88| 亚洲国产精品123| 欧美久久视频| 亚洲一区国产一区| 久久久久久电影| 亚洲黄色视屏| 国产女精品视频网站免费| 久久精品国产亚洲一区二区| 欧美二区在线观看| 亚洲午夜视频在线观看| 国产日韩欧美综合在线| 老鸭窝毛片一区二区三区| 日韩视频中文| 老司机一区二区三区| 亚洲美女av网站| 国产精品www色诱视频| 欧美在线三区| 亚洲肉体裸体xxxx137| 午夜精品一区二区三区在线播放| 在线看不卡av| 国产精品久久久久久久久久久久久| 午夜精品久久久久久久久久久久| 久久午夜电影| 亚洲一级影院| 亚洲国产一区二区精品专区| 欧美性感一类影片在线播放 | 欧美日韩福利视频| 久久国产福利| 一区二区日韩精品| 可以看av的网站久久看| 亚洲综合视频在线| 亚洲三级性片| 国产偷自视频区视频一区二区| 欧美—级高清免费播放| 欧美在线免费一级片| 夜夜爽www精品| 亚洲高清不卡一区| 久久久久国产一区二区| 亚洲午夜视频在线| 亚洲精品国偷自产在线99热| 一区二区三区在线观看国产| 国产日韩在线亚洲字幕中文| 欧美三级乱人伦电影| 欧美成年人网站|