采用PROFIBUS-DP的FCS性能研究及诊断软件开发

发布者:Haifeeng最新更新时间:2011-05-21 关键字:PROFIBUS-DP  FCS性能研究 手机看文章 扫描二维码
随时随地手机看文章
    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网络中。

  


  图4 PROFIBUS-DP网络实验系统结构图

  2.2 软件开发环境

  软件开发工具为VC++6.0,通过计算机标准串口通信,将PROFIBUS—DP报文采集到上位机进行处理。PROFIBUS-DP系统作为实验平台,采用RS485/RS232通信电缆将其RS485的一端接入PROFIBUS-DP网络连接器的背插接口,RS232一端直接接入到PC机的串口。

  2.3 软件系统基本程序框图

  软件系统的程序基本架构流程图如图5所示。

  


图5基本程序框架流程图

  整个系统软件包括如下几个模块:

  1)程序主控模块:负责实现程序逻辑与主界面,调用串口通信模块和接收显示模块。

  2)串口通信模块:负责实现串口通信任务,PROFIBUS-DP报文数据采集及串口参数设置。

  3)数据处理模块:根据PROFIBUS-DP协议报文格式,将采集上来的数据按报文格式进行处理,并存入临时缓冲区。

  4)接收显示模块:负责实现接收数据的处理与显示。

  5)数据库模块及数据查询模块,用来实现对采集到报文的历史数据的分析和查询。

  2.4 关键技术

  该软件主要是实现对PROFIBUS报文进行提取,实现在线采集PROFIBUS-DP报文数据,从数据链路层角度对各种报文进行分析,完成各种类型报文的显示,完成对报文种类、服务类型、地址、数据长度及数据单元等信息的提取显示,并对诊断报文、参数化报文及组态报文等的数据单元进行详细的分析,得出总线性能的各种参数及故障原因,将分析过的数据存储进数据库,存入临时缓冲区,根据需要将分析过的报文信息存入数据库,实现历史查询。

  如何实现报文帧的提取是本软件设计的一个关键问题。由于PROFIBUS报文格式有很多种,而且包括数据长度不固定的可变报文。虽然各种报文都具有固定的报头、报尾,但是存在的问题是报头报尾并不是特定的字符,有可能和报文中数据单元内容一样,所以这里利用报头报尾进行报文的提取是不可行的。作者在这里利用各种报文帧前的同步字符进行报文提取,也就是说,在每个完整报文帧传输之前,其前面都有一个不小于33bit的同步时间,在报文帧中间是没有任何间隔的,利用这一同步时间,在VC++中利用超时函数,对报文帧进行了完整地提取。

  另外,由于通信数据量很大,速度较快,这里采用了WINDOWS多线程技术。一个线程为监视线程,监视串口通讯,一个为数据处理主线程,另外一个为定时刷新数据库线程。当监视线程监视到串口中有数据到达时,就触发一个消息通知数据处理主线程,数据处理主线程就去串口缓冲区中取出数据,并进行数据处理。定时器线程定时刷新数据库显示,以实现实时显示功能。

  作者在程序编写的过程中,出现数据库不能实时刷新的情况,后来发现问题出在WINDOWS的WM_TIMER定时器上,由于该定时器消息优先级较低,可能造成WM_TIMER消息的丢失,所以不能实现数据库的实时刷新。解决的方法是采用WINDOWS的多媒体定时器。在使用多媒体定时器的过程中,定时间隔的选取又是一个关键的问题,定时间隔选取太小,将会耗费大量的CPU内存,造成系统“死机”, 定时间隔选取太大,又不能完成“实时”显示功能。这里又涉及到PROFIBUS总线信息循环时间的问题,总线信息循环时间与总线传输的波特率、从站的数量、I/O数据的数量、从站需要的延迟时间以及主站的空闲时间等有关。作者通过了大量的计算和多次实验调试,寻找到一个合适的定时器间隔。

  2.5 显示界面

  该PROFIBUS-DP报文分析软件的程序界面包括主界面、串口配置界面、报文过滤界面、报文查询界面、数据库存储界面以及历史查询界面等。

  PROFIBUS-DP分析诊断软件的运行主界面如图6,窗口左上部分“当前profibus报文”组框内存放最近采集到的PROFIBUS-DP报文信息,并可通过工具栏上的记录移动按钮滚动察看记录;右上方“信息面板”是用来显示所有查看报文的详细信息。窗口下半部分以网格形式显示PROFIBUS-DP历史信息。

  若需要打开串口,开始接收PROFIBUS报文信息,则可选择“命令”菜单下的“开始接收”项;若需停止接收PROFIBUS报文信息,则可选择“命令”菜单下的“停止接收”项;若需要配置串口参数,则可选择“命令”菜单下的“串口配置”项,此时将弹出“串口配置对话框”,若需清除当前所有记录,可选择“记录”菜单下的“清除所有记录项”命令,如果需要分类查看各种报文,可以选择“查看”命令菜单下的“报文查询”,此时将弹出“报文查询对话框”,可根据需要进行报文分类查看。


  图6 软件运行主界面

  3 结束语

  该软件经过作者在PROFIBUS网络实验系统上的反复运行调试,结果表明该软件能够实现对几种PROFIBUS报文进行分析,能够完成采集、显示、分析、存储和查询等功能,为以后的研究开发奠定了基础,同时具有一定的实用价值。

