当它检测到维护事件时,它输出一个诊断中断请求给CPU(到来和离去事件)。于是操
作系统调用OB82。如果没有下载OB82到
PLC 中,那么PLC 会停机。
OB82 的局部变量中除了包含故障模块的逻辑地址OB82_MDL_ADDR,还包含故障
模板四个BYTE 的诊断数据LB8 ,OB82_MDL_TYPE,LB10,LB11。具体信息可以查看
Step7 在线帮助OB82。
下面举一个维护的例子,组态参考图4 PLC 硬件组态。例如ET200S FO接收光纤信号
质量由于某种原因衰减,导致接收功率低于门槛值,从而产生MAINT信息。同时触发诊断
中断OB82,PLC 调用OB82来接收该中断信息,通过在OB82中编程,获取诊断信息。利
用这些诊断信息可以显示在上位机上,以便用户快速的维护防止生产中断。

参考图2 设置,当出现信号质量衰减时,通过Step7 在线会出现“扳手”图标,指示需
要维护,参考图5。

参考图3 设置CPU的PNIO 属性,然后在程序中加入OB82,进行编程。编程之前需要
了解OB82临时变量的意义。
对于PROFINET,OB82临时变量的一些预留位,被赋予了一些新的含义。例如临时变
量OB82_MDL_TYPE的Bit7 表示Maintenance require d,与维护状态绿色 相对应。临时
变量OB82_RESERVED_2 表述Maintenance dem anded ,与维护状态黄色 相对应。
例子程序如下:
A(
L #OB82_EV_CLASS
L B#16#39 //incoming event
==I
)
A(
L #OB82_MDL_AD DR
L W#16#1FF9 //diagnostics address for Port2 of IM151-3(Dec:8185)
==I
)
A(
O L 9.7 //Maintenance require d
O #OB82_RESERV E D_2 //Maintenance demand
)
S M 100.0 //to show maintenance information
A M 100.0
JCN ne xt
CALL "D T_DATE"
IN :=#OB82_DATE _TIME
RET_VAL:=MW120 //Date
CALL "D T_TOD"
IN :=#OB82_DATE _TIME
RET_VAL:=MD124 //time
next: NOP 0
通过上述简单的程序实例,表明当在IM151-3 接口模板的端口2 出现光纤信号衰减而导
致接收功率低于门槛值时,置位M100.0,同时获取故障事件时间和日期存储到MW120和
MD124。这些变量可以编写在WinCC/WinCC flexible 中进行显示,方便用户维护现场故
障。对于其它端口或者其它分布式IO上的接口模板的端口诊断可以按照上述方式自行添
加。