PROFIBUS现场总线的通信原理

  • 格式:doc
  • 大小:77.50 KB
  • 文档页数:6

PROFIBUS现场总线的通信原理

1. 引言

PROFIBUS是一种国际性的开放式现场总线标准,是唯一的全集成H1(过程)和H2(工厂自动化)现场总线解决方案[1],它不依赖于产品制造商,不同厂商生产的设备无须对其接口进行特别调整就可通信,因此它广泛应用于制造加工、楼宇和过程自动化等自动控制领域。它包括3个兼容版本,Profibus-DP(H2)、Profibus-PA(H1)、Profibus-FMS。DP是经过优化的高速、廉价的通信接口,专为自动控制系统和设备级分散I/O之间通信设计,可取代24V或0~20mA并行信号线。也可用于分布式控制系统的高速数据传输。FMS用于车间级通用性中等传输速度的循环和非循环通信,适用于传感器、执行器、PLC等一般自动控制系统。PA是专为过程自动化设计的标准本质安全传输技术,满足IEC1158-2中规定的通信规程,适用于安全性要求高以及由总线供电的场合。PROFIBUS可使分散式数字化控制器从现场底层到车间级网络化,总线系统分为主站和从站,主站决定总线的数据通信,从站仅对接收到的信息给予确认或当主站发出请求时向它发送信息[2]。

2. PROFIBUS的协议结构

PROFIBUS的协议结构是根据ISO7498国际标准化开发式互联网络(OSI)作为参考模型,具体结构如图1所示。

图1 PROFIBUS协议结构图

PROFIBUS-DP使用了第1、2层和用户接口,这样确保了数据传输快速和有效地进行,直接数据链路映像(DDLM)使用户接口易于进入第2层。PROFIBUS-FMS对第1、2、7层均加以定义。应用层包括现场总线信息规范(FMS)和底层接口(LLI)。FMS包括了应FMSDPPAIEC1158-2IEC接口RS-485/光纤现场总线数据链路(FDL)现场总线信息规范(FMS)未使用FMS设备行规行规DPPA行规DP扩展DP基本功能物理(1)数据链路(2)(3)~(6)应用(7)层次用户...用协议并向用户提供可广泛选用的通信服务;LLI协调不同通信关系并保证FMS不依赖设备访问第二层,第二层(FDL)提供总线访问控制并保证数据的可靠性。PROFIBUS-PA的数据传输采用扩展的PROFIBUS-DP协议,另外还使用了PA行规。这种传输技术可确保其本征的安全性并可通过总线为现场设备供电[1,2]。

3. PROFIBUS总线存取协议

三种PROFIBUS(DP、FMS和PA)均使用一致的总线存取协议,该协议是通过OSI参考模型的第2层来实现的,它包括数据的可靠性以及传输协议和报文的处理。其总线存取协议如图2所示。

图2 PROFIBUS总线存取协议

