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