第5章-S7的组织块和中断处理.ppt_第1页
第5章-S7的组织块和中断处理.ppt_第2页
第5章-S7的组织块和中断处理.ppt_第3页
第5章-S7的组织块和中断处理.ppt_第4页
第5章-S7的组织块和中断处理.ppt_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章S7的组织块和中断处理,重点与难点组织块的基本概念,组织块的循环执行,定期执行的组织块、事件驱动的组织块、背景组织块、启动组织块及相应的中断处理。,基本要求1理解组织块的基本概念及组织块的循环执行;2掌握定期执行的组织块、事件驱动的组织块、启动组织块和地背景组织块及相应的中断处理。,本章内容1组织块概述;2组织块的循环执行;3定期执行的组织块和中断处理;4事件驱动的组织块和中断处理;5启动组织块和中断处理;6背景组织块。,5.1组织块概述,组织块是操作系统与用户程序之间的接口。用组织块可以响应延时中断、外部硬件中断、进行错误处理等。,(1)中断过程(2)中断源(3)组织块,SIMATICS7-300有以下常用组织块。OB1主程序循环。OB10时间中断。OB20延时中断。OB35循环中断。OB40硬件中断。B100再启动。,图5-1S7-300的常用组织块,表5-1OB的变量声明表,表5-2控制中断组织块的系统功能块,5.2组织块的循环执行,S7CPU操作系统周期性地执行组织块OB1程序。当OB1执行完毕,操作系统再次启动它。,CPU启动后,OB1被循环执行,同时可以在OB1中调用其他功能块(FB,SFB)或功能(FC,SFC)。,OB1的优先级最低,其循环时间被监控。即除OB90以外,其他所有OB均可打断OB1的执行。,一般来说,以下事件可导致操作系统调用OB1。(1)CPU启动完毕。(2)OB1执行到上一个循环周期结束。,OB1执行完后,操作系统发送全局数据。再次启动OB1之前,操作系统会将输出映像区数据写入输出模板,刷新输入映像区并接收全局数据。,S7监视最长循环时间,保证最长的响应时间。,表5-3OB1的临时变量,图5-2循环程序的处理,表5-4循环程序处理的各个阶段,循环程序处理可以被以下事件中断。(1)一个中断。(2)STOP命令(模式选择开关,编程器上的菜单选项,SFC46STP,SFB20STOP)。(3)电源掉电。(4)出现故障或编程错误。,5.3定期执行的组织块和中断处理,STEP7提供多达8个OB(OB10OB17),它们可以运行一次或周期性地运行。,设计人员可以运用SFC或STEP7给CPU分配参数,这些OB在特定的日期和时间或以一定间隔由操作系统调用执行。,日期时间中断可按如下方式触发。(1)在某特定时间(用绝对形式定义日期时间)执行一次。(2)从特定的时间开始并按中断应重复的间隔(如:每分钟、每小时、每天)周期地执行。,日期时间中断只有设置了参数,并且在相应的组织块中有用户程序存在时才能被执行。,为了让CPU启动日期时间中断,用户必须首先设置日期时间中断,然后再激活它。启动该中断有以下三种方法。,(1)通过STEP7中设置相应的参数(“日期时间中断”参数块),实现日期时间中断的自动启动。,(2)在用户程序中用SFC28SET_TINT和SFC30ACT_TINT,设置并激活日期时间中断。(3)用STEP7的参数设置日期时间中断,在用户程序中用SFC30ACT_TINT激活日期时间中断。,OB可以分为两类:执行周期性工作的OB(日时钟中断)和响应错误的OB(错误中断)。,(1)执行周期性工作的OB(日时钟中断)的执行条件如下。在特定的日期或时间执行。从一个编程事件开始一段特定延时后执行。按特定周期循环执行。,(2)响应错误的OB(错误中断)的执行条件如下。当CPU检测到一个过程/硬件错误时执行。,当CPU检测到一个不依赖于程序指令的错误时执行。当CPU检测到一个与程序指令处理有关的错误时执行。,1日时钟中断(OB10)OB10可按下列间隔运行。,(1)Once(2)Everyminute(3)Hourly(4)Daily(5)Weekly(6)Monthly(7)Annually,下面给出OB10的起始时刻和间隔时间设置。(1)通过定义OB10执行的起始时刻(日期和/或时间)和间隔时间对OB10进行配置。,(2)通过S7组态工具配置CPU的日时钟的中断参数或者在程序中调用SFC28(SET-TINT)设置时间。,(3)通过S7组态工具在CPU的日时钟中断参数块中选择激活项。(4)在程序中调用SFC30(ACT-TINT)来激活OB10。,表5-5描述了日期时间中断的临时变量(TEMP),变量名是OB10缺省名称。,表5-5日期时间中断的临时变量,2延时中断OB20由调用SFC32启动,调用SFC32时要提供相应的实参。,OB-NR:延时中断OB的号码。DTIME:延时长度(160000ms)。SIGN:延时OB被调用时进入OB的启动信息标志器。RET-VALOB:执行过程中发生错误时的错误代码。,处理延时中断的SFC:SFC32SRT_TINT启动延时中断SFC33CAN_DINT取消延时中断SFC34QRY_TINT查询延时中断,5.4事件驱动的组织块和中断处理,S7提供多达8个独立的硬件中断组织块OB(OB40OB47)。通过STEP7进行参数赋值,可以为会触发硬件中断的每一个信号模板指定以下参数。,哪个通道在哪种条件下触发一个硬件中断。哪一个硬件中断OB被分配到单独的通道组。,设计人员可以运用STEP7为每一个硬件中断OB选择优先级。如果一个硬件中断被触发并且它的OB正在由于另一个模板的硬件中断而激活,则记录新的中断申请,在空闲后会执行该中断。,用SFC3942可以禁止、延时和再使能硬件中断。可以用STEP7中的SFC5557,为硬件中断模板赋值参数。,响应来自不同模块(如:I/O模块、CP模块或FM模块)发出的过程警告或硬件中断请求信号。,表5-6描述了硬件中断OB的临时变量(TEMP),变量名是OB40的缺省名称。,表5-6硬件中断OB的临时变量,S7CPU提供有硬件中断OB(OB40-OB47),用于对模板(例如信号模板、通信处理器、功能模板)上的信号变化进行响应。,硬件中断只有当CPU的程序中存在相应的组织块时,才能执行。,如果用户在参数设置中没有选中硬件中断OB,则它们不能启动。,用户通过STEP7必须给具有硬件中断能力的信号模板设置如下参数集。硬件中断的触发原因。哪一种硬件中断OB将被执行缺省设置(OB40用于执行所有的硬件中断),用户通过STEP7,可以使用功能块激活硬件中断的生成。,图5-16循环程序的处理过程,通常,被S7CPU检测到并且用户可以通过组织块对其进行处理的错误分为两个基本类型。(1)异步错误(2)同步错误,下面介绍一些错误处理组织块。(1)电源故障处理组织块(OB81)(2)时间错误处理组织块(OB80),(3)诊断中断处理组织块(OB82)(4)插入/拔出模块中断组织块(OB83)(5)CPU硬件故障处理组织块(OB84),(6)优先级错误处理组织块(OB85)(7)机架故障组织块(OB86)(8)通信错误组织块(OB87),同步错误组织块包括编程错误组织块(OB121)和I/O访问错误组织块(OB122)。(1)编程错误组织块(OB121)(2)I/O访问错误组织块(OB122),图5-17OB100的运行,5.5启动组织块和中断处理,1CPU模块的启动方式(1)暖启动(WarmRestart)S7-300CPU(不包括CPU318)只有暖起动。有保持功能的M/T/C/DB将保留原数值。,(2)热启动(HotRestart,仅S7-400有,在S7-300和S7-400H中没有)在RUN状态时如果突然掉电,然后又重新上电,从上次RUN模式结束时程序被中断之处继续执行,不对计数器等复位。,(3)冷启动(ColdRestart,CPU417和CPU417H)冷启动时,过程数据区的I,Q,M,T,C,DB等被复位为零。,2启动组织块(OB100OB102)在暖启动、热启动或冷启动时,操作系统分别调用OB100、OB101或OB102。表5-7给出了对应各种启动类型,操作系统调用不同的OB。,表5-7启动组织块,表5-8OB的临时(TEMP)变量表,通常,当下列事件发生后,CPU执行启动功能:(1)电源上电后。(2)用户将CPU的状态选择开关从“STOP”扳到“RUN/RUN-P”后。,(3)从通信功能来请求后。(4)多CPU方式同步之后。(5)H系统中连接后(只适用于备用CPU上)。,图5-18所示为启动组织块的具体执行过程。(1)手动启动后的启动类型(2)自动启动后的启动类型,图5-18启动组织块的执行过程,5.6背景组织块,如果用户用STEP7定义最小的扫描循环时间,且该时间比实际的扫描循环时间长,则CPU在循环程序结束时,还有处理时间,该时间用于执行背景OB(背景组织块)。,如果用户的CPU中没有OB90,则CPU等待,直到定义的最小扫描循环时间到达为止。因此,对于那些对运行时间要求不高的过程,用户可以用OB90,从而避免等待时间。,结束了背景周期之后背景OB的优先级为29,对应的优先级0.29。因此,OB90在所有OB中优先级最低,它可以被任何系统功能和任务所中断并仅在所选的最小扫描周期还没有达到时保持。,一个例外是在OB90中启动的SFC和SFB的执行,它们用OB1的优先级执行并且不会被OB1中断。OB90中的用户程序在下述情况下被从第一条指令处开始处理:,(1)暖、冷或热启动之后(2)OB90中正在执行的块被删除之后(用STEP7)(3)在RUN方式下装OB90到CPU之后,这里需要注意的是,背景组织块的优先级不能通过参数设置进行修改。,1OB90的编程OB90的运行时间不受CPU操作系统的监视,因此,用户可以在OB90中编写程序的长度不受限制。为确保在背景程序中的数据具有一致性,在编程时注意以下问题:,(1)OB90的清零事件。(2)过程映像的刷新与OB90不同步。,2背景数据块与共享数据块之间的区别共享数据块不附属于任何逻辑块,它含有生产线或设备所需的值,并可以在程序的任何点直接使用。,背景数据块直接附属于某逻辑块,例如功能块。背景数据块中所含数据为功能块的变量声明表中所存数据。,表5-9所示为OB90的临时(TEMP)变量。变量名为OB90的缺省名。,表5-9OB90的临时变量,本章小结,本章重点介绍了组织块的循环执行,定期执行的组织块、事件驱动的组织块、启动组织块和背景组织块及相应的中断处理。,SIMAT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论