技术论坛

产品技术介绍——Step7 OB组织块介绍和使用技巧

作者 主题
奇侠

经验值: 6089
发帖数: 3970
精华帖: 20
主题:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 楼主 2011-04-25 20:35:09
标签:
组织块(OB)表示操作系统和用户程序之间的接口。组织块由操作系统调用,控制循环和中断驱动的程序执行、PLC启动特性和错误处理。STEP7中除了常用的的OB1、OB100、OB35等组织块,还有哪些组织块可以被用在用户程序中?本话题主要探讨以下内容:
1、STEP 7 提供了哪些类型的OB,它们的优先级是怎样的?
2、针对每种类型的OB块的深入分析及其使用方法探讨
活动奖励:
此次集中交流将持续至6月2日,其中所有精华帖作者将获得加倍精华奖励积分;最终所有有效留帖的网友将获得加倍发帖积分。更多积分带给您更多奖品兑换的自由。
对于有突出发言贡献的网友,还可以在当前的可兑换奖品中免费挑选任一款奖品。
交流结束后也将专门整理重要内容,供广大网友分享参考。
预祝大家交流愉快,收获丰富!

 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=836150&b_id=4&s_id=0&num=72

至圣

经验值: 18406
发帖数: 6291
精华帖: 137
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 1楼 2011-04-25 21:54:30
组织块是操作系统与用户程序的接口,可以从下面几个方面来理解:
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暂时禁止的中断。

追求完美
以下网友喜欢您的帖子:

  
版主

经验值: 76240
发帖数: 19148
精华帖: 378
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 2楼 2011-04-25 23:39:36
S7对OB的编程,除OB1外主要还是针对各类中断的编程
Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
侠圣

经验值: 3980
发帖数: 577
精华帖: 18
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 3楼 2011-04-26 09:22:19
我经常使用的OB82诊断中断组织块来检测模拟量模块是否断线。
具体做法是硬件配置中选中通道断线检测和诊断功能。程序中OB82调用SFC51,这里的SFC51有INDEX和DR的参数比较关键。INDEX可以用OB82的临时变量OB82_MDL_ADDR,DR则可以建立一个DB块,根据输出信息来诊断各个通道。
关于OB块的使用,可以参考下载中心A0059号文档“如何使用OB组织块”
业精于勤,行成于思
以下网友喜欢您的帖子:

  
侠士

经验值: 1802
发帖数: 434
精华帖: 11
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧
推荐帖


只看楼主 4楼 2011-04-26 09:31:26
OB组织块一览表

OB编号 启动事件 默认优先级 说明
OB1 启动或上一次循环结束时执行OB1 1 主程序循环
OB10~OB17 日期时间中断0~7 2 在设置的日期时间启动
OB20~OB23 时间延时中断0~3 3~6 延时后启动
OB30~OB38 循环中断0~8时间间隔
分别为5s,2s,1s 7~15 以设定的时间为
500ms,200ms,100ms,
50ms,20ms,10ms
周期运行
OB40~OB47 硬件中断0~7 16~23 检测外部
中断请求时启动
OB55 状态中断 2 DPV1中断
(profibus-dp)
OB56 刷新中断 2
OB57 制造厂特殊中断 2
OB60 多处理中断,调用SFC35时启动 25 多处理中断的同步操作
OB61~64 同步循环中断1~4 25 同步循环中断
OB70 I/O冗余错误 25 冗余故障中断
OB72 CPU冗余错误,例如一个CPU发生故障 28 只用于H系列的CPU
OB73 通行冗余错误中断,例如冗余连接的冗余丢失 25
OB80 时间错误 26启动为28
OB81 电源故障 27启动为28
OB82 诊断中断 28启动为28
OB83 插入/拔出模块中断 29启动为28 异步错误中断
OB84 CPU硬件故障 30启动为28
OB85 优先级错误 31启动为28
OB86 扩展几架、DP主站系统或分布式I/O站故障 32启动为28
OB87 通行故障 33启动为28
OB88 过程中断 34启动为28
OB90 冷、热启动、删除或背景循环 29 背景循环
OB100 暖启动 27
OB101 热启动 27 启动
OB102 冷启动 27
OB121 编程错误 与引起中断的 同步错误中断
OB122 I/O访问错误 OB相同



 
推荐帖推荐理由: 讲得比较详细 (推荐人:自控龙龙)
以下网友喜欢您的帖子:

  
奇侠

