技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 利用Modbus協(xié)議實(shí)現(xiàn)無(wú)線通信

利用Modbus協(xié)議實(shí)現(xiàn)無(wú)線通信

時(shí)間:2008-08-18 10:06:00來(lái)源:ronggang

導(dǎo)語(yǔ):?Modbus的控制網(wǎng)絡(luò)及協(xié)議特點(diǎn),著重分析Modbus ACSII模式的消息幀組成、校驗(yàn)碼的計(jì)算及主要的功能。并對(duì)利用Modbus協(xié)議實(shí)現(xiàn)遠(yuǎn)程無(wú)線通信的有關(guān)要點(diǎn)作了說(shuō)明

摘 要:本文介紹了Modbus的控制網(wǎng)絡(luò)及協(xié)議特點(diǎn),著重分析Modbus ACSII模式的消息幀組成、校驗(yàn)碼的計(jì)算及主要的功能。并對(duì)利用Modbus協(xié)議實(shí)現(xiàn)遠(yuǎn)程無(wú)線通信的有關(guān)要點(diǎn)作了說(shuō)明。

關(guān)鍵詞:Modbus網(wǎng)絡(luò);Modbus協(xié)議;LRC校驗(yàn)碼;無(wú)線數(shù)傳modem;半雙工

1 引言

利用數(shù)傳無(wú)線電臺(tái)進(jìn)行遠(yuǎn)程通信可以通過(guò)多種編程方法來(lái)實(shí)現(xiàn)。但是如果在通信可靠性、兼容性和組網(wǎng)的靈活性方面有要求,那么就不是一般通信程序能實(shí)現(xiàn)的。最好是能利用一個(gè)現(xiàn)成的、應(yīng)用最廣泛的、可靠性較高的、通信效率較好的、實(shí)現(xiàn)較容易的、經(jīng)過(guò)充分實(shí)踐證明的通用通信協(xié)議來(lái)完成。Modbus協(xié)議正是完全符合上述要求的諸多通信協(xié)議中的一種。

Modbus協(xié)議是由美國(guó)可編程控制器制造商莫迪康(Modicon Inc.)公司出品的一種應(yīng)用于工業(yè)通信和分布式控制系統(tǒng)的協(xié)議。現(xiàn)已被眾多的硬件廠商所支持,已經(jīng)成為一通用工業(yè)標(biāo)準(zhǔn)。通過(guò)此協(xié)議,控制器之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通信。由于Modbus協(xié)議完全公開(kāi)、實(shí)現(xiàn)簡(jiǎn)單、硬件要求低、可靠性好等特點(diǎn),已成為構(gòu)建低速網(wǎng)絡(luò)(數(shù)據(jù)采集、儀表等)通信的最佳選擇。

2 Modbus協(xié)議

2.1 協(xié)議簡(jiǎn)介

Modbus協(xié)議通信使用主—從技術(shù),即僅有一臺(tái)設(shè)備(主設(shè)備)能初始化傳輸(查詢(xún))。其它設(shè)備(從設(shè)備)根據(jù)主設(shè)備查詢(xún)提供的數(shù)據(jù)作出相應(yīng)回應(yīng)。圖1是Modbus協(xié)議的詢(xún)問(wèn)應(yīng)答環(huán)路。典型的主設(shè)備:主機(jī)和可編程儀表。典型的從設(shè)備:可編程控制器。

主從查詢(xún)——回應(yīng)周期表

圖1 主從查詢(xún)——回應(yīng)周期表

主設(shè)備發(fā)送的一個(gè)含有指定編址的請(qǐng)求報(bào)文到通訊線路上;從設(shè)備則從通訊線路上檢測(cè)報(bào)文是否含有自身編址。如果報(bào)文編址與自身編址相同則接收此報(bào)文進(jìn)行處理。從機(jī)報(bào)文處理的過(guò)程是,如果報(bào)文正確,則按報(bào)文要求執(zhí)行任務(wù),然后再將正確的回應(yīng)報(bào)文返回給發(fā)送者;否則只返回一個(gè)錯(cuò)誤信息報(bào)文給發(fā)送者。

Modbus協(xié)議上允許1臺(tái)主機(jī)和至多247臺(tái)從機(jī)。只有主機(jī)才能啟動(dòng)事務(wù)處理程序。事務(wù)處理可以是應(yīng)答式(只對(duì)一臺(tái)從機(jī)尋址),亦可是廣播式(無(wú)應(yīng)答,對(duì)所有從機(jī)尋址)。事務(wù)處理程序由詢(xún)問(wèn)和應(yīng)答幀組成,或由一個(gè)廣播幀組成。

Modbus協(xié)議提供兩種傳輸模式供用戶選擇。一種模式是ASCII(美國(guó)標(biāo)準(zhǔn)信息交換代碼),另一種模式是RTU(遠(yuǎn)程終端設(shè)備)。這兩種模式從實(shí)現(xiàn)通信的功能上看是完全一樣的。ASCII模式主要優(yōu)點(diǎn)是字符發(fā)送的時(shí)間間隔可達(dá)到1秒而不產(chǎn)生錯(cuò)誤,較為適用于長(zhǎng)距離、低速率的通信應(yīng)用(如無(wú)線電臺(tái)通信等)。RTU模式則較為適用于短距離、高速率的通信應(yīng)用。在控制系統(tǒng)中應(yīng)用較多。

由于本文主要是利用Modbus協(xié)議的ASCII模式來(lái)實(shí)現(xiàn)無(wú)線通信。因此著重介紹Modbus協(xié)議的ASCII模式。

2.2 ASCII模式格式

使用ASCII模式,消息以冒號(hào)(:)字符(ASCII碼 3AH)開(kāi)始,以回車(chē)換行符結(jié)束(ASCII碼 0DH,0AH)。

其它域可以使用的傳輸字符是十六進(jìn)制的0...9,A...F。網(wǎng)絡(luò)上的設(shè)備不斷偵測(cè)“:”字符,當(dāng)有一個(gè)冒號(hào)接收到時(shí),每個(gè)設(shè)備都解碼下個(gè)域(地址域)來(lái)判斷是否發(fā)給自己的。

一個(gè)典型消息幀如下所示:

ASCII消息幀

圖2 ASCII消息幀

起始位字段表示一幀報(bào)文的開(kāi)始。

地址碼字段表示接收主機(jī)報(bào)文的從機(jī)地址。用戶必須設(shè)置每臺(tái)從機(jī)的地址。

功能碼字段通知從站應(yīng)執(zhí)行何種功能。

數(shù)據(jù)字段含有從機(jī)執(zhí)行某項(xiàng)具體功能的信息,或含有從機(jī)應(yīng)答詢(xún)問(wèn)的信息,這些信息可以是數(shù)值、地址參數(shù)或范圍。

校驗(yàn)碼字段是用來(lái)檢查通訊報(bào)文有無(wú)錯(cuò)誤。

2.3 LRC校驗(yàn)

ASCII模式采用LRC方法進(jìn)行錯(cuò)誤校驗(yàn)。具體為:

A、LRC域檢測(cè)了消息域中除開(kāi)始的冒號(hào)及結(jié)束的回車(chē)換行號(hào)外的內(nèi)容。

B、LRC域是一個(gè)包含一個(gè)8位二進(jìn)制值的字節(jié)。LRC值由傳輸設(shè)備來(lái)計(jì)算并放到消息幀中,接收設(shè)備在接收消息的過(guò)程中計(jì)算LRC,并將它和接收到消息中LRC域中的值比較,如果兩值不等,說(shuō)明有錯(cuò)誤。

C、LRC方法是將消息中的8Bit的字節(jié)連續(xù)累加,丟棄了進(jìn)位。

LRC簡(jiǎn)單函數(shù)如下:

static unsigned char LRC(auchMsg,usDataLen)

unsigned char *auchMsg ; /* 要進(jìn)行計(jì)算的消息 */

unsigned short usDataLen ; /* LRC 要處理的字節(jié)的數(shù)量*/

