1.前言
Modbus協議是應用於電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以通信。它已經成爲一種通用工業標準。有了它,不同廠商生產的控制設備可以連成工業網絡,進行集中監控。此協議定義了一個控制器能認識使用的消息結構,而不管它們是經過何種網絡進行通信的。它描述了一個控制器請求訪問其它設備的過程,如何迴應來自其它設備的請求,以及怎樣偵測錯誤並記錄。它制定了消息域格局和內容的公共格式。
當在同一Modbus網絡上通信時,此協議決定了每個控制器需要知道它們的設備地址,識別按地址發來的消息,決定要產生何種行動。如果需要回應,控制器將生成反饋信息並用Modbus協議發出。在其它網絡上,包含了Modbus協議的消息轉換爲在此網絡上使用的幀或包結構。這種轉換也擴展了根據具體的網絡解決節地址、路由路徑及錯誤檢測的方法。
此協議支持傳統的RS-232、RS-422、RS-485和以太網設備。許多工業設備,包括PLC,DCS,智能儀表等都在使用Modbus協議作爲他們之間的通信標準。
2. 移植與實踐文章
2.1 文章
小型嵌入式系統FreeModbus移植與實踐:http://blog.csdn.net/zgkxzx/article/details/46560979
linux嵌入式系統libmodbus移植與實踐:http://blog.csdn.net/zgkxzx/article/details/78231171
Android Modbus的實現–Modbus4Android:http://blog.csdn.net/zgkxzx/article/details/71630301
2.2 開源庫下載地址
libmobus : http://libmodbus.org/
(ps:自己上傳的到CSDN上方便大家下載,本來設置免費,但是沒有這個選項)
http://download.csdn.net/download/zgkxzx/10021543FreeModbus : https://www.freemodbus.org/
(ps:自己上傳的到CSDN上的,本來是設置免費,但是沒有這個選項)http://download.csdn.net/download/zgkxzx/10021538Modbus4Android : https://github.com/zgkxzx/Modbus4Android
FreeModbus STM32 RTT版: https://github.com/zgkxzx/FreeModbus_Slave-Master-RTT-STM32
(ps:這個庫是在RT-thread國產嵌入式操作系統上移植的FreeModbus,armink大神所作,主從模式都帶,很好用,原址: https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32)
3. 資源彙總
Modbus標準協議文檔:https://pan.baidu.com/s/1sl7HcdR
Modbus詳解文檔:https://pan.baidu.com/s/1i4FiDLj
Modbus調試工具 Master和slave模式都有: https://pan.baidu.com/s/1kVMMvX1
libmobus linux最佳實現庫 : http://libmodbus.org/
http://download.csdn.net/download/zgkxzx/10021543FreeModbus 嵌入式系統最佳實現庫 : https://www.freemodbus.org/
http://download.csdn.net/download/zgkxzx/10021538Modbus4Android Android的最佳實現庫下載地址 : https://github.com/zgkxzx/Modbus4Android
FreeModbus STM32 RTT版 STM32等單片機實現帶輕量級操作系統最好庫: https://github.com/zgkxzx/FreeModbus_Slave-Master-RTT-STM32
- Modbus4J java的modbus實現庫https://github.com/infiniteautomation/modbus4j