基于EtherCAT的通信处理方法、装置和处理器

文档序号:155993 发布日期:2021-10-26 浏览:21次 >En<

阅读说明:本技术 基于EtherCAT的通信处理方法、装置和处理器 (Communication processing method, device and processor based on EtherCAT ) 是由 黄哲 钟成堡 王剑 林钰棋 周海亮 于 2021-07-20 设计创作,主要内容包括:本发明公开了一种基于EtherCAT的通信处理方法、装置和处理器,基于EtherCAT的通信处理方法包括:获取从站的第一通信信息,第一通信信息包括从站时钟信息;获取主站的FPGA的时钟信息作为参考时钟信息;根据参考时钟信息和从站时钟信息,计算时钟补偿信息;向从站发送第二通信信息,第二通信信息包括时钟补偿信息。本发明的基于EtherCAT的通信处理方法解决了现有技术中的EtherCAT网络在应用于不同场景时的实时性难以保证的问题。(The invention discloses a communication processing method, a device and a processor based on EtherCAT, wherein the communication processing method based on EtherCAT comprises the following steps: acquiring first communication information of a slave station, wherein the first communication information comprises slave station clock information; acquiring clock information of an FPGA of a master station as reference clock information; calculating clock compensation information according to the reference clock information and the slave station clock information; and transmitting second communication information to the slave station, the second communication information including the clock compensation information. The communication processing method based on the EtherCAT solves the problem that the real-time performance of the EtherCAT network in the prior art is difficult to guarantee when the EtherCAT network is applied to different scenes.)

基于EtherCAT的通信处理方法、装置和处理器

技术领域

本发明涉及以太网通信控制领域,具体而言,涉及一种基于EtherCAT的通信处理方法、装置和处理器。

背景技术

现有的EtherCAT网络中,通常采用第一个支持分布式同步的从站作为参考时钟,对其后的各个从站进行分布式同步。采用这种方式,当主站应用于不同的场景时,从站会存在不同,无法保证主站应用于各种场景下时从站系统的时钟均准确,导致EtherCAT网络应用于不同场景时,实时性难以保证。

针对上述的问题,目前尚未提出有效的解决方案。

背景技术

部分中公开的以上信息只是用来加强对本文所描述技术的

背景技术

的理解。因此,

背景技术

中可能包含某些信息,这些信息对于本领域技术人员来说并未形成在已知的现有技术。

发明内容

本发明实施例提供了一种基于EtherCAT的通信处理方法、装置和处理器,以至少解决现有技术中的EtherCAT网络在应用于不同场景时的实时性难以保证的问题。

为了实现上述目的,根据本发明实施例的第一个方面,提供了一种基于EtherCAT的通信处理方法,包括:获取从站的第一通信信息,第一通信信息包括从站时钟信息;获取主站的FPGA的时钟信息作为参考时钟信息;根据参考时钟信息和从站时钟信息,计算时钟补偿信息;向从站发送第二通信信息,第二通信信息包括时钟补偿信息。

进一步地,根据参考时钟信息和从站时钟信息,计算时钟补偿信息,包括:控制FPGA根据参考时钟信息和从站时钟信息,计算时钟补偿信息。

进一步地,根据参考时钟信息和从站时钟信息,计算时钟补偿信息,包括:根据参考时钟信息和从站时钟信息,计算各个从站相对于主站的时钟延时信息和时钟偏移信息,时钟补偿信息包括时钟延时信息和时钟偏移信息。

进一步地,获取从站的第一通信信息,第一通信信息包括从站时钟信息,包括:接收来自从站的通信数据;对通信数据进行解析,得到第一通讯信息。

进一步地,在向从站发送第二通信信息之前,基于EtherCAT的通信处理方法还包括:获取经过操作系统单元处理后的目标控制信息;封装目标控制信息和时钟补偿信息,得到第二通信信息。

进一步地,第一通信信息还包括控制参数信息,在获取经过操作系统单元处理后的目标控制信息之前,基于EtherCAT的通信处理方法还包括:控制主站的操作系统单元获取控制参数信息;控制操作系统单元根据控制参数信息,计算目标控制信息。

进一步地,在控制操作系统单元根据控制参数信息,计算目标控制信息之后,基于EtherCAT的通信处理方法还包括:控制将目标控制信息存储至主站的内存单元;获取经过操作系统单元处理后的目标控制信息包括:从内存单元获取目标控制信息。

根据本发明实施例的第二个方面,提供了一种基于EtherCAT的通信处理装置,包括:第一获取模块,用于获取从站的第一通信信息,第一通信信息包括从站时钟信息;第二获取模块,用于获取主站的FPGA的时钟信息作为参考时钟信息;第一计算模块,用于根据参考时钟信息和从站时钟信息,计算时钟补偿信息;发送模块,用于向从站发送第二通信信息,第二通信信息包括时钟补偿信息。

根据本发明实施例的第三个方面,提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述的基于EtherCAT的通信处理方法。

根据本发明实施例的第四个方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的基于EtherCAT的通信处理方法。

