一、Modbus Tcp
以下指令均為16進制數。
1.讀多個地址。
0000 0000 0006 01 03 0001 0010
0000:事務標識符(2字節) ,沒有特別定義;
0000:協議標識符(2字節) ,MODBUS協議的場合為0000H;
0006:長度(2字節),后面所跟的字節長度;
01 :單元標識符(1字節),站號,或者說機器地址;
03:功能(1字節) ,請指定功能代碼;(功能代碼補充:03讀多個地址,06寫單個地址,10寫多個地址)
0001:起始數據地址;
0010:讀個數。
2.寫單個地址。
0000 0000 0006 01 06 00FF 000A
0000:事務標識符(2字節) ,沒有特別定義;
0000:協議標識符(2字節) ,MODBUS協議的場合為0000H;
0006:長度(2字節),后面所跟的字節長度;
01 :單元標識符(1字節),站號,或者說機器地址;
06:功能(1字節) ,請指定功能代碼;(功能代碼補充:03讀多個地址,06寫單個地址,10寫多個地址)
00FF:寫入地址;
000A:寫入數據。
3.寫多個地址。
0000 0000 000B 01 10 0001 0002 04 000A 000B
0000:事務標識符(2字節) ,沒有特別定義;
0000:協議標識符(2字節) ,MODBUS協議的場合為0000H;
000B:長度(2字節),后面所跟的字節長度;
01 :單元標識符(1字節),站號,或者說機器地址;
10:功能(1字節) ,請指定功能代碼;(功能代碼補充:03讀多個地址,06寫單個地址,10寫多個地址)
0001:起始數據地址;
0002:寫個數;
04:字節數,寫個數*2;
000A:寫入數據1;
000B:寫入數據2。
二、Modbus RTU
以下指令均為16進制數。
1.讀多個地址。
01 03 0001 0010 15C6
01 :機器地址;
03:功能代碼;(功能代碼補充:03讀多個地址,06寫單個地址,10寫多個地址)
0001:起始數據地址;
0010:讀個數;
15C6:校驗代碼(CRC)。
2.寫單個地址。
01 06 00FF 000A 39FD
01 :機器地址;
06:功能代碼;(功能代碼補充:03讀多個地址,06寫單個地址,10寫多個地址)
00FF:寫入地址;
000A:寫入數據;
39FD:校驗代碼(CRC)。
3.寫多個地址。
01 10 0001 0002 04 000A 000B 53A6
01 :單元標識符(1字節),站號,或者說機器地址;
10:功能(1字節) ,請指定功能代碼;(功能代碼補充:03讀多個地址,06寫單個地址,10寫多個地址)
0001:起始數據地址;
0002:寫個數;
04:字節數,寫個數*2;
000A:寫入數據1;
000B:寫入數據2;
53A6:校驗代碼(CRC)。
CRC校驗可以通過http://www.ip33.com/crc.html計算獲得,使用實例如下圖: