第6章-S7-300的组织块及中断处理_第1页
第6章-S7-300的组织块及中断处理_第2页
第6章-S7-300的组织块及中断处理_第3页
第6章-S7-300的组织块及中断处理_第4页
第6章-S7-300的组织块及中断处理_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

第6章

S7-300的组织块及中断处理教学内容和要求内容:组织块的组成及分类、循环执行的组织块OB1定期执行的组织块及中断处理、事件驱动的组织块和中断处理启动组织块和中断处理、背景组织块要求:了解组织块的组成和分类。掌握块的使用及其中断组织块的功能及系统功能块的使用2023/2/522023/2/536.1组织块概述6.2循环执行的组织块6.3定期执行的组织块和中断6.4事件驱动的组织块和中断处理6.5启动组织块和中断处理6.6背景组织块(OB90)6.1组织块概述组织块概述组织块的组成组织块的分类和优先级2023/2/542023/2/55一、组织块的概述

块类型组织块的定义组织块与程序结构组织块的特点和功能2023/2/56块的类型属性组织块(OB)-用户程序接口-优先级(0到27)-在局部数据堆栈中指定开始信息功能块(FB)-参数可分配(可以在调用时分配参数)-具有(收回)存储空间(静态变量)功能调用(FC)-参数可分配(必须在调用时分配参数)-基本上没有存储空间(只有临时变量)数据块(DB)-结构化的局部数据存储(背景数据块DB)-结构化的全局数据存储(在整个程序中有效)系统功能块调用(SFB)-FB(具有存储空间),存储在CPU的操作系统中并可由用户调用系统功能(SFC)-FC(无存储空间),存储在CPU的操作系统中并可由用户调用系统数据块(SDB)-用于配置数据和参数的数据块1.块类型2023/2/57组织块(OB)是CPU操作系统与用户程序间的接口操作系统OB1FCFBSFCSFB其它OBsFCFB2.组织块的定义2023/2/583.组织块与程序结构操作系统用户程序系统上电循环执行

主程序运行操作系统与主程序的关系2023/2/59操作系统用户程序系统上电循环执行

主程序运行操作系统与中断程序的关系启动初始化中断事件中断程序故障中断程序中断事件中断故障中断2023/2/510OB1电机1FB1阀FB2控制器FB10FC5限制

阀复制SFC.....CALL FB1,DB2Start :=I0.0Stop :=I0.1Motor_on :=Q12.0Speed :=QW14..FB1地址 声明 名称 类型0.0 in Start BOOL0.1 in Stop BOOL2.0 out Motor_on BOOL4.0 out Speed INT6.0 stat Speed_old INT0.0 temp Calc_1 INT...A #StartAN #Stop

= #Motor_on.DB2OB1(1).组织块的好处——用于结构化编程2023/2/511OB10...17(日期时间中断)OB80...87(异步错误)OB20...23(延时中断)定期的程序执行OB30...38(循环中断)事件驱动的程序执行OB40...47(硬件中断)启动OB102OB100OB101循环的程序执行OB1OB121,122(同步错误)中断

OB错误

OB(2).PLC运行时程序执行方式2023/2/512例如:OB82(优先级26)=错误处理程序。当模拟输入PIW352断线时执行。例如OB10(优先级2)=日期时间中断。从9:30开始每分钟执行一次。OB1连续执行

OB13日期时间中断循环中断116错误处理循环程序延时中断硬件中断21226/28OB20OB40OB10OB35OB82OB号OB类型优先级例如

OB20(优先级3)=延时中断。检测到一个信号后

延迟3.25s执行。......直到被其它OB中断(3).PLC中断循环程序2023/2/513被中断的OB块的数据保存系统调用新的

OB在执行新的

OB前,保存被中断块的寄存器中断堆栈(I堆栈)块堆栈(B堆栈)ACCU1,ACCU2累加器的内容AR1,AR2地址寄存器的内容DB,DI数据块寄存器的内容局部数据堆栈的地址指针状态字,MCR寄存器,B堆栈指针DB和

DI寄存器临时数据

(L堆栈)的指针块的号码返回地址2023/2/514组织块由操作系统自动调用组织块不能互相调用基本功能是调用用户程序。组织块代表着系统功能。4.PLC组织块的特点和功能2023/2/515二、组织块的组成

变量声明表和用户程序组成4/56/78/910/11局部变量字节8,9,10,11的数据格式附加信息

1 (例如,中断模块的起始地址)附加信息2 (例如,中断状态)附加信息3 (例如,通道号码)局部变量字节0/12/3启动事件优先级序列号OB号12/1314/1516/1718/19年日分钟1/10秒,1/100秒月小时秒1/1000秒,星期管理信息启动信息启动时间每个OB提供20个字节的启动信息2023/2/516三、组织块的分类和优先级循环执行的组织块启动组织块定期执行的组织块事件驱动的组织块背景组织块

每个组织块均具有优先级,通常情况下组织号码越大,优先级越高6.2循环执行的组织块2023/2/517OB1优先级为1OB1默认的扫描监控时间为150msOB1操作系统OB1FCFBSFCSFB其它OBsFCFB2023/2/518变量数据类型描述OB1_EV_CLASSBYTE事件类别标识符:B#16#11OB_SCAN_1BYTEB#16#01:暖启动结束B#16#02:热启动结束B#16#03:自由周期结束OB1_PRIORITYBYTE优先级:1OB1_BO_NUMBERBYTEOB号(1)OB1_RESERVED_1BYTE保留OB1_RESERVED_2BYTE保留OB1_PRE_CYCLEINT以前循环运行时间(ms)OB1_MIN_CYCLEINT从最近的启动以来最小的循环时间OB1_MAX_CYCLEINT从最近的启动以来最大的循环时间OB1_DATE_TIMEINTOB1被请求的日期和时间OB1的变量声明表6.3定期执行的组织块和中断2023/2/519日期时间中断组织块(OB10~OB17)循环中断组织块(OB30~OB38)2023/2/520一、日期时间中断组织块(OB10~OB17)设置触发的日期、执行模式,使其在某一特定日期或特定间隔,产生中断。8个日期时间中断具有相同的优先级执行模式:Once(一次):只在特定日期和时间执行一次。Everyminute(每分钟):从某一特定日期和时间开始,每分钟执行一次。Hourly(每小时):从某一特定日期和时间开始,每小时执行一次。Daily(每天):从某一特定日期和时间开始,每天执行一次。Weekly(每周):从某一特定日期和时间开始,每周执行一次。Monthly(每月):从某一特定日期和时间开始,每月执行一次。Annually(每年):从某一特定日期和时间开始,每年执行一次。2023/2/5211.

设置和启动日期时间中断(1)

SFC28“SET_TINI”设置参数,SFC30“ACT_TINI”激活中断。(2)在STEP7的HW-config中,对CPU属性进行中断设置并激活。(3)在STEP7的HW-config中,对CPU属性进行中断设置,不激活,用SFC30“ACT_TINI”激活中断。

2023/2/522【例1】

:设置日时钟中断2023/2/523配置日时钟中断

使用硬件组态工具来配置日时钟中断。选择菜单功能CPU->ObjectProperties->->“Time-of-DayInterrupts”,可以定义何时、以何方式执行OB10。激活

如果点中“激活”(Active)选项框,在CPU每次全启动后将执行日期时间中断OB。说明 日时钟中断可以在程序运行时由系统功能块来控制。可使用下列系统功能块:

• SFC28“SET_TINT” 设置启动日期、时刻和周期

• SFC29“CAN_TINT”取消日期时间中断

• SFC30“ACT_TINT” 激活日期时间中断

• SFC31“QRY_TINT”查询日期时间断S7-400 在S7-400PLC中有8个不同的日期时间中断OB(OB10to17)。2023/2/5242.查询日期时间中断调用系统功能SFC31“QRY_TINI”3.禁止日期时间中断调用系统功能SFC29“CAN_TINI”2023/2/525【例2】

:设置系统时间2023/2/526二、循环中断组织块(OB30~OB38)循环中断的时间间隔在CPU的属性中设置,每个OB默认时间间隔不同,系统功能SFC39~SFC42,可以禁止、延迟、使能循环中断循环中断

循环中断(看门狗)用于在一定的间隔执行程序块。在S7-300中,循环中断组织块为OB35,它的缺省调用时间为100ms,其允许的设定范围为1ms至1分钟。启动时刻

当一个时间控制中断被激活后,应以“启动时刻”为参考点设定中断的时间间隔.每次CPU从STOP切换为RUN的时刻为启动时刻。时间间隔

必须保证所定义的时间间隔大于组织块中程序的执行时间。操作系统在设定的间隔后调用OB35时,如果上一次执行的OB35仍未结束,则操作系统将调用OB80(循环中断错误)。说明 在程序运行时,循环中断无法用系统功能来控制。S7-400 在S7-400PLC中有9种不同的循环中断组织块(OB30至38)。2023/2/527RUNOB35OB35OB35IntervalOOB1B1OB1OB1OB1OB1OB1OB1IntervalInterval【例3】

:设置循环中断2023/2/528【例4】:循环中断的使用在I0.0的上升沿启动OB35对应的循环中断,在I0.1的上升沿禁止OB35对应的循环中断。在OB35中使MW4加1。(设中断间隔为1s)2023/2/529//先将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+1TMW46.4事件驱动的组织块和中断处理2023/2/530延时中断(OB20~OB23)硬件中断(OB40~OB47)异步故障中断(OB80~OB87)同步故障中断(OB121和OB122)2023/2/531一、延时中断组织块(OB20~OB23)和中断处理延时时间为1~60000ms,精度为1ms

优先级及更新过程映像区的参数在CPU的属性中设置SFC32“SRT_DINT”设置OB号与延时时间,触发中断,SFC33“CAN_DINT”取消延时中断SFC34“QRY_DINT”查询延时中断的状态SFC32 • OB_NR = 延时中断组织块的号码

• DTIME =延时时间(1到60000ms)

• SIGN =启动延时中断组织块时用户自定义的信号

