OB100暖启动,OB101热启动,OB102冷启动。
暖启动(完全再启动):完全再启动的启动类型,启动时过程映像和不保持的标志存储器、定时器及计数器被清除,保持的标志存储器、定时器和计数器以及数据块的当前值保持(仅当有后备电池,如果使用EPROM 并且CPU的保持特性已赋参数时S7-300甚至没有后备电池)。CPU会自动调用OB100一次,然后循环程序OB1开始执行。
热启动(再启动):只有S7-400才能用,再启动的启动类型,在启动时所有数据(标志存储器、定时器、计数器、过程映像及数据块的当前值)被保持
。CPU会自动调用OB101一次,然后程序从断点处(断电, CPU STOP) 恢复执行。这个“剩余循环”执行完后,循环程序OB1开始执行。
冷启动:CPU318-2和 417-4 还具有冷启动型的启动方式。针对电源故障可以定义这种启动方式。它是通过硬件组态时的CPU参数来设置。 冷启动时,所有过程映像和标志存储器、定时器和计数器被清除(甚至保持的!),而且数据块的当前值被装载存储器的当前值(既原来下装到CPU的数据块)覆盖。 CPU会自动调用OB102一次,然后循环程序OB1开始执行。
另外从西门子找答案上看到了
1、通信故障中断组织块OB87:用于处理MPI GD通信及时钟同步故障,事件出现时,CPU自动调用OB87,并报错(SF),如果程序中没有创建OB87,PLC也不会进入停止模式。
程序加入OB87,一旦PLC出现通信故障,就中断对OB1的扫描,转为执行OB87。除了特别需要(如通信故障时执行什么动作),一般不用编程,只加入空指令就好了
2、启动中断组织块OB100-OB102;用于处理CPU的启动事件。暖启动CPU 调用OB100,热启动调用OB101(不适合S7-300和S7-400H),暖启动CPU调用OB102。暖/热---冷
温度越低CPU启动时清除存储器中的数据越多。
CPU上电或重启时调用0B100-OB102。然后才开始执行主循环OB1.
除了特别需要(如PLC上电执行什么动作后或初始化后才执行OB1)外,一般不用编程,只加入空指令就好了,
3、类似的中断组织块还有,OB80 处理时间故障 OB 82诊断中断
OB83 84 85 86 88 90 OB121 122 这些块要是不加上去,PLC
出现问题会停机,一般都是加空的块进行,可防止PLC出现各种问题,发生停机的现像
补充如下:
1、数据保持的问题:断电保持可以在CPU属性中设置可断电保持的存贮区域(M区、T、C区都是可以断电保持的)。这么做热、暖启动都不会清除,冷启动我没试过。OB100、OB101、OB102中都不用编程,空的就可以
2、OB87 、100、101、102等以上所述中断组织块,不用编程,只要有这些块就行,CPU出现不同错误就会触发相应中断组织块并报错。如果没有这些相应的块,CPU可能会停机并报错,而加入这些块可防止CPU出错停机。像OB121,当出现编程出错时会调用并报错,加入空的OB121就不会停机了
3、S7-300系列和S7-400H型PLC没有热启动功能,所以OB101不适合S7-300系列和S7-400H型PLC.多数300PLC只支持暖启动
OB100的描述
当对CPU进入Warm Restart操作时,操作系统就会自动调用OB100.
用户对OB100进行适当的编程可以让CPU在暖启动时完成特定的设置任务
OB87的描述
当发生任何因通信出错事件时CPU的操作系统就会自动调用OB87.
如果OB87没有被编程,CPU则不会切换到STOP模式。
用户可以通过SFCs39-42来屏蔽、延时或重新激活通信出错中断组织块 |