回复:关于系统块OB86

liugong22

  • 帖子

    32
  • 精华

    0
  • 被关注

    1

论坛等级:新手

注册时间:2006-08-30

普通 普通 如何晋级?

发布于 2006-12-15 09:12:53

0楼

quote:以下是引用koko在2006-12-14 16:44:33的发言:
OB86是主从站通讯故障时调用的OB块,简单的作用就是发生这个故障时不会致使PLC停机。一般我们很少用在这些OB块里写东西,西门子已经写好了,当然我们看起来是空的。不知道这样的回答是否正确,有待于实践了。
[color]楼上的我看你发贴都是在灌纯净水啊,这里是做技术的人的论坛,那点指望灌水骗点奖品的小聪明还是用到其它地方去吧。[/color]


只要在分布式I/O (PROFIBUS DP或PROFINET IO)中检测到中央扩展机架(不带S7-300)、DP主站系统或站故障(进入事件与离开事件时),CPU的操作系统调用OB86。

如果OB86尚未编程,当检测到此种类型的错误时,CPU将转为STOP模式。

可使用SFC 39至42禁用或延迟,并重新启用OB86。

机架故障OB的本地数据

下表说明了机架故障OB的临时(TEMP)变量。变量名为OB86的缺省名称。


变量 类型 描述
OB86_EV_CLASS BYTE 事件等级和标识符:B#16#38:离开事件B#16#39:进入事件
OB86_FLT_ID BYTE 错误代码:(可能值:B#16#C1、B#16#C2、B#16#C3、B#16#C4、B#16#C5、B#16#C6、B#16#C7、B#16#C8、B#16#CA、B#16#CB、B#16#CC、B#16#CD、B#16#CE)
OB86_PRIORITY BYTE 优先级,可通过STEP 7分配(硬件配置)
OB86_OB_NUMBR BYTE OB编号(86)
OB86_RESERVED_1 BYTE 保留
OB86_RESERVED_2 BYTE 保留
OB86_MDL_ADDR WORD 取决于错误代码
OB86_RACKS_FLTD 数组[0 ..31](数值类型为BOOL) 取决于错误代码
OB86_DATE_TIME DATE_AND_TIME 调用OB时的DATE_AND_TIME
如果要对依赖于可能错误代码的OB86进行编程,建议按如下方式组织局部变量:

变量 类型
OB86_EV_CLASS BYTE
OB86_FLT_ID BYTE
OB86_PRIORITY BYTE
OB86_OB_NUMBR BYTE
OB86_RESERVED_1 BYTE
OB86_RESERVED_2 BYTE
OB86_MDL_ADDR WORD
OB86_Z23 DWORD
OB86_DATE_TIME DATE_AND_TIME
下表给出了启动OB86的事件:

OB86_EV_CLASS OB86_FLT_ID 含义
B#16#39 B#16#C1 扩展机架故障OB86_MDL_ADDR:IM的逻辑基址OB86_Z23:针对于每个可能的扩展机架包含一个位:导致调用OB86的每个扩展机架均报告为已出现故障(置位各个位)。不再显示之前出现故障的扩展机架。位0:始终为0位1:扩展机架:位21:扩展机架21位22至29:始终为0位30:在SIMATIC S5区域中至少有一个扩展机架
出现了故障位31:始终为0
B#16#38 B#16#C1 扩展机架再次可运行OB86_MDL_ADDR(对于OB86_FLT_ID=B#16#C1)。再次可运行的扩展机架在OB86_Z23中进行报告(置位各个位)。
B#16#38 B#16#C2 扩展机架再次可运行(扩展机架因预期组态与实际组态不符而出现故障)OB86_MDL_ADDR:IM的逻辑基址OB86_Z23:针对每个可能扩展机架包含一个位,请参见OB86_FLT_ID B#16#C1。
已置位的含义:在受影响机架中:存在具有错误类型ID的模块已组态的模块丢失至少有一个模块故障。
B#16#39 B#16#C3 分布式I/O设备:DP主站系统故障
只有进入事件会导致启动错误代码为B#16#C3的OB 86。离开事件可启动错误代码为B#16#C4,且事件等级为B#16#38的OB 86:
每个DP从站的返回会启动OB86OB86_MDL_ADDR:DP主站的逻辑基址OB86_Z23:DP主站ID:位0至7:保留位8至15:DP主站系统ID位16至31:保留
B#16#39/B#16#38 B#16#C4 DP站故障OB86_MDL_ADDR:DP主站的逻辑基址OB86_Z23:受影响DP从站的地址: 位0至7:DP站编号位8至15:DP主站系统ID位16至30:S7从站的逻辑基址或者标准DP从站的诊断地址位31:I/O标识符
B#16#39/B#16#38 B#16#C5 DP站故障OB86_MDL_ADDR和OB86_Z23(对于FLT_ID=B#16#C4)
B#16#38 B#16#C6 扩展机架可再次运行,但模块参数仍存在错误。OB86_MDL_ADDR:IM的逻辑基址OB86_Z23:包含针对于每个可能的扩展机架的一个位:位0:始终为0位1:扩展机架1:位21:扩展机架21位22至30:保留位31:始终为0置位时的含义(在所涉及的扩展机架中):存在具有错误类型标识符的模块存在缺少参数或具有错误参数的模块。
B#16#38 B#16#C7 返回DP站,但模块参数分配存在错误OB86_MDL_ADDR:DP主站的逻辑基址受影响DP从站的地址:位0至7:DP站编号位8至15:DP主站系统ID位16至30:DP从站的逻辑基址位31:I/O标识符
B#16#38 B#16#C8 返回DP站,但所配置的组态和实际组态不符OB86_MDL_ADDR:DP主站的逻辑基址OB86_Z23:受影响DP从站的地址: 位0至7:DP站编号位8至15:DP主站系统ID位16至30:DP从站的逻辑基址位31:I/O标识符
B#16#39 B#16#CA PROFINET IO系统故障?OB86_MDL_ADDR:IO控制器的逻辑基址?OB86_Z23:位0至10:0 (站号)位11至14:IO系统ID位15: 1位16至31: 0
B#16#39/38 B#16#CB PROFINET IO站故障/站返回?OB86_RESERVED_1: B#16#C4:其它站无故障B#16#CF:其它站已失败/存在故障?OB86_MDL_ADDR:IO控制器的逻辑基址?OB86_Z23:位0至10:站号位11至14:IO系统ID位15: 1位16至30:站的逻辑基址位31:I/O标识符
B#16#39/38 B#16#CC PROFINET IO站故障/已更正站故障?OB86_RESERVED_1: B#16#C4:其它站无故障B#16#CF:其它站已失败/存在故障?OB86_MDL_ADDR:IO控制器的逻辑基址?OB86_Z23:位0至10:站号位11至14:IO系统ID位15: 1位16至30:站的逻辑基址位31:I/O标识符
B#16#39 B#16#CD PROFINET IO站返回,实际组态与期望组态不匹配?OB86_MDL_ADDR:IO控制器的逻辑基址?OB86_Z23:位0至10:站号位11至14:IO系统ID位15: 1位16至30:站的逻辑基址位31:I/O标识符
B#16#39 B#16#CE PROFINET IO站返回,模块组态参数存在错误?OB86_MDL_ADDR:IO控制器的逻辑基址?OB86_Z23:位0至10:设备编号位11至14:IO系统ID位15: 1位16至30:站的逻辑基址位31:I/O标识符
注意如果使用呢具有DPV1功能的CPU,可借助于SFB54 "RALRM"获取有关中断的其它信息,这些信息不止包含OB的起始信息。在S7兼容模式下操作DP主站时,这一点也同样适用。



** 楼上的我只不过是幽默了一把**

hao
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。