閱讀 | 訂閱
閱讀 | 訂閱
控制系統(tǒng)

Modbus 通信協(xié)議在分布式控制系統(tǒng)中的應(yīng)用

星之球激光 來源:中國自動化網(wǎng)2011-12-27 我要評論(0 )   

摘 要:本文就一種DCS與PLC作為上下位機的分布式控制系統(tǒng),介紹基于Modbus協(xié)議的通信網(wǎng)絡(luò)在其中的應(yīng)用,以及該網(wǎng)絡(luò)的硬件構(gòu)成及程序設(shè)計。 關(guān)鍵詞:Modbus協(xié)議 分布式控...

摘 要:本文就一種DCS與PLC作為上下位機的分布式控制系統(tǒng),介紹基于Modbus協(xié)議的通信網(wǎng)絡(luò)在其中的應(yīng)用,以及該網(wǎng)絡(luò)的硬件構(gòu)成及程序設(shè)計。

關(guān)鍵詞:Modbus協(xié)議 分布式控制系統(tǒng) 通信網(wǎng)絡(luò) 串口通訊 可編程控制器

一、引 言

  現(xiàn)代工業(yè)的迅速發(fā)展,不斷促進(jìn)著自控技術(shù)及設(shè)備創(chuàng)新的日新月異。當(dāng)前,DCS、IPC、PLC及智能儀表已廣泛應(yīng)用到工廠現(xiàn)場生產(chǎn)控制系統(tǒng)當(dāng)中,并發(fā)展到由上述設(shè)備相互協(xié)同、共同面向整個生產(chǎn)過程的分布式工業(yè)自動控制系統(tǒng)。在此系統(tǒng)中,現(xiàn)場通信技術(shù)堪稱關(guān)鍵。但由于開始沒有統(tǒng)一的通信協(xié)議標(biāo)準(zhǔn),各廠商自控產(chǎn)品通信協(xié)議各自為政,通信網(wǎng)絡(luò)各成體系,造成不同廠家的自控設(shè)備網(wǎng)絡(luò)連接困難甚至不能連接,給分布式控制系統(tǒng)的靈活應(yīng)用造成了不便。一些公司為適應(yīng)市場,紛紛將各自的協(xié)議標(biāo)準(zhǔn)公開化,可無償使用。經(jīng)過多年發(fā)展,一些通信協(xié)議如Modicon公司的Modbus通信協(xié)議因其兼容性、易用性的優(yōu)勢,在工業(yè)領(lǐng)域得到了廣泛應(yīng)用,已成為一種通用的工業(yè)通信標(biāo)準(zhǔn)。本文就某化纖項目分布式控制系統(tǒng)的設(shè)計,介紹基于Modbus協(xié)議的通信網(wǎng)絡(luò)在其中的應(yīng)用。

