1 引 言
MCGS(Monitor and Control Generated System)是一套基于Windows" target="_blank">Windows平臺(tái),,用于快速構(gòu)造和生成上位機(jī)監(jiān)控系統(tǒng)的組態(tài)軟件系統(tǒng),,為用戶提供解決實(shí)際工程問題的完整方案和開發(fā)平臺(tái),能夠完成現(xiàn)場(chǎng)數(shù)據(jù)采集,、實(shí)時(shí)和歷史數(shù)據(jù)處理,、報(bào)警和安全機(jī)制、流程控制,、動(dòng)畫顯示,、趨勢(shì)曲線和報(bào)表輸出及企業(yè)監(jiān)控網(wǎng)絡(luò)等功能。
MCGS需要完成對(duì)現(xiàn)場(chǎng)設(shè)備或現(xiàn)場(chǎng)儀表的數(shù)據(jù)采集和控制功能,,必須依靠現(xiàn)場(chǎng)總線和MCGS的載機(jī)進(jìn)行通信,。而現(xiàn)場(chǎng)系統(tǒng)組成復(fù)雜,設(shè)備較多,,設(shè)備間通信協(xié)議門類眾多,,繁簡(jiǎn)不一,因此研究與開發(fā)一種高效便利的總線接口技術(shù),將具有很好的應(yīng)用價(jià)值和市場(chǎng)前景,。本文主要討論在MCGS系統(tǒng)中DCS總線接口設(shè)備的設(shè)計(jì)與實(shí)現(xiàn),。
2 概述
MCGS工控組態(tài)軟件開發(fā)工具基于Windows操作平臺(tái),支持快速構(gòu)造,、生成工業(yè)設(shè)備驅(qū)動(dòng),,具有良好的擴(kuò)充能力。具體地說,,MCGS用Active DLL構(gòu)件的方式實(shí)現(xiàn)設(shè)備驅(qū)動(dòng)程序,,通過規(guī)范的OLE接口掛接其中,無縫接入,,構(gòu)成一個(gè)整體,。設(shè)備驅(qū)動(dòng)構(gòu)件和MCGS運(yùn)行在同一個(gè)進(jìn)程,故運(yùn)行速度快,、可靠性高,、數(shù)據(jù)流通順暢、傳輸無延時(shí),,符合監(jiān)控系統(tǒng)的要求,。OLE是一個(gè)可擴(kuò)充的開放標(biāo)準(zhǔn),只要遵守MCGS的接口規(guī)范,,就可以使用VB,,VC,Delphi等語言編制MCGS的設(shè)備驅(qū)動(dòng)程序,。這為在總線中接入自行研制的現(xiàn)場(chǎng)設(shè)備和現(xiàn)場(chǎng)儀表提供了基礎(chǔ),。
嵌入式技術(shù)的高速發(fā)展提供低價(jià)格、高性能,、自帶大量數(shù)據(jù)存儲(chǔ)空間的片上系統(tǒng),,通過外接MAX485,MAX232,,能夠在硬件上輕松實(shí)現(xiàn)PC和DCS總線的連接,。而計(jì)算機(jī)串行口是計(jì)算機(jī)和其他設(shè)備通信時(shí)最常用的一種通信接口。一個(gè)串行口可以掛接多個(gè)通信設(shè)備(如1個(gè)RS 485總線上可掛接255個(gè)研化通訊模塊,,但他們共用1個(gè)串口父設(shè)備),,為適應(yīng)計(jì)算機(jī)串行口的多種操作方式,MCGS采用在串口通訊父設(shè)備下掛接多個(gè)通信子設(shè)備的一種通訊設(shè)備處理機(jī)制,,各個(gè)子設(shè)備繼承一些父設(shè)備的公有屬性,,同時(shí)又具有自己的私有屬性。在實(shí)際操作時(shí),,MCGS提供1個(gè)串口通訊父設(shè)備構(gòu)件和多個(gè)通訊子設(shè)備構(gòu)件,,串口通訊父設(shè)備構(gòu)件完成對(duì)串口的基本操作和參數(shù)設(shè)置,,通訊子設(shè)備構(gòu)件則為串行口實(shí)際掛接設(shè)備的驅(qū)動(dòng)程序。這樣就為在總線上掛接多個(gè)現(xiàn)場(chǎng)設(shè)備和現(xiàn)場(chǎng)儀表提供了保障,。MCGS與DCS設(shè)備接口如圖1所示,。
3 DCS總線接口設(shè)計(jì)
3.1 MCGS接口設(shè)備構(gòu)建
在系統(tǒng)中首先要對(duì)現(xiàn)場(chǎng)設(shè)備和現(xiàn)場(chǎng)儀表進(jìn)行歸類,對(duì)于類型相同的一類設(shè)備在MCGS中可以通過復(fù)用設(shè)備,,單獨(dú)存儲(chǔ)的方式,,以節(jié)省與多個(gè)設(shè)備通信的時(shí)間和開銷。通常構(gòu)造的接口設(shè)備功能要單一,,然后將其統(tǒng)一組態(tài),。
在MCGS中通過構(gòu)造接口設(shè)備,可以將MCGS的GUI控制方式引入DCS的控制中(如圖2所示),,實(shí)現(xiàn)DCS控制的圖形化,、交互化和組態(tài)化,是一種在現(xiàn)有技術(shù)和設(shè)備上的改造型創(chuàng)新,,具有很好的工程應(yīng)用前景和社會(huì)效益,。圖2中所示數(shù)據(jù)均來源于現(xiàn)場(chǎng)設(shè)備,而仿真儀表也同樣是通過DCS與現(xiàn)場(chǎng)儀表連接,,實(shí)現(xiàn)控制調(diào)節(jié)功能,。
3.2 DCS總線接口設(shè)備硬件設(shè)計(jì)
如圖3中DCS網(wǎng)關(guān)主要功能是控制網(wǎng)絡(luò)(監(jiān)控計(jì)算機(jī)與控制站)的切換,同時(shí)他還擔(dān)負(fù)上下數(shù)據(jù)通信的協(xié)議解析和轉(zhuǎn)換,。DCS網(wǎng)關(guān)采用Philips公司的LPC2136微控制器,,他是一款基于支持實(shí)時(shí)仿真和嵌入式跟蹤的16/32位ARM7TDMI-S CPU,并帶有256 kB嵌入的高速FLASH存儲(chǔ)器,。具有2個(gè)16C550工業(yè)標(biāo)準(zhǔn)UART,可以完成上位機(jī)與下位機(jī)的通信,。包含多達(dá)47個(gè)通用I/O口(可承受5 V電壓),,可用于485通信接口的使能信號(hào)。
在485總線上掛接了多個(gè)現(xiàn)場(chǎng)設(shè)備,,為避免通信過程中的沖突,,硬件上采用總線型網(wǎng)絡(luò)結(jié)構(gòu),軟件上采用主從通信方式,,即由上位機(jī)(MCGS)發(fā)送設(shè)備I/O命令,,DCS網(wǎng)關(guān)解析命令后選通對(duì)應(yīng)的通道,上位機(jī)發(fā)送數(shù)據(jù)請(qǐng)求命令,,DCS網(wǎng)關(guān)將該命令直接轉(zhuǎn)發(fā)給選通的通道,,等待接收數(shù)據(jù),最后DCS網(wǎng)關(guān)將接收的數(shù)據(jù)直接上傳給上位機(jī),,MCGS將其值賦值給對(duì)應(yīng)的變量保存在實(shí)時(shí)數(shù)據(jù)庫中,。
3.3 DCS總線接口設(shè)備軟件設(shè)計(jì)
為解析上位機(jī)發(fā)送的命令,,必須首先了解MCGS中所構(gòu)建設(shè)備的通信協(xié)議,在該實(shí)驗(yàn)系統(tǒng)中所使用的3種設(shè)備的通信協(xié)議如下:
(1)4017模塊
上位機(jī)發(fā)送:#地址號(hào)+回車(0x0D)例如:#07回車,;
下位機(jī)發(fā)送:+3.22+2字符空格+2.55+2字符空格,。
(2)4060模塊
格式:輸出:#地址號(hào)+00+XX+回車;
返回:回車,。
例如:#010001+回車代表向地址號(hào)“01”發(fā)送8位數(shù)字量“01”
(3)4021模塊
格式:輸出:#地址號(hào)+XX.XXX+回車,;
返回:回車。
例如:#0206.111+回車 代表向地址號(hào)“02”發(fā)送電流值6.111,,電流值為標(biāo)準(zhǔn)4~20 mA范圍,。
MCGS與現(xiàn)場(chǎng)設(shè)備或現(xiàn)場(chǎng)儀表的1次通信過程為:MCGS首先通過4060模塊發(fā)送I/O請(qǐng)求命令,DCS將收到的數(shù)據(jù)進(jìn)行解析,,如收到#010001,,則表示使用通道1,設(shè)置成功后返回一個(gè)回車符(0x0D),,然后等待上位機(jī)的數(shù)據(jù)請(qǐng)求命令,。MCGS在收到確認(rèn)信號(hào)后則發(fā)送數(shù)據(jù)請(qǐng)求命令,該命令通過4017模塊實(shí)現(xiàn),,DCS在接收到該命令后則直接轉(zhuǎn)發(fā)給現(xiàn)場(chǎng)設(shè)備,,然后等待數(shù)據(jù)接收。DCS收到現(xiàn)場(chǎng)采集的數(shù)據(jù)后緩存后轉(zhuǎn)發(fā)給上位機(jī),,交由MCGS處理,。
模塊4021主要用于設(shè)備參數(shù)配置的下載。當(dāng)系統(tǒng)中需要同時(shí)采集多路數(shù)據(jù)時(shí),,MCGS在控制策略中采用循環(huán)定時(shí)采集,,對(duì)需要采集的現(xiàn)場(chǎng)設(shè)備進(jìn)行輪詢,而DCS網(wǎng)關(guān)則負(fù)責(zé)某一設(shè)備在輪詢期間使能其通信通道,。此外為保證數(shù)據(jù)的正確性和完整性,,DCS在軟件設(shè)計(jì)中使用了存儲(chǔ)轉(zhuǎn)發(fā)機(jī)制,即使MCGS出現(xiàn)故障或通信出現(xiàn)問題也可將數(shù)據(jù)暫存在DCS上,,使數(shù)據(jù)不致于丟失,。
4 結(jié)語
MCGS在設(shè)計(jì)思想上的開放性,使得用戶可以設(shè)計(jì)使用靈活,、編輯簡(jiǎn)便,、畫面質(zhì)量和表現(xiàn)形式豐富多樣的監(jiān)控系統(tǒng)。利用DCS總線接口在數(shù)據(jù)實(shí)時(shí)采集和監(jiān)控中可以取得較好的控制效果,。從筆者參與研制“新型干法水泥生產(chǎn)實(shí)驗(yàn)教學(xué)系統(tǒng)”的實(shí)際應(yīng)用情況來看,,在組態(tài)軟件中運(yùn)用DCS總線接口技術(shù)控制現(xiàn)場(chǎng)設(shè)備,具有很多明顯的優(yōu)勢(shì),,如系統(tǒng)控制方便,、配置靈活,、性價(jià)比高等。