电器控制与plc技术应用第7章s7的组织块和中断处理

上传人:j****9 文档编号:54682879 上传时间:2018-09-17 格式:PPT 页数:14 大小:183.50KB
返回 下载 相关 举报
电器控制与plc技术应用第7章s7的组织块和中断处理_第1页
第1页 / 共14页
电器控制与plc技术应用第7章s7的组织块和中断处理_第2页
第2页 / 共14页
电器控制与plc技术应用第7章s7的组织块和中断处理_第3页
第3页 / 共14页
电器控制与plc技术应用第7章s7的组织块和中断处理_第4页
第4页 / 共14页
电器控制与plc技术应用第7章s7的组织块和中断处理_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《电器控制与plc技术应用第7章s7的组织块和中断处理》由会员分享,可在线阅读,更多相关《电器控制与plc技术应用第7章s7的组织块和中断处理(14页珍藏版)》请在金锄头文库上搜索。

1、第7章 S7的组织块和中断处理,7.1 组织块概述 组织块是CPU操作系统与用户程序的接口。SIMATIC S7 CPU提供大量的OB(组织块),用组织块可以创建在特定的时间执行的特定程序,或者响应特定事件的程序。例如,当S7 DP从站触发了一个硬件中断,或当一个DP从站发生故障时,则S7 CPU的操作系统就可能中断正在处理的OB,去响应相应的中断事件。因此要定义OB的优先权,高优先权的OB可以中断低优先权的OB。,1. 组织块的组成 组织块只能由操作系统启动,它由变量声明表和用户程序组成。当操作系统调用时,每个OB提供20个字节的变量声明表,其含义取决于OB。变量名称是STEP 7规定的。

2、2. 组织块的分类 (1)循环执行的组织块 :安排在OB1中,执行完后又开始新的循环。 (2)启动组织块:用于系统的初始化,CPU上电或操作模式改为RUN时,根据不同的启动方式来执行OB100OB102中的一个。 (3)定期执行的组织块:包括日期时间中断组织块(OB10OB17)和循环中断组织块(OB30OB38)。 (4)事件驱动的组织块:包括延时中断(OB20OB23)、硬件中断(OB40OB47)、异步错误中断(OB80OB87)和同步故障中断(OB121和OB122)。 (5)背景组织块: 避免循环等待时间。,7.2 循环执行的组织块 循环执行的组织块就是主程序OB1。是每个用户程序中

3、必不可少的部分,系统只有通过主程序OB1的调用才能够执行其它功能块(FB或FC)。 在启动OB(OB100用于暖启动,OB101用于热启动,OB102用于冷启动)被执行后,首先执行OB1,在开始执行OB1程序之前,操作系统通过读取当前输入模板的信号状态来更新输入过程映像表;然后根据更新过的输入映像表来执行OB1程序,在OB1的程序中,可以根据需要调用用户编辑的功能块FB及FC,系统功能块SFB及SFC;在OB1程序执行结束时,操作系统传送过程输出映像表到输出模板,来更新输出模板的信号状态,完成了一个循环周期。然后继续读取输入模板信号,进行下一周期的运行。这个过程连续不断地重复,即“循环执行”。

4、所有被监控运行的组织块(OB)中,OB1的优先权最低,因此,它可以被其他任何OB块中断。 S7系列PLC的CPU允许监视最大循环时间,就是处理OB1的时间,也可以设置OB1的最小循环时间。如果已经设置最小循环时间,则CPU操作系统将延时,达到此时间后才可以开始另一次循环执行OB1。,7.3 定期执行的组织块和中断处理 7.3.1 日期时间中断 1.设置和启动日期时间中断 (1)调用系统功能块SFC28(“SET_TINI”)设置中断参数,调用SFC30(“AXT_TINI”)来激活日期时间中断。 (2)在STEP7的硬件设置(Hardware)中,双击“CPU”,在CPU属性对话 框中,单击“

5、Time-Of-Day”标签,设置要产生中断的日期和时间,选中“Active(激活)”,在“Execution”中选择执行方式(不执行、1次、每分钟、每小时、每天、每周、每月、每年)。完成设置后下装到CPU中。 (3)在STEP7的硬件设置(Hardware)中,双击“CPU”,在CPU属性对话框中,单击“Time-Of-Day”标签,设置要产生中断的日期和时间,不选中“Active(激活)”,而是在用户程序中调用SFC30(“ACT_TINI”)激活日期时间中断。 2.查询日期时间中断 通过调用系统功能SFC31(“QRY_TINT”),可以查询设置了哪些中断参数,或者查询中断状态表。,3.

