內(nèi)嵌腳本的組態(tài)軟件策略模塊設(shè)計(jì)與實(shí)現(xiàn)
方正,梁宵,周曉杰,柴天佑
(東北大學(xué)自動(dòng)化研究中心,遼寧沈陽(yáng)110004)
摘 要:針對(duì)于目前組態(tài)軟件存在邏輯控制與算法開(kāi)發(fā)功能不夠完善的問(wèn)題,提出了一種基于控制策略流程圖和有限狀態(tài)機(jī)( fsm)相結(jié)合的策略模塊設(shè)計(jì)方法。該方法首先根據(jù)控制策略進(jìn)行流程圖繪制,采用有限狀態(tài)機(jī)方法生成相應(yīng)腳本,利用編譯囂進(jìn)行解釋執(zhí)行實(shí)現(xiàn)控制策略。軟件采用visual c++平臺(tái)開(kāi)發(fā),經(jīng)該軟件生成的系統(tǒng)可根據(jù)組態(tài)結(jié)果直接實(shí)現(xiàn)控制策略、實(shí)時(shí)曲線和工藝流程繪制等功能。最后通過(guò)對(duì)某回轉(zhuǎn)窯控制系統(tǒng)組態(tài),證明了設(shè)計(jì)的有效性。
關(guān)鍵詞:組態(tài)軟件;控制策略;有限狀態(tài)機(jī);腳本
中圖分類號(hào):tp 27 文獻(xiàn)標(biāo)識(shí)碼:a
1引言
組態(tài)軟件是近年來(lái)工控領(lǐng)域十分活躍的部分,它的出現(xiàn)和興起為工控軟件的設(shè)計(jì)注入了新的活力。從整體上看,國(guó)外組態(tài)軟件發(fā)展較為成熟,但價(jià)格昂貴,和硬件聯(lián)系緊密且普遍無(wú)中文界面。而國(guó)內(nèi)的組態(tài)軟件大多注重于監(jiān)控畫面、檢測(cè)監(jiān)控點(diǎn)的開(kāi)發(fā),控制算法則大多采用獨(dú)立于組態(tài)軟件的matlab進(jìn)行設(shè)計(jì)。隨著控制系統(tǒng)的復(fù)雜化,人們對(duì)組態(tài)軟件的開(kāi)放性和可重用性提出丁更多要求,這使得組態(tài)軟件必須提供更強(qiáng)大的算法開(kāi)友功能。
本文在分析組態(tài)軟件的模塊化結(jié)構(gòu)設(shè)計(jì)基礎(chǔ)之上,提出了一種策略模塊的設(shè)計(jì)和實(shí)現(xiàn)方法。該方法將腳本生成技術(shù)、有限狀態(tài)機(jī)和編譯技術(shù)相結(jié)合,在搭建控制結(jié)構(gòu)框圖的過(guò)程中即可完成控制策略的開(kāi)發(fā),為組態(tài)軟件提供二次開(kāi)發(fā)功能。本文所開(kāi)發(fā)的組態(tài)軟件使用戶不僅可以利用組態(tài)軟件的各個(gè)模塊構(gòu)建一個(gè)監(jiān)控系統(tǒng),同時(shí)也可以采用軟件提供的腳本技術(shù),少量編程就可以方便地創(chuàng)建控制策略,生成所需的控制系統(tǒng)。
2組態(tài)軟件模塊化結(jié)構(gòu)設(shè)計(jì)
組態(tài)軟件因?yàn)槠涔δ軓?qiáng)大,而每個(gè)功能相對(duì)來(lái)說(shuō)又具有一定的獨(dú)立性,因此其組成形式是一個(gè)集成軟件平臺(tái),由若干程序組件構(gòu)成。程序設(shè)計(jì)采用面向?qū)ο蟮慕Y(jié)構(gòu)化編程思想,利用vc++特有的document/view結(jié)構(gòu)和mdi(多文檔應(yīng)用程序開(kāi)發(fā)),將系統(tǒng)劃分為繪圖模塊層、策略模塊層、數(shù)據(jù)庫(kù)模塊層和通信模塊層4個(gè)抽象層。
每一層為上層提供服務(wù),同時(shí)又是下層的客戶,層次之間通過(guò)接口和協(xié)議進(jìn)行交互,層內(nèi)的內(nèi)容被隱藏起來(lái),這樣只要接口協(xié)議不變,某一層的改動(dòng)就不會(huì)影響其他層,提高了軟件的可移植性。數(shù)據(jù)字典包含了整個(gè)系統(tǒng)的所有變量,一部分變量接收通訊模塊的采集數(shù)據(jù),一部分變量用于策略模塊的中間變量,另外一部分變量將策略模塊計(jì)算結(jié)果發(fā)送回通訊模塊。策略模塊用于構(gòu)建算法,利用繪圖模塊組成顯示和人機(jī)交互部分,通訊模塊最后將軟件平臺(tái)和硬件設(shè)備連接起來(lái),具體結(jié)構(gòu),如圖1所示。
3策略模塊的設(shè)計(jì)與實(shí)現(xiàn)
1) 策略圖元
策略圖元用來(lái)組成設(shè)計(jì)者的設(shè)計(jì)思想,直觀地表達(dá)一種控制策略。因此,它除了具有顯示,讀寫和保存等基本功能以外,還要能表現(xiàn)一定的邏輯關(guān)系,多種策略圖元經(jīng)過(guò)一定的排列組合可以表達(dá)出不同的策略設(shè)計(jì)思想。根據(jù)策略圖元的功能,可以做下面設(shè)計(jì):
①圖元的顯示單獨(dú)設(shè)計(jì)圖元顯示類,其基類從cw nd派生,類中的函數(shù)主要實(shí)現(xiàn)圖元的繪制,鼠標(biāo)響應(yīng)如復(fù)制,剪切等。另外策略圖元同時(shí)需要存儲(chǔ)數(shù)據(jù),用以后面生成腳本。其中,派生出來(lái)5種主要類:主路類,反饋類,前饋類,連接器類,連接線類。
②圖元的數(shù)據(jù)單獨(dú)設(shè)計(jì)圖無(wú)數(shù)據(jù)類,其基類從cobject派生,類中的函數(shù)主要實(shí)現(xiàn)保存圖元的屬性,比如位置,大小,維護(hù)圖元鏈表等。同時(shí),它與圖元的顯示類類似,同樣具有一些方法用于數(shù)據(jù)層面的復(fù)制和剪切等。另外,設(shè)計(jì)屬性框類用于編輯圖元的名稱和表達(dá)策略的函數(shù)等。圖元數(shù)據(jù)類在圖元顯示類中實(shí)例化對(duì)象,當(dāng)用戶對(duì)當(dāng)前顯示圖元進(jìn)行操作的時(shí)候,在數(shù)據(jù)層面也同樣有相應(yīng)操作。
③圖元的連接連接線是一種特殊圖元,通過(guò)連接線,把策略圖元按照一定順序連接起來(lái),用來(lái)表達(dá)邏輯并生成腳本。箭頭的方向用來(lái)表示數(shù)據(jù)流向,連接線類包含兩個(gè)變量from,和to,from為變量保存來(lái)自的圖元,to為箭頭指向的圖元,為后面生成腳本做準(zhǔn)備。此 |