循环程序 (OB 1)
说明
S7 CPU 的操作系统循环执行 OB 1。 执行完 OB 1 后,操作系统再次开始执行 OB 1。 启动完成后,开始循环执行 OB 1。 可在 OB 1 中调用指令。
OB 1 的功能
在运行时间内监视的所有 OB 中,OB 1 的**级较低。 除 OB 90 外,其它所有 OB 都可以中断 OB 1 的执行。下列事件可以使操作系统调用 OB 1:
启动处理结束
已完成 OB 1 的执行(上一周期)。
执行 OB 1 后,操作系统发送全局数据。 重新启动 OB 1 之前,操作系统会将过程映像输出写入输出模块、更新过程映像输入以及接收 CPU 的任何全局数据。
S7 监视较大循环时间,以确保较长的响应时间。 较大循环时间的值预设为 150 ms。用户可以设置一个新值,也可以在用户程序中的任意位置使用 "RE_TRIGR" 指令重新启动时间监视。 如果程序**出 OB 1 的较大循环时间,则操作系统调用 OB 80(时间错误 OB)。 如果未对 OB 80 编程,则 CPU 切换为 STOP 模式。
除监视较大循环时间外,还可以保证较小循环时间。 操作系统将延时启动新循环(将过程映像输出写入输出模块),直至达到较小循环时间。
可以使用组态更改较大循环时间参数和较小循环时间参数。
OB 1 的本地数据
下表说明了 OB 1 的临时 (TEMP) 变量。变量名称为 OB 1 的默认名称。
变量 | 数据类型 | 说明 |
---|---|---|
OB1_EV_CLASS | BYTE | 事件类别和标识符: |
OB1_SCAN_1 | BYTE | B#16#01:完成暖启动 B#16#02:完成热启动 B#16#03:完成自由循环 B#16#04:完成冷启动 B#16#05:主站-备用站切换和上一主站处于 STOP 状态后,新主站 CPU 的一个 OB 1 循环 |
OB1_PRIORITY | BYTE | **等级: 1 |
OB1_OB_NUMBR | BYTE | OB 编号 (01) |
OB1_RESERVED_1 | BYTE | 预留 |
OB1_RESERVED_2 | BYTE | 预留 |
OB1_PREV_CYCLE | INT | 上一扫描周期的运行时间 (ms)。 |
OB1_MIN_CYCLE | INT | 自上次启动后的较小循环时间 (ms) |
OB1_MAX_CYCLE | INT | 自上次启动后的较大循环时间 (ms) |
OB1_DATE_TIME | DATE_AND_TIME | 调用 OB 时的日期和时间 |
shtxjd.cn.b2b168.com/m/