掌桥专利:专业的专利平台
掌桥专利
首页

基于POWERLINK协议的异步数据传输方法及系统

文献发布时间:2024-04-18 19:58:30


基于POWERLINK协议的异步数据传输方法及系统

技术领域

本申请涉及计算机网络领域,特别是涉及一种基于POWERLINK协议的异步数据传输方法及系统。

背景技术

标准POWERLINK协议在引用标准以太网时,为避免标准以太网CSMA/CD技术通信的不确定性,引入了时间槽通信网络管理(SCNM)机制。即引入通信周期概念,并将每个周期划分成同步时隙和异步时隙,同步时隙通信同步数据,即实时性以太网数据,异步时隙通信异步数据,即非实时性以太网数据。SCNM由一个特殊的网络设备管理节点(MN,即主站)来管理,它具有网络通信管理功能,对其它受控节点(CN,即从站)给定同步节拍并分配各站发布权限。

标准POWERLINK协议的异步时隙计算是从SoA帧开始到异步响应Asnd帧结束,如果任意CN未被允许异步响应,异步时隙在SoA的结束时刻终结。但在异步时隙阶段,仅允许传输一个Asnd帧,即只允许通信一个非实时性数据报文,并且若某个CN想发送Asnd帧需通过Pres帧或Asnd帧对MN进行异步传输请求,MN对网络上异步传输请求的CN进行排队直至给此CN分配权限。这导致POWERLINK协议非实时性数据传输具有带宽占用率低、传输效率不高等缺陷。

发明内容

本申请提供一种基于POWERLINK协议的异步数据传输方法及系统,使得POWERLINK网络的所有节点在异步时隙期间可任意交互异步数据,提高POWERLINK协议异步数据的传输效率。

本申请实施例第一方面提供一种基于POWERLINK协议的异步数据传输方法,上述方法包括:

在POWERLINK周期过程中,采用Preq/Pres帧结合1588精准时间同步协议,计算各从站对应接收到主站发送的SoC帧的链路延时时间;

基于上述链路延时时间触发同步中断,使上述主站和上述从站同时进入同步时隙,以进行同步数据传输;

上述主站向上述从站发送SoA帧,各从站接收到上述SoA帧则进入异步时隙进行异步数据传输,并根据上述链路延时时间和预设的空闲时间计算异步时隙结束时间,使上述主站和从站同时结束异步时隙;

异步时隙结束,上述主站和从站暂停异步数据传输,并缓存各自收到的异步数据,在下一个POWERLINK周期的异步时隙再次开始异步数据传输。

可选地,上述链路延时时间的计算方式为:

上述同步时隙过程中,上述主站通过Preq单播帧依次访问各从站,上述从站通过Pres多播帧响应上述主站的访问请求,实现同步数据传输;

将各从站依次作为目标从站,上述主站与任一目标从站进行同步数据传输时,记录当前POWERLINK周期中上述主站向上述目标从站发送Preq帧的时间T

按如下公式计算上述目标从站对应的链路延时时间:

T

其中,T

可选地,上述基于上述链路延时时间触发同步中断,包括:

上述主站向上述从站发送上述SoC帧时触发同步中断;

上述从站在接收到上述主站发送的SoC帧之前T

可选地,上述根据上述链路延时时间和预设的空闲时间计算异步时隙结束时间,包括:

上述主站在发送下一个POWERLINK周期的SoC帧之前T个时刻结束异步时隙;

上述从站在接收到下一个POWERLINK周期的SoC帧之前T+T

其中,T为预设的空闲时间,表示在传输下一个POWERLINK周期的同步数据前,清理物理层链路的异步数据传输所需的时间。

可选地,上述空闲时间T的计算方式为:

其中,n表示最大帧数据长度,m表示缓存级数,v表示物理层链路的通信速率。

本申请实施例第二方面提供一种基于POWERLINK协议的异步数据传输系统,上述系统包括:MN功能模块、CN功能模块、链路延时计算模块、同步中断触发模块、异步时隙产生模块以及异步数据缓存模块;

上述MN功能模块用于实现POWERLINK协议的主站MN的网络时隙管理功能,独立发送报文,周期性以多播的方式发送SoC帧和SoA帧,以Preq单播帧访问从站CN,并获取和配置各个从站CN节点的配置信息,上述MN功能模块为上述主站MN的专用模块;

