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