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日

相关推荐

  • 高速电机的咨询

    负载200KG,在0.1S内到达5M,请哪款电机可以满足? 钻石用户推荐最佳答案 根据机构速度计算转速,计算加速度,计算力矩!然后再看电机是否满足需求! 提问者对于答案的评价:

    SIMATIC S7-200 2021年7月5日
  • PLC接线求助?

    如图所示,输出端口要接电阻吗?输出的24V电压,我能给扩展模块供电吗? 图片说明:    最佳答案 1、输出端口不需要要接电阻。可以给扩展模块供电。PLC输出口…

    2018年3月6日
  • 能否使用300电缆连接电脑和200PLC通过串口调试助手来进行发送接收测试呢

    能否使用300电缆连接电脑和200PLC通过串口调试助手来进行发送接收测试呢?谢谢~ 最佳答案 楼主的意思是不是想用S7-300的编程线缆当232转485的转换器,然后用串口调试程…

    SIMATIC S7-200 2020年10月31日
  • s7200PLC与Smart 200PLC可以实现主从站通讯吗

    s7200PLC与Smart 200PLC可以实现主从站通讯吗?最好有文档什么的,谢谢大家! 最佳答案 200本身不带以太网口所以需要加一个cp243-1,否则就不能与2…

    SIMATIC S7-200 2021年7月5日
  • smart s7200 cr40和wincc7.4

    请问那位大侠连接过smart  S7 200 cr40和wincc7.4,是否可以像WINCC链接S7 300一样ip地址设好就能…

    SIMATIC S7-200 2021年7月5日
  • 关于S7-200PLC本体提供的24V电源问题

    我现在使用的是CPU224XPPLC,由于本体带两路模拟量输入(0-10V),同时本体带24V传感器电源,想问一下各位专家用本体电源稳定?还是用外接24V稳压直流电源?另外PLC本…

    2020年10月31日
  • 子程序调用报错2007

    调用子程序时报错 问题补充:子程序中4个类似图二的程序 图片说明:       最佳答案 怎么感觉你的子程序没有定义任何类型的局部变量,只是…

    2017年5月31日
  • TD200怎么用?

    TD200怎么用? 有资料请发送到fride2001630@yahoo.com谢谢 最佳答案 http://www.ad.siemens.com.cn/service/e…

    SIMATIC S7-200 2021年7月5日
  • EM253位控模块

    请教各位前辈  我做了一个程序是EM253控制伺服电机  要求伺服电机作正反相对运动  用定长GOTO指令 &…

    SIMATIC S7-200 2020年11月1日
  • 输出信号干扰问题

    在200系统中,有继电器输出电流值为1A,同时存在两路模拟信号,电流输出4~20mA,这两种信号能否通过一根电缆输出,是否会存在干扰问题? 最佳答案 有个问题就是你一块走的继电器输…

    SIMATIC S7-200 2021年7月5日