1、完整版应用OB86诊断站故障应用OB86诊断站故障一、 组态1 组态主站CPU412-DP2 组态从站 注:从站ET200M和ET200S需要从Profibus DPDPV0中拖出来。并按照从站上拨码的数值设置PROFIBUS地址二、 调用OB86,并编程把OB86的临时变量存入DB86,以便进行故障分析在OB86中编写程序如下注:OB86中的TEMP变量存在临时堆栈,故调用时可以在符号名前加#或者直接用L0.0 LB0这样的表示三、 在DB86中读取故障信息并进行分析1从站掉电故障离去2拔掉从站ET200S中一个模块ET200S的指示灯:BF红灯常亮CPU的指示灯:SF红灯常亮,BF闪烁故障
2、离去3拔掉从站ET200S的PROFIBUS线ET200S的指示灯: BF红灯常亮CPU的指示灯:SF红灯常亮 BF闪烁故障离去附录1:PROFIBUS故障诊断小结1、 使用西门子BT200485总线测试仪测试PROFIBUS BT200是一种对RS485物理层进行测试的检测工具,它不仅可测试电缆的情况,还可以测量从站的站地址。BT200分为普通和专家两种测试模式,在普通模式下可检测出站点连接中断、接线反相、短路、AB相或屏蔽层断路、没有或多于2个终端电阻等信息;专家模式还可进行RS485接口测试、路径测试、网络距离测量和信号反射测试等功能。 站点测试:将BT200连接到已通电的从站上,对于一
3、个从站的RS485接口,可检测出485接口的好坏,还能测量实际总线电平(标准为5V)。 路径测量:BT200可跨越中继器或光纤对整个网络进行测试,还可测出总线上的正常工作的从站数量和站地址。 距离测量:BT200可测出PROFIBUS电缆的实际长度(测量误差0.5米,电缆较短时不能准确测量)。 2、使用带诊断功能的总线中继器对PROFIBUS网络进行在线诊断 诊断中继器用于在系统正常工作时进行线路诊断。它作为一个RS 485中继器集成在 PROFIBUS DP网络中,并且具有线路诊断的强大功能。诊断中继器可以检测出A或者B断线、信号线和屏蔽层之间发生短路、缺少总线终端电阻等电缆故障。在STEP
4、 7中,可以使用COM PROFIBUS或者GSD文件将诊断中继器组态为一个标准从站。 3、用西门子STEP7软件进行网络诊断 在STEP7中的“HW config”中,使用菜单项“PLC故障模块”在线打开可访问站的组态信息。 4、通过编程诊断PROFIBUS故障 调用SFC51;SFC58;SFC59;SFC13 触发调用 调用OB82;OB83;OB86 诊断中断,实时调用 调用FC125或FB125 收费;功能强大 对于分布式I/O,如果机架、子网或者站发生故障被PLC识别后,CPU(CPU3152DP或S7400)操作系统会调用OB86机架故障处理组织块,并且这些事件的发生和离去都会触
5、发调用。在OB86中编程可识别PROFIBUS总线是否发生故障,并可编程对产生的不同故障分类处理。 通过调用SFC13系统功能(读出从站诊断信息)诊断PROFIBUS,在OB1中调SFC13系统功能,可将从站诊断信息存入一个DB数据块中进行分析,识别故障从站地址。 CALL SFC13 REQ :=TRUE /读请求 LADDR :=W#16#3FE /从站诊断地址 RET_VAL :=MW0 /SFC13的输出参数 RECORD :=P#db100.DBX0.0 BYTE 64/诊断数据目的数据块 BUSY :=M2.0 /SFC13运行状态 通过调用功能块FB125和功能FC 125PRO
6、FIBUSDP诊断块诊断PROFIBUS网络,功能块FB125不仅可诊断出哪个从站发生了错误和故障,还可检测有关从站错误或者故障的详细信息。调用功能块FB125(包括相同的背景数据块编号和实际的用户操作数) 必须在OB1、OB82和OB86中执行。功能FC125是一个简化版本,只能给出 “哪一个从站发生了错误或者故障”的信息。使用该功能无法显示更详细信息。功能FC125在组织块OB1调用。附录2:机架故障组织块(OB86)-来源于焦工给的中文资料SFB/SFC手册(S7-300/S7-400标准功能参考手册 只要在分布式I/O (PROFIBUS DP或PROFInet IO)中检测到中央扩展
7、机架(不带S7-300)、DP主站系统或站故障(进入事件与离开事件时),CPU的操作系统调用OB86。 如果OB86尚未编程,当检测到此种类型的出错时,CPU将转为STOP模式。可使用SFC 39至42禁用或延迟,并重新启用OB86。机架故障OB的本地数据 下表说明了机架故障OB的临时(TEMP)变量。变量名为OB86的缺省名称。 如果要对依赖于可能错误代码的OB86进行编程,建议按如下方式组织局部变量:下表给出了启动OB86的事件:附录2:插入/删除模块中断组织块(OB83)在下列情况下,CPU操作系统会调用OB 83: 插入/删除已组态模块后 在STEP 7下修改模块参数以及在运行期间将更
8、改下载至CPU后可借助SFC 39至42禁用/延迟/启用插入/删除中断OB。模块插入和删除 每次在RUN、STOP和STARTUP模式期间删除或插入已组态模块时,都会生成插入/删除中断(在这些模式下一定不能删除电源模块、CPU、适配器模块以及IM)。此中断会导致在诊断缓冲区和所涉及CPU的系统状态列表中生成一个条目。如果CPU处于RUN模式,则还会启动插入/删除OB。如果此OB尚未编程,CPU将转为STOP模式。 随后,系统会以数秒钟的时间间隔来轮询S7-400模块以检测插入或删除。为使CPU能够检测到S7-400模块的删除和插入,在删除和插入操作之间必须至少有2s的时间间隔。对于其它模块而言
9、,此最短时间值会稍大一些。如果在RUN模式下删除了已组态的模块,则启动OB83。由于仅以1s为时间间隔来监视模块的存在,因此当直接访问模块或更新过程映像时,可能会首先检测到访问错误。 如果在RUN模式下将一个模块插入到已组态的插槽中,则操作系统将检查所插入模块的类型是否与所记录的组态相符。如果模块类型匹配,则启动OB83并分配参数。重新组态模块 当在运行(CiR)期间修改系统组态时,可为现有模块重新分配参数。参数的这种重新 分配通过将所需参数数据记录传送至模块实现。步骤如下: 1. 在STEP 7下已为模块分配了新参数,且在RUN模式中将此组态下载到CPU时,将启动OB 83(启动事件W#16
10、#3367)。相关的OB启动信息为逻辑基址(OB83_MDL_ADDR)和模块类型(OB83_MDL_TYPE)。从现在起,模块I/O数据可能不正确,这就意味着没有任何SFC忙于将数据记录发送到此模块。 2. 在执行OB 83后将重新分配模块参数。 3. 在分配参数后,将重新启动OB 83(假如成功地分配参数,则启动事件W#16#3267,如果失败,则启动事件W#16#3968)。模块的I/O数据响应与其在插入中断后的响应相同,也就是说,当前它们可能不正确。现在可再次调用SFC以便将数据记录发送到模块。 OB 83的本地数据 下表说明了插入/删除模块中断OB的临时(TEMP)变量。变量名为OB 83的缺省名称
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1