上述CN功能模块用于实现POWERLINK协议的从站CN功能,只在上述主站MN通过请求时才发送Pres帧,上述CN功能模块为上述从站CN的专用模块;

上述链路延时计算模块用于实现上述SoC帧从上述主站MN到上述从站CN的传输延时计算,上述链路延时计算模块为上述从站CN的专用模块;

上述同步中断触发模块用于实现系统同步中断信号的产生,使上述主站MN和各从站CN能同时处理同步信息,上述同步中断触发模块为上述主站MN和上述从站CN的共用模块;

上述异步时隙产生模块用于实现为上述主站MN和各从站CN产生准确可靠的异步时隙,上述异步时隙产生模块为上述主站MN和上述从站CN的共用模块;

上述异步数据缓存模块用于实现在异步时隙结束时,上述主站和从站暂停异步数据传输,并缓存各自收到的异步数据,在下一个POWERLINK周期的异步时隙再次开始异步数据传输,上述异步数据缓存模块为上述主站MN和上述从站CN的共用模块。

可选地,上述链路延时计算模块具体用于:

在POWERLINK周期过程中,采用Preq/Pres帧结合1588精准时间同步协议,计算各从站对应接收到主站发送的SoC帧的链路延时时间。

可选地,上述异步时隙产生模块具体用于:

上述主站向上述从站发送SoA帧,各从站接收到上述SoA帧则进入异步时隙进行异步数据传输,并根据上述链路延时时间和预设的空闲时间计算异步时隙结束时间,使上述主站和从站同时结束异步时隙。

本申请实施例第三方面提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本申请第一方面所述的方法中的步骤。

本申请实施例第四方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请第一方面所述的方法的步骤。

与现有技术相比,本申请包括以下优点:

本申请实施例在POWERLINK周期过程中,采用Preq/Pres帧结合1588精准时间同步协议,计算各从站对应接收到主站发送的SoC帧的链路延时时间。然后,基于链路延时时间触发同步中断,使主站和从站同时进入同步时隙,以进行同步数据传输。之后,主站向从站发送SoA帧,各从站接收到SoA帧则进入异步时隙进行异步数据传输,并根据链路延时时间和预设的空闲时间计算异步时隙结束时间,使主站和从站同时结束异步时隙。异步时隙结束,主站和从站暂停异步数据传输,并缓存各自收到的异步数据,在下一个POWERLINK周期的异步时隙再次开始异步数据传输。从而通过精准控制全网主站MN和从站CN的异步时隙结束时刻,来产生一个准确可靠的异步时隙,以在不影响同步数据实时性的条件下,使得全网节点异步数据可任意传输。同时,能省去从站CN对主站MN进行异步传输请求的过程,并可支持多个异步数据帧传输,有效提高POWERLINK协议异步数据的传输效率。

附图说明

图1是现有技术中POWERLINK周期的通信过程示意图;

图2是本申请一实施例提出的一种基于POWERLINK协议的异步数据传输方法的流程图;

图3是本申请一实施例提出的一种基于POWERLINK协议的异步数据传输系统的结构示意图。

附图标记:1、MN功能模块;2、CN功能模块;3、链路延时计算模块;4、同步中断触发模块;5、异步时隙产生模块;6、异步数据缓存模块。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参照图1,图1是现有技术中POWERLINK周期的通信过程示意图。现有技术中,POWERLINK网络中通常包含一个主站(MN)和若干从站(CN)。其中,主站MN为管理节点,负责管理总线的使用权,其可以独立发送报文;从站CN为受控节点,其数据收发完全由MN控制,其仅在MN分配的通信时隙内发送报文。POWERLINK周期则由MN控制,节点之间的同步数据交换周期性发生,并以固定的时间间隔重复发生,该间隔即为POWERLINK周期。每个POWERLINK周期被划分成同步时隙阶段、异步时隙阶段以及空闲阶段,同步时隙通信同步数据,即实时性以太网数据,异步时隙通信异步数据,即非实时性以太网数据。而且,在POWERLINK周期的预设阶段内,单个阶段的长度可以改变。例如,某个循环周期的异步时隙阶段可能比上一个循环周期的异步时隙阶段时间长了一些,相应的空闲阶段就会短一些,但是整个循环周期的总时间长度是精确且固定的。

