技术论坛

MODBUS通信异常

作者 主题
新手

经验值: 44
发帖数: 1
精华帖: 0
主题:MODBUS通信异常


只看楼主 楼主 2020-08-10 10:28:38

MODBUS通信问题

硬件CM25 板子 200 smart 示波器 施耐德ATV71驱动器

软件 step 7  串口助手

问题:CM25与200 smart 通信时间总是在step 7中设置主站超时时间的时间。例如:主站超时设置3000ms, 首先200 smart发送数据CM25 迅速做出响应,之后间隔3000ms才能发送下一组数据。正常情况下非常迅速的进行数据交换。

解决:CM25 与 200 smart 通信数据正常无误,但是使用示波器抓取信号是发现一组不该有的波形(如图),

 


伏值在-0.5左右。而RS485 通信AB两端电压差在正负0.2-6V左右, 逻辑“1” +(0.2 - 6)V ,逻辑“0”-(0.2 - 6)V。虽然出现在-0.5V左右不会对数据产生什么影响,但是存在隐患。

之后尝试使用施耐德ATV71驱动器 进行MODBUS通信,无异常波形。

由此判定CM板子有问题,之后我们又检查硬件电路,如果硬件有问题,它的每组波形图都会受到影响。之后我们使用示波器通道2 检测RS485通信芯片使能端发现如图波形。


CM接收是正常的但是在发送完毕之后使能应下拉但CM板还是保持高电平,由此推断可能ARM控制通信芯片使能端有问题。至于为什么会出现这种异常波形,我们推断可能PLC在发送数据是与使能端叠加从而产生这种异常波形。

 

经过改软件程序之后没有在出现异常波形,但是会出现间隔(大约在十几毫秒左右)使能状态为0,原因不明确,目前个人认为是CM25中MODBUS协议有问题。

还有如图所示不符合MODBUS通信协议的问题



在发送完成之后每一组间隔时间不一样,有长有短,正常应该是固定3.5帧左右,时间长短差别不大才是正确的波形,这些问题我们会进一步的修改。



 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1636538&b_id=3&s_id=0&num=3

至圣

经验值: 12573
发帖数: 2503
精华帖: 31
回复:MODBUS通信异常


只看楼主 1楼 2020-08-10 12:48:19

1、S7 200的通讯程序没看到,不知道你所谓的3000ms才发另外一帧数据是不是你的程序问题。

2、第一、二两个波形图看不懂,黄色是啥?绿色是啥?

3、第三、四个波形,如果黄色是AB信号,绿色是RS485控制信号?波形通讯没问题啊。

4、通讯帧的3.5个字符问题,由于Modbus库不是居于全中断模式运行,而是由主程序中触发EN使能的,所以这3.5字符间隔基本上做不到的,帧间隔时间会受主程序循环周期影响、会受PLC的CPU运算速度影响(Modbus的CRC计算就很消耗时间,数据多时基本上10ms以上的计算时间,3.5个字符间隔绝不可能实现得了)。


最后,没看到程序就说库有问题?讲真,这库这么多人在使用,真没看到有几个人在反馈说有你遇到的这种情况,你....还是认真检查你的程序,认真啃Modbus RTU协议吧。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 10575
发帖数: 1794
精华帖: 0
回复:MODBUS通信异常


只看楼主 2楼 2021-04-18 20:34:36

谢谢分享,学习了。


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 5686
发帖数: 767
精华帖: 1
回复:MODBUS通信异常


只看楼主 3楼 2021-04-18 20:36:01

跟着学习,谢谢分享。


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
MODBUS通信异常
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。