经验值: 6335
发帖数: 1385
精华帖: 5
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 5楼 2011-04-26 09:32:32
硬件中断组织块
硬件中断组织块(OB40~OB47)用于快速响应信号模块(SM,
即输入/输出模块)、通信处理器(CP)和功能模块(FM)的信号变
化。
硬件中断被模块触发后,操作系统将自动识别是哪一个槽的模块
和模块中哪一个通道产生的硬件中断。硬件中断OB 执行完后,将发
送通道确认信号。
 
以下网友喜欢您的帖子:

  
奇侠

经验值: 6676
发帖数: 2327
精华帖: 19
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 6楼 2011-04-26 10:25:15
ob85和ob122有一项都是io访问错误?区别在什么地方?
 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2732
发帖数: 354
精华帖: 2
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 7楼 2011-04-26 13:58:41
平时用的也只有个别的几个,例如循环程序OB1,100,错误调用122,121,时间中断35等,请各位大侠分享经验。
 
以下网友喜欢您的帖子:

  
至圣

经验值: 43597
发帖数: 15780
精华帖: 61
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 8楼 2011-04-27 07:52:42
quote:以下是引用sunyy在2011-04-26 09:31:26的发言:
OB组织块一览表

OB编号 启动事件 默认优先级 说明
OB1 启动或上一次循环结束时执行OB1 1 主程序循环
OB10~OB17 日期时间中断0~7 2 在设置的日期时间启动
OB20~OB23 时间延时中断0~3 3~6 延时后启动
OB30~OB38 循环中断0~8时间间隔
分别为5s,2s,1s 7~15 以设定的时间为
500ms,200ms,100ms,
50ms,20ms,10ms
周期运行
OB40~OB47 硬件中断0~7 16~23 检测外部
中断请求时启动
OB55 状态中断 2 DPV1中断
(profibus-dp)
OB56 刷新中断 2
OB57 制造厂特殊中断 2
OB60 多处理中断,调用SFC35时启动 25 多处理中断的同步操作
OB61~64 同步循环中断1~4 25 同步循环中断
OB70 I/O冗余错误 25 冗余故障中断
OB72 CPU冗余错误,例如一个CPU发生故障 28 只用于H系列的CPU
OB73 通行冗余错误中断,例如冗余连接的冗余丢失 25
OB80 时间错误 26启动为28
OB81 电源故障 27启动为28
OB82 诊断中断 28启动为28
OB83 插入/拔出模块中断 29启动为28 异步错误中断
OB84 CPU硬件故障 30启动为28
OB85 优先级错误 31启动为28
OB86 扩展几架、DP主站系统或分布式I/O站故障 32启动为28
OB87 通行故障 33启动为28
OB88 过程中断 34启动为28
OB90 冷、热启动、删除或背景循环 29 背景循环
OB100 暖启动 27
OB101 热启动 27 启动
OB102 冷启动 27
OB121 编程错误 与引起中断的 同步错误中断
OB122 I/O访问错误 OB相同




这个介绍是资料上的,已经介绍的比较详细了。ob的执行的时候如果在同一个时刻有多个ob需要执行,则先执行优先级高的ob,正在执行的其他ob暂时中断,在高优先级的ob执行结束后在由断点处继续其他ob。

ob1:循环扫描ob,它是没有时间间隔的,执行完ob1后就会再次从头开始执行ob1,所以外部输入的模拟量数据转换成工程量的程序在ob1中执行,使得数据能够及时更新。
ob10~ob23:一般很少用到。
ob30~ob38:ob33和ob35是常用的,和时间有关的程序一般都是放在这些ob中得,比如利用pid控制的程序块,要求不是很严格的时间处理功能,当定时器不够用的时候自己编写的类似定时器的程序块。
ob100~ob102:这些ob只是在cpu不同的启动模式下启动一次,所有一些初始化的程序可以写在这些ob中。
其他ob就不常用了。

活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
游士

经验值: 223
发帖数: 9
精华帖: 0
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 9楼 2011-04-27 08:19:39
表示正在学习,应用的也不是很多。
如果一醉真的能解千愁的话,那么酒量不好未尝不是一件好事!
以下网友喜欢您的帖子:

  
侠圣

