技术论坛

 【周三技术工坊】S7-1200问题排查

返回主题列表
作者 主题

总坛主
西门子官方工程师西门子官方工程师

经验值:15483
发帖数:1551
精华帖:115
楼主    2019-07-09 16:45:08
主题:【周三技术工坊】S7-1200问题排查 精华帖 

    有一客户在使用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没有输出。用户程序如下:


图1  用户测试程序和组态


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

图2  故障代码


    在检查该故障代码后,发现是“工艺对象尚未激活”,证明在“MC_Power”指令还没有执行完时就发出了运动的指令,导致代码报错。然后对用户的程序进行了修改,在“MC_MoveVelocity”指令的执行条件前将“MC_Power”指令的Status状态位加入其中,这样能保证在“MC_Power”指令执行完成后才能进行运动指令的执行。将修改的程序下载到PLC中,发现Q0.0指示灯状态正常,重新上电后能够点亮。

图3   修改后的程序

    在和客户沟通此问题后,客户反映同样的程序在现场有几台PLC上就没有问题,仍有困惑,将客户认为没有问题的PLC拿到实验室进行测试,确实和客户反映的情况一致,断电重新上电后,Q0.0指示灯仍然亮,Q0.0有输出,反复检查组态和程序后,确认无问题,将问题的焦点转移到可能是固件版本不同导致。但是在组态中都是V4.2版的。随后在CPU的在线诊断中查看,发现第二次从客户拿到的CPU固件版本是V4.2.0,之前的那一台是V4.2.3。为了验证是否是固件版本的问题,在西门子工业技术支持中心网站下载V4.2.3固件版本并将低版本的CPU进行固件更新,将未修改的程序重新下载到CPU中,现象和最开始一致,下载修改后的程序后也一致,证明确实是固件版本的原因导致。最终,建议用户首先要完善控制程序,最好将固件版本升级到最新版本。

图4  两台PLC固件版本比较


                                                                                                                 -------来自 西门子技术支持工程师

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