不知道是不是翻译问题,在查阅官方文档的过程中,遇到了一些表述含义接近的名词,个人认为这是对同一个单词的几种不同翻译,因此在文章中,将这几种名词进行合并,只给出了最贴切的名词。
1 S7-CPU 操作模式的原理
正常情况下,S7-CPU具有以下操作模式:
●STOP(停止): CPU 处于“STOP”操作模式时,不执行用户程序。
●STARTUP(启动):接通 CPU 后,先执行启动程序再执行用户程序。 有“暖启动”、“热启动”和“冷启动”三种启动模式,本文详述。用户可指定S7-CPU上电时的启动类型。
●RUN(运行):CPU 执行用户程序、更新输入和输出、并处理中断和错误消息。
●HOLD(暂缓):CPU暂停执行用户程序,适用于设备调试时。
此外还有断电和故障两种其它操作模式。
摘自官方文档《S7-CPU操作模式的原理》
2 STARTUP模式
本文以S7-400为例,这是因为S7-400具备全部的STARTUP模式,并非所有的CPU都具备这三种启动模式,例如热启动便是S7-400独有的。
除了重上电的情况下将历经STARTUP模式,当操作模式选择开关由STOP模式切换至RUN模式时也将触发STARTUP模式。
2.1冷启动
冷启动模式下,将从头开始重新执行程序。
冷启动过程中,所有数据都被重置为存储在程序中的起始值,而与这些数据组态为可保持还是不可保持无关。
2.2暖启动
暖启动是PLC的默认启动方式。
暖启动模式下,程序执行在调用第一个启动 OB 时开始。
与冷启动过程不同的是,暖启动过程中,所有非保持性位存储器内容都将被删除,并且所有非保持性数据块内容将被复位为程序设定的起始值;保持性位存储器和保持性数据块中的内容将被保留。
暖启动有手动暖启动和自动暖启动两种方式,效果一致,触发方式不同。此外还有“不带备用电池的自动段启动”。
2.2.1手动暖启动
手动暖启动在以下任意情况下生效:
- 操作模式选择开关;
- 编程设备的菜单命令或通过某种通信功能(这时操作模式选择开关为 RUN);
2.2.2自动暖启动
自动暖启动是指当接通电源时,自动进入暖启动模式,在以下任意情况下生效:
- 电源关闭时,CPU 不处于“STOP”操作模式;
- 操作模式选择开关(即PLC上的物理拨动开关)为“RUN”;
- 暖启动时由于电源故障中断了 CPU。 这与是否分配 STARTUP 操作模式无关;
2.2.3不带备用电池的自动暖启动
如果 CPU 运行时没有备用电池,则在接通电源之后或电源关闭再接通时,CPU 会自动进行存储器复位,然后执行“暖启动”。 用户程序必须保存在闪存 EPROM(存储卡)上,以便可将用户程序再次复制到工作存储器;如果CPU未插入存储卡,则每次关机一段时间后,需要重新下载程序(短时间关机的情况下,数据将被保留,通常只有几分钟的时间)。
2.3热启动
这种启动模式仅适用于 S7-400,且CPU需具备备用电池(用于数据保持)。
在热启动过程中,所有数据和过程映像都会保持其最后有效值,用户程序将从进程中断处继续执行。 在电源故障前未处理的那部分用户程序,将认为是循环剩余部分。 循环剩余部分也可包含时间和中断控制的程序部分。
暖启动有手动热启动和自动热启动两种方式,效果一致,触发方式不同。
2.3.1手动热启动
只有 CPU 设置的参数正确而且在发生以下原因的 STOP 时,才可以进行手动热启动:
- 操作模式选择开关从 RUN 切换到 STOP;
- 通过用户编写的 STOP,在调用未装载的 OB 后转入 STOP;
- 由编程设备或通信功能导致的 STOP 状态;
2.3.2自动热启动(自动重启)
如果 CPU 在电源关闭时,不在 STOP 模式或 HOLD 模式,则上电后将触发自动热启动。 注意触发条件为在启动参数中未禁用热启动。
关于CRST/WRST开关
冷启动 (CRST) 或暖启动 (WRST)
S7-400部分CPU独有。
PORTAL中切换上电后启动模式
打开CPU属性:
可在此选择上电后启动模式:
默认模式为暖启动。
3关于网络上对STARTUP模式的一种误解
在网络上搜索到了一篇资料,其最后对STARTUP模式的总结为:
个人认为其见解是不正确的,其最大的问题在于只讲到此三类启动方式的某一方面,没有概括完全。
●关于冷启动
“冷启动是断电后重新上电的一种启动”,这种说法的问题在于(自动)暖启动或(自动)热启动也是断电后重新上电的一种启动,因此这种说法缺乏精确性;此外PLC的重上电启动方式一般为(自动)暖启动。
如果把这句话改为,“当电源关闭时CPU处在“STOP”操作模式,则断电后重新上电的启动方式为冷启动” 是正确的。
●关于暖启动
文中所讲应该为手动暖启动方式,问题在于手动热启动方式也可通过此方法触发。
●关于热启动
如文中所言此操作可以触发自动热启动,但仅限于S7-400,其它CPU在执行此操作时只触发手动热启动。
附录·备用电池的作用:PLC的断电保持特性
为避免断电时丢失数据,可设定保持存储区。保持性数据包括那些存储在 CPU 保持性存储区中,即使在电源关闭时仍然保留的变量、数据或块。
CPU携带备用电池与否将影响到CPU的保持性。在三种启动方式中,热启动必须携带备用电池,,因此备用电池主要影响冷启动和暖启动下的保持性(特别是暖启动)。
以S7-300/400为例,带备用电池的 CPU 的保持性:
不带备用电池的 CPU 的保持性:
摘自官方文档《断电后的保持特性》
附录·CPU的几种存储器
存储器分为装载存储器、系统存储器和工作存储器。
关于装载存储器
装载存储器存放用户项目中不包括符号地址分配或注释的所有用户程序和数据。装载存储器分为内部装载存储器和外部装载存储器。每个 CPU 都具有内部装载存储器,即内部集成的RAM。可以用外部存储卡来替代该内部装载存储器:如果未插入存储卡,CPU 将使用内部装载存储器;如果插入了存储卡,CPU 将使用该存储卡作为装载存储器,同时擦除内部装载存储器中的数据。
外部存储卡有RAM卡和FEPROM卡两种,RAM卡跟CPU内置的RAM区形成无缝连接,完成扩展功能;FEPROM与内置RAM区各自独立,新型S7-300 CPU使用MMC卡作为装载存储器。
装载存储器功能类似ROM,内部装载存储器其掉电实现方法为内部集成RAM+备用电池。
关于工作存储器
工作存储器是非保持性存储器区域(可部分掉电保持,即设置保持性DB),用于存放运行相关的程序和数据。用户程序只能在工作存储器和系统存储器中执行。工作存储器集成在CPU中不能扩展(极少部分型号支持),通过后备电池保持。
工作存储器功能类似RAM,不同的地方在于工作存储器可以部分掉电保存。
工作存储器中保持性 DB 的内容在重启和电源开/关时始终保留;在重新启动或电源开/关时,将使用非保持性 DB 的起始值,从装载存储器中初始化非保持性 DB。
==工作存储器、集成的装载存储器和RAM扩展的装载存储器都需要后备电池保持;==保持性存储器的内容即使在断电或重新启动(暖启动)时也能被保留。
S7-300CPU存储器介绍及存储卡使用
S7-400CPU存储器介绍及存储卡使用
总结
首先关于西门子PLC的启动方式,总共有三种,冷启动、暖启动和热启动,热启动只有S7-400的部分型号才有
三者的区别主要在于数据保持性:
冷启动:此过程中,所有数据都被重置为存储在程序中的起始值;
暖启动:此过程中,非保持性存储器内容复位,保持性存储器内容保留;
热启动:此过程中,所有数据和过程映像都会保持其最后有效值,用户程序将从进程中断处继续执行;
用户可以通过PORTAL设置重上电时的启动方式,默认为暖启动;供电情况下S7-400在STOP->RUN时的启动方式默认为热启动,参数中手动禁用后则为暖启动
为什么热启动必须使用后备电池,首先讲一下西门子PLC的存储器特性:
西门子PLC的存储器分为3种,装载存储器、工作存储器和系统存储器,后备电池主要和前两者有关:
装载存储器存储用户程序,工作存储器存储运行相关的程序和数据。工作存储器掉电不保持,内部装载存储器同样掉电不保持,若插入存储卡,则掉电保持。
显然热启动需要装载存储器和工作存储器的数据同时存在。
插入存储卡,电源断电情况下,PLC利用备用电池保持工作存储器数据实现热启动;如果没有备用电池供电,则工作存储器的数据丢失,将无法实现热启动。
上述所指的热启动方式为自动热启动方式,于重上电时触发。实际上热启动分为手动热启动和自动热启动,满足生效条件的情况下,手动热启动于STOP->RUN时手动触发
显然在手动条件下并没有要求系统重上电,此时存储器数据供电保持,那么在没有备用电池的情况下,是否能触发手动热启动模式,这个在文档中并未提及,但就个人从理论上认为,应该是可以实现的。
最后,通常启动方式选用暖启动,其它方式相当少见。