[STM32F1]

STM32与PROFIBUS协议

[复制链接]
楼主: goodluck09876
手机看帖
扫描二维码
随时随地手机跟帖
goodluck09876|  楼主 | 2019-5-16 15:31 | 显示全部楼层
284395cdd11d190f55.png 639025cdd11d702ab3.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:31 | 显示全部楼层
    本章具体介绍了DP从站从硬件电路到软件设计的整个实现过程。在硬件电
路设计上,虽然DP从站的硬件电路比较简单,但要保证通信的可靠性需要注意
到各个细节,PCB设计时需要注意器件间的排放、走线、还有选择合适的终端
电阻及上拉下拉电阻,若选择不合适,使得信号不能完整地传输,导致通信出现
异常,往往这些不起眼的电阻会影响到整个系统。另外,DP从站的软件部分,
合理地规划S TM32F 103芯片资源,使用了恰当的资源实现对应的功能,如采用
USART的DMA方式实现数据帧的接收,采用定时器的外部触发模式加复位从
模式实现帧间隔的识别,采取了合适的方法实现了DP从站的VO协议等等。采
用尽可能简便的方法实现所需要的功能,减少CPU的资源。

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:33 | 显示全部楼层
    每个产品开发完之后,都需要对其进行测量,看是否达到预期的目标。该从
站要完成预期的Profibus-DP VO协议,且实现单片机所完成不了的高速通信功
能。理论上计算,本文采用STM32F 103芯片软核实现的Profibus-DP从站其通信
速率最大为4. SMbps,完全满足预期的1. SMbps的通信速率指标,实际与理论计
算会有所差别,故需要进一步的测试。对该从站需要进行以下两项基本的测试:
一、测试该从站是否完成了Profibus-DP VO协议;二、能否实现高达1. SMbps
的通信速率。以上两项基本功能的测试,要求测试环境应在Profibus-DP通信网
络中进行,即让测试从站与市场上的主站进行通信。在搭建从站与主站的通信平
台之前需要每个从站预先准备好GSD文件,以便主站获知从站的特性、参数等。

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:33 | 显示全部楼层
    GSD文件(电子设备数据文件)是由从站生产商提供的,随着从站一同提
供给客户。从站生产商根据统一的格式完成GSD文件的书写,通过文本形式记
录了从站的各个属性,如支持的通信速率,是否有自动适应波特率功能,是否支
持从站地址设置,从站设备ID号等。GSD文件具有统一的格式,便于主站能够
迅速准确且可靠地获得从站的参数。
    GSD编写有专门的编写软件:Profibus GSD Editor,因为该GSD文件是以
文本形式进行记录的,所以也可以直接通过记事本对其进行编辑。GSD文件的
内容一般可分为三部分:总规范、与DP有关的规范及与DP从站有关的规范,
其中,生产厂商、硬件软件版本号、设备名称、设备试用协议等属于总规范;与
DP有关的规范主要与主站的各项参数有关,包括允许从站的个数、上传/下载的
能力等;而从站自身的一些参数属于与DP从站相关的规范,包括输入输出数据
长度、类型、诊断数据等。在GSD文件中,书写的基本格式为:keyword=value
其中value包括数字和字符串。
    GSD文件的工作机理如下图4-1,从图中能形象地看出GSD文件的作用,
建立主站与从站通信之前,需要通过二类主站加载各个从站的GSD文件,这里
的二类主站是计算机上的组态工具,该组态工具集成在一类主站上。二类主站完
成系统的组态后,可以将组态下载到一类主站上,同时一类主站也可将参数上传
到二类主站上,能进行在线修改。另外,一类主站和二类主站可以在两台机器上,
也可以在一台机器上,本文测试平台中一类主站和二类主站在同一台计算机上。

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:33 | 显示全部楼层
656525cdd1264070cf.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:34 | 显示全部楼层
    GSD文件的标准规范可参照文献31,该文献中提到了GSD文件的编写规范
及相关的关键字,其中关键字分为四种:1)必填项,在GSD文件中必须包括所
有的必填项,如设备供应商名称、版本号、设备ID号、设备支持的协议、站点
类型等。2)选择项,可填也可不填,具体情况看从站是否支持该关键项。3)默
认项,如果在从站中未进行设置响应默认项的值,则默认值为0。如是否支持
FMS } 4)分组项,属于分组项的至少要在GSD文件中出现一个关键字,如波特
率的支持项,9.6_ supp,  19.2_ supp,  500_ supp,  1.5Mes supp至少一项出现在GSD
文件中。必填项中遗漏或分组项中出现某一成组中未出现任何一项,都会使组态
发生错误。本从站的GSD文件编写如下:
153945cdd127cc39fb.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:34 | 显示全部楼层
532665cdd128a30a09.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:35 | 显示全部楼层
    测试从站是否完成了Profibus-DP VO协议和能否实现高达1. SMbps的通信速
