1 引言
在一個(gè)自動(dòng)監(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)控制中心??刂品桨负退惴ㄒ话阍谠O(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í)數(shù)據(jù)及流程畫面,瀏覽各實(shí)時(shí)/歷史趨勢畫面;
(2) 自動(dòng)打印各種實(shí)時(shí)/歷史生產(chǎn)報(bào)表;
(3) 及時(shí)得到各種過程報(bào)警和系統(tǒng)報(bào)警;
(4) 在需要時(shí),人為干預(yù)生產(chǎn)過程,修改生產(chǎn)過程參數(shù)和狀態(tài);
(5) 與管理部門的計(jì)算機(jī)聯(lián)網(wǎng),為管理部門提供生產(chǎn)實(shí)時(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)用平臺上,依然存在一個(gè)連接標(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ī)的自動(dòng)化系統(tǒng)中被廣泛采用的今天,讓現(xiàn)場總線控制系統(tǒng)和人機(jī)界面軟件能夠有效充分地用PC機(jī)豐富強(qiáng)大的軟件資源,是一項(xiàng)值得深入研究的課題。文章對有關(guān)技術(shù)問題結(jié)合工程實(shí)踐作些討論。
2 動(dòng)態(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í)時(shí)性方面,仍然存在某些不足,值得進(jìn)一步探討和研究。其中,動(dòng)態(tài)數(shù)據(jù)實(shí)時(shí)交換(DDE)技術(shù)在控制網(wǎng)絡(luò)的集成中得到了實(shí)際應(yīng)用。其原因:
(1) 這種方法實(shí)時(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ī)時(shí),就可以通過動(dòng)態(tài)數(shù)據(jù)交換技術(shù)實(shí)現(xiàn)控制網(wǎng)絡(luò)中實(shí)時(shí)數(shù)據(jù)與信息網(wǎng)絡(luò)中數(shù)據(jù)庫數(shù)據(jù)的動(dòng)態(tài)交換,從而實(shí)現(xiàn)控制網(wǎng)絡(luò)與信息網(wǎng)絡(luò)的集成。
DDE是進(jìn)程間通信的方法。為了進(jìn)行會(huì)話,DDE應(yīng)用程序用3個(gè)基本的標(biāo)志符(或字符串),即三層識別系統(tǒng)來區(qū)別其他DDE應(yīng)用程序,他們分別是應(yīng)用程序名(Application)、主題名(Topic)和項(xiàng)目名(Item)。每個(gè)DDE會(huì)話由應(yīng)用程序名和主題名唯一定義,在DDE會(huì)話建立前由客戶程序和服務(wù)器共同決定應(yīng)用程序名和主題名,而由客戶程序填寫服務(wù)器的3個(gè)標(biāo)志名。應(yīng)用程序名位于層次機(jī)構(gòu)的頂層,用于指出特定的DDE服務(wù)器應(yīng)用程序名。主題名更深刻地定義了服務(wù)器應(yīng)用程序會(huì)話的主題內(nèi)容,服務(wù)器應(yīng)用程序可支持一個(gè)或多個(gè)主題名[2]。
3 面向過程控制的動(dòng)態(tài)參數(shù)數(shù)據(jù)交換程序設(shè)計(jì)
為方便討論問題、現(xiàn)舉例說明。根據(jù)某生產(chǎn)自動(dòng)化改造工程要求,需要對系統(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í)性。工程設(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)以下功能:
(1) 搜集控制網(wǎng)絡(luò)上各站點(diǎn)的實(shí)時(shí)數(shù)據(jù)信息,寫入信息網(wǎng)絡(luò)的數(shù)據(jù)庫,以便信息網(wǎng)絡(luò)用戶瀏覽、查詢;
(2) 將信息網(wǎng)絡(luò)用戶的控制信息及時(shí)下達(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è)自動(dòng)化組態(tài)軟件,它采用圖形用戶界面,提供了監(jiān)控和數(shù)據(jù)采集功能,為操作人員和開發(fā)人員提供了良好的監(jiān)控環(huán)境,可以實(shí)現(xiàn)對象自由組態(tài)及動(dòng)態(tài)屬性的在線配置、現(xiàn)場動(dòng)態(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é)果。
評論