(图片@荣九科技)
结合CPU存储器的特点,还有一个人为因素也会导致PLC程序丢失。
那就是配置了Flash卡的PLC,调试工程人员在下载程序的时候,忘记把程序写入Flash卡中。
那么有人就会问了,Flash卡又是什么东西?
Flash闪存,它属于内存器件的一种。
它不仅具备
电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据,同时可以快速读取数据(NVRAM的优势)。
所以FLash是结合了ROM和RAM的长处,但介于RAM与ROM之间。
在PLC里,我们可以把它简单理解为ROM。
有了这个东西,PLC中的程序一般是不会丢失的,除非这个闪存卡损坏,或者CPU损坏了。
Flash确实好,因为有了它,我们就不怕PLC的程序丢失了。
但如果从方便的角度的去看,它有一点不足之处,那就是早期的PLC程序用Flash卡保存程序的时候都需要一步额外的操作。
工程师在修改程序后需要将程序“复制”到Flash卡中。
S7-400系列PLC和早期的S7-300系列PLC CPU以及GE 90-30系列PLC。
在程序下载的过程中都有一步类似这样的操作。
而选择使用RAM作为程序存储器的PLC就没有这个多余操作。
那可能又有人要说了,复制还不简单吗?这根本就不是事。
对,如果将程序复制到Flash卡中的操作只执行一次,那它确实不是事。
但,如果在调试程序的过程中,频繁地进行这项操作,或许它还是一个麻烦事。
这里有两个问题:
一是,将程序下载到Flash卡中的速度要比下载到RAM中慢很多,而在程序调试的过程中也没有必要把程序下载到Flash中。
二是,频繁将程序写入Flash卡,会缩短Flash的使用寿命。
基于以上两个原因,一般在调试程序的过程中,很少有人会选择在每次修改程序后将程序复制到Flash卡中。
而是在工程完工后,最后选择将程序复制到Flash卡中固化程序,以防丢失。
最后固化,问题就来了。
人脑毕竟不是机器,在最后这个时间节点上,人脑是没有一个定时提醒的。
而完全凭工程师的记忆,要记住最后还要完成这样一步操作,是有遗忘概率的。
如果调试工程师没有将程序固化到Flash卡中,那么即便配置了Flash卡,遇到了PLC双断电的情况,程序一样会丢失。
即便Flash卡中程序没有丢失,PLC重启后,也并非是最新修改过的程序。
二、如何判断PLC程序是否丢失?
明白了PLC程序丢失的原因,那么如何判断PLC的程序丢失了呢?
这里有两个方法:
1.直观法。
2.专业法。
直观法就是用眼睛去观察。
几乎每款PLC面板上,都配置了PLC运行Run指示灯或信息显示屏。
Run指示灯不亮或者信息显示屏显示“Stop”,我们可以初步怀疑PLC程序没有了。
但,不能就此下结论,因为I/O模块损坏,寻址错误,存储卡或者CPU有问题等各种情况都有可能导致CPU故障停机。
此时,如果通过排查,消除故障,将使能过的“Run”、“Stop”切换开关,从Stop工作模式能顺利地切换到Run模式。
那么PLC的程序是没有丢失的。
如果不能切换成功,很有可能程序就没有了,下一步需要做专业判断。
除了通过Run指示灯或信息显示屏判断外,我们还可以通过与PLC连接的其它部件辅助观察。
例如,PLC的输出模块应该输出,而现在却没有任何输出。
与PLC通讯的触摸屏数据不刷新或者组态画面信号指示不正确等。
专业法就是工程电脑去联机。
最常用的方法就是用PLC的编程软件,通过PLC的以太网卡在线联机。
在线联机不了,PLC程序丢失的可能性就非常大。
在线能联机,PLC程序不对等,Flash卡固化的程序或电脑中的程序非最新程序。
三、PLC程序丢失后应该怎么办?
如果PLC中的程序真的丢失了应该怎么办呢?
3个措施可以恢复:
1.如果PLC的硬件没有损坏,同时PLC的源程序备份工作做得也很好,可直接将备份的源程序重新下载到CPU中,完成程序丢失的恢复工作。
2.如果PLC的硬件没有损坏,但PLC的源程序没有备份了,可选择邀请专业工程师重新编写程序,重新调试设备。
3.直接选择技术改造,将原PLC换成具有程序保护功能的新款PLC。
例如,现在阶段使用比较多的施耐德M340系列PLC。
它不同于原Quantum和Premium,它有一张专用的SD卡来保存程序,所以断电后程序不会丢失。
M340处理器本身除了用于处理程序所需的RAM外还自带闪存。
当断电时,数据会从RAM备份到自身闪存中,热启动后再从闪存恢复到RAM中。如图:
(图片@施耐德)
原作者:水电云客 水电站自动化技能分享