查看: 9|回复: 1

一次新建S7-1214C Modbus rtu通讯故障的排查

[复制链接]
  • TA的每日心情
    开心
    昨天 11:42
  • 签到天数: 23 天

    [LV.4]维修爱好者3级粉丝

    34

    主题

    51

    回帖

    155

    积分

    新手上路

    积分
    155
    发表于 8 小时前 | 显示全部楼层 |阅读模式
    本帖最后由 王绍兴 于 2026-9-18 09:26 编辑

    一次新建S7-1214C Modbus rtu通讯故障的排查
    问题大概半个月前,我帮公司同事排除了一起因为Modbus rtu通讯从站通讯参数设置错误,引起轮询停止的通讯故障。通过现场排查的步骤,同事基本掌握了该通讯故障的排除方法,并开始增加了工作的兴趣。前几天,同事根据我现场讲解的要点,自己创建了一个通讯测试程序,结果通讯程序存在只能写而无法读取到从站数据的问题,让我来诊断分析故障的所在。一拿到程序,我首先从硬件CB1241的硬件地址能够匹配Modbus_Comm_Load指令各管脚与从站的通讯参数,是否有不一致的情况,硬件标识符合通讯指令,通讯参数均与从站匹配。且能够写也基本说明了外部硬件的连接及通讯初始化Modbus_Comm_Load指令被正确执行。
    我重新对Modbus_Comm_Load/Modbus_Master 指令的外部管脚所调用的变量地址,指令的背景数据块进行的检查确认,未发现实质性的问题。也试了试删除重建,结果仍然是只能写而无法读的问题。
    到自己的电脑上,重新创建测试项目,读/写均正常,自此,让我想起了portal的版本与实际plc版本的兼容性问题了,前面排障的铺垫就是为了证明这个论点。
    同事的电脑安装有portal版本是V15/V16/V173个版本,而同事测试环境是V17中创建的,V17创建的plc版本他选择了V4.5,而实际的plc版本是1AG40V4.2的版本。将版本调整为V4.2重新下载设备试图后,读/写正常。由于整个排障过程在同事的电脑上,我没有截取故障时的图片,无法读取时,Modbus_Master 管脚status = 8281报警。
    小结:Modbus rtu通讯只能写,不能读的故障原因。
    1)软件编程cpu版本,必须与实际连接的cpu版本一致;
    2)当报警出现时,首先需要对报警信息进行解读,从信息中找可能的原因;
    3)尽量在调用指令时,用自己熟悉的方式,在排障过程中,我也给同事的编程方式绕了一下排障思路,熟悉就是稳定/可靠的;
    4)初始应用,建议先编写一个简单的通讯指令,等通讯正常了再展开编写轮询方式;
    5)建议用自定义的变量,按规律和顺序调用变量,对初次使用的用户,可以避免通讯错误。

    开心
  • TA的每日心情
    奋斗
    2021-9-3 20:34
  • 签到天数: 1 天

    [LV.1]初识-维修爱好者

    22

    主题

    1054

    回帖

    1444

    积分

    论坛元老

    积分
    1444
    发表于 8 小时前 | 显示全部楼层
    谢谢分享,学习了~~
    您需要登录后才可以回帖 登录 | 邀请码注册

    本版积分规则

    QQ/手机版/ 家电电工资料网

    辽ICP备17010435号-3

    Powered by Discuz!X3.5 |网站地图|辽公网安备 21140202000087号

    QQ交流群

    QQ交流群

    扫码加群

    欢迎加群

    微信公众号

    微信公众号

    扫码加入

    微信二维码

    QQ联系

    QQ号码

    352558561

    点击联系QQ