技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > WorldFIP總線控制系統(tǒng)組態(tài)軟件的開發(fā)

WorldFIP總線控制系統(tǒng)組態(tài)軟件的開發(fā)

時間:2008-10-28 11:08:00來源:ronggang

導(dǎo)語:?了讓W(xué)orldFIP用戶對總線控制系統(tǒng)的網(wǎng)絡(luò)配置與控制策略的組態(tài)更加方便快捷,本文開發(fā)了這種圖形化的組態(tài)軟件
摘 要:為了讓W(xué)orldFIP用戶對總線控制系統(tǒng)的網(wǎng)絡(luò)配置與控制策略的組態(tài)更加方便快捷,本文開發(fā)了這種圖形化的組態(tài)軟件。在對總線協(xié)議和系統(tǒng)特點分析之后,本文采用了基于COM組件技術(shù)的三層客戶/服務(wù)器結(jié)構(gòu)對組態(tài)軟件進(jìn)行了整體設(shè)計。組態(tài)軟件的中間件FipServer采用COM技術(shù)來設(shè)計和實現(xiàn),文中給出了FipServer中的幾個關(guān)鍵的接口函數(shù)。本文為功能塊應(yīng)用進(jìn)程組態(tài)設(shè)計了良好圖形界面,給出了主要類的UML靜態(tài)類圖。實驗表明,該軟件運行效果良好,并在開放性、連通性、穩(wěn)定性上具有良好的性能。 關(guān)鍵詞:WorldFIP; 組件軟件; 三層結(jié)構(gòu); 組件技術(shù) Abstract: For the convenience of configuring network and control strategy of WorldFIP fieldbus control system, this graphical configuration software is developed. After analyzing the bus protocol and WorldFip system, the architecture of this software is built in three-layer client/server model based on component technology. The middle-ware (FipServer) is designed with COM, whose several key interface functions are given. A graphical configuration interface is explored for function block application process, whose main classes are described with UML static class diagram. Experiment proves that this software can work normally with excellent performance in its openness, connectivity, stability, etc. Keywords: WorlFIP; Configuration Software; Three-Layer Architecture; Component Technology; 引 言   WorldFIP是現(xiàn)場總線IEC61158國際標(biāo)準(zhǔn)中的第七種類型,適用于工業(yè)控制現(xiàn)場。采用WorldFIP現(xiàn)場總線,既可以傳輸實時數(shù)據(jù),又可以傳輸隨機(jī)信息,是一種確定性的、可預(yù)測的、又是一種可與Internet無縫連接的現(xiàn)場總線。獨特的物理層冗余設(shè)計使WorldFIP現(xiàn)場總線為控制系統(tǒng)的高可靠運行提供了強有力的保障。目前WorldFIP總線已廣泛應(yīng)用于國內(nèi)外的核電、鐵路、石油、化工等行業(yè),但WorldFIP產(chǎn)品的應(yīng)用與開發(fā)主要集中在監(jiān)控級層次上,對現(xiàn)場層的WorldFIP應(yīng)用研究還是一片空白。由此可見,開發(fā)一套完整的WorldFIP現(xiàn)場總線控制系統(tǒng)具有非?,F(xiàn)實和積極的意義[1]。組態(tài)軟件是WorldFIP總線控制系統(tǒng)中的上位軟件部分,是用戶和系統(tǒng)的接口,擔(dān)負(fù)著設(shè)備管理、設(shè)備組態(tài)、網(wǎng)絡(luò)組態(tài)、控制回路組態(tài)等任務(wù),在整個系統(tǒng)中占有重要地位。 1 基于COM組件的三層組態(tài)軟件的設(shè)計   本文在組態(tài)軟件的整體架構(gòu)設(shè)計中,運用了組件技術(shù),遵循客戶/服務(wù)器設(shè)計原則和開發(fā)方法構(gòu)建WorldFIP組態(tài)軟件框架。組態(tài)軟件按三層C/S結(jié)構(gòu)劃分為表示層的組態(tài)軟件客戶程序、業(yè)務(wù)層(中間件)的總線驅(qū)動FipServer和數(shù)據(jù)層的現(xiàn)場設(shè)備??蛻舳顺绦蛳扰c中間件FipServer通信,通過它再與現(xiàn)場設(shè)備進(jìn)行通信。組態(tài)軟件的整體結(jié)構(gòu)如圖1所示。   組態(tài)軟件客戶程序作為組態(tài)軟件的客戶端,是用戶與現(xiàn)場設(shè)備進(jìn)行數(shù)據(jù)交互的工具,客戶端軟件根據(jù)WorldFIP網(wǎng)絡(luò)特點分別設(shè)計相應(yīng)的組態(tài)模塊。通過客戶程序,用戶可以對現(xiàn)場設(shè)備的信息進(jìn)行讀取和寫入,并對控制系統(tǒng)組態(tài)??蛻舫绦虬ㄒ韵聨讉€功能模塊:項目管理模塊、功能塊參數(shù)組態(tài)模塊、功能塊應(yīng)用進(jìn)程組態(tài)模塊與調(diào)度信息組態(tài)模塊。   中間件FipServer負(fù)責(zé)組態(tài)軟件與現(xiàn)場設(shè)備進(jìn)行數(shù)據(jù)和信息的交互。這層采用了進(jìn)程外COM組件技術(shù)進(jìn)行設(shè)計,為客戶端的請求提供透明式的總線訪問服務(wù)和設(shè)備物理位置定位。現(xiàn)場設(shè)備相當(dāng)于三層結(jié)構(gòu)的數(shù)據(jù)層,組態(tài)軟件根據(jù)設(shè)備的地址信息通過中間層對各個設(shè)備進(jìn)行數(shù)據(jù)的讀取和寫入。 [align=center] 圖1 組態(tài)軟件整體結(jié)構(gòu)圖[/align] 2 FipServer的設(shè)計開發(fā)   FipServer程序主要的作用是管理主機(jī)應(yīng)用程序和WorldFIP網(wǎng)絡(luò)的通信,它對WorldFIP通信協(xié)議服務(wù)進(jìn)行了封裝,使組態(tài)軟件不用知道通信的細(xì)節(jié)。本文采用ATL技術(shù)來開發(fā)FipServer這個進(jìn)程外COM組件。FipServer程序有自己的圖形界面,如圖2所示。圖形界面可以顯示網(wǎng)絡(luò)上活動的WorldFIP設(shè)備的數(shù)目和FipServer服務(wù)狀態(tài),可讓使用者觀察FipServer程序的運行狀態(tài)[2]。 [align=center] 圖2 FipServer運行界面[/align]   FipServer的COM接口類為CFipServer,內(nèi)部封裝了WorldFIP應(yīng)用層和用戶層協(xié)議,采用ATL技術(shù)實現(xiàn)。當(dāng)主機(jī)應(yīng)用程序調(diào)用CFipServer的函數(shù)時,CFipServer的函數(shù)就會調(diào)用相應(yīng)協(xié)議的接口函數(shù),下面介紹幾個主要接口函數(shù)的主要功能。  ?。?) SetPhTag(…)函數(shù)功能是設(shè)置網(wǎng)段唯一的設(shè)備標(biāo)識號和設(shè)置網(wǎng)段唯一的功能塊標(biāo)識號。  ?。?) EstablishBA(…)是建立并啟動主站的一個新的BA(總線仲裁)表。主站初始狀態(tài)會有一個BA表,主要包含非周期報文和變量通信窗口,用于基本設(shè)備的組態(tài)信息下載上傳、設(shè)備存在、設(shè)備標(biāo)識等服務(wù)。組態(tài)客戶端生成或修改控制策略與調(diào)度時間時,相應(yīng)的BA表也需更新,這時組態(tài)軟件就會調(diào)用該函數(shù)來刷新主站的BA表。  ?。?) GetDeviceList(…)接口獲得在線活動設(shè)備的列表。當(dāng)FipServer進(jìn)程啟動以后,就會周期地從主站設(shè)備讀取在線設(shè)備的報告信息,并記錄下在線設(shè)備的信息,具體信息包括物理地址和標(biāo)識號(8字節(jié))。當(dāng)組態(tài)客戶端調(diào)用該接口函數(shù)時就可以獲得總線上的活動設(shè)備列表。   (4) ReadObject(...)接口是FipServer提供的最重要的接口之一,它的功能主要是讀取現(xiàn)場設(shè)備的各種信息,當(dāng)主機(jī)應(yīng)用程序需要獲取設(shè)備對象字典中的數(shù)據(jù)時,可以調(diào)用該接口函數(shù),函數(shù)根據(jù)傳進(jìn)來設(shè)備信息、對象字典索引就可以讀取現(xiàn)場設(shè)備對象字典中的相應(yīng)信息。函數(shù)主要是對設(shè)備訪問代理協(xié)議中的Read服務(wù)進(jìn)行了封裝,函數(shù)根據(jù)傳進(jìn)來對象字典的索引和子索引的不同而調(diào)用不同的讀服務(wù)。  ?。?) WriteObject (...)接口也是FipServer提供的最重要的接口之一,它的功能主要是向現(xiàn)場設(shè)備寫入各種信息。組態(tài)軟件需要對設(shè)備對象字典中更新數(shù)據(jù)時,可以調(diào)用該接口函數(shù),函數(shù)根據(jù)傳進(jìn)來設(shè)備標(biāo)識和對象字典索引就可以向現(xiàn)場設(shè)備對象字典中的相應(yīng)的位置寫入信息,該函數(shù)主要是封裝了設(shè)備訪問代理的Write服務(wù),根據(jù)傳進(jìn)來的對象字典的索引和子索引的不同而調(diào)用不同的寫服務(wù)。 3 組態(tài)軟件客戶端軟件的設(shè)計與實現(xiàn)   組態(tài)軟件客戶端是組態(tài)軟件與工程人員交互的組態(tài)圖形系統(tǒng),是總線工程系統(tǒng)的調(diào)度和控制中心,它在組態(tài)軟件系統(tǒng)中起著極其重要的作用。本文首先采用了面向?qū)ο蟮慕<夹g(shù),借助UML建模語言實現(xiàn)了系統(tǒng)建模,然后采用面向?qū)ο蟮木幊谭椒?,基于Windows的MFC技術(shù),以C++為編程語言,以Visual C++6.0為工具,依據(jù)所建立的圖形系統(tǒng)模型,實現(xiàn)了整個組態(tài)圖形系統(tǒng)。組態(tài)軟件的整體結(jié)構(gòu)采用的單文檔多視圖的結(jié)構(gòu)。即所有的數(shù)據(jù)結(jié)構(gòu)由文檔類CFipXConDoc來管理,所有模塊從該文檔中取得所需的數(shù)據(jù),進(jìn)行處理以后再保存到該文檔中。在Windows操作系統(tǒng)中,組態(tài)軟件的整體圖形界面如圖3所示。 [align=center] 圖3 組態(tài)軟件的主窗口[/align]   圖中左邊視圖是項目管理模塊,用于對整個控制系統(tǒng)的組態(tài)項目進(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ù)現(xiàn)場總線結(jié)構(gòu)的分布式和層次結(jié)構(gòu)的特點,軟件中采用以設(shè)備為對象的數(shù)據(jù)結(jié)構(gòu)設(shè)計,關(guān)于設(shè)備信息的數(shù)據(jù)結(jié)構(gòu)保持在文檔類中。設(shè)備信息分別保存在設(shè)備基類(CFipBasDevice)、派生類網(wǎng)關(guān)設(shè)備類(CFipBridge)和派生類從設(shè)備類(CFipSlaDevice)中。設(shè)備基類從CObject派生,并重載了Serialize(CArchive& ar)函數(shù)。這些設(shè)備類主要記錄設(shè)備的基本信息,如設(shè)備的DeviceID、設(shè)備的物理地址、設(shè)備標(biāo)識、設(shè)備中的功能塊列表,功能塊數(shù)量等信息,以及對設(shè)備類的操作方法。設(shè)備以設(shè)備列表的形式組織,具體結(jié)構(gòu)采用MFC指針數(shù)組模板類CtypedPtrArray實例化的CFipDevArray。   每個設(shè)備包含有多個功能塊,功能塊類保存了功能塊的各種信息。本文為功能塊類設(shè)計了一個基類CFunBlkBase,其他具體功能塊的類都從它派生,如CAIBlk、CPIDBlk、CAOBlk等。基類從CObject類派生,并且重載了Serialize(CArchive& ar)函數(shù)。同樣,設(shè)備類也定義一個動態(tài)數(shù)組CFunBlkArray保存它的功能塊。   3.2 功能塊應(yīng)用進(jìn)程圖形化組態(tài)的設(shè)計與實現(xiàn)   功能塊應(yīng)用進(jìn)程的編輯采用圖形化方法來組態(tài),功能塊應(yīng)用進(jìn)程編輯的界面如圖2所示。用矩形框圖代表功能塊,引腳代表功能塊的輸入和輸出,引腳間的連線代表功能塊參數(shù)間的關(guān)聯(lián)。編輯功能塊應(yīng)用進(jìn)程時,用鼠標(biāo)選取組成功能塊應(yīng)用進(jìn)程所需的功能塊并創(chuàng)建功能塊框圖,并用鼠標(biāo)在引腳間畫線來建立功能塊之間的連接關(guān)系。   本組態(tài)界面系統(tǒng)主要由圖元類庫和圖形操作工具類庫構(gòu)成。在圖元類庫中,類CDrawObj是抽象基類,定義了所有圖元類具有的共同屬性和操作接口,是其它圖元類的父類。CDrawFunBlock是功能塊框圖類,由它派生出具體功能塊繪圖類,如CAIDrawBlk等。CDrawLinkPLine是連接線類,CTextObj是文本類。圖形操作工具類是將用戶在界面上的操作翻譯成對工程畫面上圖元的操作的輔助類,主要功能表現(xiàn)在對圖元的操作控制功能,如圖元的生成編輯撤銷、移動和選擇等。根據(jù)所操作的圖元對象的種類,視圖類選擇相應(yīng)的工具類來編輯圖元對象。在工具類庫中,類CDrawTool是其他工具類的基類。類CSelectTool定義了對圖元的選中操作,類CDrawPLineTool定義了對連接線類的連接操作,類CFunBlkTool定義了對功能塊類的創(chuàng)建和移動,圖4描述了這個界面系統(tǒng)的靜態(tài)類和相互之間的關(guān)系[3]。 [align=center] 圖4 功能塊應(yīng)用進(jìn)程圖形組態(tài)的UML靜態(tài)類圖[/align]   當(dāng)用戶進(jìn)行功能塊連接組態(tài)時,每完成一次功能塊之間的連接,根據(jù)連線對象的輸入和輸出所指的功能塊之間的關(guān)聯(lián)關(guān)系,創(chuàng)建相應(yīng)的鏈接對象(CLinkObj)并給予賦值。鏈接對象內(nèi)容主要包括服務(wù)類型、設(shè)備地址、周期變量編號、本地索引、遠(yuǎn)方索引等內(nèi)容。為了讓功能塊之間的連接都與鏈接對象相對應(yīng),程序定義了連接類(CLink),連接類主要記錄了這對輸入和輸出參數(shù)的鏈接對象。在功能塊應(yīng)用進(jìn)程編輯視圖中,每進(jìn)行一次功能塊之間的連接編輯,就生成一個功能塊之間的連接,也就生成了兩個鏈接對象。下載鏈接對象時,程序遍歷CDrawLinkPLine對象,通過調(diào)用COM接口程序FipServer的寫服務(wù)將鏈接對象下載到指定設(shè)備中[4]。 4 結(jié)束語   本文搭建了一個簡單的實際的總線控制系統(tǒng)來測試組態(tài)軟件,本系統(tǒng)由一個溫度變送器、一個總線-電流變送器(FI)、一個網(wǎng)關(guān)(主站)、一個加熱爐和一臺PC機(jī)構(gòu)成。策略組態(tài)配置了溫變運行AI功能塊、FI的PID功能塊和一個AO功能塊,形成一個閉環(huán)回路將加熱爐內(nèi)的溫度控制為一個給定值。整個測試按照5個用例依次進(jìn)行,結(jié)果表明:組態(tài)軟件通過主站成功讀取了現(xiàn)場設(shè)備信息,并獲取視圖數(shù)據(jù)和功能塊信息,組態(tài)軟件成功將組態(tài)信息下載到現(xiàn)場設(shè)備并對其組態(tài)?,F(xiàn)場設(shè)備運行正常,并實現(xiàn)基本控制功能。   本文的創(chuàng)新點在于:在充分分析了WorldFIP協(xié)議和總線系統(tǒng)特點之后,率先設(shè)計開發(fā)出了一套方便實用的面向功能塊的WorldFIP現(xiàn)場總線控制系統(tǒng)組態(tài)軟件。這套軟件是在中文Windows2000環(huán)境下以VC++6.0為平臺實現(xiàn)的。這套軟件采用了三層C/S模式的軟件結(jié)構(gòu),具有很好的開放性和擴(kuò)展性。軟件具有友好的人機(jī)界面,可為用戶提供直觀方便的對本FCS系統(tǒng)的組態(tài)配置。 參考文獻(xiàn)   [1]史學(xué)玲.WorldFIP現(xiàn)場總線技術(shù)[J].工業(yè)控制計算機(jī),2001,14(2):29-30   [2]張劍清,張齊.基于COM的組態(tài)軟件I/O設(shè)備驅(qū)動程序設(shè)計[J].微計算機(jī)信息,2007,2-1:293-295   [3]王亞民,陳青,劉暢生,王水平.組態(tài)軟件的設(shè)計與開發(fā)[M].西安電子科技大學(xué)出版社,2003   [4]張建華,戰(zhàn)明,于海斌.FF現(xiàn)場總線儀表及組態(tài)技術(shù)[J].微計算機(jī)信息,2006,6-1:175-176

標(biāo)簽:

點贊

分享到:

上一篇:新型電站分布式綜合自動化控...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

相關(guān)資訊

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號