6、禁止日期时间中断 例7-1 从2009年4月30日8时50分开始,在I0.0的上升沿启动日期时间中断OB10,每分钟中断一次,每中断一次使MW10内容加5,在I0.1为1时禁止日期时间中断OB10。设置启动日期时间过程图 1. 语句表(STL)格式程序详见教材,2. 相应的梯形图(LAD)程序详见教材 7.3.2循环中断组织块(OB30OB38) 循环中断是CPU进入RUN后,按一定的间隔时间循环触发的中断,因此,用户定义的间隔时间要大于中断服务程序的执行时间。启动循环中断,需要在STEP7参数设置时选中循环中断组织块,并按1ms的整数倍设置间隔时间。 例 7-2 在I0.0的上升沿启动OB3

7、5对应的循环中断。在OB35中使MW4加1。 先将OB35的循环周期由默认的100ms改为1000ms(在硬件组态Hardware中CPU的属性中更改),下装到CPU中。 1.主程序OB1与2.循环中断程序OB35 详见教材 例7-3 模拟量的定期采集、滤波 分析:模拟量的定期采集可采用循环中断来完成,每100ms采集1次,用OB35(默认为100ms的循环中断)。在主程序中启动循环中断OB35(I0.0的上升沿启动);关断循环中断OB35(I0.1的上升沿关断);同时进行初始化。 1.主程序OB1与2.循环中断程序OB35 详见教材,7.4 事件驱动的组织块和中断处理,7.4.1延时中断组织

8、块 PLC中的普通定时精度会受到不断变化的扫描周期的影响,使用延时中断可以达到以毫秒(ms)为单位的高精度延时。SIMATIC S7通过调用系统功能SFC32“SRT_DINT”,可调用14个延时中断组织块(0200B23),可调用的OB个数与CPU型号有关。 如果延时中断已经启动,而延时时间尚未到达时,可通过调用系统功能SFC33“CAN_DINT”取消延时中断的执行。还可以通过调用系统功能SFC34“QRY-DINT”查询延时中断的状态。 例7-4 (1)在I0.0的上升沿启动延时中断OB20,2s后调用OB20,在OB20中将Q4.0置位输出。 (2)在延时过程中,如果I0.1由“0”变

9、为“1”,则取消延时中断。 (3)当I0.2由“0”变为“1” 时,Q4.0被复位。 1.参考的主程序(OB1)与2.参考的中断程序(OB20) 详见教材,7.4.2异步故障中断组织块 1. 时间错误中断处理组织块(OB80) CUP实际循环时间超过设置的循环扫描时间,没有设置则采用系统默认时间(150ms); 由于向前修改时间而跳过日期时间中断; 在处理优先级时延时太多。 2电源故障处理组织块(OB81) 电源故障包括未安装后备电池或者电池失效和机架上的直流24V电源故障。当电源故障出现和消失时,操作系统都要调用OB81。OB81的变量声明见教材 3. 诊断中断处理组织块(OB82) 如果对

10、于有诊断功能的模板,已经用HW Config定义了诊断报警,当模板出现断线故障时,或者当模拟量输入模板发生电源故障时,以及输入信号值超过模拟量模板的测量范围时,无论故障发生及消失,都调用OB82,启动诊断中断处理程序。,当诊断中断被触发时,有问题的模板自动地在OB82的启动信息和诊断缓冲区中存入4个字节的诊断数据和模板的起始地址,在编写OB82的程序时,利用系统功能SFC51,可读出模板的诊断数据;利用SFC52,可将这些信息写入诊断缓冲区。 4. 模板热插拔中断处理组织块(OB83) 对于s7-400系列的PLC,除了PLC模板、电源模板和带适配器的S5模板外,允许带电热插拔已经组态的其他模

11、板,此时要产生模板热插拔中断。此外,用STEP 7修改模板的参数后,在RUN模式下下装到CPU中时,也要产生模板热插拔中断,调用OB83。可以用SFC39SFC42来禁止、延时和激活OB83。 如果CPU正在运行时插入已组态的模板,则CPU检查所插入的模板类型是否与已组态的记录一致。如果一致,则调用OB83,通过HW Config程序,用已组态在CPU上的参数集装入该模板。在编写OB83程序时,要根据OB83的启动信息,调用SFC55SFC59,对新插入的模板的参数赋值。 如果已组态的模板类型与实际插入的模板类型不一致,由居域变量OB83-MDL-TYPE寄存起来。根据写入该变量的故障代码,按

