采用Modbus協(xié)議實現(xiàn)DCS系統(tǒng)中監(jiān)控級數(shù)據(jù)集成
摘要:Modbus協(xié)議實現(xiàn)水泥生產(chǎn)生料系統(tǒng)中不同操作站的監(jiān)控數(shù)據(jù)集成,采用ATL開發(fā)出基于Modbus通訊協(xié)議的一種通用接口組件,使得各異構成站點可以方便地互連。介紹網(wǎng)絡的拓撲結構和實現(xiàn)方法,并把Modbus和其它幾種協(xié)議如NetDDE、OPC的集成方式作了比較和討論。
本文引用地址:http://m.butianyuan.cn/article/255690.htm關鍵詞:DCS 監(jiān)控數(shù)據(jù)集成 Modbus COM
數(shù)據(jù)集成是DCS系統(tǒng)中的關鍵。一個典型DCS系統(tǒng)從結構上可分為四層[1]:現(xiàn)場級、控制級、監(jiān)控級和管理級。本文討論的是監(jiān)控級,在這一級有許多并列的子站,一般采用計算機作為為機接口,各站點可按功能劃分,分別采集相應的現(xiàn)場信號和控制某些局部設備。但是,各站點之間不是孤立的,它們必須互相配合、協(xié)調(diào)才能保證產(chǎn)品質(zhì)量和實現(xiàn)連續(xù)生產(chǎn),這就需要各站點能互通訊息。另外,上級管理網(wǎng)也需要與監(jiān)控級子站交互數(shù)據(jù),以實現(xiàn)全局的監(jiān)控和優(yōu)化。
然而,子站是采用不同開發(fā)平臺、不同通訊協(xié)議組成的異構系統(tǒng),可能由不同的廠家和個為開發(fā)。要為每種協(xié)議寫一個轉換接口或驅(qū)動是比較繁瑣的,特別是在站點和協(xié)議較多的時候。因此,怎樣有效集成數(shù)據(jù),避免信息孤島的出現(xiàn),是DCS系統(tǒng)中常遇到難點問題之一。
比較好的方法是各站點都采用標準協(xié)議進行數(shù)據(jù)通訊,而不必為每一種協(xié)議開發(fā)一個通訊接口。目前這方面的協(xié)議比較多,Modbus就是其中的一種。
1 Modbus協(xié)議簡介
Modbus協(xié)議包括ASCII、RTU、PLUS、TCP等,并沒有規(guī)定物理層。此協(xié)議定義了控制器能夠認識和使用的消息結構,而不管它們是經(jīng)過何種網(wǎng)絡進行通信的[2]。標準的Modicon控制器使用RS232C實現(xiàn)串行的Modbus。RS232C規(guī)定了連接器針腳、接線、信號電平、波特率、奇偶校驗等信息,Modbus的ASC水、RTU協(xié)議則在此基礎上規(guī)定了消息、數(shù)據(jù)的結構、命令和就答的方式,如圖1所示。數(shù)據(jù)通訊采用Maser/Slave方式,Master端發(fā)出數(shù)據(jù)請求消息,Slave端接收到正確消息后就可以發(fā)送數(shù)據(jù)到Master端以響應請求;Master端也可以直接發(fā)消息修改Slave端的數(shù)據(jù),實現(xiàn)雙向讀寫。
圖2是一個典型的Modbus應用示例。Modbus可以應用在支持Modbus協(xié)議的PIC和PLC之間、PLC和個人計算機之間、計算機和計算之間、遠程PLC和計算機之間以及遠程計算機之間(通過Modem連接),可見Modbus的應用是相當廣泛的。由于Modbus是一個事實上的工業(yè)標準,許多廠家的PLC、HMI、組態(tài)軟件都支持Modbus,而且Modbus是一個開放標準,其協(xié)議內(nèi)容可以免費獲得,一些小型廠商甚至個人都可根據(jù)協(xié)議標準開發(fā)出支持Modbus的產(chǎn)品或軟件,從而使其產(chǎn)品聯(lián)入到Modbus的數(shù)據(jù)網(wǎng)絡中。因此,Modbus有著廣泛的應用基礎。
在實際應用中,可以使用RS232、RS485/422、Modem加電話線、甚至TCP/IP來聯(lián)網(wǎng)[3]。所以,所以,Modbus的傳輸介質(zhì)種類較多,可以根據(jù)傳輸距離來選擇。
2 Modbus的具體應用
這里介紹的Modbus的具體應用是某廠的水泥生料生產(chǎn)質(zhì)量控制系統(tǒng)。此系統(tǒng)中一共有5個子站:鈣鐵分析儀、四元素分析儀、料位位/料漿塞、配料秤、配庫。每一個子站由一臺計算機和相關軟、硬件組成,控制系統(tǒng)組成如圖3所示。
從圖3可看出,系統(tǒng)基本上是兩個控制回路:一路由鈣鐵分析儀、配料秤及控制算法組成,實現(xiàn)磨前精配,即出磨生料質(zhì)量的在線實時閉環(huán)控制;另一路由四元素分析儀、料漿塞、料位儀組成,實現(xiàn)摩后調(diào)配,即入窯前料漿質(zhì)量的均化控制。配庫算法在第二條回路中起控制、優(yōu)化和網(wǎng)絡接口的作用。系統(tǒng)控制參數(shù)的改變由兩個事件觸發(fā):鈣鐵儀分析的結果和四元素分析的結果。這兩個分析結果由對用戶定期采得的實際生產(chǎn)中的樣品的分析得到。從圖3還可看出,各站之間是相互聯(lián)系的,它們的協(xié)作關系到生料生產(chǎn)的質(zhì)量。
在網(wǎng)絡設計中,不僅要實現(xiàn)各站之間數(shù)據(jù)交換,同時還要考慮到網(wǎng)絡的靈活性、通用性、可擴展性。例如,數(shù)據(jù)源站點應能比較容易地增減數(shù)據(jù)、目標站點可能有多個、數(shù)據(jù)流向應該是雙向的、所有生料系統(tǒng)的數(shù)據(jù)需送到廠級DCS中,因此網(wǎng)絡的實現(xiàn)比較復雜。
由于Modbus協(xié)議具有多樣性、可靠性等特點,而且是工業(yè)級標準協(xié)議,完全可以適合具體應用,因此用Modbus實現(xiàn)網(wǎng)絡。
要在每個站點都用源程序?qū)崿F(xiàn)Modbus是不實現(xiàn)的,因為應用程序開發(fā)平臺不一樣,有Visual C++等,不可能實現(xiàn)代碼復用。但是,每個站點讀寫Modbus數(shù)據(jù)的操作又是相同的,為解決這個問題,我們采用COM技術。COM也是軟件模塊之間數(shù)據(jù)通訊的標準。COM的特點是語言無關性、對時程的透明性和可以實現(xiàn)二進制重用[4]。因為它的接口是開放的,所以支持COM技術的客戶程序可以通過其公共接口調(diào)用COM組件的內(nèi)部功能。眾所周知,在Windows2000中,COM+甚至是構成操作系統(tǒng)的基礎。
最后,采用ATL開發(fā)出了兩個COM組件,即Modbus Master組件和Modbus Slave組件。ATL是一個基于C++模擬技術的框架,它主要用在甚至COM的軟件開發(fā)上,使用它可以大大簡化組件的開發(fā)過程并提高代碼的效率[5]。Master和Slave組件都包含ASCII、RTU、TCP三種方式,實現(xiàn)了Class0、Class1規(guī)定的功能[3]。每個子站的客戶程序不需要了解Modbus的具體協(xié)議和實現(xiàn)方式,只需調(diào)用組件公開出來的方法,就可以與遠程計算機交換數(shù)據(jù),實現(xiàn)Modbus協(xié)議透明、網(wǎng)絡數(shù)據(jù)傳輸透明。例如Slave端的組件,客戶端只需修改其連接數(shù)據(jù)就可以使變化反應到Master端,而Master端修改了數(shù)據(jù)后,Slave端會觸發(fā)事件通知客戶。
網(wǎng)絡結構沒有使用點對點的連接,而是采用了星型連接,在一個站點上建立一個實時數(shù)據(jù)庫,相當于一個數(shù)據(jù)中心。所有站點都只與數(shù)據(jù)中心相連,各站數(shù)據(jù)也發(fā)送到數(shù)據(jù)中心集中。網(wǎng)絡結構見圖4。
3 討論
3.1 關于具體應用
圖4所示的網(wǎng)絡結構中,一方面,系統(tǒng)封裝了Modbus協(xié)議和網(wǎng)絡的實現(xiàn),實現(xiàn)了功能復用,減少了重復操作,并且使網(wǎng)絡調(diào)試比較方便;另一方面,星型結構使增加數(shù)據(jù)、增加站點都很方便,原則上每個站點都可以取得任意站點的數(shù)據(jù),而不需要增加新的連接。在圖4所示的網(wǎng)絡結構下,可以方便地把配庫和配料秤相連,實現(xiàn)半庫調(diào)配(根據(jù)料漿質(zhì)量反饋控制配料秤配方),將控制回路增加到3條。部分實時數(shù)據(jù)還可以存入歷史數(shù)據(jù)庫,以便長期保存和事后分析查詢。
3.2 Modbus協(xié)議的其它特點
除了在簡介中提到的應用廣泛的特點外,Modbus還有其它特點。Modbus協(xié)議需要對數(shù)據(jù)進行校驗,串行協(xié)議中除有奇偶校驗外,ASCII模式采用LRC校驗,RTU模式采用16位CRC校驗,但TCP模式?jīng)]有額外規(guī)定校驗,因為TCP協(xié)議是一個面向連接的可靠協(xié)議。另外,Modbus采用主從方式定時收發(fā)數(shù)據(jù),在實際使用中如果某Slave站點斷開后(如故障或關機),Master端可以診斷出來,而當故障修復后,網(wǎng)絡又可自動接通。因此,Modbus協(xié)議的可靠性較好。
Modbus定義了很多功能,對工業(yè)上的實際應用考慮比較全面。而且協(xié)議仍在發(fā)展中,用戶還可自定義功能碼。可見,Modbus的擴展性是比較好的。
對于一些重復發(fā)送的檢測數(shù)據(jù),可以采用Unsolicited方式,即Master端不需發(fā)送請求,而由Slave端主動發(fā)送數(shù)據(jù)。這樣可以降低網(wǎng)絡數(shù)據(jù)流量,以提高傳輸速度。因此,Modbus協(xié)議應用也比較靈活。
3.3 與NetDDE協(xié)議的對比
NetDDE協(xié)議有幾個缺點:一是技術太老,Win98平臺上沒有32位的API,只有16位的,因此在32位平臺上實現(xiàn)起來較困難,而且NetDDE不能實現(xiàn)串行連接;二是傳輸數(shù)據(jù)量小,傳輸批量數(shù)據(jù)比較煩;三是連接斷開后不能自動恢復。因此,沒有使用NetDDE來實現(xiàn)我們的網(wǎng)絡。
3.4 工業(yè)數(shù)據(jù)集成的新方向
OPC是一種開放的應用程序之間數(shù)據(jù)通訊的工業(yè)規(guī)范和標準,它采用客戶/服務器體系,基于OLE/COM技術,為硬件廠商和應用軟件開發(fā)者提供了一套標準的接口[6]。OPC結構先進、速度快、功能強大,是今后工業(yè)數(shù)據(jù)集成發(fā)展的方向。但是,OPC比較新穎,對開發(fā)者的要求較高,開發(fā)難度較大,而且OPC產(chǎn)品價格比較昂貴,國內(nèi)DCS應用中尚未普及,其推廣和發(fā)展還需要一個過程。
總之,Modbus具有開放性、用戶范圍廣、易實現(xiàn)、擴展性好、可靠性強等優(yōu)點。所以們采用Modbus協(xié)議和COM技術來實現(xiàn)監(jiān)控數(shù)據(jù)的集成,在與自開發(fā)的應用程序連接和與FOXBORO、ROSEMOUNT、CIMPLICITY等DCS系統(tǒng)及HMI的連接中都取得了比較好的效果。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論