嵌入式軟plc編程系統的設計
吳玉香,郭建勛,周建香
華南理工大學自動化學院,廣東廣州54064
摘 要:完成一種在windows操作環境下采用vc++開發工具設計的嵌入式軟plc編程系統。采用面向對象的設計思想,提出了描述軟pj,c梯形圖元件的數據結構,以及對梯形圖元件集合存儲和交互的方案。該系統針對vc++的documenf/view的結構,設計了軟plc編程系統的軟件結構,分為編輯、編譯和仿真等功能模塊,且結合相應的算法買現,并重點介紹了梯形圖程序的編輯和編譯掃描原理:為低成本高效率實現嵌入式軟plc編程系統提出了新方案,也為軟件開發人員提供一種軟件設計的新思維。
關鍵詞:軟plc;梯形圖;編輯;編譯;仿真
中圖分類號:tp 273 文獻標識碼:a
1引言
隨著控制技術向網絡化、智能化和開放式發展,傳統plc逐漸暴露出許多不足,主要表現力技術封閉,造成了各生產廠商的plc產品互不兼容,且編程開發方法差別很大,技術專門性很強,用戶必須經過長期培訓才能掌握其中一種產品的開發方法,這些問題制約了傳統plc的快速發展。隨著計算機科學的發展和工業控制的iec61131國際標準的制定,出現了用軟件方式實現傳統plc控制功能的軟plc技術。
軟plc具有符合現代工業控制技術的優點,體系結構開放,支持多種硬件環境,解決了傳統硬plc互不兼容的問題。軟plc把控制運算的功能封裝在軟件中,具有傳統plc的功能,可在計算機操作系統中實現程序的編輯、運算、編譯、存儲等功能,具有編程語言標準化、控制功能模塊化、硬件配置靈活等特點windows環境下引入vc++開發工具,用vc++強大的軟件功能,使人機交互界面更友好,由于vc++固有的面向對象機制,可方便地設計梯形圖數據結構,并結合相應的算法,完成軟plc編程系統設計。本文給出編輯、編譯和仿真模塊。
2嵌入式軟plc系統的總體框架
嵌入式軟plc主要由編程系統和運行系統組成。編程系統進行梯形圖的編輯、指令的解析以及生成目標代碼;運行系統執行目標代碼,實現控制目的。
本文介紹的嵌入式軟plc編程系統其總體架構,如圖l所示。
嵌入式軟plc編程系統的編程語言基于國際電工委員會發布的iec61131-3國際標準,是一個通用的開發環境,主要由編輯、編譯、仿真和通信4大模塊組成。其中,編輯模塊提供用戶程序開發環境;編譯模塊實現對用戶程序的掃描和編譯;仿真模塊用以離線模擬、調試用戶程序;通信模塊負責把編譯后的用戶程序目標代碼下載到運行系統。
3軟plc編程系統的界面設計
iec61131-3國際標準定義了5種plc編程語言的規范:梯形圖( ld)、順序功能圖(sfc)、功能模塊( fbd)、結構化文本(st)和指令表(。由于梯形圖簡單、直觀,所以本編程系統主要采用梯形圖作為用戶程序的開發語言。
本軟件采用vc++開發工具,并基于多文檔的documenu view結構設計,以支持梯形圖和指令表對應的格式一。其界面由梯形圖編輯區、指令表區和信息輸出區三部分組成,如圖2所示。
梯形圖編輯區用于梯形圖駐留和相關參數的設置;指令表區用于顯示梯形圖對應的邏輯指令;信息輸出區顯示梯形圖可能的語法錯誤信息以及正確執行后的輸出信息。
4梯形圖數據結構設計
1)梯形圖元件類的繼承關系設計梯形圖元件包括常開觸點、常閉觸點和輸出線圈等簡單元件和定時器、計數器、數據運算(包括加減運算、比較運算等)等復雜元件。由面向對象的繼承特性,可以抽象出一個類作為梯形圖元件的總體接口,再以這個類為基礎,派生出具體的元件子類。梯形圖元件的抽象類定義如下:
|