经验值: 2174
发帖数: 402
精华帖: 0
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 10楼 2011-04-27 09:09:20
一般对于S7-300,400,需要添加以下OB块:
OB80-循环超时中断;
0B82-IO错误中断;
OB85-OB没有加载中断;
OB86-导轨丢失中断;
OB87-通讯中断;
OB121-程序错误中断;
OB122-模块访问中断;

为了新生活前进!
以下网友喜欢您的帖子:

  
游侠

经验值: 501
发帖数: 133
精华帖: 0
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 11楼 2011-04-27 09:35:11
这么多块只有在出故障的时候才想起哦。。我要用哪个组织块来弥补一下,也就是用到的机率比较少吧
 
以下网友喜欢您的帖子:

  
至圣

经验值: 63470
发帖数: 12672
精华帖: 121
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 12楼 2011-04-27 12:59:16
对于简单程序,只涉及到数字量逻辑控制,只使用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通讯错误组织块。

 
以下网友喜欢您的帖子:

  
游士

经验值: 294
发帖数: 33
精华帖: 0
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 13楼 2011-04-27 16:24:08
今天碰到一个问题,项目现场空压机全部停机,控制系统也处于STOP状态,查找原因是因为外部供电电源掉电引起CPU停机,项目现场发现两个问题一是UPS电源没起作用,另外一个是当供电正常是CPU不能自起,检查程序发现没有加OB81块。
 
以下网友喜欢您的帖子:

  
游民

经验值: 73
发帖数: 27
精华帖: 0
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 14楼 2011-04-27 21:29:06
我的理解是OB快分为三种:
第一种用于执行用户所需程序(如:OB1,OB35,OB100等),它们都是用户为满足控制需要所必须执行的程序。
第二种是用于诊断(如OB82),它们可以使用户在系统出现故障时确定故障点。
第三种是用于保持CPU运行(如OB122),它们可以使系统即使出现故障也不至于停机。

 
以下网友喜欢您的帖子:

  
侠士

经验值: 1918
发帖数: 705
精华帖: 4
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 15楼 2011-04-27 23:06:05
在程序除了OB1一般再添加OB30-38,OB82,OB86,OB87,OB100,OB122
学无止境
以下网友喜欢您的帖子:

  
至圣

经验值: 18406
发帖数: 6291
精华帖: 137
回复:OB85和OB122的区别


只看楼主 16楼 2011-04-28 07:01:39
由于通信的原因,模块不存在或有故障,刷新过程映像表时I/O访问出错,将会调用优先级错误中断(OB85)。
可以在CPU属性对话框中设置3种调用OB85的方式。S7-300默认的方式是不调用OB85,S7-400默认的方式是每个扫描循环周期调用一次,还可以设置为故障发生和消失时分别调用一次。

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

追求完美
以下网友喜欢您的帖子:

  
至圣

经验值: 63470
发帖数: 12672
精华帖: 121
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 17楼 2011-04-28 09:02:03
我们在使用相应OB时要注意以下问题。
1.OB只是及时反应出了故障,但并不解决故障,OB允许CPU带故障运行。
2.诊断OB如OB82/86/122反映的是硬件上的故障,靠软件是解决不了的,软件的作用是尽快指向故障点,硬件的问题还是硬件解决。
3.诊断OB的产生会影响CPU的整个程序的执行速度,会影响系统的控制品质,尤其是一些带过程中断,大量运算及运动控制的高速生产线。
4.无条件的让OB去掩盖故障是一件很危险的事情,应该有应对的措施,让系统尽快的进入一种可控的安全状态。
 
以下网友喜欢您的帖子:

  
侠士

经验值: 1130
发帖数: 201
精华帖: 2
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 18楼 2011-04-28 09:22:47
STEP7 提供的OB类型与优先级见附件。

点击此处查看附件

注:附件中掉了两个中断组织块,如下:
工艺同步处理中断 OB65 优先级为25
处理中断组织块 OB88 优先级为28
在交流中学习,在学习中提高。
以下网友喜欢您的帖子:

  
侠士

经验值: 1130
发帖数: 201
精华帖: 2
回复:产品技术介绍——Step7 OB组织块介绍和使用技巧


只看楼主 19楼 2011-04-28 10:11:48
每种类型的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同进触发,中断可能丢失。
在交流中学习,在学习中提高。
以下网友喜欢您的帖子:

  
收起
产品技术介绍——Step7 OB组织块介绍和使用技巧
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。