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