Modbus 通信協(xié)議
何種行動(dòng)。如果需要回應(yīng),控制器將生成反饋信息并用Modbus協(xié)議發(fā)出。在其它網(wǎng)絡(luò)上,包含了Modbus協(xié)議的消息轉(zhuǎn)換為在此網(wǎng)絡(luò)上使用的幀或包結(jié)構(gòu)。這種轉(zhuǎn)換也擴(kuò)展了根據(jù)具體的網(wǎng)絡(luò)解決節(jié)地址、路由路徑及錯(cuò)誤檢測(cè)的方法。

(1)查詢
1、在Modbus網(wǎng)絡(luò)上轉(zhuǎn)輸
標(biāo)準(zhǔn)的Modbus口是使用一RS-232C兼容串行接口,它定義了連接口的針腳、電纜、信號(hào)位、傳輸波特率、奇偶校驗(yàn)??刂破髂苤苯踊蚪?jīng)由Modem組網(wǎng)。
控制器通信使用主—從技術(shù),即僅一設(shè)備(主設(shè)備)能初始化傳輸(查詢)。其它設(shè)備(從設(shè)備)根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng)。典型的主設(shè)備:主機(jī)和可編程儀表。典型的從設(shè)備:可編程控制器。
主設(shè)備可單獨(dú)和從設(shè)備通信,也能以廣播方式和所有從設(shè)備通信。如果單獨(dú)通信,從設(shè)備返回一消息作為回應(yīng),如果是以廣播方式查詢的,則不作任何回應(yīng)。Modbus協(xié)議建立了主設(shè)備查詢的格式:設(shè)備(或廣播)地址、功能代碼、所有要發(fā)送的數(shù)據(jù)、一錯(cuò)誤檢測(cè)域。
從設(shè)備回應(yīng)消息也由Modbus協(xié)議構(gòu)成,包括確認(rèn)要行動(dòng)的域、任何要返回的數(shù)據(jù)、和一錯(cuò)誤檢測(cè)域。如果在消息接收過程中發(fā)生一錯(cuò)誤,或從設(shè)備不能執(zhí)行其命令,從設(shè)備將建立一錯(cuò)誤消息并把它作為回應(yīng)發(fā)送出去。
2、在其它類型網(wǎng)絡(luò)上轉(zhuǎn)輸
在其它網(wǎng)絡(luò)上,控制器使用對(duì)等技術(shù)通信,故任何控制都能初始和其它控制器的通信。這樣在單獨(dú)的通信過程中,控制器既可作為主設(shè)備也可作為從設(shè)備。提供的多個(gè)內(nèi)部通道可允許同時(shí)發(fā)生的傳輸進(jìn)程。
在消息位,Modbus協(xié)議仍提供了主—從原則,盡管網(wǎng)絡(luò)通信方法是“對(duì)等”。如果一控制器發(fā)送一消息,它只是作為主設(shè)備,并期望從從設(shè)備得到回應(yīng)。同樣,當(dāng)控制器接收到一消息,它將建立一從設(shè)備回應(yīng)格式并返回給發(fā)送的控制器。
3、查詢—回應(yīng)周期

