MODBUS RTU的报文格式

如果是想通过串口调试助手给PLC发命令的话,假设PLC从站地址为1的情况下,比如要对Q0.0进行置位的话,可以发如下命令:
01 0F 00 00 00 08 01 01 3F 55
其中:
01:从站地址,指的就是PLC站地址
0F:功能码,用来写多路位变量的功能码
00:预写的寄存器起始地址高8位
00:预写的寄存器起始地址低8位
00:预写的寄存器个数的高8位
08:预写的寄存器个数的低8位
01:预写寄存器数据的字节计数,8个位变量组成一个字节,所以为01
01:预写的寄存器数据内容,最低位为1,即就是给Q0.0置位
3F:CRC校验的低8位
55:CRC校验的高8位
如果是想通过串口调试助手给PLC发命令的话,假设PLC从站地址为1的情况下,比如要对Q0.0进行置位的话,可以发如下命令:
01 0F 00 00 00 08 01 01 3F 55
其中:
01:从站地址,指的就是PLC站地址
0F:功能码,用来写多路位变量的功能码
00:预写的寄存器起始地址高8位
00:预写的寄存器起始地址低8位
00:预写的寄存器个数的高8位
08:预写的寄存器个数的低8位
01:预写寄存器数据的字节计数,8个位变量组成一个字节,所以为01
01:预写的寄存器数据内容,最低位为1,即就是给Q0.0置位
3F:CRC校验的低8位
55:CRC校验的高8位
上述,如果只是对一个Q区的位进行置位、复位操作的话,也可以用05功能码,命令如下:
01 05 00 00 FF 00 8C 3A
解释如下:
01:地址码
05:功能码
00 00:寄存器地址
FF:对位变量置位的数据内容,如果复位的话则为00
00:位变量的原状态
8C 3A:CRC校验
如果要对多路Q区执行写操作的话,则寄存器起始地址必须为Q0.0、Q1.0、Q2.0等开始,寄存器个数必须是8的整倍数!
  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值