現場工控組態系統中的動態數據交換技術
系統分為監控子系統、數據采集子系統和數據交換子系統。以臺灣磐儀工控機IPC1作為SCADA監控硬件平臺。監控計算機通過掛在CC-Link總線上的遠程I/O模塊和數據采集模塊,即采集子系統與現場的監控儀表相聯系。采集子系統負責將現場各智能儀表采集的數據采集上來;監控系統通過DDE方式與采集子系統相聯系,將現場的各種運行參數實時顯示出來;監控系統根據需要給出控制命令,由采集子系統傳達給掛在CC-Link總線上的CC-Link主控PLC,PLC負責現場各種設備的控制。數據交換子系統通過DDE方式與監控子系統系統交換數據,將現場實時信息經由控制網絡傳達到信息網絡。某車間監控層過程實時數據流向如圖4所示。
iFix軟件提供了強有力的DDE客戶和服務器支持。DDE客戶支持允許把來自其他應用。程序的信息傳遞到iFix軟件中,用于數據庫和畫面;服務器支持允許把iFix軟件的過程信息傳遞到其他應用程序中去處理。

圖4 VB作為服務器、iFix 作為客戶的數據流向圖
(1) DDE客戶支持
iFix軟件DDE客戶支持允許讀寫DDE地址,利用DDE I/O驅動器和塊配置的DDE地址,可以在過程數據庫中插入來自其他應用程序、DDE驅動程序或另一個SCADA節點的數據信息。
數據庫中的這些信息可以按照以下方式使用:在鏈中傳送數據、對DDE數據進行報警和用DDE數據制作趨勢曲線。
DDE客戶支持允許在 iFix 畫面中直接使用DDE,而不使用數據庫中的點。即DDE可以直接應用于數據鏈接、動態特性(前景顏色、邊界顏色、X和Y坐標、水平或垂直填充、可見性等)設置、X/Y繪圖、棒狀圖和命令語言。iFix作為客戶DDE的地址語法為:=Application|Topic|Item例如現場設備點DO1的I/O地址=VBServer|Form1|Text1,其中VBServer為VB開發的應用程序名,Form1為主題名,Text1為項目名。
(2) DDE服務器支持
iFix軟件作為服務器允許將它的實時數據或歷史數據傳送到其他DDE客戶應用程序中。使用iFix DDE服務器功能,需要首先啟動DDE服務器程序,即iFix軟件的安裝目錄 iFix32下的DMDDE.exe。iFix 作為服務器提供的DDE編址語法如表1所示。

3.3 VB的DDE鏈接屬性
VB作為Windows環境下非常流行的快速開發工具,與Windows操作系統同出于微軟一家,它理所當然地支持Windows下的DDE技術。用VB可以方便快捷地開發出DDE客戶或服務器的應用程序。
(1) VB的DDE屬性、DDE事件和DDE方法
VB中支持DDE的對象有5類:窗體(Form)、多文檔窗體(MDI Form)、標簽(Label)、文本框(TextBox)和圖片框(PictureBox)。其中,窗體和多文檔窗體可作為DDE服務器即數據的提供者,Label、TextBox和PictureBox等可以作為DDE服務器即數據的接收者。VB為支持DDE給發送端對象提供了2種DDE屬性和4種DDE事件,給接收端對象提供了4種DDE屬性、4種DDE事件和4種DDE方法(見表2)。

(2) 利用VB開發DDE客戶/服務器應用程序
在利用VB開發DDE客戶/服務器應用程序中,欲建立DDE鏈接,完全依賴對象的DDE屬性設置。VB分別作為DDE客戶和DDE服務器時,DDE屬性的不同設置(見表3)。

(3) 動態數據交換的過程
DDE管理器作為服務端通過驅動程序從PLC的內存中采集到數據,與組態進行數據交換后又通過驅動程序寫入PLC的內存區,這一過程的示意圖如圖5所示。

圖5 動態數據交換的實際過程
(4) 動態數據交換的建立過程
DDE工程的建立主要包括PLC細節的描述、網絡的設置、數據點的選取,其中主要是進行設備的配置和點的設置。接下來建立需要監控的點,并對其進行編輯,包括:定義監控點的名字、PLC的類型、監控點在PLC內存中的位置、數據的類型等??筛鶕LC機架上輸入輸出單元的點數來定義輸入字和輸出字,同時定義手動/自動控制標志位。
3.4 VB作為DDE服務器、iFix 作為DDE客戶的實際鏈接
有些參數需要通過VB開發的應用程序VBServer把從遠程現場采集的實時數據傳輸到iFix實現顯示或制作趨勢圖,如油漆烘間的實測溫度、純水進口壓力、循環水過濾器壓力、顏料的實測濃度、電泳循環泵的轉速和膠爐實測溫度、一次抽風系統增壓機的進口和出口壓力、空氣預熱器蒸汽溫度等參數。
在VBServer中,把采集到的實時數據賦給TextBox(文本框),并把iFix中各點的DDE地址的項目名設為對應的TextBox(文本框)。如油漆烘間的實測溫度,在iFix中點名為AI_Oven_Tem,其DDE地址VBServer|formMain|txt OvenTem(其中VBServer是應用程序名,formMain是作為主題的窗體名,txtOvenTem是作為項目的文本框名稱)。此時,iFix為客戶,VB應用程序為服務器。
3.5 VB作為DDE客戶與DDE服務器iFix的實際鏈接
通常情況下,現場的檢測信號和運動參數的流向是從iFix傳輸到VB開發的應用程序VBSrvApp或其它的Windows應用程序,再由Windows應用程序或VBSrvApp以命令形式經iFix下達給遠程現場的智能儀表或PLC等遠程的現場設備,如油漆烘間和膠爐各自的設定溫度、純水進口的設定壓力、顏料的設定濃度等參數。
在VBServer中,把各個設定參數相應的TextBox(文本框)的LinkItem屬性設置為對應的iFix的點,然后把從iFix的點傳輸到對應TextBox(文本框)中的內容下達給遠程現場設備。此時,VB應用程序為VBServer客戶,iFix為服務器。
4 結束語
組態軟件在工控DCADA系統中處于重要位置,實現它與第三方軟件的通信是系統成敗的關鍵。文章中討論的問題,是某自動化生產線改造中動態數據交換技術應用的總結,該生產線現運行良好,說明該設計是可行和有效的。


評論