1
组织块
硬件数据类型由CPU提供,可用硬件数据类型的数目取决于具体使用的CPU。硬件数据类型通常都是常量,用于硬件的标识,常量的值取决于模块的硬件配置。硬件数据类剧也常用于诊断。表5-12给出了可用的硬件数据类型及其用途。
组织块(OB)由操作系统调用,同时执行编写在组织块中的用户程序,组织块Zui基本 的功能就是调用用户程序。
组织块可以控制下列操作:
自动化系统的启动特性;
循环程序处理;
中断响应的程序执行;
错误处理。
组织块代表CPU的系统功能,不同类型的组织块完成不同的系统功能。不同类型的CPU支持的组织块数量不同,具体请查看各CPU的技术数据。一个组织块可以编写Zui大的程序容量也与PLC的型号有关,例如CPU1511支持的组织块Zui大为150K, 而CPU 1516支持的组织块Zui大为512K。
2
组织块的类型与优先级
SIMATIC S7-1500 CPU支待的优先级从1(Zui低)到26(Zui高),每个OB有其对应的优先级。OB可由事件触发,所以也可以说事件具有与OB相对应的优先级。对于SIMATIC S7-1500 CPU,如果发生OB启动事件,则可能引起以下反应:
如果事件源已分配一个OB,则事件将触发该OB的执行并更新分配的过程映像分 区,这意味着事件是按照优先级进行排列的(因为OB具有优先级)。
如果事件源并没有分配任何OB(有一种可能是用户并没有添加相应OB),则将执 行默认的系统响应(在S7-300/400中CPU将停机)。
下表概述了OB启动事件,包括OB优先级、OB编号、默认的系统响应和可能的OB 个数。优先级数字越小表示优先级越低,例如程序循环组织块的优先级为“1"'表示其优先级Zui低,能够被其他组织块所中断。
注意:由表可以看出,当发生循环超时和编程错误事件时,如果程序中没有添加相应的组织块,则SIMATICS7-1500CPU将进入停机模式;而对于其他事件,即使SIMATICS7-1500CPU中没有添加相应的组织块,CPU也不会停机,这与S7-300/400是有区别的。
下面是各组织块类型的介绍和使用方法
1
程序循环组织块
操作系统每个周期调用“程序循环”组织块一次,从而启动用户程序的执行。在SIMATIC S7-1500 CPU中,可以使用多个“程序循环”组织块(OB编号大于等于123),并且按照序号由小到大的顺序依次执行。所有的"程序循环”组织块执行完成后,操作系统再次重新调用“程序循环”组织块。在各个“程序循环”组织块中调用FB、FC等用户程 序使之循环执行。“程序循环”组织块的优先级为1且不能修改,这意味着它的优先级是Zui低的,可以被其他OB块中断。“程序循环”组织块的执行如图所示。
2
时间中断组织块
时间中断组织块用于在时间可控的应用中定期运行一部分用户程序,可以实现在某个预设时间到达时只运行一次,或者在设定的触发日期到达时,按每分、每小时、每周、每月、每月底等周期运行。当CPU的日期值大于设定的日期值时触发相应的OB,按设定的模式执行。在用户程序中也可以通过调用SET_TINT指令设定时间中断组织块的参数,调用ACT_ TINT指令激活时间,中断组织块投入运行。与在OB块属性中的设置相比,通过用户程序 在CPU运行时修改设定的参数更加灵活。两种方式可以任意选择,也可以同时对一个OB块 进行参数设置。
3
时间延迟中断组织块
时间延迟中断OB在经过一段可组态的延迟时间后启动。操作系统会在调用指令SRT_ DINT后开始计算延迟时间,延迟时间到达后触发执行响应的OB。OB块号及延迟时间在SRT_DINT参数中设定,延迟时间为1 ~60000ms,延迟精度为lms,这也是不使用定时器作为延时条件的原因。可以使用“CAN_DINT"指令取消已经启动的延迟中断。
4
循环中断组织块
循环中断组织块按设定的时间间隔循环执行,循环中断的间隔时间通过时间基数和相位偏移量来指定。在OB块属性中,每一个OB块的时间间隔可以由用户设置。如果使用了多个循环中断OB,则当这些循环中断OB的时间基数有公倍数时,可以使用相位偏移量来防止同时启动。不同类型的SIMATIC S7-1500 CPU所支持的Zui短时间间隔不同,例如CPU 1516支持Zui短250µs的时间间隔,而CPU1518支持Zui短lOOµs的时间间隔。在循环中断组织块中的用户程序将按照固定的间隔时间执行一次,OB块中的用户程序执行时间必须小于设定的时间间隔。如果间隔时间较短,则会造成循环中断OB块没有完成程序扫描而再次被调用,从而造成CPU故障,触发OB80报错。如果程序中没有创建OB80,则CPU进入停机模式。通过调用DIS_IRT、DIS_AIRT、EN_IRT指令可以禁用、延迟、使能循环中断的调用。循环中断组织块通常处理需要固定扫描周期的用户程序,例如PID函数块通常需要在循环中断中调用,以保证采样时间恒定。
5
硬件中断组织块
硬件中断也称为过程中断,用来响应由具有硬件中断能力的设备(如通信处理器CP及 数字量输入、输出模块等)产生的硬件中断事件。例如,可使用具有硬件中断的数字量输 入模块触发中断响应,然后为每一个中断响应分配相应的中断OB块,多个中断响应可以触发一个相同的硬件中断OB。SIMATIC S7-1500 CPU支持多达50个硬件中断组织块,可以为Zui多50个不同的中断事件分配独立的硬件中断组织块,方便用户对每个中断事件独立编程。
如果配置的中断事件出现,则中断当前主程序,执行中断OB块中的用户程序一次,然后跳回中断处继续运行主程序。中断程序的执行不受主程序扫描和过程映像区更新时间的影响,适合需要快速响应的应用。
如果输入模块中的一个通道触发硬件中断,则操作系统将识别该模块的槽号和通道号,并触发相应的OB块,执行中断OB块之后发送与通道相关的确认。在识别和确认过程中, 如果该通道存在再次的中断事件,则操作系统将不予响应;如果该模块的其他通道存在中断事件,则在当前正在执行的中断确认之后响应这个新的中断事件;如果是由不同的模块触发的中断,则中断请求首先被记录,中断OB块在空闲(没有其他模块的中断请求)时被触发。通过调用DIS_IRT、DIS_AIRT、EN_IRT指令可以禁用、延迟、使能硬件中断的调用。
6
PROFIBUS- DP/PROFINET IO中断组织块
CPU响应PROFIBUS- DP从站/PROFINET IO设备触发的中断信息。
7
等时同步中断组织块
用于处理PROFIBUS- DP或PROFINET IO的等时同步用户程序。在等时模式下,从各个从站/设备采集输入信号到输出逻辑结果需要以下过程:从站/设备输入信号采样循环(信号转换)、从站/设备背板总线循环(转换的信号从模块传递到接口模块)、总线循环(信号 从分布式I/O传递到CPU)、程序执行循环(信号的程序处理,即等时同步中断组织块)、 总线循环(信号从PLC传递到分布式I/O)、从站/设备背板总线循环(信号从站接口模块 传递到输出模块)及模块输出循环(信号转换)等7个循环。同步时钟将同步以上7个循 环,优化数据的传递,并保证各个分布式I/O数据处理的同步
8
时间错误组织块
用于处理时间故障。当在一个循环内程序执行第一次超出设置的Zui大循环时间时,CPU 将自动调用OB80。如果程序中没有创建OB80,则CPU将进入停止模式,如果程序中已经创建了OB80,但是在同一次循环内程序执行超出设置的Zui大循环时间两倍,则CPU也将进 入停机模式。
9
诊断中断组织块
SIMATIC S7-1500 PLC操作系统在下列情况下调用诊断中断组织块:
激活诊断功能的模块检测到其诊断状态发生变化(事件到来或事件离开);
发生电源错误触发事件;
操作系统检测到存储错误以及硬件中断丢失等事件。
10
拔出/插入中断组织块
当移除或者插入已组态的分布式I/O模块或子模块时,SIMATIC S7-1500 CPU操作系统将调用拔出/插入中断组织块。
注意:目前SIMATIC S7-1500 PLC机架不支持热插拔,所以拔出或插入中央机架模块将导致CPU进入STOP模式。
- SICAR标准中Prodiag报警使用说明 2025-02-03
- 西门子伺服基础 2025-02-03
- 西门子PLC用于博图的各类功能库,附官方下载链接 2025-02-03
- SICAR程序学习-PN网络程序诊断功能块 2025-02-03
- SICAR程序学习-初始化程序 2025-02-03
- 西门子变频器选型 2025-02-03
- 西门子基于ISA88和OMAC的通用设备标准化编程模板 2025-02-03
- 经典运动控制之凸轮曲线你会不会计算?给你个程序代码 2025-02-03
- FANUC-多任务同步执行的几种方式 2025-02-03
- SICAR程序学习-配置程序 2025-02-03
- 变频器控制基础 2025-02-03
- 分享一个读取布尔变量的名称和状态并显示在HMI侧的FB块和面板实例(大佬请绕路) 2025-02-03
- 一位工程师对西门子PLC的FB和FC的理解 2025-02-03
- PLC标准化编程之程序块版本控制说明 2025-02-03
- PLC标准化编程之手把手教你Git对博途程序版本控制使用方法(全网Zui全!) 2025-02-03
联系方式
- 电 话:13922889745
- 经理:向小姐
- 手 机:18475208684
- 微 信:18475208684