发表于:2015/3/17 12:50:18
#0楼
1. 如果 CPU 的操作模式从 STOP 切换到 RUN 时,包括启动模式处于 RUN 模式时 CPU 断电再上电和执行 STOP 到 RUN 命令切换时,启动组织块 OB 将被执行一次。启动组织块执行完毕后才开始执行主“程序循环”OB 。S7-1200 CPU 中支持多个启动 OB ,按照编号顺序(由小到大)依次执行,OB100 是默认设置。其它启动 OB 的编号必须大于、等于123。
2. 启动 OB 的启动信息
读取启动 OB 的启动信息的使用示例:当发生保持性数据丢失,输出 Q0.0 为1,当发生实时时钟丢失,输出 Q0.1 为1。
例如:在启动 OB100 中无条件为地址为 MW100 赋初值100;有条件(当 I0.0 = true 时)为 MW102 赋初值200。具体实现过程如下:
1.创建启动组织块 OB100
由于启动 OB 在执行过程中不更新过程映像区,所以读到的过程映像数值均为0。因此,要在启动模式下读取物理输入的当前状态,必须对输入执行立即读取操作,例如 I0.0:P。
如果程序段2中使用的是 I0.0 ,则程序段2中的指令将不会被执行。
3、测试结果:程序下载后,在监控表中查看 MW100、MW102 的数据。
① 当硬件输入 I0.0 为0时,CPU 上电启动或 STOP--->RUN 操作时首先执行 OB100 ,即 MW100 被赋值100,MW102 未被赋值200。
② 当硬件输入 I0.0 为1时,CPU 上电启动或 STOP--->RUN 操作时首先执行 OB100 ,即 MW100 被赋值100,MW102 被赋值200。
使用启动组织块需要注意什么?
1、只要工作模式从 STOP 切换到 RUN ,CPU 就会清除过程映像输入、初始化过程映像输出并处理启动 OB ;
2、要在启动模式下读取物理输入的当前状态,必须执行立即读取操作;
3、在启动阶段,对中断事件进行排队但不进行处理,需要等到启动事件完成后才进行处理;
4、启动 OB 的执行过程没有时间限制,不会激活程序最大循环监视时间;
5、在启动模式下,可以更改 HSC(高速计数器)、PWM(脉冲宽度调制)以及 PtP(点对点通信)模块的组态。
2. 启动 OB 的启动信息
读取启动 OB 的启动信息的使用示例:当发生保持性数据丢失,输出 Q0.0 为1,当发生实时时钟丢失,输出 Q0.1 为1。
例如:在启动 OB100 中无条件为地址为 MW100 赋初值100;有条件(当 I0.0 = true 时)为 MW102 赋初值200。具体实现过程如下:
1.创建启动组织块 OB100
由于启动 OB 在执行过程中不更新过程映像区,所以读到的过程映像数值均为0。因此,要在启动模式下读取物理输入的当前状态,必须对输入执行立即读取操作,例如 I0.0:P。
如果程序段2中使用的是 I0.0 ,则程序段2中的指令将不会被执行。
3、测试结果:程序下载后,在监控表中查看 MW100、MW102 的数据。
① 当硬件输入 I0.0 为0时,CPU 上电启动或 STOP--->RUN 操作时首先执行 OB100 ,即 MW100 被赋值100,MW102 未被赋值200。
② 当硬件输入 I0.0 为1时,CPU 上电启动或 STOP--->RUN 操作时首先执行 OB100 ,即 MW100 被赋值100,MW102 被赋值200。
使用启动组织块需要注意什么?
1、只要工作模式从 STOP 切换到 RUN ,CPU 就会清除过程映像输入、初始化过程映像输出并处理启动 OB ;
2、要在启动模式下读取物理输入的当前状态,必须执行立即读取操作;
3、在启动阶段,对中断事件进行排队但不进行处理,需要等到启动事件完成后才进行处理;
4、启动 OB 的执行过程没有时间限制,不会激活程序最大循环监视时间;
5、在启动模式下,可以更改 HSC(高速计数器)、PWM(脉冲宽度调制)以及 PtP(点对点通信)模块的组态。
总有一天我不再做枝头上夜莺的哀吟
像沙翁中的云雀,我会一翅冲天
为泱泱大国的中华唱出我赞美的诗章;
像沙翁中的云雀,我会一翅冲天
为泱泱大国的中华唱出我赞美的诗章;