Step7 OB组织块介绍和使用技巧

时间:2023-03-21作者:佚名

每种类型的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就不常用了。

相关阅读

异步电动机和同步电动机有什么区别?区别在于哪里?

异步电动机和同步电动机有什么区别?区别在于哪里?有很多电工朋友在日常工作当中,会遇到很多种不同类型的电动机,比如直流电机、高低压交流电机、步进电机和伺服电机等等。...
2023-06-27

电工实操:单控双控多控延时开关控制灯的多种接法,要几个接几个

家居装修时,电工布线、接线、安装在整个家装工程中是关键。今天将讲解电工实操基础知识,单控开关、双控开关、多控开关、延时开关控制灯具的接线方法,大家掌握基本的电工接...
2023-06-11
电工实操:单控双控多控延时开关控制灯的多种接法,要几个接几个

S7200SMART PLC 模拟量输入案例

一、 导读 模拟量的概念应用场景 在实际的工业控制应用中 , PLC 控制即可完成基本的逻辑动作的控制 , 也可完成一些应用控制 ,如 模拟量应用控制 。 在了解模拟量控制之前,我们...
2024-03-21

不怕电工有技术,就怕电工有头脑!这位电工的奋斗史,值得所有电工学习!

在职场的广阔舞台上,总有一些人以其非凡的智慧与策略,书写着令人瞩目的篇章。今天,我要讲述的,便是这样一位电工界的“策略大师”,他的故事充满了智慧、人脉与不懈追求...
2024-09-06
不怕电工有技术,就怕电工有头脑!这位电工的奋斗史,值得所有电工学习!

双电源与双回路的区别、联系及工程应用解析

在供配电设计、厂房配电、高层建筑电气施工中,双电源和双回路经常被混为一谈,很多人误以为两条线路就是双电源,实则二者在电源来源、供电可靠性、适用负荷等级、接线逻辑上有着...
2026-06-07

热销商品

硅胶垫片/硅胶垫/硅胶垫片圆形/硅胶垫圈/橡胶垫片/氟胶垫片

硅胶垫片(又称硅胶垫、硅胶垫圈)是一种由硅橡胶制成的密封材料,具有优异的耐高低温(-60℃~230℃)、耐老化、绝缘和环保无毒特性,广泛用于食品、医疗、电子及家电等领域...
1

厂家直销一字十字螺丝刀改锥螺丝批工具配送迷你单头螺丝刀起子

厂家直销一字十字螺丝刀改锥螺丝批工具,精选优质合金钢材质,硬度高、耐磨损,使用寿命长。迷你单头设计,小巧轻便,便于携带与收纳,适合家庭维修、电子产品拆装、眼镜修理...
0.4

保联梅花内六角螺丝刀套装星型梅花t15米字t30工具t10套装t25花型

保联梅花内六角螺丝刀套装是一款多功能且实用的工具,适用于广泛的维修和安装任务。该套装包含多种尺寸的内六角螺丝刀,包括星型、T15米字、T30以及T10,以满足不同大...
2.98

暗装开关插座面板单开双控一开五孔二三极USB快充肤感超薄家用4开

暗装开关插座面板,简约设计,完美融入家居环境。单开双控,轻松实现远程控制,方便实用。一开五孔,满足多种电器插孔需求;二三极USB快充,快速充电,高效便捷。超薄设计,节省空...
1.34

室外电线电缆JKLYJ4X16/25/35/50/70平方国标4芯平行线集束架空线

JKLYJ4X16/25/35/50/70平方国标4芯平行线集束架空线是一种专为室外电力传输设计的电缆。它采用高强度的聚氯乙烯(PVC)材料制造,具备优良的耐候性和抗老化性能,适用于...
3.8

网站栏目