PROFIBUS是工业自动化领域内市场占有率最高的一种现场总线技术,它包括用于制造业自动化的PROFIBUS-DP和用于流程工业领域的PROFIBUS-PA,它是目前我国惟一的现场总线国家标准。随着越来越多工业控制系统采用了PROFIBUS现场总线技术,对这些控制系统进行具体的、直观的和实时的在线分析与诊断成为了最基本的要求,要想完成这样的任务,就需要有相应的工程分析诊断工具。国内外目前所研究的这些总线性能分析诊断工程工具存在着功能不够全面、界面不够完善、价格昂贵、不适合中国国情等问题。开发一款能够对总线系统进行分析和诊断,方便的、性能价格比高的分析诊断工程工具必将成为急需的产品。
由于在PRIFBUS传输报文可以反映出总线性能的很多参数,包括各种故障状态。比如:从参数化报文可以看出主站和从站的关系,从站的操作方式,包括通道参数、功能设定、装置参数和ID号等。从组态报文可以看出从站I/0类型及性质,以及模块的I/O性质及数据类型等。从诊断报文可以看出从站各种参数设置错误,各种组态错误,以及装置模块错误类型。所以,本文作者就是在对PROFIBUS-DP报文进行详尽分析的基础上,采用VC++ 6.0开发了一款基于串口通讯的PROFIBUS性能分析诊断软件。
1 PROFIBUS工作机理
1.1 PROFIBUS-DP编码技术
PROFIBUS-DP交换数据使用异步传输技术和NRZ编码。NRZ编码的二进制信号“0”或“1”的信号电平在信号持续期间维持不变。图1所示为NRZ码信号图。
点击看大图
图1 非归零码信号
每个数据链路层协议数据单元应由一定数量的字符组成,每个字符都是一个用于异步传输的起——停字符。
每个字符由11个比特组成,包括1个总是为二进制“0”的起始比特(ST),8个可以是二进制数“0”亦可以是二进制数“1”的信息比特,1个可以是二进制“1”也可以是二进制数“0”的偶校验比特(P),1个总是为二进制数“1”的停止比特,如图2所示。
点击看大图
图2 单个字符格式
接收器的比特同步总是从起始比特的下降沿开始,也就是说,在从二进制“1”转换到二进制数“0”时开始。在比特时间的中间应扫描起始比特和所有后继的比特。在比特时间的中间,起始比特应是二进制数“0”,否则认为同步失败并停止同步过程。以二进制“1”的停止比特来结束字符的同步,如果此时出现二进制数“0”来代替此停止比特,则应认为并报告一个同步差错或字符差错,并应等待下一个起始比特的前导沿。
1.2 报文格式
如图3所示,PRFIBUS-DP有以下5种报文格式。其中,SYN为同步周期,它是一个最小的时间间隔,在此时间间隔内,每个站在它可以接收发送/请求报文帧或令牌起始部分之前,应从传输介质接收空闲状态(idle state)(idle=二进制“1”)。同步周期最小为33个线空闲比特;SD为起始定界符,DA是目的地址,SA是源地址,FC是控制帧;FCS是帧校验和,ED为结束定界符,值为16h,L是信息字段长度,其中SD1= 10h,用于请求FDL状态,寻找一个新的活动的站点,报文长度固定,没有数据单元;SD2= 68h,用于SRD服务,报文的数据长度可变;SD3 = A2h,数据单元长度固定(L总为8字节);SD4 = DCh,表示该报文为令牌报文;SC =E5h, 短确认报文。
点击看大图
图3 PROFIBUS—DP链路层报文格式
2 报文诊断软件的实现
2.1 实验平台
图4为作者组建的PROFIBUS-DP网络实验系统结构图。在网络系统中,1类主站为SIEMENS公司的CPU315-2DP PLC,PC工控机作为2 类主站,通过现场总线接口卡CP5611与DP 总线相连, WAGO公司的750-333、BECKHOFF公司的BK3120、SIEMENS公司的ET200-L及和利时公司的LM3107 PLC等PLC设备作为从站连接到DP网络中。
评论排行