关键字:PROFIBUS-DP  FCS性能研究 引用地址:采用PROFIBUS-DP的FCS性能研究及诊断软件开发

上一篇:PROFIBUS-DP接口开发技术研究和应用
下一篇:利用简单电路解决带电插拔过程的USB电流过冲问题

推荐阅读最新更新时间:2024-05-02 21:24

基于16位DSP的PROFIBUS-DP从站设计
   核心器件的选择   SPC3协议芯片    SPC3 是专用于从站开发的智能通讯芯片,它支持PROFIBUS-DP协议。图1为SPC3结构图,其主要性能如下:44脚、PQFP封装;在PROFIBUS 上自动检测波特率,自9. 6kbps至12Mbps;RS-485传输;完整的PROFIBUS-DP协议;内部集成监视定时器;5V DC电源。 图1 SPC3结构图   SPC3内部集成了1. 5KB的双口RAM,其地址空间从00H到5FFH。内部以8字节为一单元,分为192个段。根据功能可分为3个区域:   00H 到015H为方式设定和状态指示寄存器区。016H到03FH为参数配置区,各种BUF的指针与长度
[嵌入式]
基于16位DSP的<font color='red'>PROFIBUS-DP</font>从站设计
PROFIBUS-DP现场总线在涂装生产线自动控制系统中的应用
  随着计算机、控制、通信和网络等技术的进步.现场总线在20世纪80年代中期逐渐发展起来。现场总线是应用在生产现场测量与控制设备之间实现双向串行多节点数字通信的系统,也被称为开放式、数字化、多节点通信的底层控制网络。PROFIBUS是过程现场总线(Process FieldBus)的缩写。它已成为应用广泛、技术成熟的国际标准现场总线之一,广泛应用于加工制造、过程和楼宇自动化等领域。本文介绍PROFIBUS-DP现场总线在涂装生产线ca动控制系统的应用。 1 工艺介绍   该涂装生产线主要是对叉车结构件进行涂装。所谓涂装即指对金属和非金属表面覆盖保护层和装饰层。随着工业技术的发展,涂装已由手工向工业自动化方向发展,而且自动化的程度越
