版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章
S7-300的组织块及中断处理在正常情况下,PLC按照循环扫描的方式执行用户程序。如果要对某些特殊的外部事件或内部事件进行快速响应,PLC采用中断的方式进行处理。在SIMATICS7中,对这些特殊事件的处理,安排了大量的组织块,可在这些组织块中编写相应的中断处理程序。当CPU检测到中断源发出的中断请求时,在执行完当前程序的当前指令(断点)后,根据优先权的高低,立即响应优先权高的中断。执行完中断程序后,返回到被中断程序的断点处,继续执行原来的用户程序。
中断发生时,中断程序是由操作系统自动调用的,而不是由程序块调用的。编写中断程序时,首先要遵循“短而精”的原则,尽量减少执行时间;其次要注意不要轻易使用其它程序中可能使用的编程元件,应尽量使用相应组织块的临时局域变量。
本章的主要内容:
组织块的组成及分类。循环执行的组织块OB1。
定期执行的组织块及中断处理。事件驱动的组织块和中断处理。
启动组织块和中断处理。
背景组织块。
5.1组织块概述
组织块是CPU操作系统与用户程序间的接口。SIMATICS7CPU提供大量的OB(组织块),用组织块可以创建在特定的时间执行的特定的程序,或者响应特定事件的程序。例如,当S7DP从站触发了一个硬件中断,或当一个DP从站发生故障时,则S7CPU的操作系统就可能中断正在处理的OB,发出的一个相应OB的驱动事件。因此要定义OB的优先权,高优先权的OB可以中断低优先权的OB。
一、组织块的组成
组织块只能由操作系统启动,它由变量声明表和用户程序组成。当操作系统调用时,每个OB提供20个字节的变量声明表,其含义取决于OB。变量名称是标准STEP7规定的。
OB的变量声明表:地址(字节)内容0事件级别与标识符,例如OB40的标识符为B#16#11,表示硬件中断被激活1用代码表示与启动OB事件有关的信息2优先级。例如OB40的优先级为16,3OB块的编号,例如OB40的块号为404~11附加信息,例如OB40的第5个字节为产生中断的模板类型,16#54为输入模板,16#55为输出模板。第6、7字节组成的字为产生中断的模板的起始地址。第8~11字节组成的双字为产生中断的通道号12~19启动OB的日期和时间(年、月、日、时、分、秒、毫秒和星期)二、组织块的分类1.循环执行的组织块:需要连续执行的程序安排在OB1中,执行完后又开始新的循环。2.启动组织块:启动组织块用于系统的初始化,CPU上电或操作模式改为RUN时,根据不同的启动方式来执行OB100~OB102中的一个。3.定期执行的组织块:定期执行的组织块包括日期时间中断组织块(OB10~OB17)和循环中断组织块(OB30~OB38)。可以根据设定的日期时间或时间间隔执行中断。4.事件驱动的组织块:事件驱动的组织块包括延时中断(OB20~OB23)、硬件中断(OB40~OB47)、异步错误中断(OB80~OB87)和同步故障中断(OB121和OB122)。5:背景组织块:避免循环等待时间。5.2循环执行的组织块
循环执行的组织块就是主程序OB1。
OB1调用功能块(FB)、系统功能块(SFB),或使用功能调用(FC)和系统功能调用(SFC)的功能。OB1被循环地处理。在启动OB被处理后(OB100用于暖启动或OB101用于热启动或OB102用于冷启动),首先执行OB1。在OB1循环结束时,操作系统传送过程映像输出表到输出模板。在OB1再开始前,操作系统通过读取当前的输入I/O的信号状态来更新过程映像输入表。这个过程连续不断地重复,即“循环执行”。所有被监视运行的OB中,OB1的优先权最低,因此它可以被较高优先权的OB中断。
5.3定期执行的组织块和中断处理
一、日期时间中断组织块(OB10~OB17)和中断处理
在SIMATICS7中,允许用户通过STEP7编程,可在特定日期、时间(例如每分钟、每小时、每天、每周、每月、每年)执行一次中断操作,也可以从设定的日期时间开始,周期性地重复执行中断操作。8个日期时间中断具有相同的优先级,CPU按启动事件发生顺序进行处理。1.设置和启动日期时间中断2.查询日期时间中断3.禁止日期时间中断
二、循环中断组织块(OB30~OB38)循环中断是CPU进入RUN后,按一定的间隔时间循环触发的中断,因此用户定义的间隔时间要大于中断服务程序的执行时间。启动循环中断,需要在STEP7参数设置时选中循环中断组织块,并按1ms的整数倍设置间隔时间。如果未做间隔时间设置,CPU则按默认值100ms触发循环中断。
可以用SFC40和SFC39来激活或禁止循环中断组织块。
例:在I0.0的上升沿启动OB35对应的循环中断,在I0.1的上升沿禁止OB35对应的循环中断。在OB35中使MW4加1。先将OB35的循环周期由默认的100ms改为1000ms,下装到CPU中。OB1:Network1://在I0.0的上升沿激活循环中断AI0.0FPM1.1//在I0.0的上升沿,M1.1为1JNBm001//否则跳转CALLSFC40//激活OB35对应的循环中断
MODE:=B#16#2//用OB号指定中断OB_NR:=35//组织块编号
RET_VAL:=MW100//保存错误代码
m001:NOP0Network2://在I0.1的上升沿禁止循环中断AI0.1FPM1.2//在I0.1的上升沿,M1.2为1JNBm002//否则跳转CALLSFC39//禁止OB35对应的循环中断
MODE:=B#16#2//用OB号指定中断OB_NR:=35//组织块编号
RET_VAL:=MW104//保存错误代码
m002:NOP0OB35:Network1:LMW4+1TMW4
5.4事件驱动的组织块和中断处理
事件驱动的组织块包括延时中断(OB20~OB23)、硬件中断(OB40~OB47)、异步故障中断(OB80~OB87)和同步故障中断(OB121和OB122)。
一、延时中断组织块(OB20~OB23)和中断处理在PLC中的普通定时器的定时精度要受到不断变化的扫描周期的影响,使用延时中断可以达到以ms为单位的高精度的延时。SIMATICS7通过调用系统功能SFC32“SRT_DINT”,可调用1~4个延时中断组织块(OB20~OB23),可调用的OB个数与CPU型号有关。如果延时中断已经启动,而延时时间尚未达到时,可通过调用系统功能SFC33“CAN_DINT”取消延时中断的执行。还可以通过调用系统功能SFC34“QRY_DINT”查询延时中断的状态。二、异步故障中断组织块(OB80~OB87)
SIMATICS7300/400系列PLC对于编程元件和内部寄存器,具有很强的故障检测和处理能力。当CPU检测到某个故障后,操作系统将调用相应的组织块,通过编写故障中断组织块的程序,对检测到的故障进行处理,否则将进入STOP模式。为了避免发生某种故障时CPU进入STOP模式,可以在CPU中建立一个对应的空组织块。
1.
时间错误中断处理组织块(OB80)
CPU默认的循环扫描的监控时间为150ms,如果发生下列情况时产生时间错误中断:
实际的循环扫描时间超过设置的循环扫描时间。
由于向前修改时间而跳过日期时间中断。在处理优先级时延时太多。
2.电源故障处理组织块(OB81)
电源故障包括未安装后备电池或者电池失效和机架上的直流24V电源故障。当电源故障出现和消失时,操作系统都要调用OB81。例:在CPU机架直流24V电压故障发生时,将Q4.0置位,当故障消失时,将Q4.0复位。OB1:Network1://24V电压故障发生
LB#16#23L#OB81_FLT_ID==I=M0.1LOB81_EV_CLASSLB#16#39==I=M0.2AM0.1AM0.2SQ4.0Network2://24V电压故障消失
LOB81_EV_CLASSLB#16#38==I=M0.3AM0.1AM0.3RQ4.03.诊断中断处理组织块(OB82)如果对于有诊断功能的模板,已经用HWConfig定义了诊断报警,当模板出现断线故障时,或者当模拟量输入模板发生电源故障时,以及输入信号值超过模拟量模板的测量范围时,当故障发生及消失时,都调用OB82,启动诊断中断处理程序。
当诊断中断被触发时,有问题的模板自动地在OB82的启动信息和诊断缓冲区存入4个字节的诊断数据和模板的起始地址,在编写OB82的程序时,从OB82的启动信息中得到更确切的诊断信息。利用系统功能SFC51,可读出模板的诊断数据,利用SFC52,可将这些信息写入诊断缓冲区。4.模板热插拔中断处理组织块(OB83)
对于S7-400系列的PLC,除了CPU模板、电源模板和带适配器的S5模板外,允许带电热插拔已经组态的其它模板,此时要产生模板热插拔中断。此外用STEP7修改模板的参数后,在RUN模式下下装到CPU中时,也要产生模板热插拔中断,调用OB83。可以用SFC39~SFC42来禁止、延时和激活OB83。
如果CPU正在运行时插入已组态的模板,则CPU检查所插入的模板类型是否与组态记录一致。如果一致,则调用OB83,通过HWConfig程序,用已组态在CPU上的参数集装入该模板。在编写OB83的程序时,要根据OB83的启动信息,调用SFC55~SFC59,对新插入的模板的参数赋值。5.CPU硬件故障处理组织块(OB84)
当CPU检测到MPI网络的接口故障、通信总线的接口故障或者分布式I/O的接口故障时,以及故障消失时,操作系统都调用OB84。
在编写OB84的程序时,要根据OB84的启动信息,用系统功能SFC52,将故障信息写入到诊断缓冲区。6.优先级错误处理组织块(OB85)
当用户程序调用了一个未被装入的程序块或操作系统调用了一个没有编程的OB时,S7CPU的操作系统将调用OB85。当过程映像正被更新时出现了I/O存取错误,也调用OB85。当被组态的用于DP从站输入和输出的地址被放在S7CPU的过程映像表时,而此DP从站已损坏,也调用OB85。
在编写OB85的程序时,应根据OB85的启动信息,判断已损坏或未插入的模板位置。可用SFC49查找有关模板所在槽。7.机架故障组织块(OB86)
如果S7CPU的操作系统检测到扩展机架故障、DP主站系统和DP从站的故障,产生机架故障中断,无论是故障的产生和消失,都将调用组织块OB86。
在编写OB86的程序时,应根据OB86的启动信息,判断出故障的机架。可以用SFC52将故障信息写入到诊断缓冲区。8.通信故障处理组织块(OB87)
在使用通信功能块或全局数据(GD)通信时,如果出现下列通信错误,操作系统将调用OB87:接收全局数据时,检测到不正确的帧标识符(ID)。全局数据通信时的状态信息数据块不存在或太短。
接收到非法的全局数据包编号。
如果用于全局数据通信状态信息的数据块丢失,需要用OB87生成该数据块,并将它下装到CPU中。三、同步故障中断(OB121和OB122)同步故障是指与执行用户程序有关的故障,例如程序中有错误的地址,有错误的编号,操作系统将调用同步故障组织块。
同步故障中断组织块OB121、OB122的优先级与检测到出错的块的优先级一致。因此在中断发生时,可以访问累加器和其它寄存器,这样用户程序就可以用这些编程元件来处理故障。1.编程错误中断组织块OB121
当出现编程错误时,操作系统将调用OB121。
2.
I/O存取故障中断组织块(OB122)
当STEP7指令存取I/O模板或DP从站的输入/输出数据时出现错误,或者当用户程序存取不存在的或有故障的DP从站的输入/输出数据时,则S7CPU操作系统调用OB122。
5.5
启动组织块和中断处理当PLC接通电源以后,CPU有3种启动方式,可以在STEP7中设置CPU的属性时选择其一:热启动(Hotrestart)、暖启动(Warmrestart)、冷启动(Coldrestart)。
不同的CPU具有不同的启动方式,例如S7-300系列,除了CPU318可以选择暖启动或者冷启动外,其它的CPU只有暖启动的方式,对于S7-400系列,根据不同的CPU型号,都可以选择热启动,或者选择暖启动、冷启动。只能选择1种启动方式。
1.暖启动
手动暖启动:将CPU的模式选择开关扳到STOP位置,“STOP”LED指示灯亮,然后再扳到RUN或者RUN-P位置。自动暖启动:启动时将复位过程映像寄存器及非保持的存储器位,复位定时器和计数器。在STEP7中设置CPU的属性时设置的具有保持功能的器件将保留原数据。重新开始运行程序,执行OB100或OB1。2.热启动如果PLC在运行期间突然停电,又重新上电,CPU将执行一个初始化程序OB101,自动完成热启动,从上次RUN模式下中断处继续执行,不对计数器等复位。3.冷启动
手动冷启动:将CPU的模式选择开关扳到STOP位置,“
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公会采购管理制度汇编
- 材料员采购制度
- 学校第三方采购管理制度
- 中山食堂采购制度
- 采购部门申请制度
- 文化馆采购管理制度
- 学校实物采购登记制度
- 绿色食品采购制度
- 采购部门内部管理制度
- 采购销售库存管理制度
- 5.1人民代表大会制度 课件(23张幻灯片)+内嵌视频 道德与法治统编版八年级下册
- 2025年山东省委党校在职研究生招生考试(政治理论)历年参考题库含答案详解(5卷)
- 超高性能混凝土进展及工程应用
- 旋毛虫法语课件
- 五原县供热工程专项规划(2014-2030年) 说明书
- 上海市2023年基准地价更新成果
- 拔牙术拔牙并发症
- 选派援疆医疗卫生人才协议书
- XB/T 405-2016铈铁合金
- GB/T 9966.16-2021天然石材试验方法第16部分:线性热膨胀系数的测定
- GB/T 3733.2-1983卡套式端直通接头体
评论
0/150
提交评论