您現(xiàn)在的位置:
中國(guó)傳動(dòng)網(wǎng)
>
技術(shù)頻道
>
技術(shù)百科
>
WorldFIP總線控制系統(tǒng)組態(tài)軟件的開(kāi)發(fā)
時(shí)間:2008-10-28 11:08:00來(lái)源:ronggang
圖2 FipServer運(yùn)行界面[/align]
FipServer的COM接口類(lèi)為CFipServer,內(nèi)部封裝了WorldFIP應(yīng)用層和用戶層協(xié)議,采用ATL技術(shù)實(shí)現(xiàn)。當(dāng)主機(jī)應(yīng)用程序調(diào)用CFipServer的函數(shù)時(shí),CFipServer的函數(shù)就會(huì)調(diào)用相應(yīng)協(xié)議的接口函數(shù),下面介紹幾個(gè)主要接口函數(shù)的主要功能。
?。?) SetPhTag(…)函數(shù)功能是設(shè)置網(wǎng)段唯一的設(shè)備標(biāo)識(shí)號(hào)和設(shè)置網(wǎng)段唯一的功能塊標(biāo)識(shí)號(hào)。
?。?) EstablishBA(…)是建立并啟動(dòng)主站的一個(gè)新的BA(總線仲裁)表。主站初始狀態(tài)會(huì)有一個(gè)BA表,主要包含非周期報(bào)文和變量通信窗口,用于基本設(shè)備的組態(tài)信息下載上傳、設(shè)備存在、設(shè)備標(biāo)識(shí)等服務(wù)。組態(tài)客戶端生成或修改控制策略與調(diào)度時(shí)間時(shí),相應(yīng)的BA表也需更新,這時(shí)組態(tài)軟件就會(huì)調(diào)用該函數(shù)來(lái)刷新主站的BA表。
(3) GetDeviceList(…)接口獲得在線活動(dòng)設(shè)備的列表。當(dāng)FipServer進(jìn)程啟動(dòng)以后,就會(huì)周期地從主站設(shè)備讀取在線設(shè)備的報(bào)告信息,并記錄下在線設(shè)備的信息,具體信息包括物理地址和標(biāo)識(shí)號(hào)(8字節(jié))。當(dāng)組態(tài)客戶端調(diào)用該接口函數(shù)時(shí)就可以獲得總線上的活動(dòng)設(shè)備列表。
?。?) ReadObject(...)接口是FipServer提供的最重要的接口之一,它的功能主要是讀取現(xiàn)場(chǎng)設(shè)備的各種信息,當(dāng)主機(jī)應(yīng)用程序需要獲取設(shè)備對(duì)象字典中的數(shù)據(jù)時(shí),可以調(diào)用該接口函數(shù),函數(shù)根據(jù)傳進(jìn)來(lái)設(shè)備信息、對(duì)象字典索引就可以讀取現(xiàn)場(chǎng)設(shè)備對(duì)象字典中的相應(yīng)信息。函數(shù)主要是對(duì)設(shè)備訪問(wèn)代理協(xié)議中的Read服務(wù)進(jìn)行了封裝,函數(shù)根據(jù)傳進(jìn)來(lái)對(duì)象字典的索引和子索引的不同而調(diào)用不同的讀服務(wù)。
?。?) WriteObject (...)接口也是FipServer提供的最重要的接口之一,它的功能主要是向現(xiàn)場(chǎng)設(shè)備寫(xiě)入各種信息。組態(tài)軟件需要對(duì)設(shè)備對(duì)象字典中更新數(shù)據(jù)時(shí),可以調(diào)用該接口函數(shù),函數(shù)根據(jù)傳進(jìn)來(lái)設(shè)備標(biāo)識(shí)和對(duì)象字典索引就可以向現(xiàn)場(chǎng)設(shè)備對(duì)象字典中的相應(yīng)的位置寫(xiě)入信息,該函數(shù)主要是封裝了設(shè)備訪問(wèn)代理的Write服務(wù),根據(jù)傳進(jìn)來(lái)的對(duì)象字典的索引和子索引的不同而調(diào)用不同的寫(xiě)服務(wù)。
3 組態(tài)軟件客戶端軟件的設(shè)計(jì)與實(shí)現(xiàn)
組態(tài)軟件客戶端是組態(tài)軟件與工程人員交互的組態(tài)圖形系統(tǒng),是總線工程系統(tǒng)的調(diào)度和控制中心,它在組態(tài)軟件系統(tǒng)中起著極其重要的作用。本文首先采用了面向?qū)ο蟮慕<夹g(shù),借助UML建模語(yǔ)言實(shí)現(xiàn)了系統(tǒng)建模,然后采用面向?qū)ο蟮木幊谭椒?,基于Windows的MFC技術(shù),以C++為編程語(yǔ)言,以Visual C++6.0為工具,依據(jù)所建立的圖形系統(tǒng)模型,實(shí)現(xiàn)了整個(gè)組態(tài)圖形系統(tǒng)。組態(tài)軟件的整體結(jié)構(gòu)采用的單文檔多視圖的結(jié)構(gòu)。即所有的數(shù)據(jù)結(jié)構(gòu)由文檔類(lèi)CFipXConDoc來(lái)管理,所有模塊從該文檔中取得所需的數(shù)據(jù),進(jìn)行處理以后再保存到該文檔中。在Windows操作系統(tǒng)中,組態(tài)軟件的整體圖形界面如圖3所示。
[align=center]
圖3 組態(tài)軟件的主窗口[/align]
圖中左邊視圖是項(xiàng)目管理模塊,用于對(duì)整個(gè)控制系統(tǒng)的組態(tài)項(xiàng)目進(jìn)行整體的管理,網(wǎng)段、主站、基本設(shè)備和功能塊的增刪改查都在這里進(jìn)行。右邊工作區(qū)多視圖是各種組態(tài)模塊的視圖,圖中所示的視圖分別是功能塊參數(shù)組態(tài)模塊和功能塊應(yīng)用進(jìn)程組態(tài)模塊。
3.1 數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)
根據(jù)現(xiàn)場(chǎng)總線結(jié)構(gòu)的分布式和層次結(jié)構(gòu)的特點(diǎn),軟件中采用以設(shè)備為對(duì)象的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),關(guān)于設(shè)備信息的數(shù)據(jù)結(jié)構(gòu)保持在文檔類(lèi)中。設(shè)備信息分別保存在設(shè)備基類(lèi)(CFipBasDevice)、派生類(lèi)網(wǎng)關(guān)設(shè)備類(lèi)(CFipBridge)和派生類(lèi)從設(shè)備類(lèi)(CFipSlaDevice)中。設(shè)備基類(lèi)從CObject派生,并重載了Serialize(CArchive& ar)函數(shù)。這些設(shè)備類(lèi)主要記錄設(shè)備的基本信息,如設(shè)備的DeviceID、設(shè)備的物理地址、設(shè)備標(biāo)識(shí)、設(shè)備中的功能塊列表,功能塊數(shù)量等信息,以及對(duì)設(shè)備類(lèi)的操作方法。設(shè)備以設(shè)備列表的形式組織,具體結(jié)構(gòu)采用MFC指針數(shù)組模板類(lèi)CtypedPtrArray實(shí)例化的CFipDevArray。
每個(gè)設(shè)備包含有多個(gè)功能塊,功能塊類(lèi)保存了功能塊的各種信息。本文為功能塊類(lèi)設(shè)計(jì)了一個(gè)基類(lèi)CFunBlkBase,其他具體功能塊的類(lèi)都從它派生,如CAIBlk、CPIDBlk、CAOBlk等?;?lèi)從CObject類(lèi)派生,并且重載了Serialize(CArchive& ar)函數(shù)。同樣,設(shè)備類(lèi)也定義一個(gè)動(dòng)態(tài)數(shù)組CFunBlkArray保存它的功能塊。
3.2 功能塊應(yīng)用進(jìn)程圖形化組態(tài)的設(shè)計(jì)與實(shí)現(xiàn)
功能塊應(yīng)用進(jìn)程的編輯采用圖形化方法來(lái)組態(tài),功能塊應(yīng)用進(jìn)程編輯的界面如圖2所示。用矩形框圖代表功能塊,引腳代表功能塊的輸入和輸出,引腳間的連線代表功能塊參數(shù)間的關(guān)聯(lián)。編輯功能塊應(yīng)用進(jìn)程時(shí),用鼠標(biāo)選取組成功能塊應(yīng)用進(jìn)程所需的功能塊并創(chuàng)建功能塊框圖,并用鼠標(biāo)在引腳間畫(huà)線來(lái)建立功能塊之間的連接關(guān)系。
本組態(tài)界面系統(tǒng)主要由圖元類(lèi)庫(kù)和圖形操作工具類(lèi)庫(kù)構(gòu)成。在圖元類(lèi)庫(kù)中,類(lèi)CDrawObj是抽象基類(lèi),定義了所有圖元類(lèi)具有的共同屬性和操作接口,是其它圖元類(lèi)的父類(lèi)。CDrawFunBlock是功能塊框圖類(lèi),由它派生出具體功能塊繪圖類(lèi),如CAIDrawBlk等。CDrawLinkPLine是連接線類(lèi),CTextObj是文本類(lèi)。圖形操作工具類(lèi)是將用戶在界面上的操作翻譯成對(duì)工程畫(huà)面上圖元的操作的輔助類(lèi),主要功能表現(xiàn)在對(duì)圖元的操作控制功能,如圖元的生成編輯撤銷(xiāo)、移動(dòng)和選擇等。根據(jù)所操作的圖元對(duì)象的種類(lèi),視圖類(lèi)選擇相應(yīng)的工具類(lèi)來(lái)編輯圖元對(duì)象。在工具類(lèi)庫(kù)中,類(lèi)CDrawTool是其他工具類(lèi)的基類(lèi)。類(lèi)CSelectTool定義了對(duì)圖元的選中操作,類(lèi)CDrawPLineTool定義了對(duì)連接線類(lèi)的連接操作,類(lèi)CFunBlkTool定義了對(duì)功能塊類(lèi)的創(chuàng)建和移動(dòng),圖4描述了這個(gè)界面系統(tǒng)的靜態(tài)類(lèi)和相互之間的關(guān)系[3]。
[align=center]
圖4 功能塊應(yīng)用進(jìn)程圖形組態(tài)的UML靜態(tài)類(lèi)圖[/align]
當(dāng)用戶進(jìn)行功能塊連接組態(tài)時(shí),每完成一次功能塊之間的連接,根據(jù)連線對(duì)象的輸入和輸出所指的功能塊之間的關(guān)聯(lián)關(guān)系,創(chuàng)建相應(yīng)的鏈接對(duì)象(CLinkObj)并給予賦值。鏈接對(duì)象內(nèi)容主要包括服務(wù)類(lèi)型、設(shè)備地址、周期變量編號(hào)、本地索引、遠(yuǎn)方索引等內(nèi)容。為了讓功能塊之間的連接都與鏈接對(duì)象相對(duì)應(yīng),程序定義了連接類(lèi)(CLink),連接類(lèi)主要記錄了這對(duì)輸入和輸出參數(shù)的鏈接對(duì)象。在功能塊應(yīng)用進(jìn)程編輯視圖中,每進(jìn)行一次功能塊之間的連接編輯,就生成一個(gè)功能塊之間的連接,也就生成了兩個(gè)鏈接對(duì)象。下載鏈接對(duì)象時(shí),程序遍歷CDrawLinkPLine對(duì)象,通過(guò)調(diào)用COM接口程序FipServer的寫(xiě)服務(wù)將鏈接對(duì)象下載到指定設(shè)備中[4]。
4 結(jié)束語(yǔ)
本文搭建了一個(gè)簡(jiǎn)單的實(shí)際的總線控制系統(tǒng)來(lái)測(cè)試組態(tài)軟件,本系統(tǒng)由一個(gè)溫度變送器、一個(gè)總線-電流變送器(FI)、一個(gè)網(wǎng)關(guān)(主站)、一個(gè)加熱爐和一臺(tái)PC機(jī)構(gòu)成。策略組態(tài)配置了溫變運(yùn)行AI功能塊、FI的PID功能塊和一個(gè)AO功能塊,形成一個(gè)閉環(huán)回路將加熱爐內(nèi)的溫度控制為一個(gè)給定值。整個(gè)測(cè)試按照5個(gè)用例依次進(jìn)行,結(jié)果表明:組態(tài)軟件通過(guò)主站成功讀取了現(xiàn)場(chǎng)設(shè)備信息,并獲取視圖數(shù)據(jù)和功能塊信息,組態(tài)軟件成功將組態(tài)信息下載到現(xiàn)場(chǎng)設(shè)備并對(duì)其組態(tài)?,F(xiàn)場(chǎng)設(shè)備運(yùn)行正常,并實(shí)現(xiàn)基本控制功能。
本文的創(chuàng)新點(diǎn)在于:在充分分析了WorldFIP協(xié)議和總線系統(tǒng)特點(diǎn)之后,率先設(shè)計(jì)開(kāi)發(fā)出了一套方便實(shí)用的面向功能塊的WorldFIP現(xiàn)場(chǎng)總線控制系統(tǒng)組態(tài)軟件。這套軟件是在中文Windows2000環(huán)境下以VC++6.0為平臺(tái)實(shí)現(xiàn)的。這套軟件采用了三層C/S模式的軟件結(jié)構(gòu),具有很好的開(kāi)放性和擴(kuò)展性。軟件具有友好的人機(jī)界面,可為用戶提供直觀方便的對(duì)本FCS系統(tǒng)的組態(tài)配置。
參考文獻(xiàn)
[1]史學(xué)玲.WorldFIP現(xiàn)場(chǎng)總線技術(shù)[J].工業(yè)控制計(jì)算機(jī),2001,14(2):29-30
[2]張劍清,張齊.基于COM的組態(tài)軟件I/O設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007,2-1:293-295
[3]王亞民,陳青,劉暢生,王水平.組態(tài)軟件的設(shè)計(jì)與開(kāi)發(fā)[M].西安電子科技大學(xué)出版社,2003
[4]張建華,戰(zhàn)明,于海斌.FF現(xiàn)場(chǎng)總線儀表及組態(tài)技術(shù)[J].微計(jì)算機(jī)信息,2006,6-1:175-176
標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(www.connectcrack.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
相關(guān)資訊
產(chǎn)品新聞
更多>勇梅機(jī)械液壓閘門(mén)給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
2025-10-17
2025-10-11
「一體機(jī)性價(jià)比王者」NK290M普及型數(shù)控...
2025-10-09
耐磨管道機(jī)器人檢測(cè)電纜CCTV,水下管道...
2025-09-23
影視舞臺(tái)燈光低煙無(wú)鹵扁平電纜13*4+2*(2...
2025-09-23
推薦專(zhuān)題
更多>