1 引言
在一個自動監控(Supervisory Control And Data Acquisition SCADA)系統中,投入運行的監控組態軟件是系統的數據采集和處理中心、遠程監控中心和數據轉發中心。處于運行狀態的監控組態軟件與各種控制、檢測設備如掛接在現場總線上的工控計算機、PLC、智能儀表、智能設備等共同構成快速響應控制中心。控制方案和算法一般在設備上組態并執行,也可在工控計算機上組態,然后在下裝到設備中執行,根據設備的具體要求而定[1]。組態軟件在SCADA系統中所處的位置如圖1所示。
監控組態軟件投入運行后,操作人員可以在其支持下完成以下各項任務:
(1) 查看生產現場的實時數據及流程畫面,瀏覽各實時/歷史趨勢畫面;
(2) 自動打印各種實時/歷史生產報表;
(3) 及時得到各種過程報警和系統報警;
(4) 在需要時,人為干預生產過程,修改生產過程參數和狀態;
(5) 與管理部門的計算機聯網,為管理部門提供生產實時數據
圖1 監控組態軟件在SCADA系統中所處的位置
現場總線作為開放的控制網絡能實現現場設備間、現場設備與控制室間的信號通信[2]。開放通信是信息傳輸與共享的基礎之一,而當現場信號傳至監控計算機之后,如何實現計算機內部各程序之間的信息溝通與傳遞,即如何讓現場信號與各應用程序連接起來,讓現場信息出現在計算機的各應用平臺上,依然存在一個連接標準與規范的問題。在多用戶、多任務的計算機系統中實現程序間的數據交換比較方便,操作系統對這種操作是支持的。自從Windows及微機版UNIX、LINUX操作系統的面世后,出現了程序之間交換數據的技術、協議或標準,實現程序間的數據交換才比較容易。在工業PC機的自動化系統中被廣泛采用的今天,讓現場總線控制系統和人機界面軟件能夠有效充分地用PC機豐富強大的軟件資源,是一項值得深入研究的課題。文章對有關技術問題結合工程實踐作些討論。
2 動態數據交換的基本概念
盡管工控組態軟件的數據交換技術有了長足進步,在當前實際運用的現場總線控制系統組態軟件中,對于DDE和OPC兩種數據交換技術的具體運用—特別是在微機執行多任務條件下如何進一步提高組態軟件與其他程序之間的數據交換實時性方面,仍然存在某些不足,值得進一步探討和研究。其中,動態數據實時交換(DDE)技術在控制網絡的集成中得到了實際應用。其原因:
(1) 這種方法實時性較好,可以采用標準的Windows技術;
(2) 作為連接控制網絡與信息網絡的通信處理機在硬件上比較容易實現。
當控制網絡與信息網絡有一共享工作站或通信處理機時,就可以通過動態數據交換技術實現控制網絡中實時數據與信息網絡中數據庫數據的動態交換,從而實現控制網絡與信息網絡的集成。
DDE是進程間通信的方法。為了進行會話,DDE應用程序用3個基本的標志符(或字符串),即三層識別系統來區別其他DDE應用程序,他們分別是應用程序名(Application)、主題名(Topic)和項目名(Item)。每個DDE會話由應用程序名和主題名唯一定義,在DDE會話建立前由客戶程序和服務器共同決定應用程序名和主題名,而由客戶程序填寫服務器的3個標志名。應用程序名位于層次機構的頂層,用于指出特定的DDE服務器應用程序名。主題名更深刻地定義了服務器應用程序會話的主題內容,服務器應用程序可支持一個或多個主題名[2]。
3 面向過程控制的動態參數數據交換程序設計
為方便討論問題、現舉例說明。根據某生產自動化改造工程要求,需要對系統進行組態監控操作平臺設計,采用組態軟件IFIX2.2和Windows應用軟件VB6.0,開發并實現基于DDE機制的進程間數據交換,滿足工業控制網SCADA工控計算機內部信息交換需要,為各應用程序通過共享內存交換信息,實現控制網絡與信息網絡的集成,并為進一步進行Windows程序間的數據交換開發提供有借鑒意義的參考[3]。控制網絡與信息網絡的主要集成技術如圖2所示。
圖2 控制網絡與信息網絡的主要集成技術
3.1 DDE信息交換的網絡集成方法
通過共享存儲器的DDE技術為實現控制網絡與信息網絡的集成提供了技術支持,有很強的實時性。工程設計以工控計算機IPC作為通信處理機,該IPC機同時也是2個網絡的工作站,跨接控制網絡和信息網絡,在溝通2個網絡中起橋梁作用。通信處理機IPC用DDE方法實現2個網絡間各站點的通信,是整個集成網絡的關鍵,它能實現以下功能:
(1) 搜集控制網絡上各站點的實時數據信息,寫入信息網絡的數據庫,以便信息網絡用戶瀏覽、查詢;
(2) 將信息網絡用戶的控制信息及時下達至控制網絡的指定工作站點。
基于通信處理機DDE信息交換的網絡集成方法如圖3所示。
圖3 基于通信處理機DDE信息交換的網絡集成方法
3.2 組態軟件iFix與VB之間的DDE實現
現場總線控制系統采用Intellution公司開發的組態軟件iFix2.2作為SCADA監控操作平臺。iFix是一種工業自動化組態軟件,它采用圖形用戶界面,提供了監控和數據采集功能,為操作人員和開發人員提供了良好的監控環境,可以實現對象自由組態及動態屬性的在線配置、現場動態數據采集、數據處理、狀態監控、報警、參數設置、報表生成、數據存儲、接口等基本功能和網絡管理功能。在各種操作系統上的版本共享相同的內核,允許在同一網絡結構中運行建立在不同操作系統上的iFix版本。iFix包含大量圖形工具,使用戶能夠快速地開發系統,而且它提供了強大的功能,包括實時過程的監視和監督控制、報警和報警管理、歷史趨勢,統計過程控制、基于用戶的安全系統、方便的系統擴展、網絡功能等。而VB6.0是微軟公司推出的一個流行且強大的快速開發工具,在開發SCADA系統時,利用DDE技術把兩種工具有效的結合起來,更能發揮它們各自的優勢,可以獲取令人滿意的結果。
系統分為監控子系統、數據采集子系統和數據交換子系統。以***磐儀工控機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內存中的位置、數據的類型等。可根據PLC機架上輸入輸出單元的點數來定義輸入字和輸出字,同時定義手動/自動控制標志位。
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系統中處于重要位置,實現它與第三方軟件的通信是系統成敗的關鍵。文章中討論的問題,是某自動化生產線改造中動態數據交換技術應用的總結,該生產線現運行良好,說明該設計是可行和有效的。
-
SCADA
+關注
關注
6文章
269瀏覽量
36752 -
數據交換
+關注
關注
0文章
102瀏覽量
17922
發布評論請先 登錄
相關推薦
評論