二、系統(tǒng)組成

  1、系統(tǒng)結(jié)構(gòu)

  本系統(tǒng)構(gòu)成如圖1,其中略去了現(xiàn)場儀表信號的采集、控制部分。系統(tǒng)上位機采用橫河CS3000型DCS集散控制系統(tǒng),對整個生產(chǎn)過程進(jìn)行集中監(jiān)控;下位機采用Omron的CS1H系列PLC,分布在3個電氣控制室,負(fù)責(zé)現(xiàn)場電機、OCV閥、流量開關(guān)、變頻器等執(zhí)行、檢測機構(gòu)的啟??刂啤⒎答佇盘柌杉?、故障判斷等操作。


 


 

  基于通信實時性的考慮,將DCS與3個PLC控制站分為兩個相對獨立的通信網(wǎng)絡(luò):PLC1和PLC2與DCS一端口組成網(wǎng)絡(luò)一,PLC3與DCS二端口組成網(wǎng)絡(luò)二。由于上下位機均無面向同一協(xié)議的通信設(shè)備,給設(shè)計造成了困難。經(jīng)考慮,決定采用Modbus通信協(xié)議,由其構(gòu)成本分布式控制系統(tǒng)的通信網(wǎng)絡(luò)。

  2、通信網(wǎng)絡(luò)組成

  2.1通信協(xié)議

  Modbus協(xié)議是一種適用于工業(yè)控制領(lǐng)域的主從式串口通訊協(xié)議,它采用查詢通訊方式進(jìn)行主從設(shè)備的信息傳輸,可尋址1-247個設(shè)備地址范圍。協(xié)議包括廣播查詢和單獨設(shè)備查詢兩種方式,二者區(qū)別就是廣播查詢不需要從設(shè)備回應(yīng)信息,主從設(shè)備查詢通訊過程見圖二。

 



  Modbus協(xié)議有兩種傳輸模式:ASCII模式和RTU模式。同波特率下,RTU模式較ASCII模式能傳輸更多的數(shù)據(jù),所以工業(yè)網(wǎng)絡(luò)大都采用RTU模式。RTU模式下的信息傳輸報文格式如圖三。

 



  它沒有起始位和停止位,而是由至少3.5個字符間隔時間作為信息的起始、結(jié)束標(biāo)志。信息幀所有字符位由16進(jìn)制字符0-9、A-F組成。本設(shè)計采用單獨設(shè)備查詢的RTU模式通信方式,根據(jù)系統(tǒng)構(gòu)成,將DCS一端口設(shè)01H、02H兩個PLC從站地址,二端口設(shè)01H一個PLC從站地址,并使用Modbus協(xié)議中的讀字存儲區(qū)03H和寫字存儲區(qū)06H兩個功能碼。

  2.2 網(wǎng)絡(luò)構(gòu)成及硬件介紹

  網(wǎng)絡(luò)采用RS485串行接口,通信媒體由4芯屏蔽電纜連接主從設(shè)備,傳輸距離最大達(dá)1.5Km,全雙工,串口設(shè)定波特率19200,8位數(shù)據(jù)位、偶校驗、1位停止位。DCS通信部分采用橫河型號為ALR121的通信模塊,并配套橫河提供的Modbus通信軟件包,該通信模塊最大通信數(shù)據(jù)容量4000字。PLC通信部分則采用Omron的C200H-ASCII 21可編程特殊單元模塊(以下簡稱ASCII模塊),該模塊支持BASIC語言編程,內(nèi)有200K字節(jié)的程序存儲區(qū),配備RS232、RS485通信串口各一個。通過對該模塊的編程,可實現(xiàn)與外圍設(shè)備的各種通信。本系統(tǒng)通過ASCII模塊與DCS基于Modbus協(xié)議的通信,將DCS的讀、寫指令及數(shù)據(jù)做相應(yīng)轉(zhuǎn)換,并與PLC的CPU單元進(jìn)行數(shù)據(jù)存取交換,以實現(xiàn)上下位機控制信息的實時傳輸。如圖四所示。
 



