首页 理论教育如何在STEP 7中编程组织块优先级?

如何在STEP 7中编程组织块优先级?

【摘要】:用户可以在STEP 7中对组织块进行编程来确定CPU特性。图4-7 事件驱动的中断设置2.组织块优先级组织块确定单个程序段执行的顺序,即启动事件。表4-2显示了STEP 7中的中断类型以及分配给这些中断的组织块的优先级。图4-8 组织块优先级必须说明的是:S7-300 CPU上的组织块优先级固定,但是对于S7-400 CPU,可以通过STEP 7修改OB10-OB47组织块的优先级或者可以将相同优先级分配给多个OB。

组织块(OB)表示操作系统和用户程序之间的接口,它由操作系统调用,控制循环中断驱动的程序执行、PLC启动特性和错误处理。用户可以在STEP 7中对组织块进行编程来确定CPU特性。

1.常见的组织块

常见的组织块主要类型如图4-1所示。

978-7-111-38359-8-Chapter04-2.jpg

图4-1 常见的组织块

(1)启动

如图4-2所示,当CPU上电后或操作模式改变为运行状态(通过CPU上的模式选择开关或利用PG),在循环程序OB1执行之前,要执行启动程序。OB 100(暖启动)、OB101(热启动)和OB 102(冷启动)就是用于启动程序的组织块,用户在这些块里可以预置通信连接。

978-7-111-38359-8-Chapter04-3.jpg

图4-2 启动组织块工作原理

启动组织块的设置可以在硬件组态中对CPU属性进行操作设定,图4-3所示为对CPU414-2 DP的启动设置为热启动OB101。

978-7-111-38359-8-Chapter04-4.jpg

图4-3 CPU中对启动组织块的设置

CPU 318-2和CPU 417-4 CPU还具有冷启动型的启动方式,针对电源故障可以定义这种附加的启动方式。它是通过硬件组态时的CPU参数来设置。冷启动时,所有过程映像和定时器、计数器及标志存储器被清除,数据块保持其预置值。冷启动后,首先执行启动组织块OB 102,然后从OB1的第一条指令开始执行。

(2)循环的程序执行

需要连续执行的程序存在组织块OB1里。OB1中的用户程序执行完毕后,将开始一个新的循环:刷新映像区然后从OB1的第一条语句开始执行。循环扫描时间和系统响应时间就是由这些操作来决定的。

系统响应时间包括CPU操作系统总的执行时间和执行所有用户程序的时间。系统响应时间,也就是当输入信号变化后到输出动作的时间,等于两个扫描周期。

(3)定期的程序执行

定期的程序执行可以根据设定的间隔中断循环的程序执行。通过循环中断,组织块OB30到OB 38可以每隔一段预定的时间(例如图4-4所示的OB35可以设置为100ms)执行一次,其工作原理如图4-5所示。例如,在这些块中可以调用循环采样控制程序。

978-7-111-38359-8-Chapter04-5.jpg

图4-4 周期性中断

978-7-111-38359-8-Chapter04-6.jpg

图4-5 周期性中断工作示意

通过日期时间中断,一个OB可以在特定的时间执行(即时间中断OB10-OB17),例如从2010年3月1日开始每天10:00保存数据,其设置如图4-6所示。

为了使用日时钟中断(OB10),用户必须执行下列任务:通过定义它执行的起始时刻(日期和/或时间)和间隔时间,对OB10进行配置,这可以通过S7组态工具配置CPU的日时钟的中断参数或者在程序中调用SFC28(SET_TINT)来实现;激活OB10,这可以通过S7组态工具在CPU的日时钟中断参数块中选择激活项,或者在程序中调用SFC30(ACT_TINT)来实现;在OB10中编辑你想执行的日时钟中断程序,并将OB块装载到CPU中作为用户程序的一部分。

978-7-111-38359-8-Chapter04-7.jpg

图4-6 时刻中断设置

(4)事件驱动的程序执行

事件驱动的中断设置如图4-7所示。硬件中断OB40-OB47可以用于快速响应的过程事件,当事件发生后,马上打断循环程序并执行中断程序;时间延迟中断(或延时中断)OB20-OB23可以在一个过程事件出现后延时一段时间响应;通过错误OB可以在出现错误时(如后备电池故障)决定系统如何响应。

978-7-111-38359-8-Chapter04-8.jpg

图4-7 事件驱动的中断设置

2.组织块优先级

组织块确定单个程序段执行的顺序,即启动事件。启动事件触发OB调用称为中断,一个OB调用可以中断另一个OB的执行,哪个OB允许中断另一个OB取决于其优先级,高优先级的OB可以中断低优先级的OB,背景OB的优先级最低。表4-2显示了STEP 7中的中断类型以及分配给这些中断的组织块的优先级。

表4-2 中断类型以及分配给这些中断的组织块的优先级

978-7-111-38359-8-Chapter04-9.jpg

(续)

978-7-111-38359-8-Chapter04-10.jpg

可以通过STEP 7给中断分配参数,如通过参数分配,可以取消选定参数块中的中断OB或优先级:日历中断、延时中断、循环中断和硬件中断,如图4-8所示。

978-7-111-38359-8-Chapter04-11.jpg

图4-8 组织块优先级

必须说明的是:S7-300 CPU上的组织块优先级固定,但是对于S7-400 CPU(和CPU318),可以通过STEP 7修改OB10-OB47组织块的优先级或者可以将相同优先级分配给多个OB。具有相同优先级的OB按照其启动事件发生的先后次序进行处理。