聶燕敏 程維剛

摘 要:梯形圖是一種形象、直觀的圖形化編程語言,沿用繼電器的觸點、線圈、串并聯等術語和圖形符號來表達元件以及它們之間的邏輯關系。對于具有電氣專業背景的人來說,非常容易接受,而且不需要學習更深的計算機知識。因此,深入研究組態仿真平臺的梯形圖的執行理論,設計一個好的梯形圖組態仿真平臺是非常必要的。
關鍵詞:梯形圖; 組態; 仿真; 執行理論
中圖分類號:TP391.9 文獻標識碼:A 文章編號:1006-3315(2013)06-172-001
一、緒論
梯形圖起源于電氣系統的繼電器邏輯和執行線路,它用不同的圖符來表示不同的指令,用串、并聯等概念組織圖符的順序位置來表述邏輯。它沿用繼電器的觸點、線圈、串并聯等術語和圖形符號來表達元件以及它們之間的邏輯關系。對于具有電氣專業背景的人來說,非常容易接受,而且不需要學習更深的計算機知識。
目前,有的仿真組態平臺是人為把梯形圖轉換成邏輯模塊,界面效果不好,如果進行閱讀還要重新翻譯回去,既費時,效率也不高。因此,組建一個有電氣背景知識的人員來進行組態或閱讀梯形圖的仿真組態平臺是非常有意義的,這樣的平臺可以有很好的逼真性和很高的仿真度。
二、梯形圖編程語言簡介
梯形圖主要的組成元素為[3]:
1.電源軌線
梯形圖電源軌線(Power Rail)也稱作母線。其圖形表示是位于梯形圖左側和右側的兩條垂直線,左側的垂直線稱為左電源軌線,或左母線。右側的垂直線稱為右電源軌線,或右母線。梯形圖中,能流從左電源軌線開始,向右流動,經連接元素和其他連接在該梯級的圖形元素后到達右電源軌線。
2.常開(閉)觸點
如果常開(閉)觸點相關布爾變量的狀態是0N(OFF),那么將左邊鏈接的狀態復制到右邊鏈接。否則,右邊鏈接的狀態是0FF。
3.線圈
左邊鏈接的狀態被復制給相關布爾變量和右邊鏈接。
4.取反線圈
左邊鏈接的狀態被復制給右邊鏈接。左邊鏈接的相反狀態被復制給有關布爾變量,也就是若左邊鏈接的狀態是OFF,則有關變量的狀態是ON,反之亦然。
5.置位(復位)線圈
當左邊鏈接處于ON狀態時,有關布爾變量被置位為ON(OFF)狀態,并保持該狀態直到由RESET(SET)線圈復位。
三、梯形圖執行設計總體思路
如圖1中所示梯形圖,我們把每個觸點看成一個可以開合的開關,而左母線看成一直是通電狀態的供電電源,而觸點之間的連線看成是一種導線,只是通電的一個過程。而本文最后程序處理是把這個問題轉化成了通路的問題,即從左母線開始共有幾條通路能到達線圈5,即使得線圈5有電狀態。由上例可以看出,共有兩條通路,一條是通過觸點1、4到達線圈5,第二條是通過觸點2、3、4到達線圈5。
而這種思路的優點是運行時候不必全部把這些通路執行一遍,而是只要先判斷出來一條通路是通著的,即線圈5有電,則下面的通路都不用執行,這樣省略了執行時間,提高了程序運行效率。
通過上述分析就可以將梯形圖轉化成AOV圖,將用戶編寫的高級語言程序轉換成與之等價的低級語言程序供下位機使用。源碼是梯形圖,是面向圖形的,應該轉化成計算機能夠識別的語言,即驅動程序。基于這個目的,本文的梯形圖轉化策略主要完成兩個工作:
(1)如果直接將用戶編輯的梯形圖轉化成計算機能識別的目標碼,難度比較大,所以先將梯形圖轉化成AOV圖;
(2)再有AOV圖通過查找最短路徑和通路數來實現驅動程序的編寫。
四、梯形圖向AOV圖轉換程序設計
AOV圖是一種有向圖,用頂點表示活動,用弧表示活動的優先關系。因此,我們可以將梯形圖各觸點和線圈映射成AOV圖的頂點,觸點和線圈之間的前驅后繼關系映射成AOV圖的弧。轉換程序主要思想為:
(1)先從圖元即AOV圖頂點集合中找出一個引腳坐標最小的圖元A,當做搜索起始點;
(2)根據連線信息找出與作為起始點的圖元引腳相連接的圖元,作為該圖元的后繼結點。若連線信息搜索完畢,即沒有與圖元A的引腳相連接的連線,搜索停止;
(3)將與起始點圖元相連的圖元壓棧;
(4)然后將棧中的圖元依次出棧;
(5)轉(2)。
根據上述算法,就可以將梯形圖轉換成AOV圖,從而轉換成了通路的問題,并且可以進一步利用最短路徑算法,求出最短路徑,則最優通路就是最短路徑,更加提高了程序的運行效率。
本文主要是對梯形圖執行順序進行了理論研究,把梯形圖執行看成是兩點之間一共有幾條通路,以及哪條通路能使得線圈通電的問題。這樣,可以把梯形圖轉化成AOV圖,然后采用搜索后繼方法找到兩點之間共有幾條通路,這樣可以大大提高程序的執行效率。
參考文獻:
[1]王俊梅等.面向對象組態軟件流程圖CAD的開發與實現,工業控制計算機,2000,13(3):25-27
[2]彭瑜,何衍慶.IEC61131-3編程語言及應用基礎[M]北京:機械工業出版社,2009:41-80
[3]呂崇德.仿真技術在中國電力工業中的發展及應用,系統仿真學報,1999,11(6):226-227