您当前的位置:五五电子网电子知识plc技术PLC入门Step7 OB组织块介绍和使用技巧简析 正文
Step7 OB组织块介绍和使用技巧简析

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

点击数:7323 次   录入时间:03-04 11:35:38   整理:http://www.55dianzi.com   PLC入门

        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通讯错误组织块。
 
组织块是操作系统与用户程序的接口,可以从下面几个方面来理解:
        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就不常用了。

上一页  [1] [2] 


本文关键字:技巧  PLC入门plc技术 - PLC入门