999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟PLC梯形圖到指令表的轉換方法研究

2018-03-09 05:43:26王立春張凱
科技創新與應用 2018年7期

王立春+張凱

摘 要:軟PLC是一種新型的控制技術,即利用軟件實現傳統PLC的功能。梯形圖轉換指令表是軟PLC技術中一個關鍵點,文章通過AOV和拓撲排序、AOV和串并聯掃描、正向深度優先掃描、二叉有向圖四種方法實現梯形圖到指令表的轉換,同時介紹四種方法優缺點。

關鍵詞:軟PLC;梯形圖;指令表;轉換算法

中圖分類號:TM571.6 文獻標志碼:A 文章編號:2095-2945(2018)07-0080-03

Abstract: Soft PLC is a new type of control technology, which uses software to realize the function of traditional PLC. The conversion of ladder diagram into instruction table is a key point in soft PLC technology. In this paper, four methods, i.e., AOV and topological sorting, AOV and series-parallel scanning, forward depth-first scanning and binary digraph, are used to realize the conversion from ladder diagram into instruction table. At the same time, the advantages and disadvantages of the four methods are introduced.

Keywords: soft PLC; ladder diagram (LAD); instruction list; conversion algorithm

引言

近年來,隨著控制技術向網絡化、智能化、分散化以及開放式控制發展,傳統的PLC技術逐漸暴露出其不足之處:軟硬件體系結構封閉、指令集固定;不同廠家的PLC產品兼容性差;編程語言和指令系統各不相同,給使用人員帶來很多不便[1]。隨著信息技術的迅速發展,特別是PLC的國際編程標準IEC61131-3的制定,軟PLC技術應運而生,它因其功能強大而越來越多得到企業和研究人員的重視。西門子、羅克韋爾、三菱、艾默生等公司都推出軟PLC相關產品,國內外很多高校和科研機構也在研究這項技術[2]。

相對于傳統PLC,軟PLC具有開放的體系結構、強大網絡通信能力和快速數據處理分析能力,同時遵循國際工業標準[3]。軟PLC系統的體系結構由開發系統和運行系統組成的,編譯器是軟PLC開發系統中最重要的一個模塊,具有承上啟下的作用。用戶編寫的梯形圖程序只有通過編譯器進行編譯,才能被運行系統識別,進而控制設備運行。梯形圖作為圖形化的語言,具有直觀、清晰、易于電氣技術人員掌握和學習優點,但卻不能被PLC的CPU識別。然而,指令表是一種匯編風格的編程語言,具有高效、執行速度快的優點,易于底層的運行系統解釋執行。因此要想實現編譯功能,研究梯形圖向指令表轉換的算法是非常有必要的[4]。

1 基于AOV圖的轉換算法

AOV有向圖是由頂點和弧構成的,梯形圖程序是由若干圖元和線段按照一定規則相互連接起來的。某些梯形圖到指令表的轉換方法需要將梯形圖轉換成AOV有向圖。通過分析梯形圖程序,我們可以把梯形圖中的圖元看作頂點,圖元與圖元之間的連線看作有向圖中的弧,這樣就可以得到梯形圖的AOV有向圖結構,從而確定各元件后繼和前驅關系。梯形圖映射AOV圖時,需要在母線處和其他聯結加入虛頂點[6]。根據上述方法將如圖1所示的梯形圖抽象成AOV有向圖,AOV圖中的1、2表示虛頂點。

1.1 AOV和拓撲排序轉換算法

拓撲排序指的是在有向圖中,尋找一個線性序列(V1V2V3…Vn),其中從頂點Vi到Vj有一條路徑,序列中頂點Vi必在Vj之前[7]。拓撲排序算法的過程如下:

(1)在有向圖中選擇一個入度為0的頂點,由于該頂點沒有任何先決條件,輸出該頂點。

(2)從圖中刪除所有以它為尾的弧。

(3)重復執行(1)和(2),直到找不到入度為0的頂點,拓撲排序完成。

拓撲排序是基于AOV為前提的,AOV有向圖常用存儲結構有十字鏈表、鄰接矩陣、鄰接表三種,但由于梯形圖是動態編輯的,而鄰接矩陣是靜態方法,效率較低,而十字鏈表建立過程比較復雜,我們采用鄰接表的存儲方式[8]。

根據拓撲排序算法,選擇入度為0的頂點并將頂點輸出,同時該頂點所有后繼結點入度值減1。將輸出的頂點存放在一個臨時的棧中,當所有頂點輸出以后就得到了圖元的地址值。圖2為虛頂點1輸出過程中,AOV圖頂點變化過程和臨時棧的變化過程。由于AOV的圖中頂點有虛頂點,因此需要除去臨時棧中的虛頂點。當所有虛頂點去除之后,在所有地址值前面添加相應操作符即可得到完整指令表結構[9]。

