青岛软件培训
  • 首页 (current)
  • 培训课程
  • 开班公告
  • 万码励志
  • 技术文章
  • 万码人
  • 行业新闻
  • 培训问答
  • 学习笔记
  • 留言

IoTClient开发5 - ModBusRtu协议

2019-12-17 11:55

 

阅读目录

 
 
  • 01 站号
  • 03 功能码
  • 00 04 读取的寄存器的起始地址
  • 00 01 读取寄存器的个数
  • C5 CB 为CRC16的校验码【使用上面的CRC16类进行的计算结果,CRC16.GetCRC16([01,03,00,04,00,01])】

数据【读取-响应报文】:01 03 02 00 21 78 5C

  • 01 站号
  • 03 功能码
  • 02 数据的字节长度
  • 00 21 数据
  • 78 5C 为CRC16的校验码

数据【写入-请求报文】:01 10 00 04 00 01 02 00 21 67 CC

  • 01 站号
  • 10 功能码
  • 00 04 写入的寄存器的起始地址
  • 00 01 写入寄存器的个数
  • 02 写字节的个数
  • 00 21 要写的数据
  • 67 CC 为CRC16的校验码

数据【写入-响应报文】:01 10 00 04 00 01 40 08

  • 01 站号
  • 10 功能码
  • 00 04 写入的寄存器的起始地址
  • 00 01 写入寄存器的个数
  • 40 08 为CRC16的校验码

有了报文的分析,具体的协议实现也就不难了。完整实现可参考https://github.com/zhaopeiym/IoTClient/blob/master/IoTClient/Clients/ModBus/ModBusRtuClient.cs

IoTClient中ModBusRtu协议的使用

安装

Nuget安装 Install-Package IoTClient
或图形化安装

使用

//1、实例化客户端 - [COM端口名称,波特率,数据位,停止位,奇偶校验] ModBusRtuClient client = new ModBusRtuClient(
                
            

青岛软件培训

选择一家好的青岛软件培训学校,就要看教学质量和口碑

万码学堂-做最负责任的教育-联系电话0532-85025005

鲁ICP备09077726号-3