在自动化系统PLC中包含有不同类型的块(函数FC,函数块FB,组织块OB及数据块DB),在这些块中可以编写用户程序和存储数据。把这些块根据特定的结构进行组合,实现特定的功能要求。
组织块是操作系统和用户程序之间的特定接口。只有操作系统才可以调用组织块。有各种事件(中断事件)可导致相关组织块的启动。他们是基于优先级的编号(1-26,1优先级最低,26优先级最高)来执行的。如果有多个组织块被激活,则程序按照如下的顺序执行:
- 若优先级级别高于当前的组织块则中断当前组织块,优先执行优先级高的组织块;
- 若优先级级别低于当前的组织块则在当前组织块执行完成后执行;
- 若优先级级别相同则进行排序,即按照事件发生的时间进行排序,先发生的先执行,后发生的后执行。
按照驱动事件的类型可以分为三类:分别是循环型组织块,时间驱动型组织块和事件驱动型组织块。它们将需要实现的用户程序(FC,FB)进行关联及调用,便实现了事件与控制功能的关联。
序号 | 分类 | 事件源类型 | 编号 | 优先级(默认) | 说明 |
1 | 启动 | 100, >=123 | 1 | CPU暖启动时执行一次 | |
2 | 循环型 | 循环程序 | 1, >=123 | 1 | 循环程序执行 |
3 | 时间驱动型 | 时间中断 | 10-17,>=123 | 2-24(2) | 按照预先设置的触发时间单次或重复执行 |
4 | 事件驱动型 | 延时中断 | 20-23,>=123 | 2-24(3) | 由程序触发计时,到达设定时间执行一次 |
5 | 时间驱动型 | 循环中断 | 30-38,>=123 | 2-24(8-17,取决于循环时间) | 按照设定的固定时间间隔循环执行 |
6 | 事件驱动型 | 硬件中断 | 40-47,>=123 | 2-26(16) | 根据硬件模块的通道设置,由外部的输入信号状态触发 |
7 | 事件驱动型 | 时间错误 | 80 | 22 | 程序执行发生超时 |
8 | 事件驱动型 | 诊断中断 | 82 | 2-26(5) | 具有诊断功能的模块检测到错误时触发 |
9 | 事件驱动型 | 插拔模块 | 83 | 2-26(6) | 发生插拔模块时触发 |
10 | 事件驱动型 | 机架错误 | 86 | 2-26(6) | 站点发生错误时触发 |
11 | 事件驱动型 | 编程错误 | 121 | 2-26(7) | 程序某个指令执行时发生的同步错误触发 |
12 | 事件驱动型 | I/O访问错误 | 122 | 2-26(7) | 外设IO访问发生错误时触发 |
相关链接: