可能你還不知道什么是Modbus,其實(shí),Modbus在現(xiàn)實(shí)生活中應(yīng)用非常廣泛,很多工業(yè)電子設(shè)備的系統(tǒng)中基本都有它的存在。
今天針對(duì)初學(xué)描述關(guān)于一些Modbus常見的問題。
什么是Modbus?
Modbus 是由 Modicon 公司(現(xiàn)施耐德),于1979年針對(duì) PLC 開發(fā)的一種通信協(xié)議,當(dāng)時(shí)主要用于工業(yè)電子設(shè)備之間聯(lián)網(wǎng)通信。
Modbus 是一種應(yīng)用層通信息協(xié)議,位于 OSI(開放式系統(tǒng)互聯(lián)通信)模型的第 7 層。它在不同類型的總線或網(wǎng)絡(luò)上連接的設(shè)備之間提供客戶端/服務(wù)器通信。
Modbus 是由一個(gè) Master(主機(jī)) 和最多 247 個(gè) Slave(從機(jī))組成的通信網(wǎng)絡(luò)。
Modbus干什么用?
Modbus 是一種開放的通信協(xié)議,你可以免費(fèi)將其應(yīng)用到你的設(shè)備中,而無(wú)需支付版稅。
Modbus 是一種廣泛使用的標(biāo)準(zhǔn)通信協(xié)議,你和其他廠家的設(shè)備,如果都遵循 Modbus 標(biāo)準(zhǔn)協(xié)議,就可以進(jìn)行通信傳輸數(shù)據(jù)。
Modbus是如何工作的?
Modbus 通常底層基于 UART 串口485進(jìn)行通信,最簡(jiǎn)單的一個(gè)主設(shè)備和一個(gè)從設(shè)備通信,就是通過串口Tx和Rx進(jìn)行收發(fā)數(shù)據(jù)。
底層串口的通信,就是大家熟悉的“0”“1”通信,在這個(gè)基礎(chǔ)上,添加 Modbus 通信協(xié)議,方便解析協(xié)議和多設(shè)備組網(wǎng)。
一主多從,在從設(shè)備中都有唯一的地址,通過解析從機(jī)地址,主機(jī)就能和對(duì)應(yīng)的從機(jī)進(jìn)行通信。
什么是Modbus ASCII?
Modbus ASCII是Modbus協(xié)議中的一種傳輸方式,對(duì)應(yīng)的還有另外一種
Modbus RTU傳輸方式。
施耐德電氣(Schneider Electric)收購(gòu)了Modicon公司之后,有推出了Modbus TCP協(xié)議。
什么是從機(jī)地址?
從機(jī)地址(或從站ID),就是為每一個(gè)從設(shè)備分配的唯一地址,方便主機(jī)建立通信時(shí)進(jìn)行識(shí)別,從機(jī)地址在出廠時(shí)就會(huì)設(shè)置好。
什么是功能碼?
功能碼是 Modbus 通信協(xié)議中的一項(xiàng),主機(jī)發(fā)送的第二個(gè)字節(jié)就是功能碼。就是你看到的讀寫線圈寄存器那些內(nèi)容。
下面貼幾個(gè)常見功能碼:
什么是CRC?
正規(guī)的通信協(xié)議基本都有校驗(yàn)碼,目的就是為了確保傳輸?shù)臄?shù)據(jù)沒有錯(cuò)誤。像校驗(yàn)和、CRC校驗(yàn)等是嵌入式設(shè)備通信協(xié)議常見的校驗(yàn)碼。
Modbus使用CRC循環(huán)冗余校驗(yàn),其校驗(yàn)信息位于消息末尾的兩個(gè)字節(jié)。
什么是字/字節(jié)排序?
字節(jié)排序就是先存儲(chǔ)(傳輸)高字節(jié),還是先傳輸?shù)妥止?jié)。比如:0x1234,它是兩個(gè)字節(jié),傳輸時(shí)通常是分0x12和0x34傳輸。
在通信中,會(huì)牽涉到一個(gè)字節(jié)排序的問題,但在Modbus 規(guī)范中并未準(zhǔn)確定義數(shù)據(jù)在寄存器中的存儲(chǔ)方式。
Modbus標(biāo)準(zhǔn)協(xié)議沒有具體約定,就需要開發(fā)者在開發(fā)過程中人為約定先傳輸高字節(jié),還是低字節(jié)。
最后
Modbus是一種應(yīng)用非常廣泛的標(biāo)準(zhǔn)通信協(xié)議,工業(yè)自動(dòng)化,電子,嵌入式等這些專業(yè)的同學(xué),建議都抽時(shí)間學(xué)習(xí)一下。
編輯:jq
-
MODBUS
+關(guān)注
關(guān)注
28文章
1718瀏覽量
76419 -
ASCII
+關(guān)注
關(guān)注
5文章
171瀏覽量
34949 -
uart
+關(guān)注
關(guān)注
22文章
1199瀏覽量
100829
原文標(biāo)題:Modbus 多個(gè)常見的問題
文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論