电工学习网

 找回密码
 立即注册
查看: 4538|回复: 0
打印 上一主题 下一主题

西门子S7-1200问题排查

[复制链接]
跳转到指定楼层
楼主
发表于 2019-7-17 11:17:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    有一客户在使用S7-1200的过程中遇到了同样的程序下载到不同的plc中出现不同结果的问题,想要帮忙处理一下,问题具体描述如下:客户使用S7-1214C带3个16点DO模块做零件检测设备,最近发现投产10台设备,同样的程序下载到PLC后有4台PLC表现和以前不一样:在相同的外部条件下,其他PLC上电后Q0.0会指示灯亮起有输出,但是这4台PLC上电后Q0.0没有输出。客户起初怀疑是产品硬件有问题。但是在现场使用其他测试程序强制Q0.0是能够有输出的,证明硬件应该没有问题,客户希望能够帮忙检查出问题并解决。
    在拿到客户提供的程序后进行查看,程序功能是将S7-1214C的Q0.0组态为PTO输出并驱动步进电机运动。将程序下载到从客户那拿回来的PLC中,发现Q0.0指示灯亮,Q0.0有输出,但是断电重新上电后,Q0.0指示灯不亮,Q0.0没有输出。用户程序如下:
西门子S7-1200问题排查
西门子S7-1200问题排查

图1  用户测试程序和组态

    然后进一步检查客户的组态和程序部分。在线监控程序运行后发现,“MC_MoveVelocity”指令报错,监控其背景数据块,记录故障代码如下所示:
西门子S7-1200问题排查
西门子S7-1200问题排查
图2  故障代码

    在检查该故障代码后,发现是“工艺对象尚未激活”,证明在“MC_Power”指令还没有执行完时就发出了运动的指令,导致代码报错。然后对用户的程序进行了修改,在“MC_MoveVelocity”指令的执行条件前将“MC_Power”指令的Status状态位加入其中,这样能保证在“MC_Power”指令执行完成后才能进行运动指令的执行。将修改的程序下载到PLC中,发现Q0.0指示灯状态正常,重新上电后能够点亮。
西门子S7-1200问题排查
图3   修改后的程序
    在和客户沟通此问题后,客户反映同样的程序在现场有几台PLC上就没有问题,仍有困惑,将客户认为没有问题的PLC拿到实验室进行测试,确实和客户反映的情况一致,断电重新上电后,Q0.0指示灯仍然亮,Q0.0有输出,反复检查组态和程序后,确认无问题,将问题的焦点转移到可能是固件版本不同导致。但是在组态中都是V4.2版的。随后在CPU的在线诊断中查看,发现第二次从客户拿到的CPU固件版本是V4.2.0,之前的那一台是V4.2.3。为了验证是否是固件版本的问题,在西门子工业技术支持中心网站下载V4.2.3固件版本并将低版本的CPU进行固件更新,将未修改的程序重新下载到CPU中,现象和最开始一致,下载修改后的程序后也一致,证明确实是固件版本的原因导致。最终,建议用户首先要完善控制程序,最好将固件版本升级到最新版本。
西门子S7-1200问题排查
西门子S7-1200问题排查
图4  两台PLC固件版本比较
来源:西门子工业技术论坛

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-27 01:46

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表