01H-讀線圈狀態
1)描述:讀從(cong) 機線圈寄存器,位操作,可讀單個(ge) 或者多個(ge) ;
2)發送指令:
假設從(cong) 機地址位0x01,寄存器開始地址0x0023,寄存器結束抵製0x0038,總共讀取21個(ge) 線圈。協議圖如下:
3)響應:
返回數據的每一位對應線圈狀態,1-ON,0-OFF,如下圖;
上表中data1表示0x0023-0x002a的線圈狀態,data1的最低位代表最低地址的線圈狀態,可以理解為(wei) 小端模式;
data2表示地址0x002b-0x0033的線圈狀態,如下表:
data3表示地址0x0034-0x0038的線圈狀態,不夠8位,字節高位填充為(wei) 0,如下表:
02H-讀離散輸入狀態
1):讀離散輸入寄存器,位操作,可讀單個(ge) 或多個(ge) ,協議類似功能碼0X01協議,此處省;
03H-讀保持寄存器
1)描述:讀保持寄存器,字節指令操作,可讀單個(ge) 或者多個(ge) ;
2)發送指令:
從(cong) 機地址0x01,保持寄存器起始地址0x0032,讀2個(ge) 保持寄存器
3)響應:
數據存儲(chu) 順序
04H-讀輸入寄存器
1)描述:讀輸入寄存器,字節指令操作,可讀單個(ge) 或者多個(ge) ;
2)發送指令:同03H;
3)響應:同03H;
05H-寫(xie) 單個(ge) 線圈
1)描述:寫(xie) 單個(ge) 線圈,位操作,隻能寫(xie) 一個(ge) ,寫(xie) 0xff00表示設置線圈狀態為(wei) ON,寫(xie) 0x0000表示設置線圈狀態為(wei) OFF
2)發送指令:
設置0x0032線圈為(wei) ON;
3)響應:
同發送指令;
06H-寫(xie) 單個(ge) 保持寄存器
1)描述:寫(xie) 單個(ge) 保持寄存器,字節指令操作,隻能寫(xie) 一個(ge) ;
2)發送指令:
寫(xie) 0x0032保持寄存器為(wei) 0x1232;
3)響應:同發送指令;
0FH-寫(xie) 多個(ge) 線圈
1)描述:寫(xie) 多個(ge) 線圈寄存器。若數據區的某位值為(wei) “1”表示被請求的相應線圈狀態為(wei) ON,若某位值為(wei) “0”,則為(wei) 狀態為(wei) OFF。
2)發送指令:
線圈地址為(wei) 0x04a5,寫(xie) 12個(ge) 線圈,
上圖中DATA1為(wei) 0x0c,表示:
DATA2為(wei) 0x02,不夠8位,字節高位填充0:
3)響應:
10H-寫(xie) 多個(ge) 保持寄存器
1)描述:寫(xie) 多個(ge) 保持寄存器,字節指令操作,可寫(xie) 多個(ge) ;
2)發送指令:
保持寄存器起始地址為(wei) 0x0034,寫(xie) 2個(ge) 寄存器4個(ge) 字節的數據;
3)響應: