嵌入式
返回首页

浅谈西门子暖启动、热启动、冷启动

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来屏蔽、延时或重新激活通信出错中断组织块。


进入嵌入式查看更多内容>>
相关视频
  • PX4固件二次开发课程

  • RISC-V嵌入式系统开发

  • NuttX Workshop 2024

  • 自己动手写操作系统

  • SOC系统级芯片设计实验

  • 自己动手做一台计算机

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 红外线探测报警器

  • 用NE555制作定时器

  • 带有短路保护系统的5V直流稳压电源电路图

  • 如何构建一个触摸传感器电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章