同步时隙阶段从主站MN广播发送SoC帧的起点开始算起,直到广播发送SoA帧的起点结束。每个从站CN均接收到SoC帧后,进入同步时隙。在同步时隙过程中,MN通过Preq单播帧依次访问各CN,CN则通过Pres多播帧进行响应。Preq帧和Pres帧都可以传输应用数据,实现同步数据传输。其中,Pres帧中含有该CN在异步时隙阶段待发送数据的优先级和数量,MN可以据此通过其内部的管理机制“Manger Async Scheduler”,来决定本次POWERLINK周期由哪一个CN在异步时隙阶段传输数据。同时,Pres帧可以由所有节点接收。当所有已配置的且活动的CN都已被处理,同步时隙阶段结束。

异步时隙阶段从主站MN广播发送SoA帧的起点开始算起,直到收到Asnd帧结束。每个从站CN均接收到SoA帧后,进入异步时隙。在异步时隙过程中,只能有一个从站节点发送异步报文,如果有多个节点要发送异步报文,就需要排队。MN通过内部的管理机制“MangerAsync Scheduler”,根据Pres帧中包含的CN在异步时隙阶段待发送数据的优先级和数量,决定本次POWERLINK周期进行异步传输的CN节点。并且,在SoA帧中使用“RequestedService ID”和“Requested Service Target”向CN节点们通知本周期要求的是哪一个服务,以及提供服务的CN节点。指定的CN节点收到SoA帧后,广播Asnd帧,发送应用数据或是IP、TCP、UDP数据包。而如果任意CN均未被允许异步响应,则异步时隙在SoA帧的终点结束。

空闲阶段是在异步时隙的终点和下一周期的起点之间剩余的时间间隔,从SoA帧或Asnd帧的终点开始计算,直到SoC帧的起点结束。空闲阶段的持续时间可以为0。

由于在异步时隙阶段,仅允许传输一个Asnd帧,即只允许通信一个非实时性数据报文,并且若某个CN想发送Asnd帧,需通过Pres帧或Asnd帧对MN进行异步传输请求,MN对网络上异步传输请求的CN进行排队直至给此CN分配权限。这导致POWERLINK协议非实时性数据传输具有带宽占用率低、传输效率不高等缺陷。

鉴于此,本申请通过精准控制全网主站MN和从站CN的异步时隙结束时刻,来产生一个准确可靠的异步时隙,以在不影响同步数据实时性的条件下,使得全网节点异步数据可任意传输。同时,能省去从站CN对主站MN进行异步传输请求的过程,并可支持多个异步数据帧传输,从而解决现有异步时隙传输效率不高的问题。

请参照图2,图2是本申请一实施例提出的一种基于POWERLINK协议的异步数据传输方法的流程图。如图2所示,该方法包括以下步骤:

步骤S101:在POWERLINK周期过程中,采用Preq/Pres帧结合1588精准时间同步协议,计算各从站对应接收到主站发送的SoC帧的链路延时时间。

本实施例中,主站MN以固定的时间间隔严格控制POWERLINK的通信周期,每个周期以广播发送SoC帧开始,来通知网络上其它节点(从站CN)进入同步时隙。当节点之间同步数据交换完毕后,MN广播发送SoA帧,通知网络上其它节点进入异步时隙,并等待准备下一个周期的SoC帧的发送。MN通过SoC帧配置下发POWERLINK的通信周期,不仅方便网络上CN节点对POWERLINK通信周期的监测,还有利于同步中断信号的触发。但由于主站MN和从站CN之间的距离不同,从站CN实际接收到SoC帧的时间具有不同的时延性。例如从站CN1的时延时间是1us,从站CN2的时延时间是2us。

可选地,采用Preq/Pres帧结合1588精准时间同步协议,计算各从站对应接收到主站发送的SoC帧的链路延时时间的过程具体包括:

上述同步时隙过程中,上述主站通过Preq单播帧依次访问各从站,上述从站通过Pres多播帧响应上述主站的访问请求,实现同步数据传输。其中,Preq帧、Pres帧和SoC帧均等长,以保证数据帧在链路传输上的对称性。

通过将各从站依次作为目标从站,上述主站与任一目标从站进行同步数据传输时,记录当前POWERLINK周期中上述主站向上述目标从站发送Preq帧的时间T

