要启动程序执行,项目中至少要有一个程序循环 OB。 操作系统每个周期调用该程序循环 OB 一次,从而启动用户程序的执行。 可以使用多个 OB(OB 编号大于等于 123)。 使用多个程序循环 OB 时,将按照 OB 编号依次调用。 首先调用 OB 编号较低的程序循环 OB。
程序循环 OB 的**等级为 1。这对应于所有 OB 的较低**级。 任何其它事件类别的事件都可以中断循环程序。
可通过在循环 OB 以及所调用的块中编写用户程序对循环程序执行进行编程。
一旦成功执行启动程序后,就会开始**次循环程序执行。 每次循环程序执行结束后,循环重新开始。
一个程序执行周期包括以下步骤:
操作系统启动较大循环时间。
操作系统将输出过程映像中的值写到输出模块。
操作系统读取输入模块的输入状态,并更新输入过程映像。
操作系统处理用户程序并执行程序中包含的运算。
在循环结束时,操作系统执行所有未决的任务,例如加载和删除块,或调用其它循环 OB。
最后,CPU 返回到循环起点,并重新启动扫描循环监视时间。
另请参见: 过程映像输入/输出
循环程序执行可被以下事件中断:
中断
以下情况触发的 STOP 命令
- 编程设备的运行
- “STP”指令
电源故障
发生设备故障或程序出错
无
优化启动信息:
名称 | 数据类型 | 含义 |
---|---|---|
first_scan | BOOL | 为 TRUE,在下列情况下**次调用此 OB 时: 从 STOP 或 HOLD 切换为 RUN 重新加载后 |
保持性 | BOOL | 为 TRUE,如果保持性数据可用 |
产品推荐
友情链接