<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Modbus協(xié)議的常用基本定義——(RS485總線(xiàn)系統應用之2)

Modbus協(xié)議的常用基本定義——(RS485總線(xiàn)系統應用之2)

作者: 時(shí)間:2016-12-15 來(lái)源:網(wǎng)絡(luò ) 收藏
1. Modbus協(xié)議簡(jiǎn)介

Modbus協(xié)議是一種應用于電子控制器的通用通信規約。是由MODICON公司最先倡導并于1979年開(kāi)發(fā)的,后來(lái)逐漸發(fā)展成為國際通用的通信標準。在我國,GB/Z 19582《基于Modbus協(xié)議的工業(yè)自動(dòng)化網(wǎng)絡(luò )規范》于2004年9月發(fā)布,該指導性技術(shù)文件發(fā)布后得到了國內自動(dòng)化產(chǎn)品生產(chǎn)廠(chǎng)家、自動(dòng)化系統集成商和廣大用戶(hù)的高度關(guān)注和重視,并極大地推動(dòng)了基于Modbus協(xié)議的產(chǎn)品的開(kāi)發(fā)和應用。2006年4月,Modbus-IDA國際組織在中國正式授權建立了唯一的MODBUS(中國)產(chǎn)品一致性測試實(shí)驗室(MCTL),為Modbus技術(shù)在中國的全面開(kāi)發(fā)和應用提供了硬件平臺支持。

本文引用地址:http://dyxdggzs.com/article/201612/330196.htm

  按照全國工業(yè)過(guò)程測量和控制標準化技術(shù)委員會(huì )關(guān)于建立現場(chǎng)總線(xiàn)標準體系的有關(guān)要求,有關(guān)部門(mén)于2007年11月完成了GB/Z 19582《基于Modbus協(xié)議的工業(yè)自動(dòng)化網(wǎng)絡(luò )規范》標準的修訂工作,將作為國家推薦標準上報國家標準化管理委員會(huì ),2008年3月國家標準化管理委員會(huì )正式批準為GB/T 19582-2008。

Modbus協(xié)議規定每個(gè)控制器必須有自己的設備地址。當一個(gè)控制器在Modbus網(wǎng)絡(luò )上接收到一條消息時(shí),首先要識別是否發(fā)給自己。如果是并且需要回應,控制器將生成反饋消息并依據Modbus協(xié)議發(fā)出。

不論是何種控制器經(jīng)過(guò)何種網(wǎng)絡(luò )進(jìn)行通信,Modbus協(xié)議定義了一個(gè)控制器能夠識別的消息域的框架結構和內容的公共格式。它描述了一個(gè)控制器請求訪(fǎng)問(wèn)其它設備的過(guò)程,以及如何回應來(lái)自其它設備的請求。還規定了如何偵測和記錄錯誤。

遵循Modbus協(xié)議,不同廠(chǎng)家生產(chǎn)的控制設備可以連接在同一個(gè)工業(yè)網(wǎng)絡(luò )。在這個(gè)網(wǎng)絡(luò )上,主機設備可以方便地對各種控制設備進(jìn)行集中監控,各控制設備之間也可以直接相互通信。

2. Modbus的兩種傳輸模式

Modbus的兩種傳輸模式分別是ASCII(美國標準信息交換代碼)和RTU(遠程終端裝置)。用戶(hù)要實(shí)現Modbus網(wǎng)絡(luò )通信,必須選中一種傳輸模式并配置串口通信參數(波特率、校驗方式等)。在同一個(gè)Modbus網(wǎng)絡(luò )上的所有設備都必須選擇相同的傳輸模式和串口參數。

當消息在標準的Modbus系列網(wǎng)絡(luò )傳輸時(shí),每個(gè)字符或字節以如下方式發(fā)送(從左到右):最低有效位...最高有效位。

2.1 ASCII模式

使用ASCII字符幀時(shí),位的發(fā)送序列是:

有奇偶校驗:

啟始位

1

2

3

4

5

6

7

奇偶位

停止位

無(wú)奇偶校驗:

啟始位

1

2

3

4

5

6

7

停止位

停止位

ASCII模式編碼說(shuō)明:

.消息中的每個(gè)字節都是一個(gè)ASCII字符,由兩位十六進(jìn)制字符組成:0...9,A...F

.每發(fā)送一個(gè)字節包含:

1個(gè)起始位、7個(gè)數據位(最小的有效位先發(fā)送)、1個(gè)奇偶校驗位(無(wú)校驗則無(wú))、1個(gè)(有校驗時(shí))或2個(gè)停止位(無(wú)校驗時(shí))

.錯誤檢測采用LRC(縱向冗長(cháng)檢測)

當控制器設為在Modbus網(wǎng)絡(luò )上以ASCII模式通信時(shí),在消息中的每個(gè)字節(8Bit)都作為一個(gè)ASCII字符發(fā)送。這種方式的主要優(yōu)點(diǎn)是字符發(fā)送的時(shí)間間隔可達到1秒而不產(chǎn)生錯誤。

