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

相关推荐

  • S7-200以太网通讯多数据传输

    200PLC做以太网通讯时,单个数据传输通讯正常,再新建数据传输2并用数据传输1的完成位来调用数据传输2时,子程序报错代码130,请教一下什么问题,如何解决? 图片说明: &nbs…

    2021年7月5日
  • S7200PLC显示负值,如何转换正值

    最近碰到一个这样的问题,ModBUs设备内数据为32835,在200PLC中使用VW210,监控结果数据为负值,要怎样才能转换成无符号数呢?谢谢指教! 最佳答案 要怎样才能转换成无…

    SIMATIC S7-200 2021年7月5日
  • SMB34,SMB35如何理解

    “smb34分别定义了定时中断0和1的时间间隔” 请问定时中断1和0是指什么,一个我自定义的中断吗,还是系统中本来就有的中断?SMB34,SMB35具体应该怎么应用呢?多…

    SIMATIC S7-200 2021年7月5日
  • 请问为什么PLC输出没有信号?

    我用的CPU是6ES7 214-1AD23-0XB01,我将程序里的Q0.0点强制输出,Q0.0指示灯亮了,但是我量它的电压没有输出,这是为什么呢?我把模块的L+都接上2…

    SIMATIC S7-200 2020年10月31日
  • MP277与smart 700

    MP277与smart 700均与西门子s7-200通讯,这2种触摸屏与s7-200之间之间的通讯线相同吗?能否通用? 最佳答案 一样的,可以用西门子的总线连接器做,也可…

    SIMATIC S7-200 2017年11月6日
  • smart下载问题

    200-smart只可以通过网线进行下载吗?可不可以通过PPI线缆进行下载? 最佳答案 S7 200-smart只可以通过网线下载程序,不可以通过通过PPI线缆进行程序下…

    SIMATIC S7-200 2017年6月7日
  • s7200的扩展模块被烧问题

    cpu是226的,扩展了7个模块,依次为223,231,五个235,运行有很长一段时间了,今天由于调整东西,我在设备带电状态下把模块拆了,模块供电通过cpu供的,在把最后一个模块装…

    SIMATIC S7-200 2017年7月26日
  • 库指令问题

    请问,这两个库指令是不是同样的库指令。 图片说明:       最佳答案 表面上看,两个肯定不是一回事。看参数都不同。第二个表面看跟官方的库…

    2017年8月3日
  • 西门子S7-200软件在windows 10家庭版怎样安装上去?

    西门子S7-200软件怎样在windows 10家庭版安装上去 最佳答案 转西门子专家置评:STEP 7 Micro/WIN V4.0&nb…

    SIMATIC S7-200 2021年7月5日
  • 一台S7-200 PLC通过串口方式可以接两个上位机通讯吗?

    一台S7-200 PLC通过串口方式可以接两个上位机通讯吗? 最佳答案 西门子S7-200(smart)的RS485接口,支持PPI协议,可以是实现多主站多从站的通信。也…

    SIMATIC S7-200 2021年7月5日