T

其中,T

步骤S102:基于上述链路延时时间触发同步中断,使上述主站和上述从站同时进入同步时隙,以进行同步数据传输。

本实施例中,从SoC帧的接收或发送时刻开始计时,计时至POWERLINK同步周期减去SoC帧的链路延时时间,则触发同步中断。即代表CN在收到SoC帧之前T

可选地,上述基于上述链路延时时间触发同步中断,包括:

上述主站向上述从站发送上述SoC帧时触发同步中断;上述从站在接收到上述主站发送的SoC帧之前T

也可以理解为,通过链路延时时间给各个节点做一个补偿,从而达到各个节点在同一时刻做同步事件。容易理解的是,对于MN的延时补偿T

通过链路延时时间触发同步中断,使主站和从站在一个POWERLINK周期中实现精准同步,使得网络上的MN和CN的应用软件能够同时处理同步信息,同时为异步时隙的精准结束做铺垫。

步骤S103:上述主站向上述从站发送SoA帧,各从站接收到上述SoA帧则进入异步时隙进行异步数据传输,并根据上述链路延时时间和预设的空闲时间计算异步时隙结束时间,使上述主站和从站同时结束异步时隙。

本实施例中,异步时隙在收到或发送完SoA帧开始,计时至同步中断触发前T个时刻结束,T为预设的空闲时间。

可选地,上述根据上述链路延时时间和预设的空闲时间计算异步时隙结束时间,包括:上述主站在发送下一个POWERLINK周期的SoC帧之前T个时刻结束异步时隙;上述从站在接收到下一个POWERLINK周期的SoC帧之前T+T

具体的,对于MN而言,异步时隙从发送完SoA帧开始,计时至发送下一个POWERLINK周期的SoC帧之前T个时刻结束;对于CN而言,异步时隙从收到SoA帧开始,计时至接收到下一个POWERLINK周期的SoC帧之前T+T

可选地,上述空闲时间T的计算方式为:

其中,n表示最大帧数据长度,m表示缓存级数,v表示物理层链路的通信速率。

本实施例中,T为空闲时间段,表示在传输下一个POWERLINK周期的同步数据前,清理物理层链路的异步数据传输所需的时间,其由实际物理层的缓存及通信速率决定。示例性的,为了保证同步数据传输的可靠性,可以用最大帧数据长度1526字节进行估算,若缓存级数为2,且物理层链路的通信速率为1000Mbps,则T为1526*2*8ns。通过估算在同步时隙开始前多长时间能完成物理层异步数据的传输,从而不影响下一周期同步数据的传输。

步骤S104:异步时隙结束,上述主站和从站暂停异步数据传输,并缓存各自收到的异步数据,在下一个POWERLINK周期的异步时隙再次开始异步数据传输。

本实施例中,网络中的所有节点在同一个时刻结束异步通信,异步时隙结束后,则暂停当前异步数据传输,全网进入空闲时段,进行物理层链路异步数据传输清理。同时,MN和各CN在下一个POWERLINK周期的同步时隙开始之前完成对当前收到的异步数据的缓存,并在下一个POWERLINK周期的异步时隙再次开始异步数据传输,从而实现在异步时隙时全力传输异步数据,提高异步传输效率。

本申请通过精准控制全网主站MN和从站CN的异步时隙结束时刻,来产生一个准确可靠的异步时隙,从而在不影响同步数据实时性的条件下,使得全网节点在异步时隙期间异步数据可任意交互。同时,又能省去从站CN对主站MN进行异步传输请求的过程,并可支持多个异步数据帧传输,从而有效提高POWERLINK协议异步数据的传输效率。

以下以POWERLINK通信系统有1个主站MN和5个从站CN为例,对第N个通信周期的通信过程进行说明:

MN广播SoC帧,每个CN均收到SoC帧(携带POWERLINK周期)则进入同步时隙。

同步时隙过程中,MN先通过Preq帧询问CN1。其中,Preq帧携带本周期MN发送Preq帧的发送时刻T

CN1接收到Preq帧后返回Pres帧,CN1提取Preq帧中的T

MN访问CN1完成后依次轮询CN2~CN5,获得对应的链路延时T

