modbus rtu功能码理解
聲明:此內容轉自http://www.elecfans.com/d/631762.html。
?
1 功能碼“02”:讀1路或多路開關量狀態輸入
例如:主機要讀取地址為01,開關量DI1—DI4的輸入狀態。
從機(PDM)數據寄存器的地址和數據為:
主機發送的報文格式:
從機(PDM)響應返回的報文格式:
2 功能碼“01”:讀1路或多路開關量輸出狀態
例如:主機要讀取地址為01,開關量DO1,DO2的輸出狀態。
從機(PDM)數據寄存器的地址和數據為:
主機發送的報文格式:
從機(PDM)響應返回的報文格式:
3 功能碼“03”:讀多路寄存器輸入
例如:主機要讀取地址為01,起始地址為0116的3個從機寄存器數據。
從機(PDM)數據寄存器的地址和數據為:
主機發送的報文格式:
從機(PDM)響應返回的報文格式:
4 功能碼“05”:寫1路開關量輸出(“遙控”)
例1:開關量輸出點DO1,其當前狀態為“分”,主機要控制該路繼電器“合”。
控制命令為:
“FF00”為控制繼電器“合”;
“0000”為控制繼電器“分”;
主機發送的報文格式:
從機(PDM)響應返回的報文格式:
與主機發送的報文格式及數據內容完全相同。
例2:開關量輸出點DO2,其當前狀態為“合”,主機要控制該路繼電器“分”。
主機發送的報文格式:
從機(PDM)響應返回的報文格式:
與主機發送的報文格式及數據內容完全相同。
5 功能碼“06”:寫單路寄存器
例如:主機要把數據07D0,保存到地址為002C的從機寄存器中去(從機地址碼為01)。通訊數據保存結束后,地址為002C的PDM表原存儲信息為:
主機發送的報文格式:
從機(PDM)響應返回的報文格式:
與主機發送的報文格式及數據內容完全相同。
6功能碼“10”:寫多路寄存器
主機利用這個功能碼把多個數據保存到PDM表的數據存儲器中去。Modbus通訊規約中的寄存器指的是16位(即2字節),并且高位在前。這樣PDM的存儲器都是二個字節。由于Modbus通訊規約允許每次最多保存60個寄存器,因此PDM一次也最多允許保存60個數據寄存器。
例如:主機要把0064,0010保存到地址為002C,002D的從機寄存器中去(從機地址碼為01)。通訊數據保存結束后,地址為002C/002D的PDM表內存儲信息為:
主機發送的報文格式:
從機(PDM)響應返回的報文格式:
總結
以上是生活随笔為你收集整理的modbus rtu功能码理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hibernate中主键生成策略
- 下一篇: 网页搜索怎么显示排名_深圳seo搜索排名