根据本发明实施例的第五个方面,提供了一种EtherCAT主站装置,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的基于EtherCAT的通信处理方法。

应用本发明的技术方案的基于EtherCAT的通信处理方法包括:获取从站的第一通信信息,第一通信信息包括从站时钟信息;获取主站的FPGA的时钟信息作为参考时钟信息;根据参考时钟信息和从站时钟信息,计算时钟补偿信息;向从站发送第二通信信息,第二通信信息包括时钟补偿信息。这样,采用主站的FPGA的时钟信息来作为参考时钟信息,由于FPGA具有实时性好的优势,无论主站应用于何种场景下,无论从站如何变化,均能够提供一个可靠的参考时钟信息,从而可以针对各从站发出更精确的时钟补偿信息,保证从站时钟的准确,主站拥有可靠的参考时钟,更容易适配更多的环境,解决了现有技术中的EtherCAT网络在应用于不同场景时的实时性难以保证的问题。采用上述方案的基于EtherCAT的通信处理方法不依赖从站的参考时钟,统一的时钟可以有效规避从站时钟存在误差的风险,对整个EtherCAT网络来说,提高了整个网络的实时性能。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明的基于EtherCAT的通信处理方法的一种可选的实施例的流程示意图;

图2是根据本发明的基于EtherCAT的通信处理装置的一种可选的实施例的示意图;

图3是根据本发明的实施例的EtherCAT主站装置的示意图;

其中,上述附图包括以下附图标记:

1、主站;11、操作系统单元;12、FPGA;121、通信单元;122、校验单元;123、数据处理单元;124、定时器单元;13、ECAT网口;14、内存单元;2、从站。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应该理解的是,当元件(诸如层、膜、区域、或衬底)描述为在另一元件“上”时,该元件可直接在该另一元件上,或者也可存在中间元件。而且,在说明书以及权利要求书中,当描述有元件“连接”至另一元件时,该元件可“直接连接”至该另一元件,或者通过第三元件“连接”至该另一元件。

图1是根据本发明实施例的基于EtherCAT的通信处理方法,如图1所示,该方法包括如下步骤:

步骤S102,获取从站的第一通信信息,第一通信信息包括从站时钟信息;

步骤S104,获取主站的FPGA的时钟信息作为参考时钟信息;

步骤S106,根据参考时钟信息和从站时钟信息,计算时钟补偿信息;

步骤S108,向从站发送第二通信信息,第二通信信息包括时钟补偿信息。

采用上述方案的基于EtherCAT的通信处理方法包括:获取从站的第一通信信息,第一通信信息包括从站时钟信息;获取主站的FPGA的时钟信息作为参考时钟信息;根据参考时钟信息和从站时钟信息,计算时钟补偿信息;向从站发送第二通信信息,第二通信信息包括时钟补偿信息。这样,采用主站的FPGA的时钟信息来作为参考时钟信息,由于FPGA具有实时性好的优势,无论主站应用于何种场景下,无论从站如何变化,均能够提供一个可靠的参考时钟信息,从而可以针对各从站发出更精确的时钟补偿信息,保证从站时钟的准确,主站拥有可靠的参考时钟,更容易适配更多的环境,解决了现有技术中的EtherCAT网络在应用于不同场景时的实时性难以保证的问题。采用上述方案的基于EtherCAT的通信处理方法不依赖从站的参考时钟,统一的时钟可以有效规避从站时钟存在误差的风险,对整个EtherCAT网络来说,提高了整个网络的实时性能。

具体地,根据参考时钟信息和从站时钟信息,计算时钟补偿信息,包括:控制FPGA根据参考时钟信息和从站时钟信息,计算时钟补偿信息。通过采用FPGA来根据参考时钟信息和从站时钟信息,计算时钟补偿信息,这样,使得FPGA完成时钟补偿信息的计算,节省了主站的操作系统单元的性能占用,可使其能够有更多的算力来完成其他的计算工作(例如更好地进行多关节电机相关参数的计算),提高主站信息处理能力。

在本实施例中,为了能够更好地进行时钟补偿,提高EtherCAT网络实时性,根据参考时钟信息和从站时钟信息,计算时钟补偿信息,包括:根据参考时钟信息和从站时钟信息,计算各个从站相对于主站的时钟延时信息和时钟偏移信息,时钟补偿信息包括时钟延时信息和时钟偏移信息。

具体地,获取从站的第一通信信息,第一通信信息包括从站时钟信息,包括:接收来自从站的通信数据;对通信数据进行解析,得到第一通讯信息。

在向从站发送第二通信信息之前,基于EtherCAT的通信处理方法还包括:获取经过操作系统单元处理后的目标控制信息;封装目标控制信息和时钟补偿信息,得到第二通信信息。通过将目标控制信息和时钟补偿信息封装,将两者一同发出,能够是实现在对从站控制时对从站时钟进行同步校正,提高EtherCAT网络实时性。