[嵌入式]
Profibus-DP总线与profibus-PA总线区别
profibus-DP总线与profibus-PA 总线有何区别    PROFBUS是一种国际性的开放式的现场总线标准,它既可以用于高速并且对于时间苛求的数据传输,也可以用于大范围的复杂通讯场合。    PROFBUS-DP是一种通讯协议,这种为高速传输用户数据而优化的PROFBUS协议特别适用于可编程控制器与现场级分散的I/O设备之间的通讯。    PROFIBUS –DP用于现场层的高速数据传送。主站周期地读取从站的输入信息并周期地向从站发送输出信息。总线循环时间必须要比主站(PLC)程序循环时间短。除周期性用户数据传输外,PROFIBUS –DP还提供智能化设备所需的非周期性通信以进行组态.诊断和报警处理。 传输
[嵌入式]
基于PLC与PROFIBUS-DP总线的电力参数监控系统
1 引言 现场总线是用于现场仪表与控制系统和控制室之间的一种全分散、全数字化、智能、双向、互联、多变量、多点、多站的通信网络。目前,现场总线种类繁多,还没有统一的标准,每种总线都有其独特的产生背景和应用领域,影响比较大的有CAN总线、lonworks总线、hart总线、FF总线、rpofibus总线等。Profibus-dp主要应用于现场设备级,它的响应时间从几百微秒到几百毫秒,数据传输速率为9.6 kbps~12mbps。在济南国际机场航站楼的电力参数监控系统设计时,考虑到现场参数变量较多,位置分散,且对信号的实时性和抗干扰能力都要求较高,一般的监控网络很难满足系统要求,因此在系统的监控层选用profibus-dp通信网
[工业控制]
基于FPGA的PROFIBUS-DP总线光电收发器设计
   O 引言   PROFIlBUS-DP现场总线以其高速、低成本等优点而广泛应用于制造业自动化、流程工业自动化和楼宇自动化等行业,它的物理层数据传输依赖RS-485接口。RS-485接口是一种工业领域内广泛使用的串行通信接口,可采用“差分”方式在屏蔽双绞线中传输信号,因而具有较好的抗共模干扰能力,通信距离可达千米。PROFIBUSDP总线信号也可使用屏蔽双绞线传输,数据速率为9.6 kbps时的理论传输距离为1200米,波特率为12:Mbps时的理论传输距离为100米。但是,由于工业现场情况错综复杂,各种干扰相互叠加,且RS-485标准规定单段网络最多可支持32个节点(标准负载),因此,有必要使用一种中继设备来将信号更准确、
[嵌入式]
基于FPGA的<font color='red'>PROFIBUS-DP</font>总线光电收发器设计
Profibus-DP总线技术及其在伺服传动中的应用
    1 引言   Profibus是一种国际化、开放式、不依赖于生产商的现场总线标准,广泛应用于工业自动化领域。Profibus根据应用特点分为 Profibus-DP、Profibus-FMS、Profibus-PA三个兼容版本。其中Profibus-DP是一种高速(数据传输速率 9.6kbit/s-12Mbit/s)经济的设备级网络,主要用于现场控制器与分散I/O之间的通信,可满足交直流调速系统快速响应的时间要求。由于其高可靠性、高性能、实时性好及其独特的设计,已被几乎所有的生产厂商和用户所接受。   伺服电机具有结构紧凑、控制容易、运行平稳、相应快等优异特性,已越来越成为现代工业自动化运动控制的重要力量。特别是在
[嵌入式]
FANUC机器人与SIEMENS PLC的PROFIBUS-DP通讯技术分析
本文主要以FANUC为中心,介绍FANUC机器人与SIEMENS 的PROFIBUS-DP通讯以及FANUC机器人与FRONIUS焊机的DEVICE NET通讯。 一、FANUC机器人与SIEMENS PLC的PROFIBUS-DP通讯 1.准备 本文采用的PLC为S7-300 317-2PN/DP,FANUC机器人型号为,以PLC为主站,FANUC机器人为从站,通过DP线连接。FANUC机器人的PROFIBUS-DP通讯板卡处连接如下图所示。 2.软件设置 (1)PLC组态 组态主站系统后,在DP网上挂上FANUC机器人并组态通讯区。 a)站号分配
[机器人]
Maxim推出PROFIBUS-DP/RS-485收发器
    Maxim推出PROFIBUS-DP?/RS-485收发器MAX14770E。该器件采用Maxim的下一代BiCMOS工艺,能够实现较快的(20Mbps)数据传输速度,并且在小尺寸TDFN封装中集成了极为可靠的(±35kV,HBM) ESD保护架构。此外,器件工作在-40°C至+125°C汽车级温度范围,能够保证在恶劣环境中可靠地工作。MAX14770E作为MAX3469的引脚兼容升级产品,可理想用于工业马达控制系统、PROFIBUS-DP/RS-485网络及现场总线等应用。     MAX14770E具有业内最宽的电源容差范围(+5V ±10%),提供了极大的灵活性。器件提供小尺寸(3mm x 3mm)、汽车级
[工业控制]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved