亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于有限狀態(tài)機的PLC程序設計方法

        2018-03-01 06:35:20范雄濤和淑芬
        電氣技術 2018年2期
        關鍵詞:邏輯電路狀態(tài)機流程圖

        范雄濤 沈 勇 和淑芬

        (云南民族大學電氣信息工程學院,昆明 650500)

        可編程序控制器(programmable logic controller,PLC)本質(zhì)是一個微型計算機,在現(xiàn)代化工廠中大量采用PLC完成控制系統(tǒng)的邏輯控制[1]。根據(jù)是否與原來的狀態(tài)有關,可將其分為組合邏輯電路和時序邏輯電路,時序邏輯電路的輸出取決于當前的輸入和原來的狀態(tài)[2]。根據(jù)存儲電路的狀態(tài)變化時刻,可將時序電路分為同步時序電路和異步時序電路。同步時序電路的所有觸發(fā)器的狀態(tài)變化都在同一脈沖作用下發(fā)生[3]。

        1 有限狀態(tài)機

        時序電路是狀態(tài)依賴的,故稱為狀態(tài)機[4]。因輸入和輸出都是有限的,故稱為有限狀態(tài)機。有限狀態(tài)機理論已經(jīng)形成了一整套完整的體系,根據(jù)輸出信號是否與輸入信號有關,可將狀態(tài)機分為Moore狀態(tài)機和Mealy狀態(tài)機[5]。

        可將狀態(tài)機歸納為4個因素:現(xiàn)態(tài)、次態(tài)、動作、條件[6]。其中,次態(tài)是指條件滿足后執(zhí)行動作要遷移的新狀態(tài)?!按螒B(tài)”是相對于“現(xiàn)態(tài)”而言的,“次態(tài)”一旦被激活,就轉(zhuǎn)變成新的“現(xiàn)態(tài)”。

        作進一步歸納總結(jié),“現(xiàn)態(tài)”、“次態(tài)”可以統(tǒng)一起來為“狀態(tài)”,“條件”、“動作”可以統(tǒng)一起來為“遷移條件”,并可以用函數(shù)的表示方法更加直觀地認識其中的關系。

        狀態(tài):{現(xiàn)態(tài)×遷移條件→次態(tài)}狀態(tài)機采用的表示方法有許多種,在此采用的是表格和圖形的表示方法[7]。

        2 同步時序電路

        對異步時序電路進行分析,就必須考慮每個狀態(tài)時刻觸發(fā)器與時鐘信號的關系[8],對于復雜性輸入的電路來說,其設計的工作量較大,并且各存儲單元的狀態(tài)轉(zhuǎn)換因受到時鐘信號觸發(fā)而存在時間差異從而可能造成輸出狀態(tài)短時間的不穩(wěn)定,而這種不穩(wěn)定有時可能是無法預計的,從而電路設計的復雜性以及調(diào)試的工作量。

        時鐘同步狀態(tài)機所有觸發(fā)器的狀態(tài)更新是在同一時刻[9],其輸出狀態(tài)變化的時間不存在差異或者差異績效,在時鐘脈沖兩次作用的間隔期間,從觸發(fā)器輸入到狀態(tài)輸出的通路被切斷,也不會改變觸發(fā)器的輸出狀態(tài),所以很少發(fā)生輸出不穩(wěn)定的現(xiàn)象[10]。更重要的是,其電路的狀態(tài)很容易用固定周期的時鐘脈沖邊沿清楚地分離為序列步進,每一個步進都已通過輸入信號和所有觸發(fā)器的現(xiàn)態(tài)單獨進行分析,從而形成一套較系統(tǒng)、易掌握的分析和設計方法。

        在啟動PLC的CPU后,系統(tǒng)將循環(huán)執(zhí)行主程序OB1,并可在執(zhí)行過程中調(diào)用其他邏輯功能塊,如FC、FB、DB、SFB和SFC等[9],將有限狀態(tài)機理論應用于PLC程序設計。關鍵在于分析整個系統(tǒng)的狀態(tài)集和遷移條件、現(xiàn)態(tài)遷移到次態(tài)的具體邏輯、遷移條件與系統(tǒng)的輸入之間的關系。狀態(tài)集包含了PLC系統(tǒng)的起始狀態(tài)、現(xiàn)態(tài)與次態(tài),輸入對應于PLC系統(tǒng)的狀態(tài)轉(zhuǎn)換函數(shù)的動作過程,輸出對應于整個PLC系統(tǒng)的狀態(tài)與動作的響應。復雜型輸入狀態(tài)的PLC程序設計的基本思路如圖1所示。

        程序狀態(tài)流程圖是程序分析中最實用的分析技術,它是進行程序流程分析過程中最基本的工具。利用程序流程圖與狀態(tài)機視圖的相結(jié)合??梢杂行У孛枋鯬LC系統(tǒng)中狀態(tài)、輸入、狀態(tài)轉(zhuǎn)換之間的相互關系。

        3 基于有限狀態(tài)機的PLC程序設計的應用

        本文以一個無浮點四則運算的計算器PLC程序設計為例,分析有限狀態(tài)機理論在復雜PLC程序設計的應用。本計算器包括數(shù)字鍵0—9,操作碼 + ? */、=、清零鍵C在內(nèi)的16個輸入按鍵。計算器程序的復雜性在于:①輸入操作數(shù)的程序設計;②計算時輸入按鍵順序的隨機性強,并且輸入的歷史有關。而利用有限狀態(tài)機理論分析該計算器程序的難點是如何合理劃分整個系統(tǒng)的所有狀態(tài)和輸入屬性,從而減少工作量。

        對于輸入操作數(shù)的程序,可做一個 FC的函數(shù)塊,命名為DATA_IN,其輸入操作數(shù)程序的核心是buff=buff*10+KeyData,其中buff代表按鍵緩沖區(qū),KeyData為數(shù)字鍵。因輸出與輸入的歷史有關,故只采用組合邏輯電路的設計方法不能解決記憶的問題,同樣因異步時序邏輯電路設計的復雜性和不穩(wěn)定難調(diào)試等缺點會給本程序設計增加困難,故采用同步時序邏輯電路的設計方法指導該計算器的程序設計。PLC主程序OB1掃描是自上而下、自左而右循環(huán)掃描執(zhí)行的,故要使得系統(tǒng)的狀態(tài)在一個掃描周期只改變一次,應在主程序OB1不應設計成一個觸點驅(qū)動兩個狀態(tài)的情況,避免程序在一個掃描的過程中因一個觸點驅(qū)動狀態(tài)寄存器改變引起后面的程序運行的混亂,從而減少程序設計的復雜性[11]。

        本文利用有限狀態(tài)機理論分析整個計算過程的所有狀態(tài)集和動作輸入,能夠全面地枚舉所有的計算過程。顯然,無浮點四則運算的計算過程通常為a?b=c,其中a表示第一操作數(shù)OP1,?表示操作OP,b表示第二操作數(shù)OP2,c表示a、b進行運算的結(jié)果,為了能再進行下一步的運算,可將計算結(jié)果放在OP1中。即可得到3個輸入過程:輸入第一操作數(shù)OP1、輸入操作OP、輸入第二操作數(shù)OP2。在進行運算時,根據(jù)輸入的可能性會出現(xiàn)以下情況:上電初始化,輸入第一個操作數(shù)并且能繼續(xù)輸入第一個操作數(shù),接著輸入操作,再輸入第二個操作數(shù),按下等號鍵,計算結(jié)果放在第一操作數(shù)中,接著等待操作碼進行下一次運算,其中如果輸入的操作數(shù)或計算結(jié)果有可能因溢出而導致出錯或者按下清零鍵直接恢復初始化。根據(jù)以上分析并區(qū)分因輸入的情況而使狀態(tài)轉(zhuǎn)換可得到以下6種狀態(tài)。

        Stat0:初始即上電程序初始化;

        Stat1:輸入第一操作數(shù),并且還能繼續(xù)輸入第一操作數(shù),如輸入第一操作數(shù)“12”,并且接著按下“3”、“4”使得第一操作數(shù)為“1234”;

        Stat2:有第一操作數(shù)和操作,如第一操作數(shù)“1234”和操作“+”;

        Stat3:有第二操作數(shù),如第二操作數(shù)“567”;

        Stat4:有第一操作數(shù),等待操作碼,即前面計算的結(jié)果“1801”放在第一操作數(shù)OP1中,等待下一次計算;

        Stat5:出錯,如計算溢出導致出錯等。

        由此得出6個狀態(tài)×16個輸入按鍵=96種組合邏輯的情況,但因輸入按鍵的特性可以分為4種按鍵屬性,為了方便表示,可將PLC的I點對應賦值為 0—9數(shù)字鍵,10—13分別為+、?、*、/的操作鍵,14為=、15為清零鍵,一共4種按鍵屬性。因此,可以化簡6個狀態(tài)×4種按鍵屬性=24種組合邏輯。如表1所示Qn表示現(xiàn)態(tài),Qn+1表示次態(tài),KeyIn表示輸入鍵,Display表示結(jié)果顯示。

        表1 組合邏輯表

        例如,上電初始化后→Stat0→數(shù)字鍵→Stat1→操作鍵→Stat2→數(shù)字鍵→Stat3→等號鍵→Stat4→計算溢出→Stat5;Stat1、Stat3→輸入溢出→Stat5;Stat1、Stat2、Stat3、Stat4、Stat5→清零鍵 C→Stat0等,其中在輸入操作數(shù)的過程中調(diào)用DATA_IN。完整的狀態(tài)轉(zhuǎn)換機如圖2所示。

        圖2 完整的狀態(tài)轉(zhuǎn)換機

        如圖3所示,初始化后根據(jù)按鍵KeyIn判斷整個系統(tǒng)的狀態(tài) Stat;根據(jù)狀態(tài)轉(zhuǎn)換視圖來分析每個狀態(tài)轉(zhuǎn)換的具體流程圖,如圖4所示的Stat1的具體流程圖;再根據(jù)具體流程圖依次寫出PLC梯形圖,最后進行檢查仿真驗證,限于篇幅在此就不詳細列出每個狀態(tài)轉(zhuǎn)換的具體程序。其優(yōu)化方法在如下方面。

        1)多級順序條件控制策略

        即將被控對象的控制按照條件分成多級控制,每一級之間都定義有對應的接口。如圖4所示的Stat1的具體流程圖,根據(jù)KeyData的值滿足對應的轉(zhuǎn)移條件時,繼續(xù)進行下一步的動作。當出現(xiàn)故障時,可以在相應的控制級別查詢,從而為系統(tǒng)的開發(fā)和調(diào)試帶來了極大的方便。

        圖3 主程序框圖

        圖4 Stat1的流程圖

        2)狀態(tài)機邏輯控制方案

        賦予每個狀態(tài)一個狀態(tài)字如0、1、2等,該狀態(tài)字標志著當前系統(tǒng)處于何種狀態(tài)。另外,對每個狀態(tài)分配專用的狀態(tài)查詢單元,當檢測到根據(jù)用戶需要或系統(tǒng)運行情況需要改變狀態(tài)時,便對狀態(tài)位進行操作,修改對應的狀態(tài)位,從而通過軟件實現(xiàn)狀態(tài)機的切換。

        4 西門子S7-GRAPH編程語言結(jié)構(gòu)

        在西門子順序功能圖的S7-GRAPH的編程語言結(jié)構(gòu)中,有步、轉(zhuǎn)換條件、選擇分支、并行分支等結(jié)構(gòu)元素。根據(jù)功能將控制任務分解為若干步,其順序用圖形方式顯示出來并且可形成圖形和文本方式的文件[12]。其核心是根據(jù)系統(tǒng)邏輯結(jié)構(gòu)分析每一步和步與步之間的轉(zhuǎn)換條件,其中會根據(jù)實際轉(zhuǎn)換條件相應嵌套選擇分支和并行分支等。

        這與有限狀態(tài)機理論有異趣同工之效,其核心也是分析狀態(tài)集和現(xiàn)態(tài)與次態(tài)之間的遷移條件,其中也會根據(jù)其實際邏輯結(jié)構(gòu)和狀態(tài)遷移條件存在多種狀態(tài)與并行。

        這種基于有限狀態(tài)機程序設計的方法與常規(guī)的順序控制設計、邏輯控制設計等有一定的關聯(lián)性與相似性,但是采用有限狀態(tài)機理論的方法使得分析程序的思路更加清晰,設計邏輯更加全面而又嚴格。分析清楚每個狀態(tài)與每個輸入之間邏輯關系后,根據(jù)所畫的程序流程圖,能因避免其他狀態(tài)輸入的干擾而更加快速而完整地編寫梯形圖程序。

        5 結(jié)論

        本文以傳統(tǒng)的PLC設計方法為基礎,并在時序邏輯電路的理論的指導下結(jié)合同步時序邏輯電路的分析方法和一般的設計步驟,參考和對比西門子S7-GRAPH編程語言,根據(jù)所學知識理解提出一種基于有限狀態(tài)機理論的復雜PLC程序設計方法,能夠較為清晰地分析整個PLC系統(tǒng)的所有狀態(tài),避免因為時序邏輯的復雜造成程序編程的混亂,從而有序地編寫每個狀態(tài)轉(zhuǎn)換的程序,并且能在檢查調(diào)試時更加方便,使得編程效率大幅度提高,并且能深化加強對S7-GRAPH編程語言學習和理解,達到由淺入深的效果。該方法思路能被有效地運用于到實際工藝控制系統(tǒng)中,有利于系統(tǒng)的維護和程序的擴展與修改。

        [1] 鮑金艷, 蔣立軍. 分散控制系統(tǒng)(DCS)和可編程控制器(PLC)應用技術[C]//2010年電站熱工控制研討會暨自動化信息化技術交流年會論文集, 上海, 2010:125-130.

        [2] 黃麗晶. 基于 PLC的電梯控制系統(tǒng)設計分析[J]. 電氣技術, 2016, 17(11): 125-132.

        [3] 康光華. 電子技術基礎數(shù)電部分[M]. 5版. 北京: 高等教育出版社, 2006.

        [4] 聶旭中. 狀態(tài)機設計研究[J]. 洛陽師范學院學報,2009, 28(2): 96-98.

        [5] 張國慶, 霍國義. 有限狀態(tài)機設計與實現(xiàn)方法[J].電腦編程技巧與維護, 2001, 12(12): 42-44.

        [6] 李帛洋, 趙爭鳴, 檀添, 等. 一種考慮死區(qū)與最小脈寬限制的 IPWM 算法[J]. 電工技術學報, 2014,29(12): 11-18.

        [7] 黃招彬, 游林儒, 汪兆棟, 等. 后向離散狀態(tài)事件驅(qū)動電力電子仿真方法[J]. 電工技術學報, 2017,32(12): 42-49.

        [8] 齊耀輝. 異步時序邏輯電路分析方法的研究[J]. 現(xiàn)代電子技術, 2008, 31(6): 14-18.

        [9] 陳云洽. 脈沖異步時序電路分析與設計中應注意的兩個問題[J]. 電氣電子教學學報, 2001, 23(3):50-52.

        [10] 方振同, 梁長飛. PLC控制的剪式液壓舉升機設計[J]. 電氣技術, 2015, 16(12): 128-130, 138.

        [11] 張林, 陳洋. 基于西門子 STEP7設計平臺的程序設計[J]. 黑龍江科技信息, 2015, 19(19): 146.

        [12] 廖常初. S7-300/400 PLC應用技術[M]. 3版. 北京:機械工業(yè)出版社, 2012.

        猜你喜歡
        邏輯電路狀態(tài)機流程圖
        數(shù)字電子時鐘邏輯電路的教學設計與仿真
        電子制作(2019年20期)2019-12-04 03:51:28
        基于有限狀態(tài)機的交會對接飛行任務規(guī)劃方法
        專利申請審批流程圖
        河南科技(2016年8期)2016-09-03 08:08:22
        專利申請審批流程圖
        河南科技(2016年6期)2016-08-13 08:18:29
        基于軟件技術的組合邏輯電路模型分析與實現(xiàn)研究
        短區(qū)間自動閉塞車站接近區(qū)段邏輯電路設計
        寧??h村級權力清單36條
        淺談時序邏輯電路
        科技視界(2013年3期)2013-08-15 00:54:11
        《天津醫(yī)藥》稿件處理流程圖
        FPGA設計中狀態(tài)機安全性研究
        黑龍江科學(2011年2期)2011-03-14 00:39:36
        无码中文字幕免费一区二区三区 | 亚洲日韩成人无码不卡网站| 青青草绿色华人播放在线视频| 华人免费网站在线观看| 色婷婷综合久久久久中文字幕| 亚洲国产AV无码男人的天堂| 人妻中文字幕av有码在线| 中文国产乱码在线人妻一区二区| 亚洲av无码专区亚洲av网站| 欧美婷婷六月丁香综合色| 99热高清亚洲无码| 中文字幕人妻日韩精品| 久久久久久久综合综合狠狠| 狠狠躁夜夜躁人人爽超碰97香蕉| 日本第一区二区三区视频| 成人国产精品三上悠亚久久| 欧美猛少妇色xxxxx猛交| 欧美成人精品第一区二区三区| 亚州五十路伊人网| 国产亚洲成人精品久久久| 真实国产老熟女无套中出| 自拍欧美日韩| 精品国产夫妻自拍av| 麻豆精品国产av在线网址| 日本aⅴ大伊香蕉精品视频| 天堂网www资源在线| 亚洲精品无码国模| 无码流畅无码福利午夜| 国产成人大片在线播放| 97高清国语自产拍| 日本午夜国产精彩| 亚洲发给我的在线视频| 国产av久久久久精东av| 欧美午夜精品久久久久久浪潮| 国产高清黄色在线观看91 | 中文字幕av伊人av无码av| 无码三级在线看中文字幕完整版| 极品av在线播放| 精品在线视频在线视频在线视频| 欧美俄罗斯40老熟妇| 婷婷第四色|