1、 讀取保持寄存器(單個和多個,以字為最小單位)
發(fā)送命令幀:
設備地址
功能碼
地址h
地址l
數據量h
數據量l
crc h
crc l
addr0
3 h
holdstart
datanum
crc高位
crc低位
幀 長 度:8個字節(jié)
設備地址:1~247
功 能 碼:3h
數據地址:0~65535 具體范圍與相關設備有關
數 量:1~65535 具體范圍與相關設備有關
校 驗 碼:crc16校驗
返回命令幀:
設備地址
功能碼
數據量
數據1
數據n
crc h
crc l
addr1
3 h
返回數據的字節(jié)數n
data (1~n)
crc高位
crc低位
幀 長 度:5+n 個字節(jié)
設備地址:1~247
功 能 碼:3h
數 據 量:實際的讀取數據數量
數 據:返回數據的意義
a=holdstart
n= datanum-1
vw a (vb a)
vwa(vb a+1)
…
vw a+n(vb a+n)
vwa+n(vb a+n+1)
data(1)
data(2)
…
data(n-1)
data(n)
校 驗 碼:crc16校驗
命令有誤:
1) 沒有任何返回
2) 返回異議幀
設備地址
功能碼
錯誤信息
crc h
crc l
addr1
83 h
一個字節(jié)的錯誤信息
crc高位
crc低位
2、 設置保持寄存器(多個,以字為最小單位)
發(fā)送命令幀:
設備地址
功能碼
地址h
地址l
數據量h
數據量l
數據字節(jié)數
具體
數據
crc h
crc l
addr0
10 h
holdstart
datanum
bytn
1~bytn
crc高位
crc低位
幀 長 度:9+bytn 個字節(jié)
設備地址:1~247
功 能 碼:10h
數據地址:0~65535 具體范圍與相關設備有關
數 量:1~122 具體范圍與相關設備有關
字 節(jié) 數:設置的字節(jié)個數 bytn= datanum×2
#p#分頁標題#e#數 據:具體的字節(jié)數據
校 驗 碼:crc16校驗
返回命令幀:
設備地址
功能碼
地址h
地址l
數據量h
數據量l
crc h
crc l
addr1
10 h
holdstart
datanum
crc高位
crc低位
幀 長 度:8 個字節(jié)
設備地址:1~247
功 能 碼:10h
數據地址:0~65535 具體范圍與相關設備有關
數 量:1~122 具體范圍與相關設備有關
校 驗 碼:crc16校驗
命令有誤:
1) 沒有任何返回
2) 返回異議幀
地址
功能碼
錯誤信息
crc h
crc l
addr1
90 h
一個字節(jié)的錯誤信息
crc高位
crc低位