启动OB的功能

描述

● 启动 OB 的功能

如果 CPU 的操作模式从 STOP 切换到 RUN 时,包括启动模式处于 RUN 模式时 CPU 断电再上电和执行 STOP 到 RUN 命令切换时,启动组织块 OB 将被执行一次。启动组织块执行完毕后才开始执行主“程序循环”OB 。S7-1200 CPU 中支持多个启动 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 的接口变量及启动信息参考下图3、4。

编程

图3. 启动 OB 的接口变量

编程

图4. 启动 OB 的启动信息

编程读取启动 OB 的启动信息的使用示例:当发生保持性数据丢失,输出 Q0.0 为1,当发生实时时钟丢失,输出 Q0.1 为1。

在启动 OB 中编程如图5:

编程

图5. 检测保持性数据或时钟丢失例程

● 启动 OB 的使用示例:

编程例如:在启动 OB100 中无条件为地址为 MW100 赋初值100;有条件(当 I0.0 = true 时)为 MW102 赋初值200。具体实现过程如下:

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

审核编辑 :李倩

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分