水电电工知识
电工知识|Step7 OB组织块介绍和使用技巧
2016-05-16  浏览:45
水电之家讯:每种类型的OB块的分析及其使用方法:



1、自由循环组织块OB1



S7 CPU启动完成后,操作系统循环执行OB1,OB1执行完成后,操作系统再次启动OB1。在OB1中可以调用FB、SFB、FC、SFC等用户程序使其循环执行。除OB90以外,OB1优先级最低,可以被其他OB中断。OB1默认扫描监控时间为150ms(可设置),扫描超时,CPU自动调用)B80报错,如果程序中没有建立OB80,CPU进入停止模式。



2、日期中断组织块OB10~OB17



在CPU属性中,可以设置日期中断组织块OB10~OB17触发的日期、执行模式(到达设定的触发日期后,OB只执行一次或按每分、每小时、每周、每月周期执行)等参数,当CPU的日期值大于设定的日期值时,触发相应的OB并按设定的模式执行。在用户程序中也可以通过调用SFC28系统函数设定CPU日期中断的参数,调用SFC30激活日期中断投入运行,与在CPU属性中的设置相比,通过用户程序,可以在CPU运行时灵活地修改设定的参数,两种方式可以任意选择,也可以同时对一个OB进行设置。



3、时间延迟中断组织块OB20~OB23



时间延迟中断组织块OB20~OB23的优先级及更新过程映像区的参数需要在CPU属性中设置,通过调用系统函数SFC32触发执行,OB号及延迟时间在SFC32参数中设定,延迟时间为1~60000ms,大大优于定时器精度。



4、循环中断组织块OB30~OB38



循环中断组织块OB30~OB38按设定的时间间隔循环执行,循环中断的间隔时间在CPU属性中设定,每一个OB默认的时间间隔不同,例如)B35默认的时间间隔为100ms,在OB35中的用程序将每隔100ms调用一次,时间间隔可以自由设定,最小时间间隔不能小于55ms。OB中的用户程序执行时间必须小于设定的时间间隔,如果间隔时间较短,由于循环中断OB没有完成程序扫描而被再次调用,从而造成CPU故障,触发OB80报错,如果程序中没有创建OB80,CPU进入停止模式。通过调用SFC39~SFC42系统函数可以禁止、延迟、使能循环中断的调用。循环中断组织块通常处理需要固定扫描周期的用户程序,例如PID函数块通常需在循环中断中调用以处理积分时间的计算。



5、硬件中断组织块OB40~OB47



硬件中断也叫过程中断,由外部设备产生,例如功能模块FM、通信处理器CP及数字量输入、输出模块等。通常使用具有硬件中断的数字量输入模块触发中断响应,然后为每一个模块配置相应的中断OB(一个模块只能良一个中断OB,S7-300系列plc CPU只能触发硬件中断OB40),在模块配置中可以选择输入点的上升沿、下降沿或全部作为触发中断OB的事件。配置中的中断事件出现,中断主程序,执行中断OB中的用户程序一个周期,然后跳回中断处继续执行主程序。使用中断与普通输入信号相比,没有主程序扫描和过程映像区更新时间,适合需要快速响应的应用。



如果输入模块中的一个通道触发硬件中断,操作系统将识别模块的槽号及触发相应的OB,中断OB执行之后发送与通道相关的确认。在识别和确认过程中,该通道再次触发的中断事件将丢失;如果模块其他通道触发中断事件,中断不会丢失,在当前正在运行的中断确认之后触发;如果是不同的模块触发的中断事件,中断请求被记录,中断OB在空闲(没有模块其他通道的中断请求)时触发。通过调用SFC39~SFC42系统函数可以禁止、延迟、使能硬件中断的调用。



6、DPV1中断组织块OB55~OB57



CPU响应PROFIBUS-DP V1从站触发的中断信息。



7、多处理器中断组织块OB60



用于S7-400系列PLC多CPU(一个机架中最多插入4个CPU完成同一个复杂任务)处理功能,通过调用SFC35,可以触发OB60在多个CPU中同时执行。



8、时钟同步中断组织块OB61~OB64



用于处理PROFIBUS-DP V1等时钟同步,从采集各个从站的输入到逻辑结果输出,需要经过从站输入信号采样循环(信号转换)、从站背板总线循环(转换的信号从模块传递到从站接口)、PROFIBUS-DP总线循环(信号自从站传递到主站)、程序执行循环(信号的程序处理)、PROFIBUS-DP总线循环(信号从主站传递到从站)、从站背板总线循环(信号从从站接口传递到输出柜块)及模块输出循环(信号转换)7个循环,时钟同步中断将7个循环同步,优化数据的传递并保证PROFIBUS-DP各个从站数据处理的同步性。PROFIBUS时钟同步中断只能用于S7-400系列PLC CPU(具有DP V2 功能)。



