[西门子] 话说西门子PLC OB组织(一)

[复制链接]
查看224 | 回复0 | 2024-10-18 08:05:01 | 显示全部楼层 |阅读模式
一、OB组织块概述

1组织块是操作系统和用户程序之间的接口,控制程序的执行:

(1)自动化系统的启动
(2)循环程序处理
(3)中断响应的程序执行
(4)错误处理
2OB 无法被调用,是由特定的事件触发。
3CPU 对 OB 的处理按照优先级进行,高优先级的在前。
4优先级范围 1~26,编号越大,优先级越高。

二、常用的OB组织块

1.程序循环OB
(1)在 CPU 处于 RUN 模式时,周期性地循环执行。
(2)优先级为1且不可更改,可被高优先级的组织块中断。
(3)允许使用多个程序循环 OB,编号默认 OB 1; 按 OB 编号顺序由小到大依次执行。

2.启动OB
(1)STOP→>RUN 切换(STARTUP 模式)时,如已添加启动 OB,将被执行 1次。
(2)支持多个启动 OB,按照编号顺序由小到大依次执行。
(3)0B 100 是默认设置,其他启动0B编号必须≥123
3时间中断OB
(1)时间中断默认 OB 10,允许增加时间中断个数 ≤2
(2)在指定时间(日期,时间):

启动一次

周期性启动 (每分、每小时、每日、每周、每月、月末及每年)

指令名称功能说明

SET TINTL设置时间中断

设置为执行一次或在分配的时间段内多次执行

ACT_TINT激活时间中断激活起始日期和时间中断事件

4延时中断0B

(1)在经过一段指定时间延时后,才执行响应的 OB 中的程序。

(2)编号必须为 20~23,或≥123;个数要求≤4个。

(3)必须通过 SRT_DINT 启用 延时中断,延时范围1~60000ms

(4)通过 CAN DINT 取消 延时中断。

5循环中断OB
(1)编号默认 0B30,编号 30~38,或≥123,个数要求≤4个
(2)按设定的循环时间间隔循环执行。
(3)可组态的循环间隔时间500 ~6000000μs

指令名称功能说明

SET_CINT

设置循环时间、相移时间UDINT 类型,单位:微秒

QRY_CINT查询循环时间、相移时间UDINT 类型,单位:微秒
相移时间

(1)多个循环 OB,优先级不同,循环时间设置存在公倍数

先执行高优先级 OB,再执行低优先级OB,低优先级 OB周期时间无法保证。
②低优先级 OB 设置相移,可以防止多个 0B 同时启动。

6硬件中断OB

(1)由硬件事件触发,可通过硬件组态或“ATTACH”“DETACH指令关联/脱离中断事件和硬件 OB。

(2)编号必须为 40~47,或 ≥ 123

(3)1个硬件中断事件只允许对应1个硬件中断 OB,1个硬件中断 OB 可以分配给多个硬件中断事件。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

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

本版积分规则