SIMATIC S7-300和S7-400使用广泛,应用在各行各业的工业环境中。在调试和使用PLC和相关网络过程中,发生一些PLC或者网络故障是不可避免的。故障出现后,用户可能无法从上位机获取相关诊断信息,只有通过连接PG到PLC上,使用Step7在线的方式或者查看CPU的诊断信息来分析和判断故障原因,根据所提示的内容来解决现场问题。
但是通过上述方法,由于获取故障信息缓慢,从而不能快速有效的解决现场问题。西门子对于PLC和相关网络提供多种多样的诊断方式,包括使用故障组织块例如OB82,OB86,诊断功能块,例如SFC51,SFC13,SFB52等,使用RSE/WinCC/WinCC flexible方式,使用Web服务(集成在新的PN CPU中),使用已有的诊断方式,例如FB126,或者使用Maintenance station(维护站)等方式。其中使用 OB8x ( 359 KB ) 是简单基本的获取基本故障信息的方法,同时也可以配合诊断功能块进行详细故障的诊断。
SIMATIC PLC判断发生故障,会立即调用相应的故障组织块OB,如果PLC中没有加入相应的组织块PLC可能会停机,停机的目的就是保证生产过程处于安全状态。如果使用OB8x而没有编写任何诊断程序在用户程序中,PLC虽然不会因为发生故障而停机,但是这种方式并不可取。不能让产生故障的PLC仍无条件的运行,因为这种方式可能导致生产处于某种危险的状态。例如,当DO模块发生断线故障,相关的控制设备因此停止,但是DO可能并没有获取故障信息而停止输出,如果维护人员检查故障并做好接线后,DO会立刻输出控制信号导致相应的控制设备动作,这可能会造成现场人员或者设备的伤害。的方式之一就是通过OB8x获取故障信息,然后通过编程连锁该输出信号,使其输出为“0”,当维修完毕后,通过用户确认后(例如上位机界面中的操作按钮),然后再输出信号“1”。所以使用OB8x就是快速的获取故障信息,然后根据此类故障进行条件式的监视和处理,这样才是有效使用PLC的方法。
本文介绍如何使用OB82,OB83,以及OB86来判断现场故障,并作出相应的处理。OB82为诊断中断组织块,相关的诊断报警例如“DO模板的DO信号断线”会使PLC调用OB82;OB83为插拔中断组织块,当插拔机架上的模块时PLC会调用OB83;OB86为机架故障组织块,当扩展机架丢失,分布式IO掉站时,PLC会调用OB86。各个组织块的详细信息可以参看下面介绍。
上述组织块都具有20个字节的临时变量,对于用户在编程时不能占用和修改这些临时变量。这些临时变量会由PLC在调用相应的故障组织块时自动生成,所以这些临时变量为只读属性,用户只需要读取这些临时变量的数值或者状态来判断哪里出现什么样的故障。每一个故障组织块的临时变量随诊断功能的不同而不同,另外还可以根据相应故障组织块的临时变量OB8x_Date_Time得到故障出现的时间日期。该时间虽然是调用相关OB8x的时间,但是也可以参考故障出现的大致时间。
1, OB82诊断
OB82是诊断中断组织块。
PLC的模板状态从严重程度上可以分为两类,一类表示“完好”,一类表示“故障”。然而对于PROFINET模板其状态具有另外一种中间状态,该状态处于“完好”和“故障”之间,是一种临界状态,称为“维护”,利用该状态用户可以尽早的发现故障,尽快维护现场设备,可以有效的防止由于故障导致生产的停顿。
使用该组织块诊断“故障”。首先要求PLC的模板具有诊断能力,然后通过组态使能相关诊断(Diagnostics:)去检测一个故障事件,例如“断线”(wire break),“短路”(short circuit to M)等,参考图1 ET200S DO模块的参数设置。相关的诊断“故障”的方法参考上述连接文档。
使用该组织块诊断“维护”。对于PROFINET的接口模板,例如ET200S IM151-3 PN HF接口模块支持检测网络错误,包括同步丢失,端口连接状态,光纤信号质量等。这些事件就是维护中断事件,同样也需要通过组态使能检测网络错误参考图2,当这些事件出现后,接口模板的MAINT/FO灯亮。如果需要CPU获取这些维护信息,需要在CPU的PN-IO属性中设置使能OB82,参考图3 使能OB82/I/O fault task。
图1 ET200S DO模块的参数设置
图2 使能检测ET200S接口模块的网络错误
图3 使能OB82/I/O fault task
当它检测到维护事件时,它输出一个诊断中断请求给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中编程,获取诊断信息。利用这些诊断信息可以显示在上位机上,以便用户快速的维护防止生产中断。
图4 PLC硬件组态
参考图2设置,当出现信号质量衰减时,通过Step7在线会出现“扳手”图标,指示需要维护,参考图5。
图5 绿色扳手指示端口状态
参考图3设置CPU的PNIO属性,然后在程序中加入OB82,进行编程。编程之前需要了解OB82临时变量的意义。
对于PROFINET,OB82临时变量的一些预留位,被赋予了一些新的含义。例如临时变量OB82_MDL_TYPE的Bit7表示Maintenance required,与维护状态绿色 相对应。临时变量OB82_RESERVED_2表述Maintenance demanded,与维护状态黄色 相对应。
特点易于安装• 穿墙式安装和壁挂式安装 — 均允许并排安装• USS 和 MODBUS RTU 通信端子• 7.5 kW ~ 30 kW 变频器集成制动单元• 符合电磁兼容性 (EMC)C1/C2 等级易于使用• 无需连接主电源即可实现参数载入• 内置应用宏与连接宏• 异常不停机模式可以实现无间断运行• 较宽的电压范围、先进的冷却设计以及涂层 PCB 板大大提升了变频器的稳定性 节约成本• 用于 V/f、V²/f 的节能模式,休眠模式。• 支持能耗和流量监控• 大化利用太阳能实现太阳能水泵的节能控制• 针对外形尺寸 E 的重载模式和轻载模式 功率范围0.12 kW ~ 30 kW电压范围 1AC 200 V ... 240 V (+ / –10 %)* 3AC 380 V ... 480 V (+10 % / –15 %)控制模式V/f V²/f FCC 多点 V/f * 单相变频器亦可连接至三相 230 V 电网的两相。