POWERLNK协议笔记

1、基本概念

POWERLINK协议满足以太网IEEE802.3标准,该协议提供了所有标准的以太网功能特点包括交叉通信和热热插拔,允许网络以任意方式进行拓扑。网络中指定的PLC/PC作为管理节点(MN,该管理节点周期性调度并根据此来同步网络上的所有节点,并控制周期性数据通信。其他所有运行设备称为受控节点(CN),一个POWERLINK周期分为3个部分:

①在开始阶段,MN发送循环启动SoC帧给网络中的CN,以同步网络中的所有设备,抖动大概为20ns(纳秒)。

②循环阶段,周期性同步数据交换,同时使用多路复用技术来优化带宽。

③异步启动信号SoA,用于传输大容量,非时间苛刻的数据包。

POWERLINK分为实时和非实时域,由于异步阶段的数据传输支持标准的IP帧,路由器将数据与实时域安全隔离开。

2、详细资料提供网址:

 

3、系统的通信架构

支持集中控制和分布式控制;集中控制和分布式控制性能没有明显的区别。

4、主站实现

POWERLINK是开源免费的,基于标准以太网硬件。

5、潜在的成本需求

POWERLNK没有特殊的需求,外部设备为标准的HUB或交换机,内部为标准的HUB(集线器),有源HUB对信号有放大作用。支持热插拔,允许网络在带电状态下相互交换设备。

7POWERLINK协议层划分

①普通以太网OSI (开放式系统互联参考模型) 模型:从上至下一次为:应用层/表示层/绘画层/传输层/网络层/数据链路层/物理层

POWERLINK分为三层:应用层/数据链路层/物理层

物理层:遵循IEEE802.3快速以太网标准。

数据链路层:主要功能构建解析数据帧/对数据帧定界/网络同步/数据收发顺序控制/实时通信的传输控制。

POWERLINK的通信机制有2

①请求应答模式

②定时主动上报模式(PRC

POWERLINK一共有5种数据帧格式:SoC/Preq/Pres/SoA/AsyncData;一个完整的周期包含同步和异步俩个阶段;SoCSoA为同步阶段;SoAAsyncData为异步阶段;

SoC是同步信号,每一个循环周期开始主站都会广播一个SoC信号,实现时钟同步和动作同步。

SoA是异步信号,包含请求那个从站的上报数据,AsyncData包含从站上报的数据,但是每个周期只能有一个从站上报异步数据。

应用层:POWERLINK应用层遵循CANopen协议,为应用程序提供了同意的接口,使得不同设备与应用程序之间有统一的访问接口,CANopen协议有三个主要的部分:

PDO:过程数据对象,可以理解为需要周期性/实时传输的数据(在传统的CANopen协议中最大可以传输8字节,在POWERLINK协议中可以最大传输1490字节);

SDO:服务数据对象,可以理解为非周期性传输/实时性要求不高的数据;

OD:对象字典:是很多对象的集合,而对象可以理解为参数;假设一个设备有很多参数,CANopen通过给每个参数编号来区分,即索引,它的寻址方式是按编号寻址,不像TCPIP寻址。

数据如何传输需要的关键2个参数:

CANopen协议中数据传输需要俩个参数:

网络参数:将数据发送到那个站或者接收来自那个站的数据

映射参数:决定如何组成需要发送的数据包或者如何解析接收到的数据包。

不论接收还是发送,网络参数和映射参数必须是成对的:0x18000x1A00是对应的,依此类推,0x18010x1A01是一对。

 

网络参数

映射参数

数量

接收

0x1400~0x14fe

0x1600~0x16fe

 

发送

0x1800~0x18fe

0x1A00~0x1Afe

 

POWERLINK性能及特点:

支持240个节点,每个节点支持1500Bytes输入输出

循环周期100us(高性能CPU或者高性能FPGA

          200us(低性能CPU或者低性能FPGA

抖动:小于1us,实际循环周期中最大值与最小值的差值;

POWERLINKMAC寻址遵循IEEE802.3,每个设备的地址都是唯一的,我们称之为节点ID

实时域和非实时域一般使用网关隔离开;

9、在vxworks下移植POWERLINK大概需要做的工作:

vxworks下使用powerlink需要做哪些工作,以及可行性

1、VXWORSKShelltasks的有限级为1,最高优先级,需要将其优先级降低,防止shell输入比较长的指令会影响协议栈的运行。

2、初始化高精度时钟,powerlink需要时钟精度为us级别,vxworks系统时钟目前是ms级别;

3、绑定openpowerlink协议栈与vxworks协议栈,初始化协议栈的哥哥模块;

4、设置CDC文件名,主要在自动配置对象时用。

5、初始化应用;

6、软件复位操作;

10Powerlink协议工作机制:

1)等时同步阶段

Preq/Pres请求应答模式

 

Powerlink收发数据是由主站控制,对于一个主站MN,n和从站CN的网络结构来说,主站发送Soc(绝对时间和相对时间)帧广播到整个网络,从站收到主站的Soc帧之后进入等时同步阶段,主站发送给第一个节点Preq(以太网单播帧)帧,该节点收到主站发来的Preq帧后就会上报一个Pres(以太网多播帧),从站回复的帧是广播的,帧头有mac地址,所有主从站都可以收到,然后各站根据自己的对象字典得到自己的数据。也就是说,每次从站回复主站时只发一帧,这帧包含了给主站和其它从站的数据,所有站都能收到该帧,取不取数据要看各站自己的对象字典;当主站收到该从站的pres帧后,完成了一次信息交互;接下来主站与第二个等时同步从节点进行相同的信息交互,直到所有节点交互完毕,为一个周期。

Preq/Pres模式时间以及周期的计算100M/s的网络,传输速率为12.5Bytes/us,完成一个从站所需要的时间为T1 = Tpreq+Tgap+Tpres;

Tpreq:主站发送给从站preq帧数据的时间;

Tpres:从站发送给主站pres帧数据的时间;

Tgap:Tpreq和Tpres帧之间的间隙约为2us;

一帧数据的最大长度为1490Bytes,最大的时间Tpreq = 120us;Tpres = 120us;

Tgap = 2us;总的时间T1 = 242us

如果当同时和相同的50个设备已最大数据帧通信的话周期为242*50 = 12.1ms

②PollResponse Chaining(PRC)模式

 

PRC模式省去了主站的Preq数据帧,取而代之的是主站发送PresMN给所有从站,该帧包含主站周期性上报的PDO数据,同时该帧也是一个时间参考点,支持PRC模式CN发送数据的时间参考点,从站从接收完PresMN开始计时触发发送数据帧pres帧;主站MN配置PRC模式的CN,使得CN在特定的时间点发送数据,这个时间点由主站根据网络的配置情况、网络延迟计算出来并配置给CN。3个从站主站可以配置CN1在收到PresMN的第5us上传Pres帧数据,CN2在收到PresMN的第15us上传Pres数据,CN3在收到PresMN的第25us上传Pres数据,这样避免了冲突。

PRC模式时间周期的计算:

T1 = Tpres+Tgap

Tpres:从站发送给主站pres帧数据的时间;

Tgap:Tpreq和Tpres帧之间的间隙约为2us;

一帧数据的最大长度为1490Bytes,最大的时间Tpres = 120us;

Tgap = 2us;总的时间T1 = 122us

如果当同时和相同的50个设备已最大数据帧通信的话周期为122*50 = 6.1ms

从站采用PRC模式还是preq/pres模式是由主机配置的,每一个从站只能采用这俩种模式中的一种,但是不同的从站可以这俩种模式的任意一种。

③系统中不同周期设备处理

一个系统中既有100ms的周期,也有200ms的周期,以及1s的周期,此时介意将主站系统周期设置200ms,通过多路复用机制来解决其他周期的通信问题。

2)异步阶段

每个周期只能有一个节点发送异步报文,如果有多个节点需要发送异步报文就需要排队,在MN中存在一个队列调度异步数据的发送权。当CN需要发送一个异步帧的时候,则通过pres帧或者Statues Response帧通知MN,MN的异步调度器决定异步帧发送的权限在那个周期被允许,保证发送请求不会被延迟不确定的时间长度

3)空闲阶段

空闲阶段是在异步阶段终点和下一周期的起点之间剩余的时间间隔。

 

11POWERLINKTCPUDP的区别

1)异步数据在网络繁忙时数据发送的确定性