• RET_VAL=错误代码,如果执行延时中断组织块时出现错误则返回一个错误代码2023/2/532(P)()I0.0M0.1

SFC32(SRT_DINT)ENENOOB_NRDTIMESIGNRET_VAL20T#500msW#16#01MW10M2.0【例5】:设置延时中断(OB20)2023/2/533二、硬件中断组织块(OB40~OB47)和中断处理由外部设备产生也称为过程中断SFC39~SFC42可以禁止、延迟、使能硬件中断例如:功能模块FM、通信处理模块CP、数字量输入模块。通常使用具有硬件中断的数字量输入模块来产生中断,为每一个模块配置相应的中断OB(一个模块只能触发一个中断OB),S7-300只能触发硬件中断OB40通过调用SFC39~SFC42系统功能可以禁止、延迟、使能硬件中断的应用2023/2/534模拟输入模块

上限值下限值+276480 硬件组态:

模拟输入模块的属性

CPU的属性【例6】:硬件中断的使用2023/2/535三、异步故障中断组织块(OB80~OB87)

错误类型例子OB时间错误超出最大循环扫描时间OB8026/28优先级26电源故障后备电池失效OB81诊断中断有诊断能力模块的输入断线OB82插入/移除

中断在运行时移除S7-400的信号模块OB83CPU硬件故障MPI接口上出现错误的信号电平OB84程序执行错误更新映像区错误(模块有缺陷)OB85机架错误扩展设备或DP从站故障OB86通讯错误读取信息格式错误OB872023/2/536实际的循环扫描时间超过设置的循环扫描时间。

由于向前修改时间而跳过日期时间中断。在处理优先级时延时太多。2.电源故障处理组织块(OB81)1.

时间错误中断处理组织块(OB80)未安装后备电池或者电池失效机架上的直流24V电源故障。2023/2/5373.诊断中断处理组织块(OB82)有诊断功能的模板,用HWConfig定义了诊断报警,当故障模块发生及消失时,启动诊断中断处理程序4.模板热插拔中断处理组织块(OB83)S7-400系列的PLC2023/2/5386.CPU硬件故障处理组织块(OB84)MPI网络的接口故障通信总线的接口故障分布式I/O的接口故障6.优先级错误处理组织块(OB85)操作系统访问模块故障更新过程映像区I/O访问故障正被更新时出现了I/O存取故障事件触发时,相应的OB没有下载到CPU中2023/2/5397.机架故障组织块(OB86)扩展机架故障产生和消失DP主站系统和DP从站的故障产生和消失8.通信故障处理组织块(OB87)接收全局数据时,检测到不正确的帧标识符(ID)。全局数据通信时的状态信息数据块不存在或太短。接收到非法的全局数据包编号。2023/2/540模拟输入模块断线+276480

硬件组态:

模拟模块的属性

CPU的属性【例7】:设置异步故障诊断中断2023/2/541在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.0【例8】:异步故障诊断中断的使用2023/2/542四、同步故障中断(OB121和OB122)与执行用户程序有关的故障错误类型例子OB优先级与被中断的错误OB优先级相同编程错误在程序中调用一个CPU中并不存在的块OB121访问错误访问一个模块有故障或不存在的模块(例如,直接访问一个不存在的I/O模块)OB1222023/2/543S7中可能产生的各种故障2023/2/544为避免发生某故障时CPU进入停机状态,在CPU中建立一个相应的空故障组织块。在故障OB块中编程实现所希望的响应,也可以在执行完规定指令后,调用SFC46申请停机。故障组织块的启动信息中包含有故障的特征,可在程序中使用。故障组织块的详细描述参见在线帮助或系统和标准功能手册。使用故障组织块2023/2/545故障处理OB块中的附加信息OB122(访问故障)中的附加信息变量 类型 描述OB122_EV_CLASS BYTE 事件类别,IDs=B#16#29OB122_SW_FLT BYTE 错误代码:(可能的值为:B#16#42,

B#16#43,B#16#44,B#16#45)OB122_PRIORITY BYTE 发生错误的OB块的优先级 OB122_OB_NUMBR BYTE OB块的号码(122)OB122_BLK_TYPE BYTE 发生错误的块的类型:

B#16#88:OB?

B#16#8A:DB?

B#16#8C:FC?

B#16#8E:FB?OB122_MEM_AREA BYTE 内存区域和访问类型OB122_MEM_ADDR WORD 发生错误处的内存地址OB122_BLK_NUM WORD 导致错误的MC7指令所在块的地址OB122_PRG_ADDR WORD 导致错误的MC7指令的相对地址OB122_DATE_TIME DATE_AND_TIME OB块被调用的日期和时刻6.5启动组织块和中断处理2023/2/546启动类型启动方式2023/2/547读入

PII执行OB1输出

PIQ完全再启动自动手动S7-300/400PowerONS7-300STOP->RUNS7-400STOP->RUN+CRST清除过程映像,非保持的M,T,C执行

OB100允许输出读入

PII允许输出STOP是否超过重启动的监视时间?清除

PIQ(可设置)完成剩余的循环执行

OB101执行

OB1

温馨提示

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

最新文档

评论

0/150

提交评论