現(xiàn)場(chǎng)工控組態(tài)系統(tǒng)中的動(dòng)態(tài)數(shù)據(jù)交換技術(shù)
系統(tǒng)分為監(jiān)控子系統(tǒng)、數(shù)據(jù)采集子系統(tǒng)和數(shù)據(jù)交換子系統(tǒng)。以臺(tái)灣磐儀工控機(jī)IPC1作為SCADA監(jiān)控硬件平臺(tái)。監(jiān)控計(jì)算機(jī)通過(guò)掛在CC-Link總線上的遠(yuǎn)程I/O模塊和數(shù)據(jù)采集模塊,即采集子系統(tǒng)與現(xiàn)場(chǎng)的監(jiān)控儀表相聯(lián)系。采集子系統(tǒng)負(fù)責(zé)將現(xiàn)場(chǎng)各智能儀表采集的數(shù)據(jù)采集上來(lái);監(jiān)控系統(tǒng)通過(guò)DDE方式與采集子系統(tǒng)相聯(lián)系,將現(xiàn)場(chǎng)的各種運(yùn)行參數(shù)實(shí)時(shí)顯示出來(lái);監(jiān)控系統(tǒng)根據(jù)需要給出控制命令,由采集子系統(tǒng)傳達(dá)給掛在CC-Link總線上的CC-Link主控PLC,PLC負(fù)責(zé)現(xiàn)場(chǎng)各種設(shè)備的控制。數(shù)據(jù)交換子系統(tǒng)通過(guò)DDE方式與監(jiān)控子系統(tǒng)系統(tǒng)交換數(shù)據(jù),將現(xiàn)場(chǎng)實(shí)時(shí)信息經(jīng)由控制網(wǎng)絡(luò)傳達(dá)到信息網(wǎng)絡(luò)。某車(chē)間監(jiān)控層過(guò)程實(shí)時(shí)數(shù)據(jù)流向如圖4所示。
iFix軟件提供了強(qiáng)有力的DDE客戶(hù)和服務(wù)器支持。DDE客戶(hù)支持允許把來(lái)自其他應(yīng)用。程序的信息傳遞到iFix軟件中,用于數(shù)據(jù)庫(kù)和畫(huà)面;服務(wù)器支持允許把iFix軟件的過(guò)程信息傳遞到其他應(yīng)用程序中去處理。
圖4 VB作為服務(wù)器、iFix 作為客戶(hù)的數(shù)據(jù)流向圖
(1) DDE客戶(hù)支持
iFix軟件DDE客戶(hù)支持允許讀寫(xiě)DDE地址,利用DDE I/O驅(qū)動(dòng)器和塊配置的DDE地址,可以在過(guò)程數(shù)據(jù)庫(kù)中插入來(lái)自其他應(yīng)用程序、DDE驅(qū)動(dòng)程序或另一個(gè)SCADA節(jié)點(diǎn)的數(shù)據(jù)信息。
數(shù)據(jù)庫(kù)中的這些信息可以按照以下方式使用:在鏈中傳送數(shù)據(jù)、對(duì)DDE數(shù)據(jù)進(jìn)行報(bào)警和用DDE數(shù)據(jù)制作趨勢(shì)曲線。
DDE客戶(hù)支持允許在 iFix 畫(huà)面中直接使用DDE,而不使用數(shù)據(jù)庫(kù)中的點(diǎn)。即DDE可以直接應(yīng)用于數(shù)據(jù)鏈接、動(dòng)態(tài)特性(前景顏色、邊界顏色、X和Y坐標(biāo)、水平或垂直填充、可見(jiàn)性等)設(shè)置、X/Y繪圖、棒狀圖和命令語(yǔ)言。iFix作為客戶(hù)DDE的地址語(yǔ)法為:=Application|Topic|Item例如現(xiàn)場(chǎng)設(shè)備點(diǎn)DO1的I/O地址=VBServer|Form1|Text1,其中VBServer為VB開(kāi)發(fā)的應(yīng)用程序名,F(xiàn)orm1為主題名,Text1為項(xiàng)目名。
(2) DDE服務(wù)器支持
iFix軟件作為服務(wù)器允許將它的實(shí)時(shí)數(shù)據(jù)或歷史數(shù)據(jù)傳送到其他DDE客戶(hù)應(yīng)用程序中。使用iFix DDE服務(wù)器功能,需要首先啟動(dòng)DDE服務(wù)器程序,即iFix軟件的安裝目錄 iFix32下的DMDDE.exe。iFix 作為服務(wù)器提供的DDE編址語(yǔ)法如表1所示。
3.3 VB的DDE鏈接屬性
VB作為Windows環(huán)境下非常流行的快速開(kāi)發(fā)工具,與Windows操作系統(tǒng)同出于微軟一家,它理所當(dāng)然地支持Windows下的DDE技術(shù)。用VB可以方便快捷地開(kāi)發(fā)出DDE客戶(hù)或服務(wù)器的應(yīng)用程序。
(1) VB的DDE屬性、DDE事件和DDE方法
VB中支持DDE的對(duì)象有5類(lèi):窗體(Form)、多文檔窗體(MDI Form)、標(biāo)簽(Label)、文本框(TextBox)和圖片框(PictureBox)。其中,窗體和多文檔窗體可作為DDE服務(wù)器即數(shù)據(jù)的提供者,Label、TextBox和PictureBox等可以作為DDE服務(wù)器即數(shù)據(jù)的接收者。VB為支持DDE給發(fā)送端對(duì)象提供了2種DDE屬性和4種DDE事件,給接收端對(duì)象提供了4種DDE屬性、4種DDE事件和4種DDE方法(見(jiàn)表2)。
(2) 利用VB開(kāi)發(fā)DDE客戶(hù)/服務(wù)器應(yīng)用程序
在利用VB開(kāi)發(fā)DDE客戶(hù)/服務(wù)器應(yīng)用程序中,欲建立DDE鏈接,完全依賴(lài)對(duì)象的DDE屬性設(shè)置。VB分別作為DDE客戶(hù)和DDE服務(wù)器時(shí),DDE屬性的不同設(shè)置(見(jiàn)表3)。
(3) 動(dòng)態(tài)數(shù)據(jù)交換的過(guò)程
DDE管理器作為服務(wù)端通過(guò)驅(qū)動(dòng)程序從PLC的內(nèi)存中采集到數(shù)據(jù),與組態(tài)進(jìn)行數(shù)據(jù)交換后又通過(guò)驅(qū)動(dòng)程序?qū)懭隤LC的內(nèi)存區(qū),這一過(guò)程的示意圖如圖5所示。
圖5 動(dòng)態(tài)數(shù)據(jù)交換的實(shí)際過(guò)程
(4) 動(dòng)態(tài)數(shù)據(jù)交換的建立過(guò)程
DDE工程的建立主要包括PLC細(xì)節(jié)的描述、網(wǎng)絡(luò)的設(shè)置、數(shù)據(jù)點(diǎn)的選取,其中主要是進(jìn)行設(shè)備的配置和點(diǎn)的設(shè)置。接下來(lái)建立需要監(jiān)控的點(diǎn),并對(duì)其進(jìn)行編輯,包括:定義監(jiān)控點(diǎn)的名字、PLC的類(lèi)型、監(jiān)控點(diǎn)在PLC內(nèi)存中的位置、數(shù)據(jù)的類(lèi)型等??筛鶕?jù)PLC機(jī)架上輸入輸出單元的點(diǎn)數(shù)來(lái)定義輸入字和輸出字,同時(shí)定義手動(dòng)/自動(dòng)控制標(biāo)志位。
3.4 VB作為DDE服務(wù)器、iFix 作為DDE客戶(hù)的實(shí)際鏈接
有些參數(shù)需要通過(guò)VB開(kāi)發(fā)的應(yīng)用程序VBServer把從遠(yuǎn)程現(xiàn)場(chǎng)采集的實(shí)時(shí)數(shù)據(jù)傳輸?shù)絠Fix實(shí)現(xiàn)顯示或制作趨勢(shì)圖,如油漆烘間的實(shí)測(cè)溫度、純水進(jìn)口壓力、循環(huán)水過(guò)濾器壓力、顏料的實(shí)測(cè)濃度、電泳循環(huán)泵的轉(zhuǎn)速和膠爐實(shí)測(cè)溫度、一次抽風(fēng)系統(tǒng)增壓機(jī)的進(jìn)口和出口壓力、空氣預(yù)熱器蒸汽溫度等參數(shù)。
在VBServer中,把采集到的實(shí)時(shí)數(shù)據(jù)賦給TextBox(文本框),并把iFix中各點(diǎn)的DDE地址的項(xiàng)目名設(shè)為對(duì)應(yīng)的TextBox(文本框)。如油漆烘間的實(shí)測(cè)溫度,在iFix中點(diǎn)名為AI_Oven_Tem,其DDE地址VBServer|formMain|txt OvenTem(其中VBServer是應(yīng)用程序名,formMain是作為主題的窗體名,txtOvenTem是作為項(xiàng)目的文本框名稱(chēng))。此時(shí),iFix為客戶(hù),VB應(yīng)用程序?yàn)榉?wù)器。
3.5 VB作為DDE客戶(hù)與DDE服務(wù)器iFix的實(shí)際鏈接
通常情況下,現(xiàn)場(chǎng)的檢測(cè)信號(hào)和運(yùn)動(dòng)參數(shù)的流向是從iFix傳輸?shù)絍B開(kāi)發(fā)的應(yīng)用程序VBSrvApp或其它的Windows應(yīng)用程序,再由Windows應(yīng)用程序或VBSrvApp以命令形式經(jīng)iFix下達(dá)給遠(yuǎn)程現(xiàn)場(chǎng)的智能儀表或PLC等遠(yuǎn)程的現(xiàn)場(chǎng)設(shè)備,如油漆烘間和膠爐各自的設(shè)定溫度、純水進(jìn)口的設(shè)定壓力、顏料的設(shè)定濃度等參數(shù)。
在VBServer中,把各個(gè)設(shè)定參數(shù)相應(yīng)的TextBox(文本框)的LinkItem屬性設(shè)置為對(duì)應(yīng)的iFix的點(diǎn),然后把從iFix的點(diǎn)傳輸?shù)綄?duì)應(yīng)TextBox(文本框)中的內(nèi)容下達(dá)給遠(yuǎn)程現(xiàn)場(chǎng)設(shè)備。此時(shí),VB應(yīng)用程序?yàn)閂BServer客戶(hù),iFix為服務(wù)器。
4 結(jié)束語(yǔ)
組態(tài)軟件在工控DCADA系統(tǒng)中處于重要位置,實(shí)現(xiàn)它與第三方軟件的通信是系統(tǒng)成敗的關(guān)鍵。文章中討論的問(wèn)題,是某自動(dòng)化生產(chǎn)線改造中動(dòng)態(tài)數(shù)據(jù)交換技術(shù)應(yīng)用的總結(jié),該生產(chǎn)線現(xiàn)運(yùn)行良好,說(shuō)明該設(shè)計(jì)是可行和有效的。
評(píng)論