MODBUS TCP
讀寄存器 請(qǐng)求 |
序號(hào) |
意義 |
所占字節(jié) |
字節(jié)存放格式 |
1 |
事務(wù)處理標(biāo)識(shí) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
2 |
協(xié)議標(biāo)識(shí) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
3 |
長(zhǎng)度 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
4 |
單元標(biāo)識(shí) |
1個(gè)字節(jié) |
0x00-0xff |
|
5 |
功能碼 |
1個(gè)字節(jié) |
0x03 |
|
6 |
起始寄存器地址 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
7 |
寄存器個(gè)數(shù) |
2個(gè)字節(jié) |
高字節(jié)在前 |
讀寄存器 回應(yīng) |
序號(hào) |
意義 |
所占字節(jié) |
字節(jié)存放格式 |
1 |
事務(wù)處理標(biāo)識(shí) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
2 |
協(xié)議標(biāo)識(shí) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
3 |
長(zhǎng)度 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
4 |
單元標(biāo)識(shí) |
1個(gè)字節(jié) |
0x00-0xff |
|
5 |
功能碼 |
1個(gè)字節(jié) |
0x03 |
|
6 |
數(shù)據(jù)長(zhǎng)度 |
1個(gè)字節(jié) |
寄存器個(gè)數(shù)*2 |
|
7 |
數(shù)據(jù) |
寄存器個(gè)數(shù) *2個(gè)字節(jié) |
每個(gè)寄存器 高字節(jié)在前 |
寫(xiě)單個(gè) 寄存器 請(qǐng)求 |
序號(hào) |
意義 |
所占字節(jié) |
字節(jié)存放格式 |
1 |
事務(wù)處理標(biāo)識(shí) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
2 |
協(xié)議標(biāo)識(shí) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
3 |
長(zhǎng)度 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
4 |
單元標(biāo)識(shí) |
1個(gè)字節(jié) |
0x00-0xff |
|
5 |
功能碼 |
1個(gè)字節(jié) |
0x10 |
|
6 |
寄存器地址 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
7 |
寄存器數(shù)值 |
2個(gè)字節(jié) |
高字節(jié)在前 |
寫(xiě)單個(gè) 寄存器 回應(yīng) |
序號(hào) |
意義 |
所占字節(jié) |
字節(jié)存放格式 |
1 |
事務(wù)處理標(biāo)識(shí) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
2 |
協(xié)議標(biāo)識(shí) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
3 |
長(zhǎng)度 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
4 |
單元標(biāo)識(shí) |
1個(gè)字節(jié) |
0x00-0xff |
|
5 |
功能碼 |
1個(gè)字節(jié) |
0x10 |
|
6 |
寄存器地址 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
7 |
寄存器數(shù)值 |
2個(gè)字節(jié) |
高字節(jié)在前 |
寫(xiě)多個(gè) 寄存器 請(qǐng)求 |
序號(hào) |
意義 |
所占字節(jié) |
字節(jié)存放格式 |
1 |
事務(wù)處理標(biāo)識(shí) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
2 |
協(xié)議標(biāo)識(shí) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
3 |
長(zhǎng)度 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
4 |
單元標(biāo)識(shí) |
1個(gè)字節(jié) |
0x00-0xff |
|
5 |
功能碼 |
1個(gè)字節(jié) |
0x10 |
|
6 |
起始寄存器地址 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
7 |
寄存器個(gè)數(shù) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
8 |
數(shù)據(jù)長(zhǎng)度 |
1個(gè)字節(jié) |
寄存器個(gè)數(shù)*2 |
|
9 |
數(shù)據(jù) |
寄存器個(gè)數(shù) *2個(gè)字節(jié) |
每個(gè)寄存器 高字節(jié)在前 |
寫(xiě)多個(gè) 寄存器 回應(yīng) |
序號(hào) |
意義 |
所占字節(jié) |
字節(jié)存放格式 |
1 |
事務(wù)處理標(biāo)識(shí) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
2 |
協(xié)議標(biāo)識(shí) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
3 |
長(zhǎng)度 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
4 |
單元標(biāo)識(shí) |
1個(gè)字節(jié) |
0x00-0xff |
|
5 |
功能碼 |
1個(gè)字節(jié) |
0x10 |
|
6 |
起始寄存器地址 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
7 |
寄存器個(gè)數(shù) |
2個(gè)字節(jié) |
高字節(jié)在前 |
錯(cuò)誤返回 |
序號(hào) |
意義 |
所占字節(jié) |
字節(jié)存放格式 |
1 |
事務(wù)處理標(biāo)識(shí) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
2 |
協(xié)議標(biāo)識(shí) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
3 |
長(zhǎng)度 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
4 |
單元標(biāo)識(shí) |
1個(gè)字節(jié) |
0x00-0xff |
|
5 |
功能碼 |
1個(gè)字節(jié) |
請(qǐng)求功能碼+0x80 |
|
6 |
錯(cuò)誤碼 |
1個(gè)字節(jié) |
其代號(hào)見(jiàn)表格 |
錯(cuò)誤代碼 |
錯(cuò)誤代號(hào) |
意義 |
0x01 |
不支持該功能碼 |
|
0x02 |
越界 |
|
0x03 |
寄存器數(shù)量超出范圍 |
|
0x04 |
讀寫(xiě)錯(cuò)誤 |
MODBUS RTU
讀寄存器 請(qǐng)求 |
序號(hào) |
意義 |
所占字節(jié) |
字節(jié)存放格式 |
1 |
從設(shè)備地址 |
1個(gè)字節(jié) |
0x00-0xff |
|
2 |
功能碼 |
1個(gè)字節(jié) |
0x03 |
|
3 |
起始寄存器地址 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
4 |
寄存器個(gè)數(shù) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
5 |
CRC校驗(yàn)碼 |
2個(gè)字節(jié) |
低字節(jié)在前 |
讀寄存器 回應(yīng) |
序號(hào) |
意義 |
所占字節(jié) |
字節(jié)存放格式 |
1 |
從設(shè)備地址 |
1個(gè)字節(jié) |
0x00-0xff |
|
2 |
功能碼 |
1個(gè)字節(jié) |
0x03 |
|
3 |
數(shù)據(jù)長(zhǎng)度 |
1個(gè)字節(jié) |
寄存器個(gè)數(shù)*2 |
|
4 |
數(shù)據(jù) |
寄存器個(gè)數(shù) *2個(gè)字節(jié) |
每個(gè)寄存器 高字節(jié)在前 |
|
5 |
CRC校驗(yàn)碼 |
2個(gè)字節(jié) |
低字節(jié)在前 |
寫(xiě)單個(gè) 寄存器 請(qǐng)求 |
序號(hào) |
意義 |
所占字節(jié) |
字節(jié)存放格式 |
1 |
從設(shè)備地址 |
1個(gè)字節(jié) |
0x00-0xff |
|
2 |
功能碼 |
1個(gè)字節(jié) |
0x10 |
|
3 |
起始寄存器地址 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
4 |
寄存器數(shù)值 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
5 |
CRC校驗(yàn)碼 |
2個(gè)字節(jié) |
低字節(jié)在前 |
寫(xiě)單個(gè) 寄存器 回應(yīng) |
序號(hào) |
意義 |
所占字節(jié) |
字節(jié)存放格式 |
1 |
從設(shè)備地址 |
1個(gè)字節(jié) |
0x00-0xff |
|
2 |
功能碼 |
1個(gè)字節(jié) |
0x10 |
|
3 |
起始寄存器地址 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
4 |
寄存器數(shù)值 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
5 |
CRC校驗(yàn)碼 |
2個(gè)字節(jié) |
低字節(jié)在前 |
寫(xiě)多個(gè) 寄存器 請(qǐng)求 |
序號(hào) |
意義 |
所占字節(jié) |
字節(jié)存放格式 |
1 |
從設(shè)備地址 |
1個(gè)字節(jié) |
0x00-0xff |
|
2 |
功能碼 |
1個(gè)字節(jié) |
0x10 |
|
3 |
起始寄存器地址 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
4 |
寄存器個(gè)數(shù) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
5 |
數(shù)據(jù)長(zhǎng)度 |
1個(gè)字節(jié) |
寄存器個(gè)數(shù)*2 |
|
6 |
數(shù)據(jù) |
寄存器個(gè)數(shù) *2個(gè)字節(jié) |
每個(gè)寄存器 高字節(jié)在前 |
|
7 |
CRC校驗(yàn)碼 |
2個(gè)字節(jié) |
低字節(jié)在前 |
寫(xiě)多個(gè) 寄存器 回應(yīng) |
序號(hào) |
意義 |
所占字節(jié) |
字節(jié)存放格式 |
1 |
從設(shè)備地址 |
1個(gè)字節(jié) |
0x00-0xff |
|
2 |
功能碼 |
1個(gè)字節(jié) |
0x10 |
|
3 |
起始寄存器地址 |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
4 |
寄存器個(gè)數(shù) |
2個(gè)字節(jié) |
高字節(jié)在前 |
|
5 |
CRC校驗(yàn)碼 |
2個(gè)字節(jié) |
低字節(jié)在前 |
錯(cuò)誤返回 |
序號(hào) |
意義 |
所占字節(jié) |
字節(jié)存放格式 |
1 |
從設(shè)備地址 |
1個(gè)字節(jié) |
0x00-0xff |
|
2 |
功能碼 |
1個(gè)字節(jié) |
請(qǐng)求功能碼+0x80 |
|
3 |
錯(cuò)誤碼 |
1個(gè)字節(jié) |
其代號(hào)見(jiàn)表格 |
|
4 |
CRC校驗(yàn)碼 |
2個(gè)字節(jié) |
低字節(jié)在前 |
錯(cuò)誤代碼 |
錯(cuò)誤代號(hào) |
意義 |
0x01 |
不支持該功能碼 |
|
0x02 |
越界 |
|
0x03 |
寄存器數(shù)量超出范圍 |
|
0x04 |
讀寫(xiě)錯(cuò)誤 |
MODBUS RTU 功能碼
下面“線圈”,“寄存器”其實(shí)分別為“位變量”,“16位變量”。
功能碼 |
意義 |
0x01 |
讀線圈 |
0x02 |
讀離散量輸入 |
0x03 |
讀保持寄存器 |
0x04 |
讀輸入寄存器 |
0x05 |
寫(xiě)單個(gè)線圈 |
0x06 |
寫(xiě)單個(gè)寄存器 |
0x0F |
寫(xiě)多個(gè)線圈 |
0x10 |
寫(xiě)多個(gè)寄存器 |
Modbus RTU與Modbus TCP讀指令對(duì)比
MBAP報(bào)頭文 |
地址碼 |
功能 碼 |
寄存器 地址 |
寄存器 數(shù)量 |
CRC校驗(yàn) |
|
RTU |
無(wú)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-818298.html |
01 |
03 |
01 8E |
00 04 |
25 DE |
TCP |
00 00 00 00 00 06 00 |
無(wú) |
03 |
01 8E |
00 04 |
無(wú) |
指令的涵義:從地址碼為01(TCP協(xié)議單元標(biāo)志為00)的模塊0x18E(01 8E)寄存器地址開(kāi)始讀(03)四個(gè)(00 04)寄存器。
Modbus RTU與Modbus TCP寫(xiě)指令對(duì)比
MBAP報(bào)頭文 |
地址碼 |
功能 碼 |
寄存器 地址 |
寄存器 數(shù)量 |
數(shù)據(jù) 長(zhǎng)度 |
正文 |
CRC校驗(yàn) |
|
?RTU |
無(wú) |
01 |
10 |
01 8E |
00 01 |
02 |
00 00 |
A8 7E |
?TCP |
00 00 00 00 00 09 00 |
無(wú) |
10 |
01 8E |
00 01 |
02 |
00 00 |
無(wú) |
指令的涵義:從地址碼為01(TCP協(xié)議單元標(biāo)志為00)的模塊0x18E(01 8E)寄存器地址開(kāi)始寫(xiě)(10)一個(gè)(00 01)寄存器,具體數(shù)據(jù)長(zhǎng)度為2個(gè)字節(jié)(02),數(shù)據(jù)正文內(nèi)容為00 00(00 00)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-818298.html
到了這里,關(guān)于modbus-tcp-rtu協(xié)議圖表的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!