POWERLINK网络所有节点通信周期与收发数据的时间具有确定性,而TCP/UDP在网络繁忙的时候传输时间是不确定的。这主要基于POWERLINK协议有专管理受控节点CN数据发送的队列,具有优先级,当CN节点告诉MN节点需要进行发送异步数据的时候,MN节点会确切的告诉CN节点在哪个周期进行发送数据,而不会让CN节点无限期的等待MN发来的数据发送的权限。

2)实时域和非实时域隔离

POWERLINK的实时域即周期性传输的数据与非实时域(异步数据)是分离开的,保证了实时数据的实时性。

3)收发数据具有统一的管理MN(主站)

所有CN(受控节点即除主站外的所有从站)收发数据都是受MN来控制在管理的,相互间收发数据不会出现网络冲突的现象。

4)寻址方式的不同

TCP/UDP是依靠IP(网络地址)寻址,而POWERLINK是通过自身编号寻址,该编号由MN(主站)统一管理分配。

5)发送机制的区别

对于TCP来说如果发送失败会进行重发,但是POWERLINK没有重发机制,在本周起发送出去没有得到目标对象的回应,本周期不会重发,而会在下一周期重新发送。

6)周期的精确性

POWERLINK最小可以实现200us左右的周期,POWERLINK的周期会随着CN节点的增加和减少而变化(在受控节点相当多的情况下,访问所有节点加起来的时间大于设定的MN的周期,不过一般不会出现);

你可能感兴趣的:(POWERLNK协议笔记)