Modbus已經成為工業領域通信協議的工業標準(Facto ),現在是工業電子設備之間常用的連接方式。Modbus比其他通信協議應用更廣泛的主要原因是:
1,公開發表,無版權要求。
2、易於部署和維護
3.對於供應商來說,修改移動本地位或字節沒有太多限制。
Modbus允許多個(大約240個)設備在同壹個網絡上通信,例如,壹個設備測量溫度和濕度並將結果發送給計算機。在數據采集和監控系統(SCADA)中,Modbus通常用於連接監控計算機和遠程終端控制系統(RTU)。
擴展數據:
協議版本
Modbus協議目前用於串行端口、以太網和其他支持互聯網協議的網絡。
大多數Modbus設備通過串口EIA-485物理層進行通信。
對於串行連接,有兩種變體,在數字數據表示和協議細節上略有不同。
Modbus RTU是數據的緊湊和二進制表示,Modbus ASCII是人類可讀的冗長表示。兩種型號都使用串行通信。
RTU格式的後續命令/數據具有循環冗余校驗的校驗和,而ASCII格式使用縱向冗余校驗的校驗和。配置為RTU變體的節點不會與設置為ASCII變體的節點通信,反之亦然。
對於通過TCP/IP(如以太網)的連接,有幾種Modbus/TCP變體,不需要校驗和計算。
對於這三種通信協議,數據模型和函數調用都是相同的,只是封裝方法不同。
Modbus有壹個擴展版本的Modbus Plus(Modbus+或MB+),但是這個協議是Modicon專有的,與Modbus不同。它需要壹個特殊的協處理器來處理類似HDLC的高速令牌循環。
它采用1Mbit/s雙絞線,每個節點都有壹個開關隔離器件,這是壹個用開關/邊沿觸發代替電壓/電平觸發的器件。將Modbus Plus連接到計算機需要特殊的接口,通常是支持ISA(SA85)、PCI或PCMCIA總線的板。
限制
1和Modbus是為1970結尾的PLC通訊開發的。這些有限的數據類型可以被當時的PLC理解,但是不支持大的二進制對象數據。
2.對於節點,沒有標準的方法來查找數據對象的描述信息。例如,確定寄存器數據是否表示30-175度之間的溫度。
3.因為Modbus是主/從協議,所以沒有辦法要求設備“報告異常”(基於以太網的TCP/IP協議除外,稱為open-mbus)——主節點必須循環查詢每個節點設備,找出數據的變化。在帶寬可能很重要的應用中,這種方法會消耗應用中的帶寬和網絡時間,例如低速無線鏈路。
4.Modbus在壹條數據鏈路上只能處理247個地址,這限制了可以連接到主控制站點的設備數量(再次排除以太網TCP/IP)。
5.Modbus傳輸是通過遠程通信設備之間緩沖數據來進行的,限制了通信的連續性,避免了傳輸中的緩沖漏洞問題。
6.Modbus協議本身不提供針對未授權命令或截取數據的安全性。
參考資料:
百度百科-Modbus通信協議