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