三、軟件實現(xiàn)

  1、 建立地址分配、對應(yīng)表

  DCS人機監(jiān)控界面(HMI)上面向現(xiàn)場儀表的圖形符號對象的監(jiān)控,需通過DCS I/O物理地址對現(xiàn)場儀表信號的采集來實現(xiàn)。DCS對現(xiàn)場電氣執(zhí)行、檢測機構(gòu)的監(jiān)控,則是由DCS通信I/O地址與PLC I/O物理地址一一對應(yīng)完成的。為此,在編程前,需建立一張DCS通信I/O地址與PLC I/O地址的分配、對應(yīng)表。由于PLC邏輯控制編程需要,不便直接將PLC I/O物理地址與DCS通信I/O地址對應(yīng),故采取了間接地址的方式。具體設(shè)計采用PLC的數(shù)據(jù)存儲區(qū)DM區(qū)作為間接地址區(qū),與DCS通信I/O區(qū)建立聯(lián)系,再將DM區(qū)與PLC I/O區(qū)相對應(yīng)。如將DCS的%WB000101位通信I/O地址與D0000.00位地址對應(yīng),D0000.00再對照PLC的I0000.00位物理輸入點,就能將現(xiàn)場電氣執(zhí)行機構(gòu)的運行狀態(tài)反饋到HMI上。按照這種方法就建立了一張上下位機地址分配、對應(yīng)表,因篇幅所限,該表略。

  2、程序設(shè)計

  ASCII模塊支持BASIC語言編程,此外,又附加了多條系統(tǒng)及函數(shù)指令,如接收、發(fā)送緩沖區(qū)操作指令、信息傳輸差錯控制CRC、LRC校驗函數(shù)指令和與CPU單元數(shù)據(jù)交換的讀寫指令等。編程使用WINDOWS操作系統(tǒng)上附帶的Hyperterminal(超級終端)軟件,通過此軟件,PC機可與連接在網(wǎng)絡(luò)上的其它PC機或串口終端設(shè)備進(jìn)行文本文件的傳輸及顯示。編程時,將PC機串口與ASCII模塊的RS232串口連接,運行該軟件,就能在其界面上對ASCII模塊進(jìn)行程序編寫、上傳、下載和調(diào)試等工作。也可先通過WINDOWS系統(tǒng)的寫字板編寫程序,并保存為文本格式,然后再通過Hyperterminal將程序下載到ASCII模塊。通信程序的主工作流程見圖五。
 



  部分程序代碼如下:

  OPTION BASE 0 //定義數(shù)組

  DIM R(128),FC(128)

  R(48)=0:R(49)=1:R(50)=2:R(51)=3:R(52)=4:R(53)=5:R(54)=6:R(55)=7:R(56)=8

  R(57)=9:R(65)=&h0a:R(66)=&h0b:R(67)=&h0c:R(68)=&h0d:R(69)=&h0e:R(70)=&h0f

  R(97)=&h0a:R(98)=&h0b:R(99)=&h0c:R(100)=&h0d:R(101)=&h0e:R(102)=&h0f

  OPEN #2,"COMU:19200,8,E,1" //設(shè)定串口參數(shù)

  A%=LOC(2) //判斷接收緩沖區(qū)字符

  IF A%=8 THEN

  REX$=INPUT$(A%,#2)

  ……….

  ENDIF

  GOSUB *ZFCL //對信息進(jìn)行分解處理

  IF ST=1 THEN *JAOY ELSE *BACK //判斷是否本站信息

 ?。狫AOY

  GOSUB *CRC //CRC循環(huán)冗余校驗子程序#p#分頁標(biāo)題#e#

  IF R=CRC THEN *WORK ELSE *BACK //信息校驗正確判斷

 ?。猈ORK

  IF (FU=3) THEN GOTO *DJS //讀功能碼判斷,調(diào)寫操作子程序

  IF (FU=6) THEN GOTO *XJS ELSE GOTO *BACK //寫功能碼判斷,調(diào)讀操作子程序

 ?。狣JS //讀子程序

  ………

 ?。猉JS //寫子程序

  ………

  *CRC //CRC 校驗子程序

  ……….

 ?。猌FCL //字符處理子程序

  ………

  由于ASCII模塊支持ASCII碼,而RTU則是基于二進(jìn)制碼的16進(jìn)制字符通信方式,所以在程序編程中增加了碼制轉(zhuǎn)換程序。

  CH5$=MID$(REX$,5,1) :CH6$=MID$(REX$,6,1) //提取字符段

  VOL=ASC(CH5$)×256+ASC(CH6$) //將ASCII碼字符轉(zhuǎn)換十進(jìn)制數(shù)

  VOL$=HEX$(VOL) //將十進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制字符

  3、程序優(yōu)化及安全措施

  在ASCII模塊與CPU單元數(shù)據(jù)交換程序部分,采取由ASCII模塊向CPU 單元主動發(fā)送讀寫請求信號,CPU單元在收到請求時才執(zhí)行數(shù)據(jù)交換程序的方法。這樣,就縮短了PLC的掃描周期,提高了通信實時性。

  在信息差錯控制部分,采用了CRC-16循環(huán)冗余校驗算法,該算法能使信息的差錯率低于10-14以下。如果信息校驗錯誤,程序?qū)⑶宄彌_區(qū),等待DCS信息重發(fā)。

  根據(jù)生產(chǎn)需要,可在HMI上將現(xiàn)場按鈕等手控設(shè)備設(shè)為無效狀態(tài),所有手、自動操作均在DCS上進(jìn)行??紤]到如通信網(wǎng)絡(luò)遭到癱瘓等嚴(yán)重故障時,需保證現(xiàn)場電氣設(shè)備正常啟停,又增加了通信狀態(tài)定時偵測程序,在規(guī)定時間(10秒)內(nèi)網(wǎng)絡(luò)上如無信號,PLC自動將現(xiàn)場按鈕等手控設(shè)備設(shè)為有效,同時DCS故障報警,直到網(wǎng)絡(luò)恢復(fù)正常為止。

