<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 采用Modbus協(xié)議實(shí)現(xiàn)DCS系統(tǒng)中監(jiān)控級(jí)數(shù)據(jù)集成

          采用Modbus協(xié)議實(shí)現(xiàn)DCS系統(tǒng)中監(jiān)控級(jí)數(shù)據(jù)集成

          作者: 時(shí)間:2006-05-07 來(lái)源:網(wǎng)絡(luò) 收藏

          摘要:Modbus協(xié)議實(shí)現(xiàn)水泥生產(chǎn)生料系統(tǒng)中不同操作站的監(jiān)控?cái)?shù)據(jù)集成,采用ATL開(kāi)發(fā)出基于Modbus通訊協(xié)議的一種通用接口組件,使得各異構(gòu)成站點(diǎn)可以方便地互連。介紹網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和實(shí)現(xiàn)方法,并把Modbus和其它幾種協(xié)議如NetDDE、OPC的集成方式作了比較和討論。

          本文引用地址:http://www.ex-cimer.com/article/255690.htm

          關(guān)鍵詞:DCS 監(jiān)控?cái)?shù)據(jù)集成 Modbus COM

          數(shù)據(jù)集成是DCS系統(tǒng)中的關(guān)鍵。一個(gè)典型DCS系統(tǒng)從結(jié)構(gòu)上可分為四層[1]:現(xiàn)場(chǎng)級(jí)、控制級(jí)、監(jiān)控級(jí)和管理級(jí)。本文討論的是監(jiān)控級(jí),在這一級(jí)有許多并列的子站,一般采用計(jì)算機(jī)作為為機(jī)接口,各站點(diǎn)可按功能劃分,分別采集相應(yīng)的現(xiàn)場(chǎng)信號(hào)和控制某些局部設(shè)備。但是,各站點(diǎn)之間不是孤立的,它們必須互相配合、協(xié)調(diào)才能保證產(chǎn)品質(zhì)量和實(shí)現(xiàn)連續(xù)生產(chǎn),這就需要各站點(diǎn)能互通訊息。另外,上級(jí)管理網(wǎng)也需要與監(jiān)控級(jí)子站交互數(shù)據(jù),以實(shí)現(xiàn)全局的監(jiān)控和優(yōu)化。

          然而,子站是采用不同開(kāi)發(fā)平臺(tái)、不同通訊協(xié)議組成的異構(gòu)系統(tǒng),可能由不同的廠家和個(gè)為開(kāi)發(fā)。要為每種協(xié)議寫一個(gè)轉(zhuǎn)換接口或驅(qū)動(dòng)是比較繁瑣的,特別是在站點(diǎn)和協(xié)議較多的時(shí)候。因此,怎樣有效集成數(shù)據(jù),避免信息孤島的出現(xiàn),是DCS系統(tǒng)中常遇到難點(diǎn)問(wèn)題之一。

          比較好的方法是各站點(diǎn)都采用標(biāo)準(zhǔn)協(xié)議進(jìn)行數(shù)據(jù)通訊,而不必為每一種協(xié)議開(kāi)發(fā)一個(gè)通訊接口。目前這方面的協(xié)議比較多,Modbus就是其中的一種。

          1 Modbus協(xié)議簡(jiǎn)介

          Modbus協(xié)議包括ASCII、RTU、PLUS、TCP等,并沒(méi)有規(guī)定物理層。此協(xié)議定義了控制器能夠認(rèn)識(shí)和使用的消息結(jié)構(gòu),而不管它們是經(jīng)過(guò)何種網(wǎng)絡(luò)進(jìn)行通信的[2]。標(biāo)準(zhǔn)的Modicon控制器使用RS232C實(shí)現(xiàn)串行的Modbus。RS232C規(guī)定了連接器針腳、接線、信號(hào)電平、波特率、奇偶校驗(yàn)等信息,Modbus的ASC水、RTU協(xié)議則在此基礎(chǔ)上規(guī)定了消息、數(shù)據(jù)的結(jié)構(gòu)、命令和就答的方式,如圖1所示。數(shù)據(jù)通訊采用Maser/Slave方式,Master端發(fā)出數(shù)據(jù)請(qǐng)求消息,Slave端接收到正確消息后就可以發(fā)送數(shù)據(jù)到Master端以響應(yīng)請(qǐng)求;Master端也可以直接發(fā)消息修改Slave端的數(shù)據(jù),實(shí)現(xiàn)雙向讀寫。

          圖2是一個(gè)典型的Modbus應(yīng)用示例。Modbus可以應(yīng)用在支持Modbus協(xié)議的PIC和PLC之間、PLC和個(gè)人計(jì)算機(jī)之間、計(jì)算機(jī)和計(jì)算之間、遠(yuǎn)程PLC和計(jì)算機(jī)之間以及遠(yuǎn)程計(jì)算機(jī)之間(通過(guò)Modem連接),可見(jiàn)Modbus的應(yīng)用是相當(dāng)廣泛的。由于Modbus是一個(gè)事實(shí)上的工業(yè)標(biāo)準(zhǔn),許多廠家的PLC、HMI、組態(tài)軟件都支持Modbus,而且Modbus是一個(gè)開(kāi)放標(biāo)準(zhǔn),其協(xié)議內(nèi)容可以免費(fèi)獲得,一些小型廠商甚至個(gè)人都可根據(jù)協(xié)議標(biāo)準(zhǔn)開(kāi)發(fā)出支持Modbus的產(chǎn)品或軟件,從而使其產(chǎn)品聯(lián)入到Modbus的數(shù)據(jù)網(wǎng)絡(luò)中。因此,Modbus有著廣泛的應(yīng)用基礎(chǔ)。

          在實(shí)際應(yīng)用中,可以使用RS232、RS485/422、Modem加電話線、甚至TCP/IP來(lái)聯(lián)網(wǎng)[3]。所以,所以,Modbus的傳輸介質(zhì)種類較多,可以根據(jù)傳輸距離來(lái)選擇。

          2 Modbus的具體應(yīng)用

          這里介紹的Modbus的具體應(yīng)用是某廠的水泥生料生產(chǎn)質(zhì)量控制系統(tǒng)。此系統(tǒng)中一共有5個(gè)子站:鈣鐵分析儀、四元素分析儀、料位位/料漿塞、配料秤、配庫(kù)。每一個(gè)子站由一臺(tái)計(jì)算機(jī)和相關(guān)軟、硬件組成,控制系統(tǒng)組成如圖3所示。

          從圖3可看出,系統(tǒng)基本上是兩個(gè)控制回路:一路由鈣鐵分析儀、配料秤及控制算法組成,實(shí)現(xiàn)磨前精配,即出磨生料質(zhì)量的在線實(shí)時(shí)閉環(huán)控制;另一路由四元素分析儀、料漿塞、料位儀組成,實(shí)現(xiàn)摩后調(diào)配,即入窯前料漿質(zhì)量的均化控制。配庫(kù)算法在第二條回路中起控制、優(yōu)化和網(wǎng)絡(luò)接口的作用。系統(tǒng)控制參數(shù)的改變由兩個(gè)事件觸發(fā):鈣鐵儀分析的結(jié)果和四元素分析的結(jié)果。這兩個(gè)分析結(jié)果由對(duì)用戶定期采得的實(shí)際生產(chǎn)中的樣品的分析得到。從圖3還可看出,各站之間是相互聯(lián)系的,它們的協(xié)作關(guān)系到生料生產(chǎn)的質(zhì)量。

          在網(wǎng)絡(luò)設(shè)計(jì)中,不僅要實(shí)現(xiàn)各站之間數(shù)據(jù)交換,同時(shí)還要考慮到網(wǎng)絡(luò)的靈活性、通用性、可擴(kuò)展性。例如,數(shù)據(jù)源站點(diǎn)應(yīng)能比較容易地增減數(shù)據(jù)、目標(biāo)站點(diǎn)可能有多個(gè)、數(shù)據(jù)流向應(yīng)該是雙向的、所有生料系統(tǒng)的數(shù)據(jù)需送到廠級(jí)DCS中,因此網(wǎng)絡(luò)的實(shí)現(xiàn)比較復(fù)雜。

          由于Modbus協(xié)議具有多樣性、可靠性等特點(diǎn),而且是工業(yè)級(jí)標(biāo)準(zhǔn)協(xié)議,完全可以適合具體應(yīng)用,因此用Modbus實(shí)現(xiàn)網(wǎng)絡(luò)。

          要在每個(gè)站點(diǎn)都用源程序?qū)崿F(xiàn)Modbus是不實(shí)現(xiàn)的,因?yàn)閼?yīng)用程序開(kāi)發(fā)平臺(tái)不一樣,有Visual C++等,不可能實(shí)現(xiàn)代碼復(fù)用。但是,每個(gè)站點(diǎn)讀寫Modbus數(shù)據(jù)的操作又是相同的,為解決這個(gè)問(wèn)題,我們采用COM技術(shù)。COM也是軟件模塊之間數(shù)據(jù)通訊的標(biāo)準(zhǔn)。COM的特點(diǎn)是語(yǔ)言無(wú)關(guān)性、對(duì)時(shí)程的透明性和可以實(shí)現(xiàn)二進(jìn)制重用[4]。因?yàn)樗慕涌谑情_(kāi)放的,所以支持COM技術(shù)的客戶程序可以通過(guò)其公共接口調(diào)用COM組件的內(nèi)部功能。眾所周知,在Windows2000中,COM+甚至是構(gòu)成操作系統(tǒng)的基礎(chǔ)。

          最后,采用ATL開(kāi)發(fā)出了兩個(gè)COM組件,即Modbus Master組件和Modbus Slave組件。ATL是一個(gè)基于C++模擬技術(shù)的框架,它主要用在甚至COM的軟件開(kāi)發(fā)上,使用它可以大大簡(jiǎn)化組件的開(kāi)發(fā)過(guò)程并提高代碼的效率[5]。Master和Slave組件都包含ASCII、RTU、TCP三種方式,實(shí)現(xiàn)了Class0、Class1規(guī)定的功能[3]。每個(gè)子站的客戶程序不需要了解Modbus的具體協(xié)議和實(shí)現(xiàn)方式,只需調(diào)用組件公開(kāi)出來(lái)的方法,就可以與遠(yuǎn)程計(jì)算機(jī)交換數(shù)據(jù),實(shí)現(xiàn)Modbus協(xié)議透明、網(wǎng)絡(luò)數(shù)據(jù)傳輸透明。例如Slave端的組件,客戶端只需修改其連接數(shù)據(jù)就可以使變化反應(yīng)到Master端,而Master端修改了數(shù)據(jù)后,Slave端會(huì)觸發(fā)事件通知客戶。

          網(wǎng)絡(luò)結(jié)構(gòu)沒(méi)有使用點(diǎn)對(duì)點(diǎn)的連接,而是采用了星型連接,在一個(gè)站點(diǎn)上建立一個(gè)實(shí)時(shí)數(shù)據(jù)庫(kù),相當(dāng)于一個(gè)數(shù)據(jù)中心。所有站點(diǎn)都只與數(shù)據(jù)中心相連,各站數(shù)據(jù)也發(fā)送到數(shù)據(jù)中心集中。網(wǎng)絡(luò)結(jié)構(gòu)見(jiàn)圖4。

          3 討論

          3.1 關(guān)于具體應(yīng)用

          圖4所示的網(wǎng)絡(luò)結(jié)構(gòu)中,一方面,系統(tǒng)封裝了Modbus協(xié)議和網(wǎng)絡(luò)的實(shí)現(xiàn),實(shí)現(xiàn)了功能復(fù)用,減少了重復(fù)操作,并且使網(wǎng)絡(luò)調(diào)試比較方便;另一方面,星型結(jié)構(gòu)使增加數(shù)據(jù)、增加站點(diǎn)都很方便,原則上每個(gè)站點(diǎn)都可以取得任意站點(diǎn)的數(shù)據(jù),而不需要增加新的連接。在圖4所示的網(wǎng)絡(luò)結(jié)構(gòu)下,可以方便地把配庫(kù)和配料秤相連,實(shí)現(xiàn)半庫(kù)調(diào)配(根據(jù)料漿質(zhì)量反饋控制配料秤配方),將控制回路增加到3條。部分實(shí)時(shí)數(shù)據(jù)還可以存入歷史數(shù)據(jù)庫(kù),以便長(zhǎng)期保存和事后分析查詢。

          3.2 Modbus協(xié)議的其它特點(diǎn)

          除了在簡(jiǎn)介中提到的應(yīng)用廣泛的特點(diǎn)外,Modbus還有其它特點(diǎn)。Modbus協(xié)議需要對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),串行協(xié)議中除有奇偶校驗(yàn)外,ASCII模式采用LRC校驗(yàn),RTU模式采用16位CRC校驗(yàn),但TCP模式?jīng)]有額外規(guī)定校驗(yàn),因?yàn)門CP協(xié)議是一個(gè)面向連接的可靠協(xié)議。另外,Modbus采用主從方式定時(shí)收發(fā)數(shù)據(jù),在實(shí)際使用中如果某Slave站點(diǎn)斷開(kāi)后(如故障或關(guān)機(jī)),Master端可以診斷出來(lái),而當(dāng)故障修復(fù)后,網(wǎng)絡(luò)又可自動(dòng)接通。因此,Modbus協(xié)議的可靠性較好。

          Modbus定義了很多功能,對(duì)工業(yè)上的實(shí)際應(yīng)用考慮比較全面。而且協(xié)議仍在發(fā)展中,用戶還可自定義功能碼??梢?jiàn),Modbus的擴(kuò)展性是比較好的。

          對(duì)于一些重復(fù)發(fā)送的檢測(cè)數(shù)據(jù),可以采用Unsolicited方式,即Master端不需發(fā)送請(qǐng)求,而由Slave端主動(dòng)發(fā)送數(shù)據(jù)。這樣可以降低網(wǎng)絡(luò)數(shù)據(jù)流量,以提高傳輸速度。因此,Modbus協(xié)議應(yīng)用也比較靈活。

          3.3 與NetDDE協(xié)議的對(duì)比

          NetDDE協(xié)議有幾個(gè)缺點(diǎn):一是技術(shù)太老,Win98平臺(tái)上沒(méi)有32位的API,只有16位的,因此在32位平臺(tái)上實(shí)現(xiàn)起來(lái)較困難,而且NetDDE不能實(shí)現(xiàn)串行連接;二是傳輸數(shù)據(jù)量小,傳輸批量數(shù)據(jù)比較煩;三是連接斷開(kāi)后不能自動(dòng)恢復(fù)。因此,沒(méi)有使用NetDDE來(lái)實(shí)現(xiàn)我們的網(wǎng)絡(luò)。

          3.4 工業(yè)數(shù)據(jù)集成的新方向

          OPC是一種開(kāi)放的應(yīng)用程序之間數(shù)據(jù)通訊的工業(yè)規(guī)范和標(biāo)準(zhǔn),它采用客戶/服務(wù)器體系,基于OLE/COM技術(shù),為硬件廠商和應(yīng)用軟件開(kāi)發(fā)者提供了一套標(biāo)準(zhǔn)的接口[6]。OPC結(jié)構(gòu)先進(jìn)、速度快、功能強(qiáng)大,是今后工業(yè)數(shù)據(jù)集成發(fā)展的方向。但是,OPC比較新穎,對(duì)開(kāi)發(fā)者的要求較高,開(kāi)發(fā)難度較大,而且OPC產(chǎn)品價(jià)格比較昂貴,國(guó)內(nèi)DCS應(yīng)用中尚未普及,其推廣和發(fā)展還需要一個(gè)過(guò)程。

          總之,Modbus具有開(kāi)放性、用戶范圍廣、易實(shí)現(xiàn)、擴(kuò)展性好、可靠性強(qiáng)等優(yōu)點(diǎn)。所以們采用Modbus協(xié)議和COM技術(shù)來(lái)實(shí)現(xiàn)監(jiān)控?cái)?shù)據(jù)的集成,在與自開(kāi)發(fā)的應(yīng)用程序連接和與FOXBORO、ROSEMOUNT、CIMPLICITY等DCS系統(tǒng)及HMI的連接中都取得了比較好的效果。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();