C#ModBus Tcp 報文解析

上一篇博客已經完成 C#ModBus Tcp Master的實現html

本篇主要對不一樣的功能碼所發出的報文進行解析(包括請求報文及響應報文)測試

讀操做spa

功能碼 0x01 讀一組線圈 讀取站號爲1 從地址12開始的10個線圈3d

測試結果htm

上一篇博客已經總結了讀操做報文格式,就按照格式劃分blog

 

報文解析:get

注意:報文中線圈起始地址 00000 對應設備中 10001 地址,其餘順延 博客

 

功能碼0x02 報文格式與功能碼0x01一致,只是第八字節的功能碼變爲02 其餘徹底一致,再也不重複解析it

功能碼0x03 讀一組保持寄存器 讀取站號爲1 從地址12開始的10個值ast

報文解析:

 功能碼0x04 報文格式與功能碼0x03一致,只是第八字節的功能碼變爲04 其餘徹底一致,也再也不重複解析

 

寫操做

操做碼:0x05 寫單個線圈  將站號爲1 地址爲21的線圈置爲On

注意:在報文中 指定線圈通斷標誌  FF00 置線圈爲ON  0000置線圈爲OFF

報文解析:

 

功能碼0x0F 寫一組線圈  將站號1 起始地址21  的連續五個線圈置爲 通,斷,斷,通,通

測試結果:

報文解析:

 

功能碼 0x06  寫單個保持寄存器  將6666寫入從站1 地址爲21 的保持寄存器中

測試結果

報文解析:

功能碼0x10  寫一組保持寄存器   例如 將12 23 34 45 56 67 78 分別寫入從站1 起始地址爲21的7個連續的保持寄存器中

測試結果

報文解析:

 

 

到此爲止,咱們經常使用的幾個ModBus功能碼報文都解析完畢了 有錯誤之處 但願你們不吝賜教,感謝(抱拳~)

C#ModBus Tcp Master

相關文章
相關標籤/搜索