问题:西门子plc暂停程序 西门子plc200如何实现让程序在突然断电,再送电时继续停止前的程序运行?
解决办法:
总的来说是采用断电保持。断电保持重要的是开关量,因为模拟量参与控制的话,一定是以当前测量值为依据,所以所需要保持的对象通常为:开关量,计数器,定时器等;
1、开关量:可以采用m区的mb0-mb13,这个区设置为断电保持的话,断电的时候会存入eeprom永久保存。
2、开关量:可以采用v区作为开关量,比如v10.0,v10.2等;然后将这个v区用存入eeprom指令在断电的时候存入eeprom,待再启动时,cpu将从调用eeprom区的数据覆盖v区,从而达到恢复运行的目的。(s7 200,v区有多大,对应的eeprom就有多大)。可以使用eeprom库指令来编程;
3、计数器保存:
方法一:还是在系统设置断点保持
方法二、思路是将数据保存在v区,断电时采用eeprom指令将v区数据保存到eeprom,待恢复供电时继续执行。
4、定时器保存:
方法一:还是在系统设置断点保持
方法二:可以采用1ms定时器来将定时器的时间保存到v区,当断电时,同样采用eeprom指令库保存到eeprom,恢复供电时继续执行,误差应该是1ms,不是要求特别严格的情况下,还是可以的。
需要注意的是:设置断点保持,v区和mb14开始的区是由内部超级电容或电池卡供电,超级电容1个月内,电池1年内。完了数据会丢失。保存在eeprom的数据是永久保存。