Modbus 通訊協議是什么?
Modbus是由Modicon(現為施耐德電氣公司的一個品牌)在1979年發明的,是全球第一個真正用于工業現場的總線協議。為更好地普及和推動Modbus在基于以太網上的分布式應用,目前施耐德公司已將Modbus協議的所有權移交給IDA(Interface for Distributed Automation,分布式自動化接口)組織,并成立了Modbus-IDA組織,為Modbus今后的發展奠定了基礎。
MODBUS是一種國際標準的通訊協議,用于不同廠商之間的設備交換數據(一般是工業用途);
Modbus 協議是應用于電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以通信。它已經成為一通用工業標準。有了它,不同廠商生產的控制設備可以連成工業網絡,進行集中監控。此協議定義了一個控制器能認識使用的消息結構,而不管它們是經過何種網絡進行通信的。
它描述了一控制器請求訪問其它設備的過程,如何回應來自其它設備的請求,以及怎樣偵測錯誤并記錄。它制定了消息域格局和內容的公共格式。Modbus是一種單主站的主/從通信模式。一條Modbus網絡上同時只能有一臺主站,從站可以有若干個。
Modbus具有以下幾個特點:
1.標準、開放,用戶可以免費、放心地使用Modbus協議,不需要交納許可證費,也不會侵犯知識產權。目前,支持Modbus的廠家超過400家,支持Modbus的產品超過600種。
2.Modbus可以支持多種電氣接口,如RS-232、RS-485等,還可以在各種介質上傳送,如雙絞線、光纖、無線等。
3.Modbus的幀格式簡單、緊湊,通俗易懂。用戶使用容易,廠商開發簡單。
一般情況下,兩臺設備通過MODBUS協議傳輸數據:最早是用RS232作為硬件接口,(也就是普通電腦上的串行通訊口(串口));也有用RS422的,也有常用的RS485,這種接口傳輸距離遠,在一般工業現場用的比較多。
MODBUS協議著名的又分MODBUS RTU,MODBUS ASCII和后來發展的MODBUS TCP三種模式。
Modbus RTU和Modbus TCP的區別
Modbus RTU和Modbus TCP是Modbus通信中比較好用的兩個協議,兩者協議很相似。
在工業現場一般都是采用Modbus RTU協議,一般而言,大家說的基于串口通信的Modbus通信協議都是指Modbus RTU通信協議。與Modbus RTU協議相比較,Modbus TCP協議則是在RTU協議上加一個MBAP報文頭,并且由于TCP是基于可靠連接的服務,RTU協議中的CRC校驗碼就不再需要,所以在Modbus TCP協議中是沒有CRC校驗碼的,所以就常用一句比較通俗的話來說:Modbus TCP協議就是Modbus RTU協議在前面加上五個0以及一個6,然后去掉兩個CRC校驗碼字節就OK。雖然這句話說得不是特別準確,但是也基本上把RTU與TCP之間的區別說得比較清楚了。
RTU協議中的指令由地址碼(一個字節),功能碼(一個字節),起始地址(兩個字節),數據(N個字節),校驗碼(兩個字節)五個部分組成。
數據由數據長度(兩個字節,表示的是寄存器個數,假定為M)和數據正文(M乘以2個字節)組成。
發:01 03 01 8E 00 04 25 DE //讀(0x03),從寄存器地址01 8E 開始讀,讀4個寄存器00 04
回:01 03 08 00 01 00 01 00 01 00 01 28 D7 // 08表示數據長度 ,00 01 00 01 00 01 00 01讀到的數據
發:00 10 00 20 00 01 02 00 00 AC A0 // 寫(0x10),從寄存器地址 00 20開始寫,寫一個寄存器 00 01,寫入值 00 00
回:00 10 00 20 00 01 01 D2
Modbus TCP協議是在RTU協議前面添加MBAP報文頭,由于TCP是基于可靠連接的服務,RTU協議中的CRC校驗碼就不再需要,所以在Modbus TCP協議中是沒有CRC校驗碼。
|
可以理解為報文的序列號,一般每次通信之后就要加1以區別不同的通信數據報文
|
|
|
|
|
|
|
發:00 00 00 00 00 06 00 03 00 20 00 01
回:00 00 00 00 00 05 00 03 02 00 00
發:00 00 00 00 00 06 00 04 00 30 00 01
回:00 00 00 00 00 05 00 04 02 00 08
發:00 00 00 00 00 09 00 10 00 20 00 01 02 00 00
回:00 00 00 00 00 06 00 10 00 20 00 01
免責聲明:本網站部分文章、圖片等信息來源于網絡,版權歸原作者平臺所有,僅用于學術分享,如不慎侵犯了你的權益,請聯系我們,我們將做刪除處理!