電氣測控系統(tǒng)的改進——軟PLC
圖2 運行系統(tǒng)的結構組成
運行系統(tǒng)可在多種支持平臺上運行,它通過將數(shù)據區(qū)和代碼區(qū)分離,實現(xiàn)程序的動態(tài)更新和代碼的高效率動態(tài)下載。
(1)在μClinux平臺上實現(xiàn)軟PLC虛擬機實現(xiàn)步驟
將梯形圖的指令翻譯成宏匯編并建立一個宏庫;
把用戶編寫的梯形圖程序編譯成中間代碼形式的PLM文件;
將PLM文件轉變?yōu)閰R編程序;
用匯編器匯編變成功的匯編程序,將解釋執(zhí)行內部指令(PLM文件)轉換為程序,匯編成機器碼執(zhí)行,實現(xiàn)PLC指令機器碼執(zhí)行方案,大大地提高了執(zhí)行速度控制工程網版權所有,同時大大節(jié)約了內存空間;
將PLC指令對應的機器碼移植到嵌入式操作系統(tǒng)中執(zhí)行。
(2)運行系統(tǒng)的兩大模塊
運行系統(tǒng)主要由兩大模塊組成:1)梯形圖到機器碼程序的轉換;2)執(zhí)行機器碼文件。每個模塊的功能如下:
1)梯形圖到機器碼程序的轉換。首先把用戶編寫的梯形圖程序編譯成中間代碼形式的PLM文件,然后將PLM文件轉變?yōu)閰R編程序,最后用匯編器匯編轉變成功的匯編程序CONTROL ENGINEERING China版權所有,產生機器碼從而生成可執(zhí)行的PLE文件。
2)執(zhí)行機器碼文件。將PLE文件嵌入配置好的執(zhí)行環(huán)境中并執(zhí)行,通過工控機的面版指示燈監(jiān)測程序的正確性。
(3)虛擬機總體設計
根據虛擬機的原理和執(zhí)行機制,對虛擬機的機器碼執(zhí)行方案進行了總體設計,如圖3所示。PLC文件是梯形圖程序的保存文件,通過對PLC文件進行詞法分析、語法分析和語義分析編譯產生PLM文件,然后調用宏匯編庫,并進行一系列的轉換生成機器碼,產生PLE文件;最后創(chuàng)建機器運行環(huán)境來執(zhí)行機器碼,宏匯編庫中是每個梯形圖指令對應的宏匯編段。
圖3 虛擬運行總體設計框圖
(4)交叉開發(fā)調試算法研究
非嵌入式通常采用本機開發(fā)、本機調試、本機運行的開發(fā)方式;而嵌入式開發(fā)需要交叉開發(fā),絕大多數(shù)采用宿主機開發(fā)、宿主機和目標機之間交叉調試、目標機運行的方式開發(fā)。
交叉開發(fā)調試算法:
在宿主機平臺上編寫程序代碼;
固化監(jiān)控器至目標機上;
連接宿主機和目標機;
編譯鏈接應用程序,生成可執(zhí)行代碼;
將可執(zhí)行代碼下載到目標機;
使用交叉調試器進行調試;
如果程序調試沒有發(fā)現(xiàn)異常CONTROL ENGINEERING China版權所有,轉至11);
調試程序時發(fā)生錯誤,利用交叉調試器定位錯誤;
修改錯誤代碼;
重復4)-10);
將目標機程序固化在目標機上。
4 嵌入式軟PLC改造后的控制系統(tǒng)
以測試繼電器TV5實驗為例。其要求如下:每次測試5個繼電器,每個繼電器的動作頻率是5s開,5s關。根據要求,試驗最好的結果是每個繼電器用6個TV負載,即每個TV負載是5s開,55s管。輸入點有:開關,檢出,復位M個,停止次數(shù)設定量N次,動作頻率設定L個,常開/觸點轉換。其中,M=測試產品個數(shù),N、L個數(shù)由實際需要確定。其算法如下:
設定一個循環(huán)周期,使累積誤差最小;
在循環(huán)周期內設計動作時間和動作頻率,以及動作次數(shù);
設計相關聯(lián)動、互鎖、緊急停車和復位等功能;
執(zhí)行動作與反饋根據產品相關標準進行比較,判定結果和設定中斷程序。
采用模塊化程序設計編程,各模塊均由主程序調用,且為了程序不出誤動作,還要考慮電流諧波和沖擊對高電源的要求。用了算法優(yōu)化設計,5個繼電器每隔2s一個動作,5個剛好10s。其中一個動作頻率程序如下:
與之對應的動作如下:
評論