200的modbus RTU数据传输格式问题

【情况说明】

开发一个单片机设备与PLC226CN通过modbus RTU协议传输信息。做好了板子,并看了modbus RTU协议之后,准备开始测试通讯程序。

由于第一次接触modbus RTU通讯,所以先用“串口调试软件”监测一下226PLC在进行modbus RTU通讯时到底是发送的什么数据格式。

于是找来两个226CN,一个作为主站,一个作为从站,主从都是用0口通讯,主从波特率均为9600,主从均为无校验位,从站站号为9,从站40001对应的起始地址是&VB1000(我想这应该和通讯

数据没有关系)。经过测试,主PLC可以正常读和写从PLC的信息。

好,下面开始用串口调试软件,监视两个PLC在通讯时到底发送的什么数据。监视结果如下:

(1)主站PLC读取从PLC,40001开始,连续1个字,从站地址为9,波特率9600,无校验位。监测到主站发送的信号为:
7B 7E FF FF FD F5 2F

(2)主站PLC读取从PLC,40001开始,连续2个字,从站地址为9,波特率9600,无校验位。监测到主站发送的信号为:
7B 7E FF FF FB 75 5E

(3)主站PLC读取从PLC,40001开始,连续12个字,从站地址为9,波特率9600,无校验位。监测到主站发送的信号为:
7B 7E FF FF E7 77 F1

(4)主站PLC读取从PLC,40002开始,连续1个字,从站地址为9,波特率9600,无校验位。监测到主站发送的信号为:
7B 7E FD FF FD 57 EF

(5)主站PLC读取从PLC,40001开始,连续1个字,从站地址为8,波特率9600,无校验位。监测到主站发送的信号为:
2F FF FF FF FD F7 36

(6)主站PLC读取从PLC,40002开始,连续1个字,从站地址为8,波特率9600,无校验位。监测到主站发送的信号为:
2F FF FD FF FD 55 56

(7)主站PLC读取从PLC,40001开始,连续1个字,从站地址为7,波特率9600,无校验位。监测到主站发送的信号为:
7C 7E FF FF FD F7 12

(8)主站PLC读取从PLC,40002开始,连续1个字,从站地址为7,波特率9600,无校验位。监测到主站发送的信号为:
7C 7E FD FF FD 55 0A

(9)主站PLC读取从PLC,49999开始,连续1个字,从站地址为7,波特率9600,无校验位。监测到主站发送的信号为:
7C 7E FF FF FD F7 12

【问题】
(1)苍天啊,是不是我眼花了,这是根据modbus RTU协议生产的通讯数据吗,起码第一个字节一个是站号啊!后面的其它数据也不符合modbus RTU协议的格式要求啊。

(2)最后两个字节,是modbus RTU所要求的16为CRC校验吗?显然不是啊,这最后的校验形式又是什么啊?

(3)西门子到底是使用什么样的数据格式在进行所谓的modbus RTU通讯啊?这么搞的话,其它厂商怎么和他做配套啊?

【感谢】
感谢西门子平台,为我提供了这个信息交流的机会!
感谢各位的回答,给我帮助和启发!
感谢这次学习的机会,使我接触到了modbus RTU这神奇的通讯协议!
感谢各位的浏览,给我莫大的鼓励,争取早日解决这个问题!

最佳答案

估计是你RS485的+、-反了,所以接收的报文不对。

提问者对于答案的评价:
感谢大家的回答!
就是因为3和8接反了,最佳答案只能给最早回答的仁兄啦!

但还是非常感谢大家,尤其是“长沙恒威”已经是第二次回答我提出的问题了。

祝大家工作顺利,新年快乐啊!

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc221282.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年12月9日 下午11:23
下一篇 2017年12月9日 下午11:23

相关推荐

  • 高速脉冲信号如何转成速度值?

    我现在在做一个小项目,三台变频器(AC20)、S7200及增量编码器(1000转每周),现在用三种变量,编码器高速脉冲信号、AIW及AQW,AIW及AQW都经过线性化处理;工艺要求…

    SIMATIC S7-200 2020年11月1日
  • 243模块通讯故障

    一个光线局域网中s7-200cpu226cn用243模块通讯为它们分配不同的IP但为什么个别站经常经常通讯故障?需要上从新给243模块掉电才能正常通讯,注掉网后不影响运行只是局域网…

    SIMATIC S7-200 2017年6月27日
  • SIMATIC S7-200系列的CPU和模块UL证书

    最近可能要做一出口美国的项目。 部件都要求有UL认证。     我不知SIMATIC S7-200系列有没有U…

    2021年7月5日
  • pid反作用参数如何设置

    我用S7-224XP CN的自带模拟量输入输出端口做了一个减压控制的PID调节系统.原理是把6MPa的蒸汽通过减压后稳定在3MPa.通过压力变送器把0-6MPa变为1-5V作为回路…

    SIMATIC S7-200 2021年7月5日
  • 西门子PLC编程软件V2。2

    求下载地址 钻石用户推荐最佳答案 STEP 7 Micro/WIN SMART V2.3 完整版http://w2.siemens…

    SIMATIC S7-200 2021年7月5日
  • S7-200怎么用程序比较排序4个寄存器VD0 VD4 VD8 VD12 的浮点数

    现在如何用程序比较排序一组4个浮点数寄存器VD0  VD4 VD8 VD12 的大小 最佳答案 参考下述实例,将下述程序中的字(整…

    SIMATIC S7-200 2018年1月1日
  • S7 200 SCR 顺序控制 关于CSCRE如何调用

    如题  我在梯形图  线圈里面找不到这个CSCRE指令  请问如何编写  如何调用 问题补充:那我想…

    SIMATIC S7-200 2021年7月5日
  • 编程思路

    一般在接到项目后编程是如何开始的?请高手讲讲软件编程的几大步骤,如何确定选用何种指令编写方便? 最佳答案 第一你先根据控制要求画出电路图,明确输入输出点的个数及意义;第二根据上步的…

    SIMATIC S7-200 2021年7月4日
  • CRC校验

    老帖中发现的一个CRC校验,帖子说是正确的,可我感觉在第一个FOR循环,AC1在怎么加一,永远都是将&VB0的数据送给它啊,是我理解错误,还是程序有错误?怎么修改才好呢?&nbsp…

    SIMATIC S7-200 2018年12月7日
  • s7-200模拟量输入处理的问题

    我在书上看到,模拟量输入处理中,在输入没在数据的0位时要将模拟量输入右移3位(单极)或4位(双极),怎么有的地方输入不这样处理。我自己验证了下好像也可以。请高手指点下在什么情况下应…

    SIMATIC S7-200 2018年12月7日