今天在调试现场设备时,因为需要在线修改程序,当修改完程序在线下载后,修改后的程序在程序行前面报错,但是编译没有错。不要问我为什么,我也没有弄清楚,但是问题解决了,因此本篇文章只讲现场和处理方法以及处理结果,不谈为什么。
一、硬件及软件
1、1756-L73,系统为冗余系统;
2、studio5000v30版;
二、问题描述
1、在线修改程序,当修改完程序在线下载后,修改后的程序在程序行前面报错,但是编译没有错。如下图1,

图1程序修改编译无错在线下载后在线程序
2、程序离线后,再次上线,在线显示程序自动添加了几行,如下图2所示

图2程序自动多了几行截图实例
从上图可以看出,编号1和编号2的两个程序完全相同,大家看到这里,一定怀疑一是我新增的,二是我正在编辑,第一种情况,我负责人的告诉大家,不是我添加的;第二情况,细心的你一定发现程序不是处于编辑状态。
三、问题处理思路
1、特别提醒:如果程序在线修改时出错,同时下装了,这对控制器来说是致命的,此时需要小心谨慎。按照以往的控制器,这时必须要离线修改后下载,但是会造成停机。如果装置在生产,那几乎不可能了,这就等于埋雷了,也不要贸然离线修改然后下载。切记!!!!
2、处理思路
(1)试图在线删除报错的行,但是无法删除,删除选项都是灰色;
(2)试图在线编辑错误行,但是也失败了;
(3)因为编译验证时,没有任何错误和警告信息,所以我就仔细检查错误项,但是未发现错误,电话请教了不少专业人士,表示没有遇到过;
(4)删除上面提到自动添加的正常行程序,结果,无法删除,反而变成错误行了,如图3所示

图3无法删除自动添加程序且还报错图
(5)在通过上述办法后,问题不但没有解决,视乎有扩大趋势,这时的我,面对装置生产的情况下,根本不敢再贸然操作了。于是,我将程序备份,在我自己电脑上,并仿真,发现程序不但行数也正常,也不报错,在还原报错前,然后在线修改,发现一切正常,如下图4所示

图4报错程序在自己电脑上仿真截图
到这里,已经无语了,完全有点不淡定,决定死马当活马医,进行第六次尝试另外一个办法。
(6)在线将程序另存为一个文件名,此时错误仍然在(这步忘记拍照片了)。将新另存的在线程序离线,然后通过文件打开在另存为之前的原文件,程序上线,居然一切正常了。Why?之前的报错行没有了,自动添加的重复行业没有了,控制器也没有提示程序与控制器中程序不同步。还是那句话,不要问我为什么,因为我也不知道。
四、心得体会
1、理论与实际永远都存在差异;
2、问题不是每个人都能遇到同一个问题,但如果把大家遇到的问题都合起来,最后就会变成一本万能问题解题秘籍;
3、遇到问题,要先查是否真的存在错误;
4、在线修改程序,一定要慎之又慎;
。。。。。。
因为,文章内容匆忙中完成,未有校对,可能读起来比较拗口,但大家都是中国人,应该大体还是能理解的。望广大读者多多包涵。
知识共享,共同进步,欢迎读者阅读,欢迎读者指正!!
免责声明:本文章如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务如因作品内容、版权和其他问题请于本站联系