作為工控人,Modbus通訊協議想必都不陌生,Modbus通訊協議可以說是工業自動化領域應用最為廣泛的通訊協議,因為它的開放性、可擴充性和標準化,使它成為通用工業標準。
Modbus協議的優點我覺得不用多說,這篇文章,主要是想跟大家聊聊Modbus協議的缺點。
凡事都有雙面性,任何協議都有自身的不足之處,Modbus有缺點,并不意味它就是一個不好的協議,希望大家理性看待。
1、讀取數據量的限制
下面這張圖表示的是ModbusRTU協議03功能碼的數據格式:
從圖中我們可以看到從站返回數據的數據個數(字節計數)只占了一個字節。
由于字節計數只占用1個字節,導致讀取輸入/保持寄存器時,一次性最多只能讀取127個寄存器,這個對于某些數據量非常大的場合,就需要讀取多次,才能讀取到所有的數據,這樣通信效率必然會降低。
2、不支持寄存器位的寫入
Modbus常用的8個功能碼當中,是沒有針對寄存器的位寫入的。所以當我們需要給某個寄存器的某個位置位或者復位時,就會變得非常麻煩。
我們一般的處理方式有兩種:
第一種方式:我們需要先讀取這個寄存器的值,然后再將這個值的某個位處理之后,將處理后的值進行寫入,相當于需要交互兩次才可以實現,并且這種方式從某種角度上來說是不安全的。
第二種方式:我們可以用一個寄存器代替一個位,寫入1表示為True,寫入0表示為False,這種方式可以單次交互實現,但是會浪費很多內存空間。
Modbus協議是1979年誕生,現在已經應用在成千上萬個設備當中了,我相信發明者肯定也知道這樣的問題,但是無法統一去更改。
也許某一天Modbus協議可以解決這兩個問題......
也許有的人會說Modbus協議存在安全漏洞,我覺得Modbus協議作為工業現場應用,它的目的是實現數據交互,在不聯網的環境下,沒有攻擊就沒有傷害。
-
寄存器
+關注
關注
31文章
5397瀏覽量
122665 -
RTU
+關注
關注
0文章
427瀏覽量
29118 -
工業自動化
+關注
關注
17文章
2599瀏覽量
67966 -
ModBus通信
+關注
關注
0文章
32瀏覽量
2722
發布評論請先 登錄
相關推薦
什么是Modbus協議?如何寫穩定的Modbus代碼?
modbus協議筆記
Modbus協議的理解
Modbus協議網關是什么?Modbus協議網關的功能
Modbus協議的工作原理、優缺點及應用

評論