VB modbus协议发送命令
3个回答
展开全部
modbus命令码03 是读多个寄存器的值,数据1234567不符合帧格式的要求,因为若1234(前4位)是地址,则数据长度567超出了最大值(125)。
例子:设备地址 01,命令03,读起始地址为30006的10个寄存器的数值,modbus-rtu帧格式为:
01 03 00 06 00 0A CRC
其中,CRC需要计算,并占2个字节。
例子:设备地址 01,命令03,读起始地址为30006的10个寄存器的数值,modbus-rtu帧格式为:
01 03 00 06 00 0A CRC
其中,CRC需要计算,并占2个字节。
更多追问追答
追问
谢谢回答,06后面的的00 0A 是什么根据什么出来的?
追答
寄存器的数量(10个),占2个字节,10的十六进制是0A,所以是00 0A。
展开全部
03命令码的规范:
RTU:
站号 + 命令码 + 要读取的参数通讯地址 + 读取的个数 + 校验和(CRC)
ASCII:
起始符 + 站号 + 命令码 + 要读取的参数通讯地址 + 读取的个数 + + 校验和(LRC) +
结束符
您一定要搞懂MODBUS通讯协议的原理,才能进行编程。
RTU:
站号 + 命令码 + 要读取的参数通讯地址 + 读取的个数 + 校验和(CRC)
ASCII:
起始符 + 站号 + 命令码 + 要读取的参数通讯地址 + 读取的个数 + + 校验和(LRC) +
结束符
您一定要搞懂MODBUS通讯协议的原理,才能进行编程。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-10-23 · 知道合伙人教育行家
关注
展开全部
modbus命令码03 是读多个寄存器的值,数据1234567不符合帧格式的要求,因为若1234(前4位)是地址,则数据长度567超出了最大值(125)。
例子:设备地址 01,命令03,读起始地址为30006的10个寄存器的数值,modbus-rtu帧格式为:
01 03 00 06 00 0A CRC
其中,CRC需要计算,并占2个字节。
Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还有抱怨VB的开发者。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
例子:设备地址 01,命令03,读起始地址为30006的10个寄存器的数值,modbus-rtu帧格式为:
01 03 00 06 00 0A CRC
其中,CRC需要计算,并占2个字节。
Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还有抱怨VB的开发者。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询