随着西门子plc的快速发展,西门子plc s7-300/400组织块与中断在工业方面的应用也越来越多,今天小编为大家介绍一下西门子plc s7-300/400组织块与中断,具体步骤如下:
s7-300/400组织块与中断
1.组织块
组织块是操作系统与用户程序的接口,由操作系统调用,组织块中的程序是用户编写的,组织块用于控制扫描循环和中断程序的执行、PLC的启动和错误处理等,可以使用的组织块与CPU的型号有关。
组织块
OB编写 | 错误类型 | 优先级 | 说明 |
OB1 | 启动或上一次循环结束时执行OB1 | 1 | 主程序循环 |
OB10-OB17 | 时间中断0-7 | 2 | 在设置的日期和时间启动 |
OB20-OB23 | 时间延迟中断0-3 | 3-6 | 延时后启动 |
OB30-OB38 | 循环中断0-8 | 7-15 | 以设定的时间为周期运行 |
BO40-OB47 | 硬件中断0-7 | 16-23 | 检测到来自外部模块的中断请求中断 |
OB55 | 状态中断 | 2 | DPV1中断(PROFIBUS-DP中断) |
OB56 | 刷新中断 | 2 | |
OB57 | 制造厂商特殊中断 | 2 | |
OB60 | 多处理器中断,调用SFC35时启动 | 25 | 多处理器中断的同步操作 |
OB61-64 | 同步循环中断1-4 | 25 | |
OB65 | 技术功能同步中断 | 25 | |
OB70 | I/O冗余错误 | 25 | 冗余故障中断、只用于H系统CPU |
OB72 | CPU冗余错误 | 28 | |
OB73 | 通信冗余错误 | 25 | |
OB80 | 时间错误 | 26、28(对于s7-300) 25、28(对于s7-400和CPU318) | 异步错误中断 |
OB81 | 电源故障 | ||
OB82 | 诊断中断 | ||
OB83 | 插入、取出模块错误 | ||
OB84 | CPU硬件错误 | ||
OB85 | 优先故障错误 | ||
OB86 | 机架故障或分布式I/O的站故障 | ||
OB87 | 通信错误 | ||
OB90 | 背景组织块 | 29 | 背景循环 |
OB100-102 | 暖启动、热启动、冷启动 | 27 | 启动 |
OB121 | 编程错误 | 与引起错误的OB的优先级相投 | 同步错误中断 |
OB122 | I/O访问错误 |
OB1用于循环处理,是用户程序中的主程序,操作系统在每一次循环中调用一次OB1。
2.事件中断处理
中断处理用来实现对特殊内部事件或外部事件的快速响应,如果没有中断事件发生CPU循环执行组织块OB1,CPU检测到中断源的中断请求时, 操作系统在执行完当前逻
块的当前指令后,立即响应中断,自动调用中断源对应的中断组织块。执行完中断组织后,返回被中断的程序的断点处继续执行原来的程序,中断组织块不是由逻辑块调用,而在中断事件发生时由操作系统调用。中断组织块中的程序是用户编写的。
有中断事件发生时, 如果没有下载对应的组织块, 西门子plc CPU将会进入STOP模式,如果用户希望忽略某个中断事件, 可以生成和下载一个对应的空的组织块, 出现该中断事件时, CPU不会进入STOP模式。
3.中断的优先级
OB按触发事件分成几个级别,这些级别有不同的优先级(见表),如果在执行中断程序(组织块) 时, 又检测到一个中断请求, CPU将比较两个中断源的中断优先级,如果优先级相同,按照产生中断请求的先后次序进行处理,如果后者的优先级比正在执行的0B中断程序的嵌套调用。
4.组织块的临时局部变量
每个组织块的局部数据区都有20B的临时变量(TEMP) , 它们提供触发该OB的事件的详细信息,这些信息在OB启动时山操作系统提供。
OB的临时局部变量
地址(字节) | 内容 |
0 | 事件级别与标识符、例如OB40为B#16#11,表示硬件中断被激活 |
1 | 用代码表示与启动OB的时间有关的信息 |
2 | 优先级,例如OB40的优先级为16 |
3 | OB块号,例如OB40的块号为40 |
4-11 | 事件的附加信息,例如OB40的LB5为产生中断的模块的类型,LW6为产生中断的模块的起始地址:LD8为产生的中断信号 |
12-19 | OB被启动的日期和时间 |
总结:以上内容就是小编为大家介绍的西门子plc s7-300/400组织块与中断,本公司是西门子plc代理商,如果您有这方面的任何需求,欢迎大家咨询容感电气,我们将给您真诚的服务。
参考文献跟我动手学s7-300/400PLC,主编:廖常初