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