MN轮询完后,广播SoA帧,CN1~CN5均收到SoA帧则进入异步时隙。

异步时隙期间,MN和CN之间、CN和CN之间可任意通信。MN在发送第N+1个周期的SoC帧前T个时刻结束异步时隙,CN1在收到第N+1个周期的SoC帧前T+T

结束异步时隙,全网进入空闲时段,此时段用于清理物理层链路异步数据的传输。

结束空闲时段,MN又从发送第N+1个周期SoC帧开始进入同步时隙。

基于同一发明构思,本申请一实施例提供一种基于POWERLINK协议的异步数据传输系统。请参照图3,图3是本申请一实施例提出的一种基于POWERLINK协议的异步数据传输系统的结构示意图,包括:

MN功能模块1、CN功能模块2、链路延时计算模块3、同步中断触发模块4、异步时隙产生模块5以及异步数据缓存模块6;

上述MN功能模块1用于实现POWERLINK协议的主站MN的网络时隙管理功能,独立发送报文,周期性以多播的方式发送SoC帧和SoA帧,以Preq单播帧访问从站CN,并获取和配置各个从站CN节点的配置信息,上述MN功能模块1为上述主站MN的专用模块;

上述CN功能模块2用于实现POWERLINK协议的从站CN功能,只在上述主站MN通过请求时才发送Pres帧,上述CN功能模块2为上述从站CN的专用模块;

上述链路延时计算模块3用于实现上述SoC帧从上述主站MN到上述从站CN的传输延时计算,上述链路延时计算模块3为上述从站CN的专用模块;

上述同步中断触发模块4用于实现系统同步中断信号的产生,使上述主站MN和各从站CN能同时处理同步信息,上述同步中断触发模块4为上述主站MN和上述从站CN的共用模块;

上述异步时隙产生模块5用于实现为上述主站MN和各从站CN产生准确可靠的异步时隙,上述异步时隙产生模块5为上述主站MN和上述从站CN的共用模块;

上述异步数据缓存模块6用于实现在异步时隙结束时,上述主站和从站暂停异步数据传输,并缓存各自收到的异步数据,在下一个POWERLINK周期的异步时隙再次开始异步数据传输,上述异步数据缓存模块6为上述主站MN和上述从站CN的共用模块。

可选地,上述链路延时计算模块3具体用于:

在POWERLINK周期过程中,采用Preq/Pres帧结合1588精准时间同步协议,计算各从站对应接收到主站发送的SoC帧的链路延时时间。

可选地,上述链路延时计算模块3中链路延时时间的计算方式为:

上述同步时隙过程中,主站通过Preq单播帧依次访问各从站,上述从站通过Pres多播帧响应上述主站的访问请求,实现同步数据传输;

将各从站依次作为目标从站,上述主站与任一目标从站进行同步数据传输时,记录当前POWERLINK周期中上述主站向上述目标从站发送Preq帧的时间T

按如下公式计算上述目标从站对应的链路延时时间:

T

其中,T

可选地,上述同步中断触发模块4具体用于:

上述主站向上述从站发送上述SoC帧时触发同步中断;

上述从站在接收到上述主站发送的SoC帧之前T

可选地,上述异步时隙产生模块5具体用于:

上述主站向上述从站发送SoA帧,各从站接收到上述SoA帧则进入异步时隙进行异步数据传输,并根据上述链路延时时间和预设的空闲时间计算异步时隙结束时间,使上述主站和从站同时结束异步时隙。

可选地,上述异步时隙产生模块5中的异步时隙结束时间具体为:

上述主站在发送下一个POWERLINK周期的SoC帧之前T个时刻结束异步时隙;

上述从站在接收到下一个POWERLINK周期的SoC帧之前T+T

其中,T为预设的空闲时间,表示在传输下一个POWERLINK周期的同步数据前,清理物理层链路的异步数据传输所需的时间。

可选地,上述异步时隙产生模块5中空闲时间T的计算方式为:

其中,n表示最大帧数据长度,m表示缓存级数,v表示物理层链路的通信速率。

对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种基于POWERLINK协议的异步数据传输方法及系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 一种基于TCP协议数据传输方法、系统及相关组件
  • 基于PowerLink工业协议的工业互联网控制系统及方法
  • 基于PowerLink工业协议的工业互联网控制系统及方法
技术分类

06120116502025