廣東工業(yè)大學(xué) 劉 軍 袁文波 陳慶瑜 王欽若
華南師范大學(xué) 鄭小青
隨著當(dāng)代工業(yè)規(guī)模不斷擴大,發(fā)展迅速,傳統(tǒng)的PLC因廠家不一,機型不兼容,價格昂貴以及功能模塊相對封閉等原因滿足不了開放性實際需求。同時計算機技術(shù)在工業(yè)現(xiàn)場的應(yīng)用已經(jīng)變得密不可分與廣泛。本文介紹一款基于PC的軟PLC軟件,以解決當(dāng)前工業(yè)自動化領(lǐng)域面臨的問題并改變現(xiàn)狀。該款軟PLC提供友好的人機交互頁面,由編譯系統(tǒng)和運行系統(tǒng)組成,它繼承了硬件PLC的高效可靠等優(yōu)點。
軟PLC一般由開發(fā)系統(tǒng)和運行系統(tǒng)組成,它不但繼承了硬件PLC的高效可靠等優(yōu)點,而且能在一定程度上打破傳統(tǒng)硬PLC非開放式系統(tǒng)的局限性。用戶通過軟PLC編程開發(fā)系統(tǒng)提供的友好人機交互頁面進行編程開發(fā)以實現(xiàn)自己需要的功能,然后對用戶輸入的程序進行編譯語法查錯生產(chǎn)目標代碼,最后進行仿真,查看仿真結(jié)果是否達到預(yù)期。確認無誤后將目標代碼下載至運行系統(tǒng)中。軟PLC系統(tǒng)工作示意圖如圖1所示。本文主要介紹軟PLC開發(fā)系統(tǒng)設(shè)計與實現(xiàn)。
圖1 軟PLC系統(tǒng)示意圖
圖2 梯形圖和指令表數(shù)據(jù)結(jié)構(gòu)
圖3 軟PLC系統(tǒng)開發(fā)界面
定義兩個結(jié)構(gòu)體,一個用來描述梯形圖元器件,另一個描述指令表。如圖2所示。通過結(jié)構(gòu)體存放相關(guān)信息,并通過界面顯示編輯狀態(tài)。
軟PLC系統(tǒng)開發(fā)界面如圖3所示。分為左右兩欄和底部一欄,左欄為文件區(qū),用來切換當(dāng)前PLC程序文件;右欄為編輯區(qū),用來顯示正在編輯的PLC程序界面;底部為編譯信息顯示區(qū),顯示PLC程序的編譯狀態(tài),若有錯誤顯示對應(yīng)錯誤的位置,若無錯誤顯示編譯成功。底部的三個按鈕分別對應(yīng)右欄編輯區(qū)的顯示模式,分別為圖3(a)梯形圖模式、圖3(b)指令表模式和圖3(c)仿真模式,默認初始化是梯形圖模式。
當(dāng)發(fā)生梯形圖模式和指令表模式之間的相互切換時,會調(diào)用相應(yīng)的轉(zhuǎn)換算法,轉(zhuǎn)換算法基于二叉樹實現(xiàn),編輯區(qū)提供不同語言的編輯模式使得適配不同用戶的習(xí)慣語言。
圖4 編輯模塊對話框
在仿真模式下可雙擊圓形按鈕強行改變通斷,按鈕會進行紅綠色切換,單擊仿真按鈕可開始仿真,再次點擊結(jié)束仿真,界面會有提示。雙擊編輯區(qū)頁面,如圖4所示,在梯形圖模式下彈出對話框選擇梯形圖元器件,指令表模式下彈出對話框選擇指令表指令。
當(dāng)點擊確定按鈕時,該對話框的信息存在LADDER或INSTRUCTION中。然后刷新界面顯示。
在工業(yè)控制系統(tǒng)中找到一款能代替?zhèn)鹘y(tǒng)硬PLC的產(chǎn)品,在保證硬PLC高效可靠的前提下,同時改善其廠家不一,機型不兼容,價格昂貴以及功能模塊相對封閉等不足點,軟PLC剛好能滿足廣大企業(yè)和用戶的需求。本文介紹了軟PLC開發(fā)系統(tǒng)中提供友好的人機交互頁面,闡述了通過對軟件模塊的編輯,對用戶輸入的程序進行編譯語法查錯生成目標代碼,進行仿真驗證,最后查看仿真結(jié)果是否達到預(yù)期。