MODBUS TCP模塊協議結構是如何設計的?
MODBUS TCP是MODBUS系列中優秀的通信協議的一種,它主要用于監視和控制自動化設備,那么MODBUS的協議結構是怎樣的呢?下面由MODBUS TCP模塊廠家無錫凌科自動化為大家介紹一下MODBUS TCP模塊的協議結構。
需要特別注意的是,請求和響應主體的結構,從功能代碼到數據部分的末尾,具有與其他MODBUS變體完全相同的布局和含義,例如
MODBUS串口– ASCII編碼
MODBUS串口– RTU(二進制)編碼
MODBUS PLUS網絡–數據路徑
在其他情況下,唯一的區別是任何“成幀”序列,錯誤檢查模式和地址解釋的形式。
所有請求都通過TCP / IP在注冊端口502上發送。
通常在給定的連接上以半雙工的方式發送請求。也就是說,在響應未完成時,在單個連接上發送其他請求沒有任何好處。相反,鼓勵希望獲得高峰值傳輸速率的設備建立到同一目標的多個TCP / IP連接。但是,已知一些現有的客戶端設備嘗試“流水線”請求。
MODBUS“從站地址”字段被單字節“單元標識符”代替,該單元標識符可用于通過諸如網橋和網關之類的設備進行通信,這些設備使用單個IP地址來支持多個獨立的終端單元。
請求和響應的前綴為六個字節,如下所示
字節0: | 事務標識符–由服務器復制–通常為0 |
字節1: | 事務標識符–由服務器復制–通常為0 |
字節2: | 協議標識符= 0 |
字節3: | 協議標識符= 0 |
字節4: | 長度字段(高位字節)= 0(因為所有消息均小于256) |
字節5: | 長度字段(低位字節)=跟隨的字節數 |
字節6: | 單元標識符(以前是“從站地址”) |
字節7: | MODBUS功能碼 |
字節8: | 根據需要的數據 |
因此,示例事務“從UI 9偏移4處讀取1個寄存器”返回值5
要求: 00 00 00 00 00 06 09 03 00 04 00 01
回應: 00 00 00 00 00 05 09 03 02 00 05
熟悉MODBUS的設計人員應注意,MODBUS中不需要“ CRC-16”或“ LRC”檢查字段。而是使用TCP / IP / IP和鏈路層(例如,以太網)校驗和機制來驗證數據包的準確傳遞。了解更多有關ETHERCAT模塊、CANOPEN模塊、DEVICENET模塊作用、MODBUS TCP模塊歡迎前往PROFINET模塊廠家無錫凌科自動化公司。