Profibus-Dp 工作过程介绍

来源:互联网 发布:pcb电路板软件 编辑:程序博客网 时间:2024/06/06 18:28

系统工作过程:
PROFIBUS-DP的数据通信分为4个阶段:启动、初始化主站、配置及诊断从站、数据
交换。

上电后,主站和从站进入offline状态,执行自检。当所需的参数都被初始化后,主站需要加载总线参数集,从站需要加载相应的诊断响应信息等,主站开始监听总线令牌,而从站开始等待主站对其设置参数。
主站准备好进入总线令牌环,处于听令牌状态。在一定时间内,主站如果没有听到总线上有信号传递,就开始生成自己的令牌并初始化令牌环。然后主站做一次对全体可能主站地址的状态询问,根据收到应答结果确定活动主站表和本主站所管辖站地址范围GPA,GPA是指从本站地址(TS)到令牌环中的后继站地址NS之间的地址范围。LAS的形成即标志着逻辑令牌环初始化的完成。
在主站可以与DP从站设备交换用户数据之前,主站必须设置DP从站的参数并配置此从站的通信接口,因此主站首先检查DP从站是否在总线上。如果从站在总线上,则主站通过请求从站的诊断数据来检查DP从站的准备情况。如果DP从站报告它已准备好接受参数,则主站给DP从站设置参数数据并检查通信接口配置,在正常情况下DP从站将分别给予确认。收到从站确认回答后,主站再请求从站的诊断数据以查明从站是否准备好进行用户数据交换。只有在这些工作正确完成后,主站才能开始死循环地与从站交换用户数据。
交换的数据有以下三种数据。
1、参数数据
参数数据包括预先给DP从站的一些本地和全局参数以及一些特征和功能,参数报文的结构包括标准规定的部分外,必要时还包括DP从站和制造商特有的部分。参数报文的长度不超过244字节,重要的参数包括从站状态参数、看门狗定时器参数、从站制造商标示符、从站分组及用户自定义的从站应用参数等。
使用直接组态的方法,需填写由组态软件的图形用户接口提供的对话框。
使用间接组态的方法,用组态工具存取当前的参数和有关DP从站的GSD数据(电子设备数据库文件)。
2、通信接口配置数据
DP从站的输入/输出数据的格式通过标识符来描述。标识符指定了在用户数据交换时输入输出字节或字的长度及数据的一致刷新要求。在检查通信接口配置时,主站发送标示符给DP主站,以检查在从站中实际存在的输入输出区域是否与标识符所设定的一致。如果一致,则可以进入主从用户数据交换阶段。
在组态数据报文中,DP主站发送标识符格式给DP从站,这些标识符格式告知DP要被交换的输入输出区域范围和结构。这些区域(模块)是按DP主站和从站约定的字节或子结构形成定义的。标识符格式允许指定的输入输出区域,或各模块的输入输出区域。这些区域的大小最多可以有16个字节/字。当定义组态报文时,必须根据DP从站设备类型考虑下列特性。
a、DP从站有固有的输入输出区域
b、依据配置,DP从站有动态的输入输出区域
c、DP从站的输入输出区域由此DP从站及其制造商特指的标识符格式来规定
3、诊断数据
在启动阶段,主站使用诊断请求报文来检查是否存在DP从站和从站是否准备接收参数报文。由DP从站提交的诊断数据包括符合标准的部分以及此DP从站专用的外部诊断信息。DP从站发送诊断报文告知DP主站他的运行状态、出错时间和原因等。
DP从站可以使用第2层(链路层)中“high_prio”(高优先权)的Data_Exchange相应报文发送一个本地诊断中断给DP主站的链路层,在相应时DP主站请求评估此诊断数据。如果不存在当前的诊断中断,则Data_Exchange相应报文具有“Low_priority”(低优先权)标识符。然而,即使没有诊断中断的特殊报文存在时,DP主站也随时可以请求DP从站的诊断数据。
4、用户的交换数据通信
如果前面的过程没有错误而且DP从站的通信接口配置与主站的请求相符,则DP从站发送诊断报文报告它已为循环地交换用户数据做好准备。从此时起,主站与DP从站交换用户数据。在交换用户数据期间,DP从站只相应对其设置参数和通信接口配置检查正确的主站发来的Data_Exchange请求帧报文。其他主站的用户数据报文均被此DP从站拒绝。在此阶段,当从站出现故障或其他诊断信息时,将会中断正常的用户数据交换。DP从站可以使用将应答时的报文服务级别从低优先级改变为高优先级来告知主站当前有诊断报文中断或其他状态信息。然后,主站发出诊断请求,请求DP从站的实际诊断报文或状态信息。处理后,DP从站和主站返回到交换用户数据状态,主站和DP从站可以双向交换最多244字节的用户数据。

Profibus总线最多可接32个站(不带中继器),当站点数超过32个时,必须使用中继器连接,这时最多可连127个。串联的中继器一般不超过3个,中继器没有从地址,但被计算在最多站点数中。

协议规范:
DP协议以ISO/OSI参考模型为基础,并对其进行简化。DP使用了第一层(物理层)、第二层(数据链路层)和用户层,第三到第七层未使用。
Profibus_Dp通信采用半双工方式,编码方式为NRZ(不归零)码,一个字符在Profibus总线上按11为传输,1个起始位,8位数据位,1个奇偶校验位和1个停止位。最低有效位(LSB)被第一个发送,最高有效位(MSB)最后发送当两数据线脚3和脚8之间恒为正差分电压时代表1,负差分时代表0。在位持续期间,二值信号不改变。

物理层和数据链路层接口 :
物理层向数据链路层提供的服务由两个原语实现:请求原语和指示原语,它支持传
送和接收 FDL(数据链路)符号(包括 0、1、SILENCE)。原语如下:
PHY_DATA.request (请求原语):FDL 控制器通过 PHY_DATA.request 原语提出请求,
请求将 FDL 符号发送到总线介质上的服务,它从数据链路层发出到物理层,接收到该原
语后,物理层将 FDL 符号根据 NZR 编码标准进行编码传输,并用自定义的确认原语进行
确认。