Modbus 通信協(xié)議在分布式控制系統(tǒng)中的應(yīng)用
GOSUB *ZFCL //對(duì)信息進(jìn)行分解處理
IF ST=1 THEN *JAOY ELSE *BACK //判斷是否本站信息
*JAOY
GOSUB *CRC //CRC循環(huán)冗余校驗(yàn)子程序
IF R=CRC THEN *WORK ELSE *BACK //信息校驗(yàn)正確判斷
?。猈ORK
IF (FU=3) THEN GOTO *DJS //讀功能碼判斷,調(diào)寫操作子程序
IF (FU=6) THEN GOTO *XJS ELSE GOTO *BACK //寫功能碼判斷,調(diào)讀操作子程序
*DJS //讀子程序
………
?。猉JS //寫子程序
………
*CRC //CRC 校驗(yàn)子程序
……….
?。猌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 單元主動(dòng)發(fā)送讀寫請(qǐng)求信號(hào),CPU單元在收到請(qǐng)求時(shí)才執(zhí)行數(shù)據(jù)交換程序的方法。這樣,就縮短了PLC的掃描周期,提高了通信實(shí)時(shí)性。
在信息差錯(cuò)控制部分,采用了CRC-16循環(huán)冗余校驗(yàn)算法,該算法能使信息的差錯(cuò)率低于10-14以下。如果信息校驗(yàn)錯(cuò)誤,程序?qū)⑶宄彌_區(qū),等待DCS信息重發(fā)。
根據(jù)生產(chǎn)需要,可在HMI上將現(xiàn)場(chǎng)按鈕等手控設(shè)備設(shè)為無(wú)效狀態(tài),所有手、自動(dòng)操作均在DCS上進(jìn)行。考慮到如通信網(wǎng)絡(luò)遭到癱瘓等嚴(yán)重故障時(shí),需保證現(xiàn)場(chǎng)電氣設(shè)備正常啟停,又增加了通信狀態(tài)定時(shí)偵測(cè)程序,在規(guī)定時(shí)間(10秒)內(nèi)網(wǎng)絡(luò)上如無(wú)信號(hào),PLC自動(dòng)將現(xiàn)場(chǎng)按鈕等手控設(shè)備設(shè)為有效,同時(shí)DCS故障報(bào)警,直到網(wǎng)絡(luò)恢復(fù)正常為止。
四、結(jié)束語(yǔ)
當(dāng)前分布式控制系統(tǒng)通信網(wǎng)絡(luò)的設(shè)備、軟件及整體架構(gòu),大部分是由專業(yè)廠商生產(chǎn)提供的,其總體性能較好。但如前所述,它們也有系統(tǒng)配置可選性小、網(wǎng)絡(luò)架構(gòu)適應(yīng)面窄、價(jià)格較高等缺點(diǎn)。筆者采用Modbus協(xié)議這一成熟通信技術(shù),選用PLC的可編程模塊,進(jìn)行基于Modbus通信協(xié)議的自主程序設(shè)計(jì),架構(gòu)起本自控系統(tǒng)的通信網(wǎng)絡(luò)。該網(wǎng)絡(luò)易擴(kuò)展、易維護(hù),具有結(jié)構(gòu)簡(jiǎn)單、應(yīng)用靈活、編程方便、造價(jià)低廉等特點(diǎn)。這套系統(tǒng)在某化纖生產(chǎn)線一次投運(yùn)成功,實(shí)際運(yùn)行狀態(tài)良好,證明其穩(wěn)定可靠,能完全滿足系統(tǒng)設(shè)計(jì)要求。到目前為止,該系統(tǒng)已在多個(gè)工程項(xiàng)目上投入使用,全部運(yùn)行正常,取得了良好的經(jīng)濟(jì)效益。
本文創(chuàng)新點(diǎn):采用工業(yè)領(lǐng)域通用的Modbus通信協(xié)議標(biāo)準(zhǔn),利用可編程的PLC特殊功能模塊,并進(jìn)行通信程序設(shè)計(jì),低成本的解決了本系統(tǒng)的通信架構(gòu)問題,可為分布式控制系統(tǒng)通信網(wǎng)絡(luò)兼容性設(shè)計(jì)的一個(gè)思路。
參考文獻(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實(shí)現(xiàn)Modbus的兩種檢測(cè)方法 《微計(jì)算機(jī)信息》 2004.1
6. 劉東 循環(huán)冗余校驗(yàn)CRC算法分析及程序?qū)崿F(xiàn). 《計(jì)算機(jī)與信息技術(shù)》2002.9
數(shù)字通信相關(guān)文章:數(shù)字通信原理
評(píng)論