率两个基本功能,可以通过模拟主站或者采用已在广泛使用的Profibus-DP主站
进行测试。
    模拟主站是由第三方开发,支持Profibus-DP协议的上位机软件,在电脑上
运行,通过串口转RS485与从站进行通信,该方法可以测试Profibus-DP VO协
议的基本功能,但电脑串口无法达到1. SMbps的通信速率,无法测试待测从站是
否能完成高达1. SMbps的通信,只能采用现广泛使用的主站产品进行测试。
Profibus-DP协议是在德国慢慢发展起来的,其中德国西门子、ABB等公司参与
协议的研究与开发,这些公司对Profibus-DP相关产品的研究已很成熟,选用这
些公司生产的主站进行测试从站具有一定的权威性。
    在此,选用德国西门子公司生产的CP 5611通讯卡作为Profibus-DP主站来
搭建从站测试的环境,CP 5611模块能达到12Mbps通信波特率,带有两个接口:
一个与PC机连接的PCI总线接口,另一个通过双绞线连接DP从站的RS485接
口,组成一个MPI/Profibus网络[32],最大可挂接127个节点。CP 5611作为一类
主站,PC机上安装的软件Siemens Simatic Step 7, Siemens Simatic Net及Siemens
Simatic WinCC用于组态工具作为二类主站,软件Siemens Simatic Step 7用于
Profibus-DP网络的组态配置,通过Siemens Simatic Net软件把配置完的组态文
件下载到CP 5611中,待一切准备就绪后,借助监控软件Siemens Simatic WinCC
实时查看主站与从站的通信数据及状态[[33]。系统框图如下图4-2 0
129705cdd12b7bf301.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:35 | 显示全部楼层
473465cdd12c2255c0.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:36 | 显示全部楼层
    在新建的硬件组态配置程序中的插槽中添加用户应用程序OPC Serve:服务
器及CP 5611通讯卡的驱动程序,建立Profibus-DP网络总线,配置Profibus-DP
网络的主站地址及总线的通信速率。后导入从站的GSD文件,把导入的从站添
加到DP总线上,并设置好DP从站的地址。这就是一个Profibus-DP网络的组态,
编译之后就会自动生成一个.xdb文件,用于保存网络组态的参数,见图4-3 0
    2)下载组态文件。
    用Simatic PC Station软件下载硬件及网络的组态参数,下载之前必须确保与
组态软件的插槽面板中一致的设置,包括总线的通信速率、主站的地址、及OPC
服务器和CP 5611的槽位。另外,在加载组态参数之前,必须把CP 5611与DP
从站处于上电状态,且通过双绞线连接。最后,通过按钮Import Station…加载
Step 7生成的.xdb文件,下载到CP 5611中,见图4-4 0

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:38 | 显示全部楼层
710675cdd136a02ef1.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:38 | 显示全部楼层
    一旦Profibus-DP网络参数组态完毕且都正确,主站CP 5611便会开始不断
地向从站发出查询站点的请求帧,在线的从站收到查询本从站的请求帧后,回应
相应的应答帧,这样主站便可知在线的从站地址。查看主站与从站的交换数据可
显示在OPC技术监控软件。当运行OPC Scout软件或者Wince CP 5611就会对
从站进行参数化、组态、诊断一系列操作,一切正确后进入数据交换阶段,Quality
项显示“good",否则为“bad"。见图4-So
    图4-5中,Item Names项是名称,S1ave002一B0,2表示地址为2的从站输出
的两字节数据(即从站发给主站的数据),只能读,不能写;S1ave002_ QB0,2表
示主站佛发送给地址为2的从站的两字节数据(即主站发给从站的数据),可写
可读。主站与从站的通信进入数据交换阶段前,先对从站进行参数化及组态的配
置,配置成功后才进入数据交换阶段,否则无法进入。Quality项就是说明主站
与从站数据交换的通信状态,若配置都成功进入正常的数据交换阶段,此项便显
示为“good",反之显示为“bad"o图中看出,采用STM32F 103软核实现的DP
从站能与CP 5611主站进行正常地数据交换,完成基本的Profibus-DP VO协议的
723245cdd138cd1de3.png 功能。

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:39 | 显示全部楼层
281515cdd13a24b890.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:40 | 显示全部楼层
    从报文中很明显地能看出,主站与从站进入数据交换阶段之前,先发出诊断