{ unsigned char uchLRC = 0 ; /* LRC 字節(jié)初始化 */

while (usDataLen——) /* 傳送消息 */

uchLRC += *auchMsg++ ; /* 累加*/

return ((unsigned char)(-((char_uchLRC))) ;

3 功能描述

3.1功能概述

Modbus協(xié)議總共有24種功能。其中主要的有8種,分別如圖3所示:

Modbus協(xié)議主要功能

圖3 Modbus協(xié)議主要功能

Modbus協(xié)議原意是為了實(shí)現(xiàn)可編程控制器的高效聯(lián)網(wǎng)通信。在此8種功能中其通信功能有所重復(fù)。有考慮到實(shí)現(xiàn)的簡(jiǎn)易性,在無(wú)線通信應(yīng)用中,其實(shí)只需功能04及功能16即可。

3.2 讀輸入寄存器組(功能碼04)

例如:讀8號(hào)從機(jī)的寄存器組。起始地址是30123,寄存器個(gè)數(shù)是2個(gè)的報(bào)文格式如圖4所示:

讀輸入寄存器組詢(xún)問(wèn)報(bào)文:

讀輸入寄存器組應(yīng)答報(bào)文:

讀輸入寄存器組報(bào)文格式

圖4 讀輸入寄存器組報(bào)文格式

3.3 寫(xiě)多個(gè)寄存器(功能碼16)

本功能可以修改控制器內(nèi)多個(gè)寄存器的內(nèi)容,不用的高位必須置0。本功能碼支持廣播模式(即從機(jī)地址為0)。例如:將08從機(jī)的40210、40211寄存器置成0835h和0312h的報(bào)文如圖5所示。

寫(xiě)多個(gè)寄存器詢(xún)問(wèn)報(bào)文:

寫(xiě)多個(gè)寄存器應(yīng)答報(bào)文:

寫(xiě)多個(gè)寄存器報(bào)文格式

圖5寫(xiě)多個(gè)寄存器報(bào)文格式

4 Modbus協(xié)議在無(wú)線通信中的實(shí)現(xiàn)

4.1 Modbus口與無(wú)線數(shù)傳modem口的連接

Modbus口及無(wú)線數(shù)傳modem口均采用標(biāo)準(zhǔn)9芯串行口方式,使用其中部分引腳。如圖6所示

Modbus口與無(wú)線數(shù)傳modem口的連接

圖6 Modbus口與無(wú)線數(shù)傳modem口的連接

4.2 通信方式的全雙工轉(zhuǎn)半雙工

Modbus本身屬于半雙工的通信協(xié)議,而無(wú)線數(shù)傳modem一般只能工作于半雙工方式。無(wú)線數(shù)傳modem工作時(shí),當(dāng)RTS控制線為低電平,modem處于發(fā)送狀態(tài),將TXD的信號(hào)以載波的方式發(fā)送出去;當(dāng)RTS控制線為高電平時(shí),則modem處于接收狀態(tài),將接到的載波信號(hào)經(jīng)檢波后送回Modbus口。

如果所有的主從設(shè)備均采用半雙工方式通信時(shí)則用Modbus協(xié)議實(shí)現(xiàn)無(wú)線通信較為容易。然而如果在整個(gè)通信網(wǎng)絡(luò)中有部分從機(jī)采用全雙工方式工作時(shí),則必須將此部分從機(jī)的通信機(jī)制改為半雙工。

例如一個(gè)遠(yuǎn)程主機(jī)與一個(gè)以Modicon TSX SCP 111通信卡為從機(jī)的PLC進(jìn)行 Modbus無(wú)線通信時(shí),就必須在Modicon TSX SCP 111側(cè)增加一塊全雙工轉(zhuǎn)半雙工卡。原因,Modicon TSX 111無(wú)論RXD是否存在有用信號(hào)均在每個(gè)通信周期均使CTS出現(xiàn)一次低電平(使電臺(tái)發(fā)射),擾亂了正常的通信。

5 結(jié)論

湛江市自來(lái)水公司寸金加壓站無(wú)人值守控制系統(tǒng)就是利用上述方法成功地實(shí)現(xiàn)了遠(yuǎn)程無(wú)線遙控加壓站的機(jī)泵操作。實(shí)踐證明:運(yùn)用Modbus協(xié)議來(lái)實(shí)現(xiàn)無(wú)線通信,使得通信可靠,系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,擴(kuò)展性好,能滿足多數(shù)工程的實(shí)際需要。

參考文獻(xiàn):

[1] MODICON, Inc., Industrial Automation Systems 《Modicon Modbus Protocol Reference Guide》,June 1996

[2] 陳柏金,通過(guò)串行口訪問(wèn)Modbus現(xiàn)場(chǎng)控制網(wǎng)絡(luò),微計(jì)算機(jī)信息2003.1.

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:ABB MASTER系統(tǒng)在軋鋼自控系...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

相關(guān)資訊

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢(xún)采購(gòu)咨詢(xún)媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)