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所示。
3.1 dde信息交換的網(wǎng)絡(luò)集成方法
通過共享存儲器的dde技術(shù)為實(shí)現(xiàn)控制網(wǎng)絡(luò)與信息網(wǎng)絡(luò)的集成提供了技術(shù)支持,有很強(qiáng)的實(shí)時(shí)性。工程設(shè)計(jì)以工控計(jì)算機(jī)ipc作為通信處理機(jī),該ipc機(jī)同時(shí)也是2個(gè)網(wǎng)絡(luò)的工作站,跨接控制網(wǎng)絡(luò)和信息網(wǎng)絡(luò),在溝通2個(gè)網(wǎng)絡(luò)中起橋梁作用。通信處理機(jī)ipc用dde方法實(shí)現(xiàn)2個(gè)網(wǎng)絡(luò)間各站點(diǎn)的通信,是整個(gè)集成網(wǎng)絡(luò)的關(guān)鍵,它能實(shí)現(xiàn)以下功能:
?。?) 搜集控制網(wǎng)絡(luò)上各站點(diǎn)的實(shí)時(shí)數(shù)據(jù)信息,寫入信息網(wǎng)絡(luò)的數(shù)據(jù)庫,以便信息網(wǎng)絡(luò)用戶瀏覽、查詢;
?。?) 將信息網(wǎng)絡(luò)用戶的控制信息及時(shí)下達(dá)至控制網(wǎng)絡(luò)的指定工作站點(diǎn)。
基于通信處理機(jī)dde信息交換的網(wǎng)絡(luò)集成方法如圖3所示。
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)控、報(bào)警、參數(shù)設(shè)置、報(bào)表生成、數(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í)時(shí)過程的監(jiān)視和監(jiān)督控制、報(bào)警和報(bào)警管理、歷史趨勢,統(tǒng)計(jì)過程控制、基于用戶的安全系統(tǒng)、方便的系統(tǒng)擴(kuò)展、網(wǎng)絡(luò)功能等。而vb6.0是微軟公司推出的一個(gè)流行且強(qiáng)大的快速開發(fā)工具,在開發(fā)scada系統(tǒng)時(shí),利用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í)時(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í)時(shí)信息經(jīng)由控制網(wǎng)絡(luò)傳達(dá)到信息網(wǎng)絡(luò)。某車間監(jiān)控層過程實(shí)時(shí)數(shù)據(jù)流向如圖4所示。#p#分頁標(biāo)題#e#
ifix軟件提供了強(qiáng)有力的dde客戶和服務(wù)器支持。dde客戶支持允許把來自其他應(yīng)用。程序的信息傳遞到ifix軟件中,用于數(shù)據(jù)庫和畫面;服務(wù)器支持允許把ifix軟件的過程信息傳遞到其他應(yīng)用程序中去處理。
(1) dde客戶支持
ifix軟件dde客戶支持允許讀寫dde地址,利用ddei/o驅(qū)動器和塊配置的dde地址,可以在過程數(shù)據(jù)庫中插入來自其他應(yīng)用程序、dde驅(qū)動程序或另一個(gè)scada節(jié)點(diǎn)的數(shù)據(jù)信息。
數(shù)據(jù)庫中的這些信息可以按照以下方式使用:在鏈中傳送數(shù)據(jù)、對dde數(shù)據(jù)進(jìn)行報(bào)警和用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)用程序名,form1為主題名,text1為項(xiàng)目名。
(2) dde服務(wù)器支持
ifix軟件作為服務(wù)器允許將它的實(shí)時(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)、多文檔窗體(mdiform)、標(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)。#p#分頁標(biāo)題#e#
?。?) 利用vb開發(fā)dde客戶/服務(wù)器應(yīng)用程序
在利用vb開發(fā)dde客戶/服務(wù)器應(yīng)用程序中,欲建立dde鏈接,完全依賴對象的dde屬性設(shè)置。vb分別作為dde客戶和dde服務(wù)器時(shí),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所示。
?。?) 動態(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ù)來定義輸入字和輸出字,同時(shí)定義手動/自動控制標(biāo)志位。
3.4 vb作為dde服務(wù)器、ifix 作為dde客戶的實(shí)際鏈接
有些參數(shù)需要通過vb開發(fā)的應(yīng)用程序vbserver把從遠(yuǎn)程現(xiàn)場采集的實(shí)時(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í)數(shù)據(jù)賦給textbox(文本框),并把ifix中各點(diǎn)的dde地址的項(xiàng)目名設(shè)為對應(yīng)的textbox(文本框)。如油漆烘間的實(shí)測溫度,在ifix中點(diǎn)名為ai_oven_tem,其dde地址vbserver|formmain|txtoventem(其中vbserver是應(yīng)用程序名,formmain是作為主題的窗體名,txtoventem是作為項(xiàng)目的文本框名稱)。此時(shí),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中,把各個(gè)設(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è)備。此時(shí),vb應(yīng)用程序?yàn)関bserver客戶,ifix為服務(wù)器。#p#分頁標(biāo)題#e#
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ì)是可行和有效的。
轉(zhuǎn)載請注明出處。