开始产科
OB 的启动功能
当CPU 的工作模式从STOP 切换到RUN 时,包括启动模式为RUN 模式时、CPU 断电再上电时以及STOP 转RUN 命令时,启动组织块OB 将被执行一次。被执行。
仅在启动组织块执行完成后才开始执行主“程序循环”OB。
S7-1200 CPU 支持多个启动OB,这些启动OB 按顺序(从小到大)执行。 OB100 是默认设置。
其他启动OB 的数量必须大于或等于123。
开始执行OB
V4.0及以后版本的CPU如图1所示,V3.0及之前版本的CPU如图2所示:
图1 V4.0版本以后CPU启动过程及运行过程图解
图2 V3.0及之前版本CPU启动流程及运行流程示意图
注意:之前的版本与当前新版本最大的区别在于将物理输入状态复制到I内存(即过程映像)的执行时间。早期版本是在执行启动OB后执行的,而当前新版本是在启动后执行的。在OB 之前执行。
也就是说,对于新版本,如果上电前已经连接了I点,则可以在启动OB中读取I点的状态,而不必读取I:P。
此外,在执行启动OB 期间无法输出。即使编程输出到Q:P,也会在启动OB 完成后输出。
如果启动OB 中出现Q:P,则CPU 的诊断缓冲区中也会出现如图3 所示的报警。
图3. Q:P 的报警输出
与启动OB 相关的信息
启动OB 包含启动信息,可用于确定保持性数据和实时时钟是否丢失。可以在启动OB 中写入指令。
启动OB的接口变量和启动信息如图4和表1所示。
图4. 用于启动OB 的接口变量
输入数据类型说明LostRetentiveBool 如果保持性数据存储区域丢失,该位为TrueLostRTCBool 如果时钟(实时时钟)丢失,该位为True 表1. 启动OB 的启动信息
读取启动OB的启动信息的使用示例:
当发生保持性数据丢失时,输出Q0.0 为1。当发生实时时钟丢失时,输出Q0.1 为1。
启动OB 中的编程如图5 所示:
图5. 检测保持性数据或时钟丢失例程
启动OB的用法示例:
例如:启动OB100时,无条件给地址MW100赋初始值100;有条件地(当I0.0=true 时)将初始值200 分配给MW102。具体实施过程如下:
1. 按照以下步骤创建启动组织块OB100。如图6所示。
图6. 创建启动组织块OB100
2、OB100中的编程如图7所示。
图7. 在OB100 中编程
注意:如前所述,不同的CPU 版本将物理输入状态复制到I 内存(即过程映像)的执行时间不同,以确保低版本和高版本程序之间的一致性。
因此,要在引导模式下读取物理输入的当前状态,必须对该输入执行立即读取操作,例如I0.0:P。
3、测试结果:下载程序后,查看监控表中MW100和MW102的数据。
当硬件输入I0.0 为0 时,CPU 上电或STOP---RUN 操作时首先执行OB100,即MW100 赋值为100,MW102 不赋值为200 .如图8所示。
图8. 测试结果1
当硬件输入I0.0 为1 时,CPU 上电或STOP---RUN 操作时首先执行OB100,即MW100 赋值为100,MW102 赋值为200。如图9所示。
图9. 测试结果2
常见问题
使用创业组织块需要注意什么?
1. 在启动阶段,中断事件排队但不处理。他们需要等到启动事件完成才进行处理;
2、启动OB的执行过程没有时间限制,程序的最大循环监控时间不会被激活;
3. 在启动模式下,您可以更改HSC(高速计数器)、PWM(脉宽调制)和PtP(点对点通信)模块的配置。
审稿人:刘庆