Profibus-DP诊断技术在多路IO中的应用
2015-01-13陈在平倪建云
陈在平 张 宇 倪建云 贾 超
(天津理工大学 a.天津市复杂系统控制理论及应用重点实验室;b.自动化学院,天津 300384)
Profibus-DP作为开放式现场总线标准之一,被广泛应用于制造业自动化、流程工业自动化及楼宇自动化等自动化领域。DP从站可作为通信接口,使不同制造商所生产的设备不进行特别调整即可接入DP网络[1]。而传输多路IO量数据就是DP从站的一种基本且常用的功能。DP从站的硬件设计已经非常成熟,主要由单片机、协议芯片和隔离驱动电路构成。其中,单片机要满足1KB以上RAM,8KB以上ROM的要求,如STM32系列及STC90系列单片机等;协议芯片主要有SPC3、VPC3及VPC3+C等;隔离驱动电路可由HCPL7101、HCPL0601和485驱动芯片(如SN75ALS176D)搭建,也可选取驱动、隔离一体芯片,如ADM2486等。笔者应用DP的诊断技术,可将各个从站的故障信息及时反馈到主控制器上,以便快速定位到故障站点并排除故障,方便了维护,该方法对于缩短故障排除时间和提高设备的稳定性有很大帮助,能够整体提高生产效率[2]。
由于DP从站的设计方案已十分典型,笔者不过多说明,主要介绍Profibus诊断技术在DP从站的IO量数据传输中的应用,图1为获取诊断信息的硬件电路。
图1 获取诊断信息的硬件电路
认为当inpower端与GND短路时即为故障,LM311D为比较器,3脚接收inpower的电平信号,2脚是略高于0的低电平,正常情况下7脚输出低电平。当故障(即inpower与GND短路)出现时,3脚为0V,要低于2脚电压,比较器翻转,7脚输出高电平,由Test端输送给单片机的IO端口,即诊断信号出现。
2 软件设计
由于在标准DP协议中扩展了诊断部分,因此从站程序设计主要由主程序软件设计和诊断程序软件设计两部分组成。
2.1 主程序软件
主程序流程如图2所示。其中SPC3的初始化部分要放在主程序的起始位置,主要包括设定寄存器变量名、设置看门狗初值、设置从站地址和标志号及设定缓冲区长度等内容[3]。一旦进入数据交换后,除非出现从站地址改变等特殊情况,否则不会退出数据交换的大循环。
图2 主程序流程
2.2 诊断程序软件
当有诊断信号出现时(如硬件设计中的Test端出现高电平),单片机则进入诊断程序,处理诊断数据。因为可以根据单片机的空闲引脚来决定诊断信号的数量,即可扩展成多路诊断同时出现的情况,所以需要在程序里判断诊断类型,并设置相应的扩展诊断数据的长度和对应的诊断代码。最后调用诊断数据块,填充扩展诊断信息,在本流程中,将出现诊断的从站地址作为诊断信息填充进去。笔者设定了两种诊断类型,即对应了两类故障,任何一类故障出现均可触发诊断,并告知主站进行处理。诊断部分流程如图3所示。
2.3 PLC程序
采用西门子S7-300 PLC作为主站,型号为314C-2 DP,在STEP7中使用功能块OB82获取诊
图3 诊断程序流程
断信息,用系统功能块SFC51获取系统信息,并存储在数据块DB13中。最终在OB1中调用各个功能块,下面给出OB82的部分程序:
…
L #OB82_IO_FLAG
L B#16#54
==I
JC go
L #OB82_MDL_ADDR
L W#16#8000
OW
T #OB82_MDL_ADDR
go: L #OB82_MDL_ADDR
T MW 30
L #OB82_EV_CLASS
L B#16#39
==I
S M 40.0
JC com
R M 40.0
L #OB82_MDL_ADDR
T MW 30
…
3 系统测试
系统测试主要由对总线网络通信部分的测试和对诊断部分的测试两部分组成。
通信测试部分采用配备DP接口的西门子PLC作为主站,扩展外部诊断的DP从节点作为从站。在SIMATIC MANAGER中组态DP网络并编写主站程序,编译没有错误后下载到西门子PLC S7-300中运行[4]。通过ProfiTrace抓取网络中的报文信息,获取DP网络的运行情况。图4为DP从站与主站正常通信时的数据交换状况,采用1字节长度(即8路IO量)进行数据交换,主站发送数据01给从站,从站返回88给主站,具体的数据长度可根据实际情况进行设定。
图4 DP通信测试
对诊断部分的测试是在通信测试的基础上进行的,本测试模拟了两类故障(图5为两类故障均出现的情况),用户可根据实际需求扩展故障类型。配置好DP网络后,在STEP-7程序中添加诊断中断功能块OB82和数据块DB13,当故障出现时,PLC的SF指示灯变亮,在ProfiTrace中也能监测到站号的左上角有红灯闪烁。如果是一类故障,则在DB13数据块的DBB7中添加诊断信息,如果是二类故障,则在DBB8中添加诊断信息。在本测试中,把出现问题的10号从站的地址作为诊断信息(地址为十六进制0X0A)填充到数据区中。
通过系统测试,可以验证DP从站在Profibus-DP网络中运行的正确性和稳定性,在出现故障后,能及时准确地向主站反映故障信息和出现故障的从节点地址。
4 结束语
详细地阐述了外部诊断技术在Profibus-DP从站中的应用、具体测试方案和实验结果。使用该设计方案,可以在不改动基本电路的基础上,对I/O部分简单调整,即可使大部分外围设备连接到DP网络上,并且能够准确快速地检测到外围电路的故障诊断信息,及时定位并排除电路故障。
[1] 郑小倩,黄明琪. PROFIBUS-DP主站和从站通讯的设计与实现[J].微计算机信息,2007,23(1):48~49,108.
[2] 张强.采用SPC3设计Profibus-DP智能从站[J].自动化仪表,2005,26(3):17~20.
[3] 周侗,魏剑嵬,刘丹,等.基于PROFIBUSDP从设备开发的协议分析与软件设计[J].信息与控制,2005,34(1):115~118.
[4] 王永华,李娜,阎佩献.基于工业以太网和PROFIBUS的FCS实时在线故障诊断系统[J].制造业自动化,2010,32(12):24~26,115.