关于OB100的故事
2013年夏日炎炎,客户从调试现场向西门子热线4008104288打来求助电话。
“生产线正常运行时突然断电,一小时后再来电时,生产线又运转起来。这样很危险,生产线有一百多台电机,来电后不应自动启动”,客户焦急的说。
我急客户所急,请其速发来相关程序截图,如下:
发现问题了吧,在FC1的Network1中,按下启动按钮DB1.DBX0.0后,电机运行标志DB1.DBX0.2会自锁。断电再上电后,电机运行标志DB1.DBX0.2不能复位,造成Q0.0立即输出,设备启动。
客户生产线的一百多台电机,都是如此控制的。如在半夜来电,设备突然全启动起来,会很危险很恐怖的。
解决办法:
大家知道,OB100是启动组织块,即CPU在重新上电或Stop到Run时,先运行OB100一次,再循环执行OB1。
对于客户问题,可利用OB100,对程序进行初始化处理。例如,以M0.0为初始化标志位,编程思路分为三步:
1. OB100中置位M0.0;
2. 在OB1的最后一个Network位置,复位M0.0;
3. 在FC1的电机输出程序中,串入常闭点M0.0。
注意:S7-300只有OB100有效,S7-400需在OB100/101/102中同时编写置位M0.0程序。关于OB100/101/102,请参考下面资料:
为什么S7-300只能暖启动?
http://support.automation.siemens.com/CN/view/zh/34054765
S7-400 CPU 启动(暖启动),冷启动和热启动的区别是什么?