[西门子] TIA博图基础知识分享:关于程序循环OB介绍与应用!

[复制链接]
查看301 | 回复0 | 2024-6-27 08:46:38 | 显示全部楼层 |阅读模式
● 程序循环 OB 的功能
用户程序的本质就是循环程序。并循环执行相关的程序部分:该过程执行之后,操作系统将再次开始执行。
循环程序可以有一个或多个循环 OB。这些 OB 的优先级为 1,是所有 OB 中优先级最低的。任何其它事件类别的事件都可以中断循环程序。
如果创建了多个程序循环 OB,将按照这些 OB 的编号依次进行调用。首先调用 OB 编号最小的程序循环 OB。
下列事件可启动循环程序:
  • 启动处理结束
  • 循环程序先前的执行结束
执行循环程序之后,操作系统按照以下步骤更新过程映像:
  • 将过程映像输出中的值写到输出模块。
  • 读取输入模块处的输入并传送到过程映像输入。

●操作系统的执行过程,请参见下图:
1、操作系统启动扫描循环监视时间;
2、操作系统将输出过程映像区的值写到输出模块;
3、操作系统读取输入模块的输入状态,并更新输入过程映像区;
4、操作系统处理用户程序并执行程序中包含的运算;
5、当循环结束时,操作系统执行所有未决的任务,例如加载和删除块,或调用其他循环 OB ;
6、最后,CPU 返回循环起点,并重新启动扫描循环监视时间。

● 程序循环 OB 的使用示例:
例如:验证创建的程序循环OB同时执行。具体实现过程如下:
1、按如下步骤创建循环组织块 OB123 。

2、通过上述类似方法创建一个数据块DB 。

3、在数据块中新建两个变量,定义为双整型。

4、分别再OB1和OB123上创建一个简单自加1计数程序


5、下载到仿真里面,通过仿真可以查看我们新建的两个循环计数变量的值一直是同步的,这样也验证了OB1和OB123是同时在工作的。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则