四、結(jié)束語

  當(dāng)前分布式控制系統(tǒng)通信網(wǎng)絡(luò)的設(shè)備、軟件及整體架構(gòu),大部分是由專業(yè)廠商生產(chǎn)提供的,其總體性能較好。但如前所述,它們也有系統(tǒng)配置可選性小、網(wǎng)絡(luò)架構(gòu)適應(yīng)面窄、價格較高等缺點。筆者采用Modbus協(xié)議這一成熟通信技術(shù),選用PLC的可編程模塊,進(jìn)行基于Modbus通信協(xié)議的自主程序設(shè)計,架構(gòu)起本自控系統(tǒng)的通信網(wǎng)絡(luò)。該網(wǎng)絡(luò)易擴展、易維護(hù),具有結(jié)構(gòu)簡單、應(yīng)用靈活、編程方便、造價低廉等特點。這套系統(tǒng)在某化纖生產(chǎn)線一次投運成功,實際運行狀態(tài)良好,證明其穩(wěn)定可靠,能完全滿足系統(tǒng)設(shè)計要求。到目前為止,該系統(tǒng)已在多個工程項目上投入使用,全部運行正常,取得了良好的經(jīng)濟效益。

  本文創(chuàng)新點:采用工業(yè)領(lǐng)域通用的Modbus通信協(xié)議標(biāo)準(zhǔn),利用可編程的PLC特殊功能模塊,并進(jìn)行通信程序設(shè)計,低成本的解決了本系統(tǒng)的通信架構(gòu)問題,可為分布式控制系統(tǒng)通信網(wǎng)絡(luò)兼容性設(shè)計的一個思路。

參考文獻(xiàn):

  1. Modicon. Modbus Protocol Reference Guide. 1996

  2. Omron. C200H-ASCII UNITS Operation Manual. 1998

  3. Omron. SYSMAC CS1 Series Programmable Controllers Operation Manual. 1999

  4. 橫河CS3000 Reference Manual. 2001

  5. 其其格 利用VC實現(xiàn)Modbus的兩種檢測方法 《微計算機信息》 2004.1

  6. 劉東 循環(huán)冗余校驗CRC算法分析及程序?qū)崿F(xiàn). 《計算機與信息技術(shù)》2002.9
 

 

轉(zhuǎn)載請注明出處。

暫無關(guān)鍵詞
免責(zé)聲明

① 凡本網(wǎng)未注明其他出處的作品,版權(quán)均屬于激光制造網(wǎng),未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用。獲本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使 用,并注明"來源:激光制造網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)責(zé)任。
② 凡本網(wǎng)注明其他來源的作品及圖片,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本媒贊同其觀點和對其真實性負(fù)責(zé),版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系我們刪除。
③ 任何單位或個人認(rèn)為本網(wǎng)內(nèi)容可能涉嫌侵犯其合法權(quán)益,請及時向本網(wǎng)提出書面權(quán)利通知,并提供身份證明、權(quán)屬證明、具體鏈接(URL)及詳細(xì)侵權(quán)情況證明。本網(wǎng)在收到上述法律文件后,將會依法盡快移除相關(guān)涉嫌侵權(quán)的內(nèi)容。

網(wǎng)友點評
0相關(guān)評論
精彩導(dǎo)讀