(1)查詢
查詢消息中的功能代碼告之被選中的從設(shè)備要執(zhí)行何種功能。數(shù)據(jù)段包含了從設(shè)備要執(zhí)行功能的任何附加信息。例如功能代碼03是要求從設(shè)備讀保持寄存器并返回它們的內(nèi)容。數(shù)據(jù)段必須包含要告之從設(shè)備的信息:從何寄存器開始讀及要讀的寄存器數(shù)量。錯(cuò)誤檢測(cè)域?yàn)閺脑O(shè)備提供了一種驗(yàn)證消息內(nèi)容是否正確的方法。
(2)回應(yīng)
如果從設(shè)備產(chǎn)生一正常的回應(yīng),在回應(yīng)消息中的功能代碼是在查詢消息中的功能代碼的回應(yīng)。數(shù)據(jù)段包括了從設(shè)備收集的數(shù)據(jù):象寄存器值或狀態(tài)。如果有錯(cuò)誤發(fā)生,功能代碼將被修改以用于指出回應(yīng)消息是錯(cuò)誤的,同時(shí)數(shù)據(jù)段包含了描述此錯(cuò)誤信息的代碼。錯(cuò)誤檢測(cè)域允許主設(shè)備確認(rèn)消息內(nèi)容是否可用。
二、兩種傳輸方式
控制器能設(shè)置為兩種傳輸模式(ASCII 或 RTU)中的任何一種在標(biāo)準(zhǔn)的 Modbus 網(wǎng)絡(luò)通信。用戶選擇想 要的模式,包括串口通信參數(shù)(波特率、校驗(yàn)方式等),在配置每個(gè)控制器的時(shí)候,在一個(gè) Modbus 網(wǎng)絡(luò)上的所有設(shè)備都必須選擇相同的傳輸模式和串口參數(shù)。
ASCII 模式
|
: |
地 址 |
功能代碼 |
數(shù)據(jù)長(zhǎng)度 |
數(shù)據(jù) 1 |
... |
數(shù) 據(jù) n |
LRC 高字節(jié) |
LRC 低字節(jié) |
回車 |
換行 |
RTU 模式
|
地址 |
功能代碼 |
數(shù)據(jù)長(zhǎng)度 |
數(shù)據(jù) 1 |
... |
數(shù)據(jù) n |
CRC高字節(jié) |
CRC低字節(jié) |
所選的 ASCII 或 RTU 方式僅適用于標(biāo)準(zhǔn)的 Modbus 網(wǎng)絡(luò),它定義了在這些網(wǎng)絡(luò)上連續(xù)傳輸?shù)南⒍蔚拿恳晃唬约皼Q定怎樣將信息打包成消息域和如何解碼。
在其它網(wǎng)絡(luò)上(象 MAP 和 Modbus Plus)Modbus 消息被轉(zhuǎn)成與串行傳輸無關(guān)的幀。
1、ASCII 模式
當(dāng)控制器設(shè)為在 Modbus 網(wǎng)絡(luò)上以 ASCII(美國(guó)標(biāo)準(zhǔn)信息交換代碼)模式通信,在消息中的每個(gè)8Bit字節(jié)都作為兩個(gè) ASCII 字符發(fā)送。這種方式的主要優(yōu)點(diǎn)是字符發(fā)送的時(shí)間間隔可達(dá)到 1 秒而不產(chǎn)生錯(cuò)誤。 代碼系統(tǒng)
· 十六進(jìn)制,ASCII 字符 0...9,A...F
· 消息中的每個(gè) ASCII 字符都是一個(gè)十六進(jìn)制字符組成 每個(gè)字節(jié)的位
· 1 個(gè)起始位
· 7 個(gè)數(shù)據(jù)位,最小的有效位先發(fā)送
· 1 個(gè)奇偶校驗(yàn)位,無校驗(yàn)則無
· 1 個(gè)停止位(有校驗(yàn)時(shí)),2 個(gè) Bit(無校驗(yàn)時(shí)) 錯(cuò)誤檢測(cè)域
· LRC(縱向冗長(zhǎng)檢測(cè))
2、RTU 模式
當(dāng)控制器設(shè)為在 Modbus 網(wǎng)絡(luò)上以 RTU(遠(yuǎn)程終端單元)模式通信,在消息中的每個(gè) 8Bit 字節(jié)包含兩個(gè)4Bit 的十六進(jìn)制字符。這種方式的主要優(yōu)點(diǎn)是:在同樣的波特率下,可比 ASCII 方式傳送更多的數(shù)據(jù)。 代碼系統(tǒng)
· 8 位二進(jìn)制,十六進(jìn)制數(shù) 0...9,A...F
· 消息中的每個(gè) 8 位域都是一個(gè)兩個(gè)十六進(jìn)制字符組成 每個(gè)字節(jié)的位
· 1 個(gè)起始位
· 8 個(gè)數(shù)據(jù)位,最小的有效位先發(fā)送
· 1 個(gè)奇偶校驗(yàn)位,無校驗(yàn)則無
· 1 個(gè)停止位(有校驗(yàn)時(shí)),2 個(gè) Bit(無校驗(yàn)時(shí)) 錯(cuò)誤檢測(cè)域
· CRC(循環(huán)冗長(zhǎng)檢測(cè))
· CRC(循環(huán)冗長(zhǎng)檢測(cè))
本文標(biāo)簽:Modbus 通信協(xié)議
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《Modbus 通信協(xié)議》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
關(guān)于“Modbus 通信協(xié)議”的更多資訊










