启动模式
S7-1200 CPU 通电后,它在开始执行循环用户程序之前执行启动程序。CPU 支持以下组态选项:
● 不重新启动(保持为 STOP 模式)
● 暖启动 - RUN 模式
● 暖启动 - 断电前的模式
启动模式设置
S7-1200 启动模式可以在“CPU 属性-常规-启动” 进行设置。如下图 1 所示:
图 1. CPU启动选项设置
①“上电后启动”:定义了CPU上电后的启动特性,共有以下三个选项,用户可根据项目的特点及安全性来选择,默认选项为“暖启动-断电前的操作模式”:
“不重新启动(保持为STOP 模式)”:CPU 上电后直接进入STOP 模式;
“暖启动-RUN模式”:CPU 上电后直接进入RUN模式;
“暖启动-断电前的操作模式”:选择该项后,CPU上电后将按照断电前该CPU 的RUN模式启动,即断电前CPU处于运行模式,则上电后CPU 依然进入RUN模式;如果断电前CPU 处于STOP状态,则上电后CPU进入STOP模式。
如果在发生掉电或故障时,CPU 处于 STOP 模式,则 CPU 将在上电时进入 STOP 模式并保持 STOP 模式,直至收到进入RUN 模式的命令;
如果在发生掉电或故障时,CPU 处于 RUN 模式,则在未检测到可禁止 CPU 进入 RUN 模式的条件下,CPU 将在下次上电时进入RUN 模式。
“仅在兼容时,才启动CPU”:所组态的模块与实际模块匹配(兼容)时,才启动CPU。
“即便不匹配,也启动CPU”:所组态的模块与实际模块不匹配(不兼容)时,也启动CPU。
在暖启动期间,所有非保持性位存储器内容都将删除并且非保持性数据块内容将复位为来自装载存储器的起始值。将保留保持性位存储器和保持性 DB中的内容。
不管选择哪种启动模式,已编写的所有启动 OB 都会执行。
不执行任何基于时间的程序。
中断控制的程序的执行jinxian于:OB 82(诊断中断)
禁用模块上的输出。
不更新过程映像;可以对输入进行直接 I/O 访问。
检测到的某些错误会阻止 CPU 进入 RUN 模式;
在“CPU 属性-常规-启动” 设置为不重新启动(保持为 STOP 模式);
暖启动 - 断电前的模式:CPU 组态为“暖启动 - 断电前的模式”,且在发生掉电或故障时,CPU 处于 STOP 模式,则 CPU将在上电时进入 STOP 模式并保持 STOP 模式;
在 CPU 设备组态的属性里选择了“允许通过用户程序重新组态设备”。而 WRREC 指令在启动 OB中传送完控制数据记录后组态控制才会生效。如果已启用组态控制但 CPU 不具有控制数据记录,则在退出 STARTUP 模式时会转到STOP 模式。
②“比较预设与实际组态”:定义了 S7-1200 PLC站的实际组态与当前组态不匹配时的 CPU 启动特性:
注意: 如果选择了"即便不匹配,也启动CPU",此时的用户程序无法正常运行,必须采取相应措施!要慎重选择该项。
③ “组态时间”:在 CPU 启动过程中,为集中式 I/O 和分布式 I/O分配参数的时间,包括为 CM 和 CP提供电压和通信参数的时间。如果在设置的“组态时间”内完成了集中式 I/O 和分布式I/O的参数分配,则CPU立刻启动;如果在设置的“组态时间”内,集中式 I/O 和分布式 I/O未完成参数分配,则 CPU 将切换到RUN 模式,但不会启动集中式 I/O 和分布式 I/O;
④ “OB应该可中断”:激活“OB应该可中断”后,在OB 运行时,更高优先级的中断可以中断当前OB,在此OB处理完后,会继续处理被中断的OB。如果不激活“OB应该可中断”,则优先级大于2的任何中断只可以中断循环OB,但优先级为2~25的OB不可被更高优先级的OB中断。
启动特性:
如下图 2 所示:
图 2. 启动时 CPU 执行的操作
关于 启动 OB 的详细说明, 请参考以下文档:
S7-1200 启动(Start up)组织块
常见问题:1. 哪些情况会导致S7-1200 CPU 无法启动?
以下的情况会导致 S7-1200 CPU 断电后再上电无法启动:
具体请参考:组态控制功能
2. 为什么CPU断电后,再上电CPU没有报任何错误,但CPU却运行不起来?
答:原因是CPU没有硬件开关用于启停控制,CPU上电后的启停由CPU属性中的“启动”选项来决定(如图1所示)。其默认设置为“暖启动-断电前的操作模式”,此时如果是断电前CPU因故障停止,那么再上电后没有故障,CPU也会延续断电前的状态,保持STOP模式。或者设置成“不重新启动”,则CPU 上电后直接进入STOP模式。如果在以上两种模式下,CPU无法启动,需要通过博途软件在线功能启动CPU。
必须将启动选项设置为“暖启动-RUN模式”,才能保证在没有错误的情况下,CPU上电后直接进入RUN模式。
3. CPU属性的"启动"特性中, 设置的"比较预设与实际组态匹配",这里的"匹配"或者"兼容"是什么含义?
答:匹配(兼容性)是指与当前的模块的输入和输出数量相匹配,电气和功能特性也相匹配。兼容模块必须能够完全替换已组态的模块;功能性可以更多,但不能比替换的模块少。
举例说明,16个通道的数字量输入模块可作为8个通道的数字量输入模块的兼容替换模块。则不兼容;16个通道的晶体管数字量输出模块不可作为16个通道的继电器数字量输出模块的兼容替换模块。
如果设置“仅在兼容时,才启动CPU”并且插入组态的模块兼容时,CPU 启动;如果插入的模块不兼容,则 CPU 无法启动。
如果选择“不兼容也启动 CPU” 的设置,此时如果插槽中插入一个模拟量输出模块或不插入任何模块,则与实际的16个通道数字量输入的信号模块完全不兼容。无法访问所组态的输入,但 CPU 仍可启动。
4.为什么已经将"启动"选项设置为"暖启动-RUN模式"下载组态后,CPU无法启动,而ERROR灯也不报错?
答:这种情况下查看诊断缓冲区,通常可以发现报错:“没有可用于中央设备选件处理的数据记录或无效”,如图3所示。造成这个错误的原因是因为,CPU属性的“组态控制”中已激活“允许通过用户程序重新组态设备”,如图4所示,但启动OB 未传送一个有效的组态数据记录,则 CPU 从启动模式返回到 STOP 模式。CPU 在这种情况下不会初始化集中式I/O,导致启动失败。如果用户并没有使用组态控制,一定确认取消激活“允许通过用户程序重新组态设备”,以免造成不必要的错误。
图3 组态控制造成的错误
图4 组态控制配置