具体地,第一通信信息还包括控制参数信息,在获取经过操作系统单元处理后的目标控制信息之前,基于EtherCAT的通信处理方法还包括:控制主站的操作系统单元获取控制参数信息;控制操作系统单元根据控制参数信息,计算目标控制信息。也就是说,目标控制信息的计算过程是在操作系统单元中完成的,而时钟补偿信息计算是在FPGA中完成,这样减小了对操作系统单元的算力占用,有利于使操作系统单元更好地完成目标控制信息的计算。

在控制操作系统单元根据控制参数信息,计算目标控制信息之后,基于EtherCAT的通信处理方法还包括:控制将目标控制信息存储至主站的内存单元;获取经过操作系统单元处理后的目标控制信息包括:从内存单元获取目标控制信息。操作系统单元在完成目标控制信息的计算工作后,将目标控制信息存储于内存单元,在封装目标控制信息和时钟补偿信息时,再从内存单元获取目标控制信息,这样能够避免对操作系统单元的内存占用,使得操作系统单元可有能力更及时地处理下一批数据,从而保证EtherCAT网络具有更好的使用效果。

根据本发明实施例的第二个方面,提供了一种基于EtherCAT的通信处理装置,包括:第一获取模块,用于获取从站的第一通信信息,第一通信信息包括从站时钟信息;第二获取模块,用于获取主站的FPGA的时钟信息作为参考时钟信息;第一计算模块,用于根据参考时钟信息和从站时钟信息,计算时钟补偿信息;发送模块,用于向从站发送第二通信信息,第二通信信息包括时钟补偿信息。

第一计算模块包括控制子模块:控制子模块用于控制FPGA根据参考时钟信息和从站时钟信息,计算时钟补偿信息。

第一计算模块用于根据参考时钟信息和从站时钟信息,计算各个从站相对于主站的时钟延时信息和时钟偏移信息,时钟补偿信息包括时钟延时信息和时钟偏移信息。

第一获取模块包括接收子模块和解析子模块:接收子模块用于接收来自从站的通信数据;解析子模块用于对通信数据进行解析,得到第一通讯信息。

在向从站发送第二通信信息之前,基于EtherCAT的通信处理方法还包括第三获取模块和封装模块:第三获取模块用于获取经过操作系统单元处理后的目标控制信息;封装模块用于封装目标控制信息和时钟补偿信息,得到第二通信信息。

第一通信信息还包括控制参数信息,在获取经过操作系统单元处理后的目标控制信息之前,基于EtherCAT的通信处理方法还包括第一控制模块和第二计算模块:第一控制模块用于控制主站的操作系统单元获取控制参数信息;第二计算模块用于控制操作系统单元根据控制参数信息,计算目标控制信息。

在控制操作系统单元根据控制参数信息,计算目标控制信息之后,基于EtherCAT的通信处理方法还包括第二控制模块:第二控制模块用于控制将目标控制信息存储至主站的内存单元;第三获取模块用于从内存单元获取目标控制信息。

另外,本发明的实施例还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述的基于EtherCAT的通信处理方法。

再次,本发明的实施例还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的基于EtherCAT的通信处理方法。

最后,本发明的实施例还提供了一种EtherCAT主站装置,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的基于EtherCAT的通信处理方法。

图3是根据本发明的实施例的EtherCAT主站装置的示意图,其中示出了主站1和从站2,其中,主站1包括操作系统单元11、FPGA12、ECAT网口13以及内存单元14,FPGA12单元又具体包括通信单元121、校验单元122、数据处理单元123以及定时器单元124。以下,结合该实施例,对基于EtherCAT的通信处理方法进行说明:

在主站1的各项初始化流程完成后,主站1选FPGA12时钟作为EtherCAT网络的参考时钟,FPGA12用于处理定时收发以及用于计算传输延时,操作系统单元11的时钟便用于维持操作系统单元11的正常运行。激活主站1并进入PDO通信阶段,以ECAT网口13收到从站2信号为例,将得到的通信数据报交到通信单元121,通信单元121的目的是获取可以操作的数据报,并将其存储起来,在经过校验单元122校验后,数据处理单元123将数据报解析,得到第一通信信息,并通过键值对的方式将获取的从站时钟信息报交给定时器单元124,将其数据报的控制参数信息(控制字和参数值等关键信息)存储到内存单元14,并发送信号通知操作系统单元11从内存单元14取出控制参数信息,经过操作系统单元11通过算法计算后,将得到的目标控制信息存放回内存单元14,操作系统单元11给FPGA12发送一个从内存单元14取出目标控制信息的信号。定时器单元124的时钟作为参考时钟,计算各个从站2相对于主站1的时钟延时和时钟偏移,得到时钟补偿信息,将其计算结果发回给数据处理单元123,之后数据处理单元123封装来源于内存单元14的目标控制信息和来源于定时器单元124的时钟补偿信息组合成数据帧,数据帧通过校验单元122校验是否出错,如果出错,则丢弃该数据帧,发回数据处理单元123要求重新发送数据帧,如果校验通过,则通过通信单元121和ECAT网口13周期性地(例如周期为0.1ms)将数据帧送出,记录下本次发送的时间,轮询缓存区,等待EtherCAT数据帧待从站2解析完成后返回,接收数据帧,进行下一轮循环。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。而且,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:网络定时同步

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!