报文帧,查看从站是否已经准备就绪,若没有,对其进行参数化及组态,只有两
者的配置都成功后,说明从站已经准备就绪,可以数据交换阶段。若配置不成功,
主站就一直向从站发送参数化及组态报文,直到配置正确。

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:46 | 显示全部楼层
    Profibus-DP主要在工业现场环境中运行,对通信的可靠性要求很高。网络
性能的好坏严重影响了通信的可靠性,由于传输数据的丢失,对方无法接收而不
能做出响应,可能会造成严重的后果。本章就针对实现的从站进行可靠性的测试。
    目前,关于通信可靠性的概念有很多种定义,并没有明确统一。较为科学的
定义是张学渊等[[34]及高会生[[35]他们结合当时对通信网可靠性地多种定义的缺陷
给出的新的定义:“通信网可靠性是指通信网在实际连续运行过程中完成用户正
常通信需求的能力。”在该定义中看出:通信网的可靠性主要是指能够满足用户
正常通信需求的能力,对于通信系统的可靠性从哪些方面对其可靠性进行评价
呢?张学渊等一文中提到了,评价通信系统可以从网络的生存能力、可用性和对
用户需求的适应能力方面进行评价。其中可用性是网络的最基本要求,网络性能
就是可用性的其中一个指标,它是影响通信网可靠性的一个重要因素,网络性能
越好,越能满足用户的需求,那么其通信网的可靠性就越高。
    李扬继等[[36味日俞小兵[[37]提到了网络性能测量的几个重要参数:IP包传输延
迟、IP包延迟变化、IP包误差率、IP包丢失率、虚假IP包率、IP包吞吐量等。
这些参数主要是针对计算机网络而言的,由于现场总线网络与计算机网络存在很
多不同的方面,当然,其测量的参数也会有所不同。张玉萍等[[38]提出了关于现场
总线网络性能指标,其网络性能的技术指标分为静态性指标和动态性指标,其中
衡量静态性能指标包括传输距离、传输速率、拓扑结构、传输介质类型、报文优
先级支持等,而衡量总线动态性能的指标包括网络效率、网络利用率、协议效率、
吞吐量、数据包丢失率等,这些指标随着网络负载变化而变化。本章就针对现场
总线动态性能指标中的数据包丢失率进行测试。

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:48 | 显示全部楼层
    DP主站与从站通信时,各个时间参数会随着通信速率变化而变化,低通信
速率下,对时间参数的要求并不高,但是随着通信速率的提高,对时间参数的要
求也逐步提高[[39],需要从站能快速地做出反应。若从站未能及时作出响应,主站
认为从站未收到请求帧,因此作丢包处理,发送下一个请求帧。通信速率的提高
会缩短从站的响应时间,相应地提高了通信丢包率。另外,Profibus-DP支持单
主多从通信,主站与多个从站通信时采用了分时轮询的机制。分时轮询机制给通
信时序的控制提出了更高的要求,一定程度上影响通信时间的分配,影响到DP
网络中的丢包率。因此,改变通信速率及网络中从站的个数两个参数,测试DP
网络中的丢包率。测试结果见表5-l o

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:48 | 显示全部楼层
150845cdd15da008f4.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:49 | 显示全部楼层
193225cdd15e9aacf2.png

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:55 | 显示全部楼层
    从上述数据中,清楚地看出:一定的DP网络中从站个数下,低于1. SMbps
(包括1. SMbps)通信速率,通信数据量为50000,随着通信速率的提高,网络
的丢包率为零。而在通信速率为3Mbps时,出现丢包现象,图5-3绘制了3Mbps
通信速率下,丢包率与从站个数的关系图,图中很清晰地看出,随着从站个数的
增多,丢包率逐步提高。从上述的数据中,我们可以得出这样的结论:正常的实
验室环境中,通信速率为1. SMbps的范围内,采用STM32F 103软核实现的
Profibus-DP从站从站个数为5以内,数据包丢失率为。%,具有高可靠性。通信
速率为3Mbps,有一定的丢包,并且丢包率会随着从站个数的增加而增加
    本章主要是对待测DP从站进行可靠性测试中的一个指标一一丢包率测试,
由于目前还未存在公开的DP从站丢包率测试仪,故设计了一个丢包率测试站,
检测DP总线上所有数据包。测试实验从改变从站数量和通信速率对DP网络中
的数据包检测,计算出网络的丢包率,后根据数据分析DP从站的稳定性。实验
证明:采用S TM32F 103软核实现的DP从站在低于1. SMbps(包括1. SMbps)的
通信速率下丢包率低,在一定程度上说明了DP从站具有高可靠性。

使用特权

评论回复
goodluck09876|  楼主 | 2019-5-16 15:55 | 显示全部楼层
281285cdd178769dd5.png

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则