1.2 基于AOV和串并聯掃描法的轉換算法

串并聯掃描是為了解決AOV圖不能反映元件間的邏輯關系,通過對AOV圖進行深入掃描確定AOV圖中各元件間串并聯關系[10]。串并聯掃描分過程如下:

(1)對AOV進行掃描,確定并聯或者串聯關系。

(2)對更新的AOV圖進行串并聯掃描,同樣把掃描結果去更新AOV圖。

(3)重復執行(1)和(2),直到生成能夠清楚反映元件的邏輯關系的邏輯樹。

梯形圖準換指令表的分為三個部分[11-12]:(1)梯形圖映射AOV;(2)對AOV進行串并聯掃描,確定邏輯樹;(3)對邏輯樹進行遍歷生成指令表。下面通過一個實例來說明具體如何實現串并聯掃描。將AOV圖中所有實頂點存入一個向量M中,第一輪掃描,找到第一個元件I0.0與元件I0.1串聯,將I0.0和I0.1從向量M中移除,生成邏輯結點串1放入向量N中,同時更新AOV圖,如圖3。經過第二次串并聯掃描,I0.2和I0.3串聯,生成邏輯結點串2;經過第三次掃描,I0.5和I0.6串聯,生成結點串3;經過第四次掃描,I0.7和I1.0串聯,生成結點串4;進過第五次掃描,I0.4和Q0.0串聯,生成結點串5,如圖4。經過第六次掃描,串1,I1.0和串3并聯,生成邏輯結點并1;經過第七次掃描,串2和串4并聯,生成邏輯結點并2;經過第八次掃描,并1,并2和串5串聯,生成邏輯結點串6,如5圖。通過簡化生成邏輯樹結構,如圖6。endprint

2 基于正向深度優先掃描的轉換算法

正向深度優先掃描算法是通過正向、深度掃描梯形圖存儲的雙向鏈表結構,得到指令表方法。“正向”就是梯形圖程序第一行第一列的輸入結點開始,從左到右,從上到下順序對程序進行讀取掃描。深度優先是按照手工翻譯思想,先處理深層次支,后處理淺層分支或主路,類似于樹的深度掃描[13-14]。具體描述就是,以梯形圖的每一個梯級為單位進行從上到下,從左到右掃描,與到并聯支路,就轉入與當前分支并聯的下一行進行掃描,重復執行,一個階梯掃描完成后,回到原來位置繼續向右掃描直到整個梯形圖程序掃描結束。如果沒有出現并聯情況,就按照從左到右掃描處理。通過掃描構建成樹的結構,最后通過遍歷實現梯形圖到指令表轉換。

圖7舉例展示處理一個梯形圖程序時掃描過程和順序。按照圖中箭頭和數字標識,從梯形圖第一行第一列開始掃描,首先掃描圖元I0.0,發現右下側右并聯分支,轉向下一行,對下一行進行掃描發現圖元I0.1,掃描I0.1右下沒有并聯分支,此階梯掃描完畢。回到原來位置接著從圖元I0.0后面向右繼續掃描發現圖元I0.2,圖元I0.2右下有并聯分支轉向下一行,對并聯支路掃描遇到圖元I0.3,I0.4,發現I0.3沒有向下的并聯支路,返回主路圖元I0.2后面繼續向右掃描,遇到圖元I0.5發現圖元沒有并聯支路,繼續向右掃描遇到圖元Q0.0,繼續掃描發現右母線此網絡程序掃描結束,跳轉下一個網絡,重復此過程直到整個程序結束。例子中的梯形圖轉換指令表程序段,如圖7。

3 基于二叉樹有向圖的轉換算法

梯形圖轉換指令表時,常采用一種方法就是將梯形圖的存儲為二叉樹有向圖形式,通過一次遍歷就可以得到指令表[15]。梯形圖轉換指令表核心問題就是需準確表達梯形圖圖元的位置關系與邏輯關系(串并聯關系)。利用二叉有向圖用左子樹表示串聯,右子樹表示并聯,這樣就可以表達出圖元的邏輯關系[16,17]。圖8給出了一個典型梯形圖程序,將梯形圖中的每個圖元看做一個節點,按照每個網絡進行轉換,網絡之間通過虛擬節點實現連接。轉換后的二叉有向圖如圖8。

4 結束語

本文介紹了幾種梯形圖向指令表轉換的算法,AOV和拓撲排序方法能夠直觀方便,對于復雜串并聯梯形圖效率不高;AOV和串并聯掃描轉換算法每次可以掃描歸并多個元件效率高,但掃描過繁多;正向深度優先掃描算法準換準確率高但復雜梯形圖需要使用遞歸調用方法;二叉樹有向圖方法簡單,但對邏輯錯誤查找和梯形圖規范的檢查比較困難。

參考文獻:

[1]周雷.基于PC的軟PLC開發系統的設計與實現[D].重慶:重慶大學,2009.

[2]畢輝,程良鴻.關于軟PLC技術的研究及發展[J].機電產品開發與創新,2006,6.

[3]李成勇.軟PLC技術研究與開發[D].四川:西華大學,2008.

[4]吳亞山,陸陽.軟PLC梯形圖編輯與指令表生成方法研究[J].合肥工業大學學報:自然科學版,2015,33(10):1353-1357.

[5]朱戰立.數據結構-使用C++語言[M].西安:西安電子科技大學出版社,2005.

[6]馮光,夏清國,裴遠方.PLC梯形圖向AOV圖的一種轉化算法[J].航空計算技術,2009,39(2):109-112.

[7]段恩澤.數據結構(c#)[M].北京:清華大學出版社,2006.

[8]韓江,段少磊,夏鏈,等.軟PLC梯形圖向指令表轉換的算法研究與實現[J].組合機床與自動化加工技術,2013,11(11):61-64.

[9]姚遠,丑武勝,陳友東,等.軟PLC編程開發系統的設計和實現[J].組合機床與自動化加工技術,2006,6(14):14-17.

[10]鄒莉.軟PLC梯形圖向指令表轉換新算法的研究與實現[J].聊城大學學報:自然科學版,2013,3(26):105-110.

[11]石銳,周雷,楊正益.軟PLC梯形圖到語句表轉換新策略的研究[J].計算機工程與應用,2010.

[12]常明偉.PLC軟件開發平臺的設計與實現[D].天津:天津大學,2009.

[13]郭書杰.軟件PLC梯形圖編程系統的研究與實現[D].沈陽:中國科學院,2010.

[14]章德平.軟件PLC開發平臺的設計與實現[D].武漢:武漢理工大學,2007.

[15]黃云鷹,張浩,樊留群.軟PLC梯形圖可視化編輯軟件C++實現[J].機電一體化,2006,5:52-54.

[16]蘇淑芝.軟PLC梯形圖編程系統的研究與實現[D].廣州:華南理工大學,2012.

[17]儀維.軟件化PLC平臺的研究與開發[D].山東:山東大學,2005.endprint

主站蜘蛛池模板: 国产精品亚洲а∨天堂免下载| 中文字幕色在线| 91久久偷偷做嫩草影院免费看| 综合色在线| 日本尹人综合香蕉在线观看| 91九色国产porny| 无码免费的亚洲视频| 免费人成又黄又爽的视频网站| 欧美日韩国产高清一区二区三区| 丁香六月激情综合| 久久综合丝袜长腿丝袜| 成人福利在线视频| 国产精品尤物铁牛tv| 国产天天色| 亚洲欧美成人影院| 无码又爽又刺激的高潮视频| 久久性妇女精品免费| 午夜无码一区二区三区在线app| 小说区 亚洲 自拍 另类| 欧美国产菊爆免费观看| 有专无码视频| 激情国产精品一区| 日韩国产 在线| 亚洲国产成人精品一二区| 亚洲成人在线免费| 久久动漫精品| 久久成人免费| 国产成人夜色91| 中国一级特黄视频| 国产91高跟丝袜| 青青久在线视频免费观看| 亚洲黄色网站视频| 伊人久久大香线蕉aⅴ色| 亚洲av日韩综合一区尤物| 亚洲精品国产精品乱码不卞| 97色伦色在线综合视频| 伊人色天堂| 青草视频免费在线观看| 成人一级黄色毛片| 波多野结衣中文字幕一区| 国产a在视频线精品视频下载| 天天综合网亚洲网站| 91免费观看视频| 亚洲第一页在线观看| 粉嫩国产白浆在线观看| 欧美国产在线看| 午夜日b视频| 免费一级全黄少妇性色生活片| 国产成人久久777777| 综合五月天网| 欧美色视频日本| 亚洲第一中文字幕| 国产午夜不卡| 日韩a在线观看免费观看| 国产一级视频在线观看网站| 9啪在线视频| 中文成人在线视频| 久久人搡人人玩人妻精品| 国内精品久久九九国产精品| 91国内视频在线观看| 丁香五月婷婷激情基地| 亚洲AV无码一区二区三区牲色| 日本中文字幕久久网站| 国产大全韩国亚洲一区二区三区| 欧美性色综合网| 亚洲高清中文字幕在线看不卡| 青青草国产精品久久久久| 亚洲AV电影不卡在线观看| 亚洲成人精品久久| 波多野结衣一区二区三区四区视频| 国内精品一区二区在线观看| 欧美午夜小视频| 国产精品hd在线播放| 99成人在线观看| 日本福利视频网站| 欧美三级不卡在线观看视频| 久久久久国产精品熟女影院| 国产亚洲高清视频| 国产你懂得| 日本成人精品视频| 无码一区二区波多野结衣播放搜索| 99久久99这里只有免费的精品|