基于MCGS系統(tǒng)的DCS總線接口的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引 言
MCGS(Monitor and Control Generated System)是一套基于Windows|0">Windows平臺(tái),用于快速構(gòu)造和生成上位機(jī)監(jiān)控系統(tǒng)的組態(tài)軟件系統(tǒng),為用戶提供解決實(shí)際工程問(wèn)題的完整方案和開(kāi)發(fā)平臺(tái),能夠完成現(xiàn)場(chǎng)數(shù)據(jù)采集、實(shí)時(shí)和歷史數(shù)據(jù)處理、報(bào)警和安全機(jī)制、流程控制、動(dòng)畫(huà)顯示、趨勢(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)不一,因此研究與開(kāi)發(fā)一種高效便利的總線接口技術(shù),將具有很好的應(yīng)用價(jià)值和市場(chǎng)前景。本文主要討論在MCGS系統(tǒng)中DCS總線接口設(shè)備的設(shè)計(jì)與實(shí)現(xiàn)。
2 概述
MCGS工控組態(tài)軟件開(kāi)發(fā)工具基于Windows操作平臺(tái),支持快速構(gòu)造、生成工業(yè)設(shè)備驅(qū)動(dòng),具有良好的擴(kuò)充能力。具體地說(shuō),MCGS用Active DLL構(gòu)件的方式實(shí)現(xiàn)設(shè)備驅(qū)動(dòng)程序,通過(guò)規(guī)范的OLE接口掛接其中,無(wú)縫接入,構(gòu)成一個(gè)整體。設(shè)備驅(qū)動(dòng)構(gòu)件和MCGS運(yùn)行在同一個(gè)進(jìn)程,故運(yùn)行速度快、可靠性高、數(shù)據(jù)流通順暢、傳輸無(wú)延時(shí),符合監(jiān)控系統(tǒng)的要求。OLE是一個(gè)可擴(kuò)充的開(kāi)放標(biāo)準(zhǔn),只要遵守MCGS的接口規(guī)范,就可以使用VB,VC,Delphi等語(yǔ)言編制MCGS的設(shè)備驅(qū)動(dòng)程序。這為在總線中接入自行研制的現(xiàn)場(chǎng)設(shè)備和現(xiàn)場(chǎng)儀表提供了基礎(chǔ)。
嵌入式技術(shù)的高速發(fā)展提供低價(jià)格、高性能、自帶大量數(shù)據(jù)存儲(chǔ)空間的片上系統(tǒng),通過(guò)外接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.1 MCGS接口設(shè)備構(gòu)建
在系統(tǒng)中首先要對(duì)現(xiàn)場(chǎng)設(shè)備和現(xiàn)場(chǎng)儀表進(jìn)行歸類,對(duì)于類型相同的一類設(shè)備在MCGS中可以通過(guò)復(fù)用設(shè)備,單獨(dú)存儲(chǔ)的方式,以節(jié)省與多個(gè)設(shè)備通信的時(shí)間和開(kāi)銷。通常構(gòu)造的接口設(shè)備功能要單一,然后將其統(tǒng)一組態(tài)。
在MCGS中通過(guò)構(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ù)均來(lái)源于現(xiàn)場(chǎng)設(shè)備,而仿真儀表也同樣是通過(guò)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è)備,為避免通信過(guò)程中的沖突,硬件上采用總線型網(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ù)庫(kù)中。
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次通信過(guò)程為:MCGS首先通過(guò)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)求命令,該命令通過(guò)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)問(wèn)題也可將數(shù)據(jù)暫存在DCS上,使數(shù)據(jù)不致于丟失。
4 結(jié)語(yǔ)
MCGS在設(shè)計(jì)思想上的開(kāi)放性,使得用戶可以設(shè)計(jì)使用靈活、編輯簡(jiǎn)便、畫(huà)面質(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)用情況來(lái)看,在組態(tài)軟件中運(yùn)用DCS總線接口技術(shù)控制現(xiàn)場(chǎng)設(shè)備,具有很多明顯的優(yōu)勢(shì),如系統(tǒng)控制方便、配置靈活、性價(jià)比高等。