9、工艺同步处理中断组织块OB65



用于T-CPU(具有运动控制功能的CPU)工艺块与开始程序的同步处理。



10、冗余故障中断组织块OB70、OB72



用于S7-400H冗余系统,当I/O冗余故障,例如冗余的PROFIBUS-DP从站故障时,触发OB70的调用,当CPU冗余故障,如CPU切换、同步故障时,触发OB72的调用。如果I/O冗余,或者CPU冗余故障而在CPU中没有创建OB70、OB72,CPU不会进入停止模式。



11、异步故障中断组织块OB80~OB87



异步故障中断用于处理各种故障事件。



OB80:处理时间故障、CIR(Configuration In Run)后的重新运行等功能,例如OB1或OB35运行超时,CPU自动调用OB80报错,如果程序中没有创建OB80,CPU进入停止模式。



OB81:处理与电源相关的各种信息(S7-400系列PLC CPU只有电池故障时调用),出现故障,CPU自动调用OB81报错,如果程序中没有创建OB81,CPU不会进入停止模式。



OB82:诊断中断,如果使能一个具有诊断中断模块的诊断功能(例如断线、传感器电源丢失),出现故障时调用OB82,如果程序中没有创建OB82,CPU进入停止模式。诊断中断还对CPU所有内外部故障,包括模块前连接器拔出、硬件中断丢失等作出响应。



OB83:用于模块插拔事件的中断处理,事件出现,CPU自动调用OB83报警,如果程序中没有创建OB83,CPU进入停止模式。



OB84:用于处理存储器、冗余系统中两个CPU的冗余连接性能降低等事件。



OB85:用于处理操作系统访问模块故障、更新过程映像区时I/O访问故障、事件触发但相应的OB没有下载到CPU等事件,事件出现,CPU自动调用OB85报错,如果程序中没创建OB85,CPU进入停止模式。



OB86:用于处理扩展机架(不适用于S7-300系列)、PROFIBUS-DP主站、PROFIBUS-DP或PROFINET I/O分布I/O系统中站点故障等事件,事件出现,CPU自动调用OB86报错,如果程序中没有创建,CPU进入停止模式。



OB87:用于处理MPI GD 通信及时钟同步故障,事件出现,CPU自动调用OB87报错,如果程序中没有创建,CPU不会进入停止模式。



12、处理中断组织块OB88



用于处理程序嵌套、区域数据分配故障,故障出现,CPU自动调用OB88报错,如果程序中没有创建,CPU进入停止模式。



13、背景循环中断组织块OB90



优先级最低,保证CPU最短的扫描时间,避免过程映像区更新过于频繁。程序的下载和CPU中程序的删除触发OB90的调用。只能用于S7-400系列PLC CPU。



14、启动中断组织块OB100~OB102



用于处理CPU启动事件,暖启动CPU调用OB100,热启动CPU调用OB101(不适合S7-300系列PLC和S7-400H),冷启动CPU调用OB102,温度越低,CPU启动时清除存储器中数据区的类型越多。



15、同步错误中断组织块OB121、OB122



OB121处理与编程故障有关的事件,例如调用的函数没有下载到CPU中、BCD码出错等,OB122处理与I/O地址访问故障有关的事件,例如访问一个I/O模块时,出现读故障等。如果上述故障出现,在程序中没有创建OB121、OB122,CP进入停止模式。



注意:不是所有的OB都可以在S7 CPU中使用,例如S7-300系列PLC PU中只有暖启动OB100,操作系统不能调用OB101、OB102,CPU中可以使用的OB请参考CPU选型手册。



S7-300系列PLC中组织块的优先级是固定的,不能修改,在S7-400系列PLC中下列组织块的优先级可以进行修改:



OB10~OB47:优先级修改范围2~23。



OB70~OB72:优先级修改范围2~38。



OB81~OB87:优先级修改范围2~26,优先级24~26确保异步故障中断不被其他的事件中断。



几个组织块可以具有相同的优先级,当事件同时出现时,组织块按事件出现的先后顺序触发,如果超过12个相同优先级的OB同进触发,中断可能丢失。

我们在使用相应OB时要注意以下问题。



1.OB只是及时反应出了故障,但并不解决故障,OB允许CPU带故障运行。



2.诊断OB如OB82/86/122反映的是硬件上的故障,靠软件是解决不了的,软件的作用是尽快指向故障点,硬件的问题还是硬件解决。



3.诊断OB的产生会影响CPU的整个程序的执行速度,会影响系统的控制品质,尤其是一些带过程中断,大量运算及运动控制的高速生产线。



4.无条件的让OB去掩盖故障是一件很危险的事情,应该有应对的措施,让系统尽快的进入一种可控的安全状态。

由于通信的原因,模块不存在或有故障,刷新过程映像表时I/O访问出错,将会调用优先级错误中断(OB85)。



可以在CPU属性对话框中设置3种调用OB85的方式。S7-300默认的方式是不调用OB85,S7-400默认的方式是每个扫描循环周期调用一次,还可以设置为故障发生和消失时分别调用一次。







用PI/PQ地址区访问有故障的I/O模块、DP从站时,将会调用I/O访问错误中断(OB122),每个扫描周期调用一次。



对于简单程序,只涉及到数字量逻辑控制,只使用OB1就可以了,对于复杂程序,使用了DP通讯等等,就需要做一些相应功能的组织块来保证PLC的运行正常。



1 OB100启动组织块,即PLC一通电的第一个扫描周期就先处理此块,以后就不扫描了,所以在这个块内可以做初始化脉冲,复位一些数据。



2 OB122 I/O访问错误组织块,



3 OB121 编程错误组织块,这个块比较重要,曾经遇到一个德国进口喂料机,使用一段时间后出现CPU不能运行,程序是使用STL编程,使用了很多间接寻址,很难找到问题所在,后来就选择了这个组织块后,CPU运行设备就正常工作了。



4 OB82诊断中断组织块,这个对于使用模拟量模块多的项目需要使用这个块,否则一旦接入的模拟量信号出现问题时,CPU停机就是大事了。



5 OB80 时间错误组织块,包括:超出周期时间、执行OB时出现确认错误、提前了时间而使OB的启动时间被跳过、在CiR后恢复RUN模式。



6 OB86机架故障组织块,对于使用了DP通讯的分布式I/O需要使用这个块。 要想第一时间找到处故障的子站,需要使用OB86来作为DP故障诊断.需要对OB86内变量做编程处理,使用触摸屏或其他上位机来显示报警内容。



7 OB87通讯错误组织块。



组织块是操作系统与用户程序的接口,可以从下面几个方面来理解:#p#分页标题#e#



1. 组织块不是用户程序调用的,而是由操作系统调用的。其变量声明表中只有临时变量。



2.组织块分为三类:



启动组织块用于系统初始化;



主程序OB1是循环执行的;



出现中断事件时,操作系统将会停止执行当前的任务,调用一个分配给该事件的组织块。



3.除了自动生成的OB1,其他组织块需要用户生成,组织块中的程序是用户编写的。



4.每个组织块都有20个字节的局部变量,其中包含OB的启动信息。这些信息在OB启动时由操作系统提供,包括启动事件、启动日期与时间,错误及诊断事件。



5. 中断的优先级也就是组织块的优先级,如果在执行中断程序(组织块)时,又检测到一个中断请求,CPU将比较两个中断源的中断优先级。如果优先级相同,按照产生中断请求的先后次序进行处理。如果后者的优先级比正在执行的OB的优先级高,将中止当前正在处理的OB,改为执行较高优先级的OB。



下面是优先级的顺序(后面的比前面的优先):背景循环、主程序扫描循环、时间中断、时间延时中断、循环中断、硬件中断、多处理器中断、I/O冗余错误、异步故障(OB80~87)、启动和CPU冗余,背景循环的优先级最低。可以用STEP 7修改S7-400 CPU某些组织块的优先级。



6. 时间中断和延时中断有专用的允许处理中断(或称激活、使能中断)和禁止中断的系统功能。



其他组织块可以用SFC 39“DIS_INT”来禁止处理某些中断,用SFC 40“EN_INT”来激活(使能)被禁止的中断。



SFC 41“DIS_AIRT”用来延迟处理比当前优先级更高的中断,直到用SFC 42“EN_ AIRT”来允许立即处理被SFC 41暂时禁止的中断。





ob1:循环扫描ob,它是没有时间间隔的,执行完ob1后就会再次从头开始执行ob1,所以外部输入的模拟量数据转换成工程量的程序在ob1中执行,使得数据能够及时更新。



ob10~ob23:一般很少用到。



ob30~ob38:ob33和ob35是常用的,和时间有关的程序一般都是放在这些ob中得,比如利用pid控制的程序块,要求不是很严格的时间处理功能,当定时器不够用的时候自己编写的类似定时器的程序块。



ob100~ob102:这些ob只是在cpu不同的启动模式下启动一次,所有一些初始化的程序可以写在这些ob中。



其他ob就不常用了。

水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 水电之家 的产品:
  • 水电电工资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 Bybc.cn SYSTEM All Rights Reserved