modbus协议

modbus协议有RTU和ASCIi两种类型

ASCII使用文本传输,整个数据包都是可打印字符

举例说明

0x01,0x03,0x00,0x00,0x00,0x01,0xFB

0x01是设备地址,0x03是功能码,0x0000是寄存器地址,0x0001是寄存器数量,0xFB是校验

则转成ascii,字符串如下

:010300000001FB\r\n

再举个例子

设备地址为0x10,我要用06功能码写0x0001寄存器,值为0xABCD。

0x10,0x06,0x00,0x01,0xAB,0xCD

然后转成字符串格式

10060001ABCD71

加上帧头帧尾巴

:10060001ABCD71\r\n

但是RTU数据帧是没有帧头帧尾的概念的,为了标识不同的数据帧,在报文帧之间插入空闲时间间隔,最小可以设置t3.5,就是3.5个字符的时间.

为了确保字符流的连续发送,就需要用t1.5的字符时间,同一帧数据的两个字符之间的时间间隔大于1.5字符,就被丢弃.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值