12、具体情况发出故障信息 5. CUP硬件故障处理组织块(OB84) 当CPU检测到MPI网络的接口故障、通信总线的接口故障或者分布式I/O的接口故障时,操作系统都调用OB84。,编写OB84的程序时,要根据OB84的启动信息,用系统功能SFC52,将故障信息写到诊断缓冲区。6. 优先级处理组织块(OB85) 当用户程序调用了一个未被装入的程序块或操作系统调用了一个没有编程的OB时,S7的操作系统将调用OB85;当过程映像正被更新时出现了I/O存取错误,也调用了OB85;当被组态用于DP从站输入和输出的地址被放在S7-CPU的过程映像表时,而此DP从站已损坏,也调用OB85。 在编写OB85的程序

13、时,应根据OB85的启动信息,判断已损坏或未插入的模板的位置,可用SFC49查找有关的模板所在槽。 7. 机架故障组织块 (OB86) 如果S7 CPU的操作系统检测到扩展机架故障,DP主站系统和DP从站的故障,产生机架故障中断,无论是故障的产生和消失,都将调用组织块OB86。 在编写OB86的程序时,应根据OB86的启动信息,判断出故障的机架。可以用SFC52将故障信息写入到诊断缓冲区。 8. 通信故障处理组织块(OB87) 在使用通信功能块或全局数据(GD)通信时,如果出现下列通信错误,操作系统将调用OB87:,接收全局数据时,检测到不正确的桢标识符(ID); 全局数据通信时的状态信息数据

14、块不存在或太短; 接收到非法的全局数据包编号。 如果用于全局数据通信状态信息的数据块丢失,需要用OB87生成该数据块,并将它下装到CPU中。 7.4.3 同步故障中断(OB121、OB122) 同步故障是指与执行用户程序有关的故障,如程序中有错误地址、有错误的编码,操作系统将调用同步故障组织块。 同步故障组织块OB121、OB122的优先级与检测到的出错块的优先级一致。当出现编程错误时,操作系统将调用OB121;当SETP7指令存取I/O模板或DP从站的输入/输出数据出现错误时,或者当用户程序存取不存在或有故障DP从站的输入/输出数据时,则S7操作系统调用OB122。 对于某些同步故障,可以调

15、用系统功能SFC44,为I/O模板提供一个替代值来替代错误值,使得用户程序能继续运行。如果故障发生在输入模板,可在用户程序中直接替代。如果故障发生在输出模板,输出模板将自动用组态时定义的值替代。尽管替代值不一定能反映真实信号,但是可以避免终止用户程序和进入STOP模式。,7.5 启动组织块和中断处理,1.暖启动 (1)手动暖启动:将CPU的模式选择开关扳到STOP位置, “STOP”LED指示灯亮,然后再扳到RUN或者RUN-P位置。 (2)自动暖启动:启动时将复位过程映像寄存器及非保持的存储器位,复位定时器和计数器。在STEP7中设置CPU的属性时,设置的具有保持功能的器件将保留原数据。重新

16、开始运行程序,执行OB100或OB1。 2.热启动 如果PLC在运行期间突然停电,又重新上电,CPU将执行一个初始化程序OB101,自动完成热启动,从上次RUN模式中断处继续执行,不对计数器等复位。 3.冷启动 (1)手动冷启动:将CPU的模式选择开关扳到STOP位置, “STOP”LED指示灯亮,再扳到MRES位置,STOP指示灯灭1s,亮1s,再灭1s,然后常亮,最后将模式开关再扳到RUN或者RUN-P位置。,(2)自动冷启动:过程映像区的所有过程映像数据、存储器位、定时器、计数器、数据块及有保持功能的器件的数据,都被复位到“0”。如果用户程序希望在启动后继续使用原有的值,也可以选择不将过程映像区清零。 用户可以在执行用户程序前,先执行启动组织块,设置CPU开始运行的初始值、I/O模板的起始值。启动中断组织块的变量声明表详见教材。,本 章 结 束谢 谢,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号