一、OB组织块概述
1.组织块是操作系统和用户程序之间的接口,控制程序的执行:
(1)自动化系统的启动
(2)循环程序处理
(3)中断响应的程序执行
(4)错误处理
2.OB无法被调用,是由特定的事件触发。
3.CPU对OB的处理按照优先级进行,高优先级的在前。
4.优先级范围1~26,编号越大,优先级越高。
二、常用的OB组织块
1.程序循环OB
(1)在CPU处于RUN模式时,周期性地循环执行。
(2)优先级为1且不可更改,可被高优先级的组织块中断。
(3)允许使用多个程序循环OB,编号默认OB1;按OB编号顺序由小到大依次执行。
2.启动OB
(1)STOP→RUN切换(STARTUP模式)时,如已添加启动OB,将被执行1次。
(2)支持多个启动OB,按照编号顺序由小到大依次执行。
(3)0B100是默认设置,其他启动0B编号必须≥123。
3.时间中断OB
(1)时间中断默认OB10,允许增加时间中断个数≤2。
(2)在指定时间(日期,时间):
①启动一次。
②周期性启动(每分、每小时、每日、每周、每月、月末及每年)
指令名称
功能说明
SETTINTL设置时间中断
设置为执行一次或在分配的时间段内多次执行
ACT_TINT激活时间中断
激活起始日期和时间中断事件
4.延时中断0B
(1)在经过一段指定时间延时后,才执行响应的OB中的程序。
(2)编号必须为20~23,或≥123;个数要求≤4个。
(3)必须通过SRT_DINT启用延时中断,延时范围1~60000ms。
(4)通过CANDINT取消延时中断。
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可以分配给多个硬件中断事件。
话说西门子PLCOB组织(一)
;tid=501510fromuid=1
(出处:PLC论坛-全力打造可编程控制器专业技术论坛)