签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
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
1、S7 200的通讯程序没看到,不知道你所谓的3000ms才发另外一帧数据是不是你的程序问题。
2、第一、二两个波形图看不懂,黄色是啥?绿色是啥?
3、第三、四个波形,如果黄色是AB信号,绿色是RS485控制信号?波形通讯没问题啊。
4、通讯帧的3.5个字符问题,由于Modbus库不是居于全中断模式运行,而是由主程序中触发EN使能的,所以这3.5字符间隔基本上做不到的,帧间隔时间会受主程序循环周期影响、会受PLC的CPU运算速度影响(Modbus的CRC计算就很消耗时间,数据多时基本上10ms以上的计算时间,3.5个字符间隔绝不可能实现得了)。
最后,没看到程序就说库有问题?讲真,这库这么多人在使用,真没看到有几个人在反馈说有你遇到的这种情况,你....还是认真检查你的程序,认真啃Modbus RTU协议吧。
谢谢分享,学习了。
跟着学习,谢谢分享。
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录