ASCII模式的消息幀結構:

冒號符

地址碼

功能代碼

數據數量

數據1

...

數據n

LRC高字節

LRC低字節

回車(chē)符

換行符

2.2 RTU模式

使用RTU字符幀時(shí),位的發(fā)送序列是:

有奇偶校驗:

啟始位

1

2

3

4

5

6

7

8

奇偶位

停止位

無(wú)奇偶校驗:

啟始位

1

2

3

4

5

6

7

8

停止位

停止位

RTU模式編碼說(shuō)明:

.消息中的每個(gè)字節都是由兩個(gè)十六進(jìn)制字符組成:0...9,A...F

.每發(fā)送一個(gè)字節包含:

1個(gè)起始位、8個(gè)數據位(最小的有效位先發(fā)送)、1個(gè)奇偶校驗位(無(wú)校驗則無(wú))、1個(gè)(有校驗時(shí))或2個(gè)停止位(無(wú)校驗時(shí))

.錯誤檢測采用CRC(循環(huán)冗長(cháng)檢測)

當控制器設為在Modbus網(wǎng)絡(luò )上以RTU模式通信時(shí),在消息中的每個(gè)字節(8Bit)包含兩個(gè)4Bit的十六進(jìn)制字符。這種方式的主要優(yōu)點(diǎn)是:在同樣的波特率下,可比ASCII方式傳送更多的數據。

RTU模式的消息幀結構:

地址

功能代碼

數據數量

數據1

...

數據n

CRC低字節

CRC高字節

3. Modbus的消息幀結構

在A(yíng)SCII或RTU兩種傳輸模式中,傳輸設備將Modbus消息轉換為有起點(diǎn)和終點(diǎn)的幀,這就可以使接收設備在消息起始處同步接收數據,讀取地址信息,判斷哪一個(gè)設備被選中(廣播方式則傳給所有設備),判知何時(shí)信息已傳送完畢。有些消息也能偵測到錯誤并且能返回結果。

3.1 ASCII幀

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

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

消息中字符間發(fā)送的時(shí)間間隔最長(cháng)不能超過(guò)1秒,否則接收的設備將認為傳輸錯誤。一個(gè)典型消息幀如下所示:

起始位

設備地址

功能代碼

數據

LRC校驗

結束符

1個(gè)字符

2個(gè)字符

2個(gè)字符

n個(gè)字符

2個(gè)字符

2個(gè)字符

3.2 RTU幀

使用RTU模式,每幀消息發(fā)送至少要有3.5個(gè)字節時(shí)間的間隔停頓。不論在何種網(wǎng)絡(luò )波特率下,這是最容易實(shí)現的(如下圖的T1-T2-T3-T4所示)。傳輸的第一個(gè)域是設備地址??梢允褂玫膫鬏斪址鞘M(jìn)制的0...9,A...F。網(wǎng)絡(luò )上的設備不斷偵測網(wǎng)絡(luò )總線(xiàn),當第一個(gè)域(地址域)接收到時(shí),每個(gè)從設備都進(jìn)行解碼以判斷是否發(fā)給自己。在最后一個(gè)傳輸字節之后,應至少停頓3.5個(gè)字節時(shí)間以表示消息結束。一個(gè)新的消息可在此停頓后再開(kāi)始。

整個(gè)消息幀必須作為一個(gè)連續的流轉輸。如果在幀完成之前有超過(guò)1.5個(gè)字符時(shí)間的停頓時(shí)間,接收設備將刷新不完整的消息并假定下一字節是一個(gè)新消息的地址域。同樣,如果一個(gè)新消息在小于3.5個(gè)字節時(shí)間內接著(zhù)前個(gè)消息開(kāi)始,接收的設備將認為它是前一消息的延續,這將導致一個(gè)錯誤,因為在最后的CRC域的值不可能是正確的。典型的消息幀如下所示:

起始位

設備地址

功能代碼

數據

CRC校驗

結束符

T1-T2-T3-T4

8Bit

8Bit

n個(gè)8Bit

16Bit

T1-T2-T3-T4

3.3地址域

消息幀的地址域包含兩個(gè)字符(ASCII)或8Bit(RTU)。允許的從設備地址范圍是十進(jìn)制的0~247。主設備將要聯(lián)絡(luò )的從設備的地址放入消息中的地址域來(lái)選通從設備。當從設備發(fā)送回應消息時(shí),它把自己的地址放入回應的地址域中,以便主設備知道是哪一個(gè)設備作出的回應。

地址0用作廣播地址,以使所有的從設備都能認識。當Modbus協(xié)議用于更高水準的網(wǎng)絡(luò )時(shí),廣播可能被禁止或以其它方式代替。

3.4功能域

消息幀中的功能碼域包含了兩個(gè)字符(ASCII)或8Bits(RTU)??赡艿拇a范圍是十進(jìn)制的1~255。有些功能碼適用于所有控制器,有些僅適應用于某種控制器,還有些暫且保留以備后用,參見(jiàn)表1表2。



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>