1 引言
在一個自動監(jiān)控(Supervisory Control And Data Acquisition SCADA)系統(tǒng)中,投入運行的監(jiān)控組態(tài)軟件是系統(tǒng)的數(shù)據(jù)采集和處理中心、遠程監(jiān)控中心和數(shù)據(jù)轉發(fā)中心。處于運行狀態(tài)的監(jiān)控組態(tài)軟件與各種控制、檢測設備如掛接在現(xiàn)場總線上的工控計算機、PLC、智能儀表、智能設備等共同構成快速響應控制中心??刂品桨负?a href="http://m.hljzzgx.com/v/tag/2562/" target="_blank">算法一般在設備上組態(tài)并執(zhí)行,也可在工控計算機上組態(tài),然后在下裝到設備中執(zhí)行,根據(jù)設備的具體要求而定[1]。組態(tài)軟件在SCADA系統(tǒng)中所處的位置如圖1所示。
監(jiān)控組態(tài)軟件投入運行后,操作人員可以在其支持下完成以下各項任務:
(1) 查看生產(chǎn)現(xiàn)場的實時數(shù)據(jù)及流程畫面,瀏覽各實時/歷史趨勢畫面;
(2) 自動打印各種實時/歷史生產(chǎn)報表;
(3) 及時得到各種過程報警和系統(tǒng)報警;
(4) 在需要時,人為干預生產(chǎn)過程,修改生產(chǎn)過程參數(shù)和狀態(tài);
(5) 與管理部門的計算機聯(lián)網(wǎng),為管理部門提供生產(chǎn)實時數(shù)據(jù)
圖1 監(jiān)控組態(tài)軟件在SCADA系統(tǒng)中所處的位置
現(xiàn)場總線作為開放的控制網(wǎng)絡能實現(xiàn)現(xiàn)場設備間、現(xiàn)場設備與控制室間的信號通信[2]。開放通信是信息傳輸與共享的基礎之一,而當現(xiàn)場信號傳至監(jiān)控計算機之后,如何實現(xiàn)計算機內部各程序之間的信息溝通與傳遞,即如何讓現(xiàn)場信號與各應用程序連接起來,讓現(xiàn)場信息出現(xiàn)在計算機的各應用平臺上,依然存在一個連接標準與規(guī)范的問題。在多用戶、多任務的計算機系統(tǒng)中實現(xiàn)程序間的數(shù)據(jù)交換比較方便,操作系統(tǒng)對這種操作是支持的。自從Windows及微機版UNIX、LINUX操作系統(tǒng)的面世后,出現(xiàn)了程序之間交換數(shù)據(jù)的技術、協(xié)議或標準,實現(xiàn)程序間的數(shù)據(jù)交換才比較容易。在工業(yè)PC機的自動化系統(tǒng)中被廣泛采用的今天,讓現(xiàn)場總線控制系統(tǒng)和人機界面軟件能夠有效充分地用PC機豐富強大的軟件資源,是一項值得深入研究的課題。文章對有關技術問題結合工程實踐作些討論。
2 動態(tài)數(shù)據(jù)交換的基本概念
盡管工控組態(tài)軟件的數(shù)據(jù)交換技術有了長足進步,在當前實際運用的現(xiàn)場總線控制系統(tǒng)組態(tài)軟件中,對于DDE和OPC兩種數(shù)據(jù)交換技術的具體運用—特別是在微機執(zhí)行多任務條件下如何進一步提高組態(tài)軟件與其他程序之間的數(shù)據(jù)交換實時性方面,仍然存在某些不足,值得進一步探討和研究。其中,動態(tài)數(shù)據(jù)實時交換(DDE)技術在控制網(wǎng)絡的集成中得到了實際應用。其原因:
(1) 這種方法實時性較好,可以采用標準的Windows技術;
(2) 作為連接控制網(wǎng)絡與信息網(wǎng)絡的通信處理機在硬件上比較容易實現(xiàn)。
當控制網(wǎng)絡與信息網(wǎng)絡有一共享工作站或通信處理機時,就可以通過動態(tài)數(shù)據(jù)交換技術實現(xiàn)控制網(wǎng)絡中實時數(shù)據(jù)與信息網(wǎng)絡中數(shù)據(jù)庫數(shù)據(jù)的動態(tài)交換,從而實現(xiàn)控制網(wǎng)絡與信息網(wǎng)絡的集成。
DDE是進程間通信的方法。為了進行會話,DDE應用程序用3個基本的標志符(或字符串),即三層識別系統(tǒng)來區(qū)別其他DDE應用程序,他們分別是應用程序名(Application)、主題名(Topic)和項目名(Item)。每個DDE會話由應用程序名和主題名唯一定義,在DDE會話建立前由客戶程序和服務器共同決定應用程序名和主題名,而由客戶程序填寫服務器的3個標志名。應用程序名位于層次機構的頂層,用于指出特定的DDE服務器應用程序名。主題名更深刻地定義了服務器應用程序會話的主題內容,服務器應用程序可支持一個或多個主題名[2]。
3 面向過程控制的動態(tài)參數(shù)數(shù)據(jù)交換程序設計
為方便討論問題、現(xiàn)舉例說明。根據(jù)某生產(chǎn)自動化改造工程要求,需要對系統(tǒng)進行組態(tài)監(jiān)控操作平臺設計,采用組態(tài)軟件IFIX2.2和Windows應用軟件VB6.0,開發(fā)并實現(xiàn)基于DDE機制的進程間數(shù)據(jù)交換,滿足工業(yè)控制網(wǎng)SCADA工控計算機內部信息交換需要,為各應用程序通過共享內存交換信息,實現(xiàn)控制網(wǎng)絡與信息網(wǎng)絡的集成,并為進一步進行Windows程序間的數(shù)據(jù)交換開發(fā)提供有借鑒意義的參考[3]??刂凭W(wǎng)絡與信息網(wǎng)絡的主要集成技術如圖2所示。
圖2 控制網(wǎng)絡與信息網(wǎng)絡的主要集成技術
3.1 DDE信息交換的網(wǎng)絡集成方法
通過共享存儲器的DDE技術為實現(xiàn)控制網(wǎng)絡與信息網(wǎng)絡的集成提供了技術支持,有很強的實時性。工程設計以工控計算機IPC作為通信處理機,該IPC機同時也是2個網(wǎng)絡的工作站,跨接控制網(wǎng)絡和信息網(wǎng)絡,在溝通2個網(wǎng)絡中起橋梁作用。通信處理機IPC用DDE方法實現(xiàn)2個網(wǎng)絡間各站點的通信,是整個集成網(wǎng)絡的關鍵,它能實現(xiàn)以下功能:
(1) 搜集控制網(wǎng)絡上各站點的實時數(shù)據(jù)信息,寫入信息網(wǎng)絡的數(shù)據(jù)庫,以便信息網(wǎng)絡用戶瀏覽、查詢;
(2) 將信息網(wǎng)絡用戶的控制信息及時下達至控制網(wǎng)絡的指定工作站點。
基于通信處理機DDE信息交換的網(wǎng)絡集成方法如圖3所示。
圖3 基于通信處理機DDE信息交換的網(wǎng)絡集成方法
3.2 組態(tài)軟件iFix與VB之間的DDE實現(xiàn)
現(xiàn)場總線控制系統(tǒng)采用Intellution公司開發(fā)的組態(tài)軟件iFix2.2作為SCADA監(jiān)控操作平臺。iFix是一種工業(yè)自動化組態(tài)軟件,它采用圖形用戶界面,提供了監(jiān)控和數(shù)據(jù)采集功能,為操作人員和開發(fā)人員提供了良好的監(jiān)控環(huán)境,可以實現(xiàn)對象自由組態(tài)及動態(tài)屬性的在線配置、現(xiàn)場動態(tài)數(shù)據(jù)采集、數(shù)據(jù)處理、狀態(tài)監(jiān)控、報警、參數(shù)設置、報表生成、數(shù)據(jù)存儲、接口等基本功能和網(wǎng)絡管理功能。在各種操作系統(tǒng)上的版本共享相同的內核,允許在同一網(wǎng)絡結構中運行建立在不同操作系統(tǒng)上的iFix版本。iFix包含大量圖形工具,使用戶能夠快速地開發(fā)系統(tǒng),而且它提供了強大的功能,包括實時過程的監(jiān)視和監(jiān)督控制、報警和報警管理、歷史趨勢,統(tǒng)計過程控制、基于用戶的安全系統(tǒng)、方便的系統(tǒng)擴展、網(wǎng)絡功能等。而VB6.0是微軟公司推出的一個流行且強大的快速開發(fā)工具,在開發(fā)SCADA系統(tǒng)時,利用DDE技術把兩種工具有效的結合起來,更能發(fā)揮它們各自的優(yōu)勢,可以獲取令人滿意的結果。
系統(tǒng)分為監(jiān)控子系統(tǒng)、數(shù)據(jù)采集子系統(tǒng)和數(shù)據(jù)交換子系統(tǒng)。以***磐儀工控機IPC1作為SCADA監(jiān)控硬件平臺。監(jiān)控計算機通過掛在CC-Link總線上的遠程I/O模塊和數(shù)據(jù)采集模塊,即采集子系統(tǒng)與現(xiàn)場的監(jiān)控儀表相聯(lián)系。采集子系統(tǒng)負責將現(xiàn)場各智能儀表采集的數(shù)據(jù)采集上來;監(jiān)控系統(tǒng)通過DDE方式與采集子系統(tǒng)相聯(lián)系,將現(xiàn)場的各種運行參數(shù)實時顯示出來;監(jiān)控系統(tǒng)根據(jù)需要給出控制命令,由采集子系統(tǒng)傳達給掛在CC-Link總線上的CC-Link主控PLC,PLC負責現(xiàn)場各種設備的控制。數(shù)據(jù)交換子系統(tǒng)通過DDE方式與監(jiān)控子系統(tǒng)系統(tǒng)交換數(shù)據(jù),將現(xiàn)場實時信息經(jīng)由控制網(wǎng)絡傳達到信息網(wǎng)絡。某車間監(jiān)控層過程實時數(shù)據(jù)流向如圖4所示。
iFix軟件提供了強有力的DDE客戶和服務器支持。DDE客戶支持允許把來自其他應用。程序的信息傳遞到iFix軟件中,用于數(shù)據(jù)庫和畫面;服務器支持允許把iFix軟件的過程信息傳遞到其他應用程序中去處理。
圖4 VB作為服務器、iFix 作為客戶的數(shù)據(jù)流向圖
(1) DDE客戶支持
iFix軟件DDE客戶支持允許讀寫DDE地址,利用DDE I/O驅動器和塊配置的DDE地址,可以在過程數(shù)據(jù)庫中插入來自其他應用程序、DDE驅動程序或另一個SCADA節(jié)點的數(shù)據(jù)信息。
數(shù)據(jù)庫中的這些信息可以按照以下方式使用:在鏈中傳送數(shù)據(jù)、對DDE數(shù)據(jù)進行報警和用DDE數(shù)據(jù)制作趨勢曲線。
DDE客戶支持允許在 iFix 畫面中直接使用DDE,而不使用數(shù)據(jù)庫中的點。即DDE可以直接應用于數(shù)據(jù)鏈接、動態(tài)特性(前景顏色、邊界顏色、X和Y坐標、水平或垂直填充、可見性等)設置、X/Y繪圖、棒狀圖和命令語言。iFix作為客戶DDE的地址語法為:=Application|Topic|Item例如現(xiàn)場設備點DO1的I/O地址=VBServer|Form1|Text1,其中VBServer為VB開發(fā)的應用程序名,F(xiàn)orm1為主題名,Text1為項目名。
(2) DDE服務器支持
iFix軟件作為服務器允許將它的實時數(shù)據(jù)或歷史數(shù)據(jù)傳送到其他DDE客戶應用程序中。使用iFix DDE服務器功能,需要首先啟動DDE服務器程序,即iFix軟件的安裝目錄 iFix32下的DMDDE.exe。iFix 作為服務器提供的DDE編址語法如表1所示。
3.3 VB的DDE鏈接屬性
VB作為Windows環(huán)境下非常流行的快速開發(fā)工具,與Windows操作系統(tǒng)同出于微軟一家,它理所當然地支持Windows下的DDE技術。用VB可以方便快捷地開發(fā)出DDE客戶或服務器的應用程序。
(1) VB的DDE屬性、DDE事件和DDE方法
VB中支持DDE的對象有5類:窗體(Form)、多文檔窗體(MDI Form)、標簽(Label)、文本框(TextBox)和圖片框(PictureBox)。其中,窗體和多文檔窗體可作為DDE服務器即數(shù)據(jù)的提供者,Label、TextBox和PictureBox等可以作為DDE服務器即數(shù)據(jù)的接收者。VB為支持DDE給發(fā)送端對象提供了2種DDE屬性和4種DDE事件,給接收端對象提供了4種DDE屬性、4種DDE事件和4種DDE方法(見表2)。
(2) 利用VB開發(fā)DDE客戶/服務器應用程序
在利用VB開發(fā)DDE客戶/服務器應用程序中,欲建立DDE鏈接,完全依賴對象的DDE屬性設置。VB分別作為DDE客戶和DDE服務器時,DDE屬性的不同設置(見表3)。
(3) 動態(tài)數(shù)據(jù)交換的過程
DDE管理器作為服務端通過驅動程序從PLC的內存中采集到數(shù)據(jù),與組態(tài)進行數(shù)據(jù)交換后又通過驅動程序寫入PLC的內存區(qū),這一過程的示意圖如圖5所示。
圖5 動態(tài)數(shù)據(jù)交換的實際過程
(4) 動態(tài)數(shù)據(jù)交換的建立過程
DDE工程的建立主要包括PLC細節(jié)的描述、網(wǎng)絡的設置、數(shù)據(jù)點的選取,其中主要是進行設備的配置和點的設置。接下來建立需要監(jiān)控的點,并對其進行編輯,包括:定義監(jiān)控點的名字、PLC的類型、監(jiān)控點在PLC內存中的位置、數(shù)據(jù)的類型等。可根據(jù)PLC機架上輸入輸出單元的點數(shù)來定義輸入字和輸出字,同時定義手動/自動控制標志位。
3.4 VB作為DDE服務器、iFix 作為DDE客戶的實際鏈接
有些參數(shù)需要通過VB開發(fā)的應用程序VBServer把從遠程現(xiàn)場采集的實時數(shù)據(jù)傳輸?shù)絠Fix實現(xiàn)顯示或制作趨勢圖,如油漆烘間的實測溫度、純水進口壓力、循環(huán)水過濾器壓力、顏料的實測濃度、電泳循環(huán)泵的轉速和膠爐實測溫度、一次抽風系統(tǒng)增壓機的進口和出口壓力、空氣預熱器蒸汽溫度等參數(shù)。
在VBServer中,把采集到的實時數(shù)據(jù)賦給TextBox(文本框),并把iFix中各點的DDE地址的項目名設為對應的TextBox(文本框)。如油漆烘間的實測溫度,在iFix中點名為AI_Oven_Tem,其DDE地址VBServer|formMain|txt OvenTem(其中VBServer是應用程序名,formMain是作為主題的窗體名,txtOvenTem是作為項目的文本框名稱)。此時,iFix為客戶,VB應用程序為服務器。
3.5 VB作為DDE客戶與DDE服務器iFix的實際鏈接
通常情況下,現(xiàn)場的檢測信號和運動參數(shù)的流向是從iFix傳輸?shù)絍B開發(fā)的應用程序VBSrvApp或其它的Windows應用程序,再由Windows應用程序或VBSrvApp以命令形式經(jīng)iFix下達給遠程現(xiàn)場的智能儀表或PLC等遠程的現(xiàn)場設備,如油漆烘間和膠爐各自的設定溫度、純水進口的設定壓力、顏料的設定濃度等參數(shù)。
在VBServer中,把各個設定參數(shù)相應的TextBox(文本框)的LinkItem屬性設置為對應的iFix的點,然后把從iFix的點傳輸?shù)綄猅extBox(文本框)中的內容下達給遠程現(xiàn)場設備。此時,VB應用程序為VBServer客戶,iFix為服務器。
4 結束語
組態(tài)軟件在工控DCADA系統(tǒng)中處于重要位置,實現(xiàn)它與第三方軟件的通信是系統(tǒng)成敗的關鍵。文章中討論的問題,是某自動化生產(chǎn)線改造中動態(tài)數(shù)據(jù)交換技術應用的總結,該生產(chǎn)線現(xiàn)運行良好,說明該設計是可行和有效的。
-
SCADA
+關注
關注
6文章
269瀏覽量
36742 -
數(shù)據(jù)交換
+關注
關注
0文章
102瀏覽量
17920
發(fā)布評論請先 登錄
相關推薦
評論