Modbus協議

1、Modbus協議簡介

Modbus一個工業上經常使用的通信協議、一種通信約定。
協議包括了:RTU、ASCII、TCP。其中RTU最經常使用,較簡單,在單片機上很容易實現
通信方式:主從-雙向讀寫
經常使用接口形式:RS232C、RS48五、RS422
經常使用波特率:1200、1800、2400、4800、9600、12500 等等
常見設備默認波特率:9600
自動化領域中RTU模式每一個字節格式:
編碼系統:八位二進制,16進制0-9 A-F
數據位:1起始位
8位數據低位先送
奇偶校驗1位,無校驗0位
中止位:帶校驗1位,無校驗兩中止位
編碼

1.2 報文格式及解析
  • 如圖爲協議格式:

分析一條實際報文:01 06 00 01 00 17 98 04blog

從機地址 功能號 數據地址 數據 CRC校驗
01 06 00 01 00 17 98 04

這串命令會把數據 0x0017(十進制23) 寫入 1號從機地址 0x0001數據地址。接口

1.2.2 從機地址
  • 00 爲廣播地址
  • 01-FF(255) 從機地址(從機有效設備地址範圍:01-247)
  • 01 就位一號機,會往指定從機發送命令
1.2.3 功能號

  • 經常使用功能號:
    01 (0x01) 讀線圈
    02 (0x02) 讀離散量輸入
    03 (0x03) 讀保持寄存器
    04(0x04) 讀輸入寄存器
    05 (0x05) 寫單個線圈
    06 (0x06) 寫單個寄存器
    15 (0x0F) 寫多個線圈
    16 (0x10) 寫多個寄存器
  1. 主機對從機 01 寫數據操做:功能號06
    若是單片機接收到一個報文那麼就對報文進行解析執行相應的處理,如報文:
    01 06 00 01 00 17 98 04it

  2. 主機對從機 01 讀數據操做:功能號03
    主機進行讀HoldDataReg[1] 操做,如報文:
    01 03 00 01 00 01 D5 CA
    從機返回格式爲:自動化

從機地址 功能號 數據字節個數 兩個字節數據 CRC校驗
01 03 02 0017 F8 4A

MODBUS主機就完成了一次對從機數據的讀操做,實現了通信。table

相關文章
相關標籤/搜索