在PROFIBUS中,第二层称为现场总线数据链路层(FDL),介质存取控制(MAC)具体控制数据传输的程序。MAC必须确保在任何一个时刻只能有一个站点发送数据,PROFIBUS总线存取协议包括主站之间的令牌传递方式和主站与从站之间的主从方式。在图2中,首先由PROFIBUS总线上的主站(不一定全部)组成逻辑环,让一个令牌在逻辑环中按一定方向依次流动。凡获得令牌的站就获得了总线的控制权,并获得批准的令牌持有时间,在这段时间内,该站就成为整个网络的主站,执行主站工作,可依照主-从关系表与所有从站通信,也可依照主-主关系表与所有主站通信,这就是所谓令牌控制主站浮动。根据这一定义,总线有三种控制方式:N:M方式(总线共有M个站,其中N个主站,N

令牌环是所有主站的组织链,按照它们的地址构成逻辑环。在这个环中,令牌(总线存取权)在规定的时间内按照次序(地址的升序)在各主站中依次传递。在总线系统初建时,主站介质存取控制制定总线上的站点分配并建立逻辑环。在总线运行期间,断电或损坏的主站必须从环中删除,新上电的主站必须加入逻辑环。总线存取控制保证令牌按地址升序依次在各主站间传送,各主站的令牌保持时间长短取决于该令牌配置的循环时间。另外,PROFIBUS介质存取控制还可监测传输介质及收发器是否有故障,检查站点地址是否出错(如地址重复)以及令牌错误(如多个令牌或令牌丢失)。下面重点介绍令牌在逻辑环中的传递和逻辑环的维护。

3.1 令牌的传递

在逻辑环中的每一个站内都存放着一张LAS表,在LAS表中列出PS、TS、NS。在正常情况下,每一个站都按LAS表进行令牌传递。对于具体某个站而言,令牌一定是从它的PS传来,传到它的NS去,图2中各站的LAS表如表1所示。

当一个站把令牌传递给自己的下一个站后,它还应当监听一个时间片(Slot time),看下一站是否收到令牌。当下一站收到令牌,无论是发送数据还是再向它的下一站传递令牌,都令牌流动主站从站123456789PS,TN,NSPS,TN,NSPS,TN,NSPS,TN,NS...将在帧的SA段填入监听站的NS。若监听不到则再次向自己的NS发令牌,若连试两次仍

表1 PROFIBUS的LAS表

收不到SA等于自己NS的帧,则表明自己的下一站NS出了故障。于是此站应向再下一站传递令牌。若找到新的下一站,则令牌绕过故障站继续流动;若失败,则再向下找一站。如果一直没有找到下一站,则表明现有令牌持有站是逻辑环上唯一的站,必须重新建立逻辑环。

3.2 逻辑环的建立

PROFIBUS协议首先人为设定逻辑环中地址最小的主站为环首,环首首先自己给自己发一令牌帧,这一特殊的令牌帧用来通知其它主站要开始建立逻辑环了,然后环首用“Request

FDL Status”,按地址增大顺序发给自己的下一站。若下一站用“Not Ready”或者“Passive”应答,则首环把此站地址登记到GAPL表中;若下一站用“Ready for the Logical ring”应答,则环首把此站地址登记到LAS表中,这样逻辑环就建立起来了。

3.3 站的增减

在逻辑环上的站,必须在LAS表上登记增加的新站或者删去退出的站,同时LAS表随着站的增减而变化。在逻辑环上从本站到自己的下站这段地址空间叫GAP,GAP的状态表叫GAPL表,逻辑环上的每个站都要对自己的GAP进行检查,检查和应答的方式同3.2节中的描述,如果主站退出逻辑环,则相应的GAPL表应相应修改。例假若图2中主站4退出逻辑环,则站2的GAPL表变成表2的形式。逻辑环中主站的增减是通过周期性询问GAP后,对LAS以及GAPL表修改实现的。

表2 站2的GAPL表

3.4 主从方式的优先级调度[4,5]

在PROFIBUS总线协议中,一旦某主站获得了令牌,它就按主从方式控制和管理全网,并按优先级进行调度。首先进行逻辑环维护,这段时间不计入令牌持有时间。然后处理高优先级任务,最后处理低优先级任务。高优先级服务即使超过了令牌持有时间,也应全部处理完。在处理完高优先级任务后,再根据所剩的令牌持有时间对低优先级任务进行调度。优先级的高低是由主站提出通信要求,用户进行选择的,选择高服务优先级,则该任务为高优先级任务;反之为低优先级任务。这类由主站随机提出的通信任务,采用非周期发送请求方式传输数据。如果通信任务是由用户预先在每个主站中输入一张轮询表(Polling list),该表定义了此主站获得令牌后应轮询的从站及其他主站,并规定此主站与轮询表中各站按周期发送/请求方式传输数据。对于这类任务,PROFIBUS一律按低优先级任务调度,即:当处理完2468结束2468结束2468结束2468结束TSTSTSTSNSNSNSNSPSPSPSPS站2 LAS表站4 LAS表站6 LAS表站8 LAS表....PassivePassive?345结束....高优先级任务后,如果剩有令牌持有时间,则安排轮询表规定的任务,按照轮询表规定的顺序,在令牌持有时间内,采用周期发送/请求方式向各站发送数据,并要求立即给予带数据的应答。

4. FDL帧的结构

PROFIBUS协议结构中FDL帧由异步格式的字符组成,字符格式为11位,其中一个起始位,8个数据位,一个偶校验位,一个停止位,其组成结构如下图所示.

FDL帧的组成结构

FDL帧的格式总共有三种:(1)不带数据且长度固定的帧;它包括请求帧、应答帧、简短应答帧。(2)带数据且长度固定的帧;它包括发送/请求帧、响应帧。(3)数据段长度可变的帧。本文重点介绍这种帧的结构[6]。它包括三种帧:

① 发送/请求帧,其结构如下图所示,其中L=4~249bit

② 响应帧,其结构如下:

③ 令牌帧

上述帧结构中,SYN为同步字段,只在请求帧和令牌帧前出现,不允许在字符之间出现;SD2为开始界定符,10H;SD4开始界定符,DCH;LE和LEr都表示长度占一个字节,它是DA+SA+FC+DATA-UNIT的字节数的总和;FCS校验段,占一个字节;DA目的站地址,SA源站地址;DA和SA各占一个字节,其格式如下:

地址中EXT为扩展位,EXT=0表示不扩展,EXT=1表示地址扩展,扩展形式如下:

当DA的EXT=1时,其扩展地址为DAE;当SA的EXT=1时,其扩展地址为SAE。DAE和SAE的格式如下:

其中EXT为附加地址扩展标示符;TYP=0时,DAE和SAE中为服务访问点地址SSAP及DSAP;当TYP=1时,DAE和SAE中为带桥的多级总线段地址。当TYP=0时,令牌持有站与其下一站的连接如图3所示。DAE中的DSAP为目的服务访问站地址,SAE中的SSAP为源服务访问站(即令牌持有站)地址,DA中的目的站地址,SA为源站地址组成两级地址,并建立b1b2b3b4b5b6b7b8p01起始数据位偶校验位位停止....SYNSD2LELErSD2DASAFCDATA-UNITFCSEDL可变.........SD2LELErSD2DASAFCDATA-UNITFCSEDL可变....SADASD4SYN..EXT22222220123456..DASAFCDAESAEFCSEDDATA-UNITEXT=1EXT=1...EXT222222012345TYP...