CN117749559A - 一种基于EtherCAT的通信方法、装置、***及计算设备 - Google Patents

一种基于EtherCAT的通信方法、装置、***及计算设备 Download PDF

Info

Publication number
CN117749559A
CN117749559A CN202311640149.1A CN202311640149A CN117749559A CN 117749559 A CN117749559 A CN 117749559A CN 202311640149 A CN202311640149 A CN 202311640149A CN 117749559 A CN117749559 A CN 117749559A
Authority
CN
China
Prior art keywords
ethercat
slave station
state
pdo
ethercat slave
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311640149.1A
Other languages
English (en)
Inventor
高洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyland Technology Co Ltd
Original Assignee
Kyland Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyland Technology Co Ltd filed Critical Kyland Technology Co Ltd
Priority to CN202311640149.1A priority Critical patent/CN117749559A/zh
Publication of CN117749559A publication Critical patent/CN117749559A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本申请涉及通信技术领域,尤其涉及一种基于EtherCAT的通信方法、装置、***、计算设备及可读存储介质,方法包括:通过实时任务执行PDO数据通信;当所述PDO数据通信空闲时,通过非实时任务执行SDO数据通信,所述执行SDO数据通信包括:监测各EtherCAT从站在线状态和各EtherCAT从站处理PDO数据的状态。本申请中,通过SDO服务获取数据信息和状态信息,对EtherCAT总线设备进行监控,不会占用PDO服务的带宽,不抢占实时任务的资源,不影响PDO服务的实时性。并且,本实施方式对EtherCAT总线设备进行监控时,不在PDO高速交换过程中持续检测ESC端口寄存器状态,不影响PDO数据处理的实时性,减少了主站端的负担。

Description

一种基于EtherCAT的通信方法、装置、***及计算设备
技术领域
本发明涉及通信技术领域,尤其涉及一种基于EtherCAT的通信方法、装置、***及计算设备。
背景技术
EtherCAT是开放的实时以太网络通讯协议,具有通用性好、低成本、高效率、高可靠性和稳定性,在日常信息生活与各种商业邻域都有广泛应用。
目前开源EtherCAT方案中均不支持热连接功能。当用户现场需要调试设备或其中某从站故障,必然导致EtherCAT链路的断开,不利于数据处理、收发的实时性。
发明内容
鉴于现有技术的以上问题,本申请提供一种基于EtherCAT的通信方法、装置、***及计算设备,其能够实现EtherCAT总线热连接而不影响数据收发的实时性,能够不影响其它从站通讯的情况下进行特定从站及其所控制设备的调试。
为达到上述目的,本申请第一方面提供一种基于EtherCAT的通信方法,包括:
通过实时任务执行PDO数据通信;
当所述PDO数据通信空闲时,通过非实时任务执行SDO数据通信,所述执行SDO数据通信包括:监测各EtherCAT从站在线状态和各EtherCAT从站处理PDO数据的状态。
本实施方式中,通过SDO服务获取数据信息和状态信息,对EtherCAT总线设备进行监控,不会占用PDO服务的带宽,不抢占实时任务的资源,不影响PDO服务的实时性。并且,本实施方式对EtherCAT总线设备进行监控时,不在PDO高速交换过程中持续检测ESC端口寄存器状态,不影响PDO数据处理的实时性,减少了主站端的负担。
作为第一方面的一种可能的实现方式,监测各EtherCAT从站在线状态和各EtherCAT从站处理PDO数据的状态,包括:
广播第一指令;
接收至少一EtherCAT从站响应所述第一指令而发送的其工作状态参数和工作计数值;
根据所述工作状态参数确定相应EtherCAT从站在线状态,以及根据所述工作计数值确定相应EtherCAT从站处理PDO数据的状态。
本实施方式中,通过广播指令获取所有从站的工作状态参数和工作计数值确定是否有从站发生异常,不单独轮询所有从站,可以降低资源占用,提高主站的反应速度。
作为第一方面的一种可能的实现方式,还包括:
所述监测各EtherCAT从站在线状态和各EtherCAT从站处理PDO数据的状态阶段,当确定出现异常时,轮询各EtherCAT从站状态并相应处理;
若轮询的当前EtherCAT从站的工作状态参数表示所述当前EtherCAT从站已经从EtherCAT总线上移除,则将所述当前EtherCAT从站标记为离线;
若轮询的当前EtherCAT从站的工作状态参数表示所述当前EtherCAT从站工作在异常状态,则执行异常状态处理。
作为第一方面的一种可能的实现方式,所述异常状态处理包括:若当前EtherCAT从站被标记为离线状态,则表示所述当前EtherCAT从站被重新***到EtherCAT总线,执行对所述当前EtherCAT从站的初始化,以及向所述当前EtherCAT从站发送工作指令,以使所述当前EtherCAT从站工作正常状态;若当前EtherCAT从站未被标记为离线状态,则表示所述当前EtherCAT从站工作状态发生了错误,则执行对所述当前EtherCAT从站的清除错误,以及向所述当前EtherCAT从站发送工作指令,以使所述当前EtherCAT从站工作正常状态。
作为第一方面的一种可能的实现方式,还包括:
向所述各EtherCAT从站发送设置信息,所述设置信息用于使所述EtherCAT从站配置为自动模式,所述自动模式下的EtherCAT从站检测到其某个端口没有外部连接时,自动闭合该端口。
作为第一方面的一种可能的实现方式,向所述异常从站发送命令,包括:
所述执行PDO数据通信的数据包与所述执行SDO数据通信的数据包不同。
本实施方式中,SDO数据和PDO数据通过不同的数据包发送,SDO不会占用PDO的带宽,不抢占实时任务的资源,故不会发生资源争夺,不影响任务处理的实时性。
本申请第二方面提供一种基于EtherCAT的通信装置,用于EtherCAT主站,包括:
PDO模块,用于通过实时任务执行PDO数据通信;
监测模块,用于当所述PDO数据通信空闲时,通过非实时任务执行SDO数据通信,所述执行SDO数据通信包括:监测各EtherCAT从站在线状态和各EtherCAT从站处理PDO数据的状态。
作为第一方面的一种可能的实现方式,还包括:
配置模块,用于提供设置信息,所述设置信息包括用于使所述EtherCAT从站配置为自动模式的设置。
本申请第三方面提供一种基于EtherCAT的通信***,包括:
EtherCAT主站,用于执行如上所述的基于EtherCAT的通信方法;
EtherCAT从站,用于通过EtherCAT总线与所述EtherCAT主站通信。
本申请第四方面提供一种计算设备,包括:
处理器,以及
存储器,其上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行如上所述的基于EtherCAT的通信方法。
本发明的这些和其它方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
以下参照附图来进一步说明本发明的各个特征和各个特征之间的联系。附图均为示例性的,一些特征并不以实际比例示出,并且一些附图中可能省略了本申请所涉及领域的惯常的且对于本申请非必要的特征,或是额外示出了对于本申请非必要的特征,附图所示的各个特征的组合并不用以限制本申请。另外,在本说明书全文中,相同的附图标记所指代的内容也是相同的。具体的附图说明如下:
图1是本申请第一实施例提供的一种基于EtherCAT的通信方法的流程示意图;
图2是本申请第二实施例提供的一种基于EtherCAT的通信方法的流程示意图;
图3是本申请实施例提供的配置设置的流程示意图;
图4是本申请实施例提供的EtherCAT总线设备的工作示意图;
图5是本申请实施例提供的PDO服务进行数据收发的示意图;
图6是本申请实施例提供的基于EtherCAT的通信装置的结构性示意性图;
图7是本申请实施例提供的基于EtherCAT的通信装置的工作过程流程示意图;
图8是本申请实施例提供的基于EtherCAT的通信***的结构性示意性图;
图9是本申请实施例提供的一种计算设备的结构性示意性图。
具体实施方式
下面结合附图并举实施例,对本申请提供的技术方案作进一步说明。应理解,本申请实施例中提供的***结构和业务场景主要是为了说明本申请的技术方案的可能的实施方式,不应被解读为对本申请的技术方案的唯一限定。本领域普通技术人员可知,随着***结构的演进和新业务场景的出现,本申请提供的技术方案对类似技术问题同样适用。
应理解,本申请实施例提供的基于EtherCAT的通信方案,包括基于EtherCAT的通信方法、装置、***及计算设备等。由于这些技术方案解决问题的原理相同或相似,在如下具体实施例的介绍中,某些重复之处可能不再赘述,但应视为这些具体实施例之间已有相互引用,可以相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。为了准确地对本申请中的技术内容进行叙述,以及为了准确地理解本发明,在对具体实施方式进行说明之前先对本说明书中所使用的术语给出如下的解释说明或定义:
1)ESM从站管理器:从站管理器(EtherCAT Slave Manager,ESM),从站是指连接到EtherCAT总线上的设备,其通过ESM来管理和控制从站的各项功能和操作。
2)工作计数:工作计数(Working Count,WKC)。Ethercat报文由一个16位的WKC结束。如果主站成功寻址了从站设备,并且从站设备成功执行了操作,那么工作计数器的值将递增。通过将工作计数器的预期值与所有设备通过后的实际值进行比较,主站可以检查Ethercat数据是否已成功处理。
3)同步管理器:同步管理器(Sync Manager,SM),是EtherCAT总线中的一种。它负责从主站同步数据流传输到从站设备,并确保数据在从站设备中的正确处理和同步,每个从站设备通常都有一个或多个SM,用于处理不同类型的数据。
4)总线存储器管理单元:总线存储器管理单元(Fieldbus Memory ManagementUnits,FMMU),用于通过内部地址映射的方法,将物理地址和逻辑地址映射起来。
5)从站ESC端口寄存器的自动模式:ESC端口寄存器可提供多个数据收发端口,每个端口都可以收发数据帧。数据帧在ESC内部的传输/转发顺序是固定的,依次传输到各端口直到传输到目的端口。设置为所述自动模式时,若ESC检测到某个端口没有外部连接,则自动闭合此端口,数据帧在ESC内部传输时将自动回环并转发到下一个端口。
6)EtherCAT主站:EtherCAT主站是EtherCAT网络中的中控设备,负责与EtherCAT从站进行通信和控制。
7)EtherCAT从站:EtherCAT从站是指在EtherCAT网络中连接的设备或模块,它们接收来自EtherCAT主站的指令,并执行相应的操作。从站可以是各种各样的设备,如传感器、执行器、控制器等。
现有技术通过过程数据对象(Process Data Object,PDO)映射各从站的嵌入式网络端口(Embedded Network Port,ESC)状态寄存器,在PDO高速交换过程中持续检测各从站的端口状态,通过逻辑运算识别从站在线/离线状态,然后通过服务数据对象(ServiceData Object,SDO)服务控制从站端口的闭合,调整主站侧的PDO数据发送策略,现有技术无法全面的处理从站异常情况。
此外,现有技术控制从站端口的闭合时会占用PDO数据空间,导致同一帧网络数据变大,PDO数据空间利用率变小,不利于PDO进行数据处理;主站侧需要调整PDO数据发送逻辑,增加了成本;主站侧在更新从站状态上消耗的时间较长,不利于PDO收发的实时性。
为解决上述技术问题,本申请提出一种基于EtherCAT的通信的方案,包括基于EtherCAT的通信方法、装置、***、计算设备和计算机可读存储介质。
如图1所示,图1是本申请实施方式提供一种基于EtherCAT的通信方法的流程示意图。本实施方式提供的基于EtherCAT的通信方法包括以下步骤:
S101:通过实时任务执行PDO数据通信。
本申请中,PDO模块只做实时数据处理,不在PDO高速交换过程中持续检测ESC端口寄存器状态,不占用PDO带宽,不影响PDO数据处理的实时性,减少主站端的负担。
S102:当所述PDO数据通信空闲时,通过非实时任务执行SDO数据通信,所述执行SDO数据通信包括:监测各EtherCAT从站在线状态和各EtherCAT从站处理PDO数据的状态。
当PDO数据通信空闲时,通过SDO服务对总线状态、各从站状态进行监测,接收上位机软件的参数设置(如监测周期等),异常处理、从站发现等。
本实施方式中,SDO通讯只在PDO通讯空闲时进行,故不会发生资源争夺,不影响PDO实时性。
在一些实施方式中,监测各EtherCAT从站在线状态和各EtherCAT从站处理PDO数据的状态,可以包括:
主站可以通过SDO服务向EtherCAT的所有从站发送第一指令。
当EtherCAT从站接收到主站通过广播发送的第一指令后,会响应第一指令,向主站发送其工作状态参数。主站接收至少一EtherCAT从站响应第一指令而发送的其工作状态参数和工作计数值。主站可以获取EtherCAT总线的工作计数值(Working Count,WKC)。
主站根据工作状态参数确定相应EtherCAT从站在线状态,以及根据工作计数值确定相应EtherCAT从站处理PDO数据的状态。具体的,可以通过广播的第一指令收集所有的从站ESM值来判断其工作状态,ESM值为OP表示从站正常。可以通过获取EtherCAT总线的WKC值确定相应EtherCAT从站处理PDO数据的状态,从站设备成功执行操作,那么WKC值将递增;因此,当所有从站均正常工作时,此时获取的WKC值应等于预期WKC值,当二者不相等时,则表明存在从站未正确处理PDO数据。
本实施方式中,使用广播发送第一指令收集所有从站的工作状态参数和工作计数值,不单独轮询所有从站,可以降低资源占用,提高主站的反应速度。
在一些实施方式中,监测各EtherCAT从站在线状态和各EtherCAT从站处理PDO数据的状态阶段,当确定出现异常时,轮询各EtherCAT从站状态并相应处理,轮询各EtherCAT从站状态并相应处理包括至少以下之一:
若轮询的当前EtherCAT从站的工作状态参数为0,表示当前EtherCAT从站已经从EtherCAT总线上移除,则将当前EtherCAT从站标记为离线;
若轮询的当前EtherCAT从站的工作状态参数不为0且不为OP,表示当前EtherCAT从站工作在异常状态,则进一步执行异常状态处理;异常状态处理包括:若当前EtherCAT从站被标记为离线状态,则表示当前EtherCAT从站被重新***到EtherCAT总线,执行对当前EtherCAT从站的初始化,以及向当前EtherCAT从站发送OP指令,其中,该OP指令中包括以使当前EtherCAT从站工作在正常状态的工作指令;若当前EtherCAT从站未被标记为离线状态,则表示当前EtherCAT从站工作状态发生了错误,则执行对当前EtherCAT从站的清除错误,以及向当前EtherCAT从站发送OP指令,以使当前EtherCAT从站工作正常状态。
在一些实施方式中,向所述各EtherCAT从站发送设置信息,所述设置信息用于使所述EtherCAT从站配置为自动模式,所述自动模式下的EtherCAT从站检测到某个端口没有外部连接时,自动闭合该端口。
本实施方式通过初始化配置,使各从站在出现拔掉从站端口等情况时,自动处理自身的ESC端口寄存器,从站端口内部自动闭合,不需要主站发送指令关闭端口,减少主站端的负担。
在一些实施方式中,执行PDO数据通信的数据包与执行SDO数据通信的数据包不同。本实施方式中,SDO数据和PDO数据通过不同的数据包发送,SDO不会占用PDO的带宽,不抢占实时任务的资源,故不会发生资源争夺,不影响任务处理的实时性。
本申请通过SDO服务获取数据信息和状态信息,对EtherCAT总线设备进行监控,不会占用PDO服务的带宽,不抢占实时任务的资源,不影响PDO服务的实时性。并且,本实施方式对EtherCAT总线设备进行监控时,不在PDO高速交换过程中持续检测ESC端口寄存器状态,不影响PDO数据处理的实时性,减少了主站端的负担。
下面结合一具体实施方式,对本申请提供的基于EtherCAT的通信方法的实施例进一步进行介绍。如图2所示,图2是本申请另一实施方式提供一种基于EtherCAT的通信方法的流程示意图。本实施方式提供的基于EtherCAT的通信方法包括以下步骤:
S201:主站接收来自上位机软件的配置参数,并执行相应配置。
如图3所示的配置设置的流程示意图。***启动时,主站接收来自上位机软件的配置参数,并执行相应配置。通过在上位机的边缘控制器软件等对FMMU、SM、寄存器以及通讯通道等必要的参数进行配置。例如,在***初始化时,设置从站ESC端口寄存器的模式为自动:即由从站根据网口状态自行执行端口的开启/关闭,此过程无需主站干预,不需要主站发送指令关闭端口,减少主站端的负担。还可以对定时器进行配置,定时器根据来自上位机软件配置的参数,执行不同的数据信息获取周期,以实现对应的从站监测周期。
S202:当PDO数据通信空闲时,主站通过SDO数据通信对从站进行监控。
本申请中PDO数据通信只进行实时任务的处理,当主站检测到PDO数据通信空闲时,主站通过SDO数据通信对从站进行监控可以包括:
主站通过非实时任务执行SDO数据通信,获取的所有从站的数据信息,通过获取的数据信息判断EtherCAT总线网络中是否有从站发生异常。
其中,数据信息可以包括所有从站的工作状态参数和工作计数值。具体的,从站的工作状态参数可以是状态值,工作计数值可以是EtherCAT总线报文的WKC值。
主站可以通过SDO服务的广播指令收集所有从站状态值,以用于判断是否所有从站是否正常,例如,SDO服务广播指令的COB-ID(Communication Object Identifier)为0x000,表示广播给所有从站。然后,收集所有从站根据广播指令返回状态值,状态值可以包括在线/离线状态、从站的工作模式和从站的运行状态等等。此时使用广播指令收集所有从站状态值,不单独轮询所有从站,可以降低资源占用,提高主站的反应速度。
另外,主站查询EtherCAT总线返回的报文的工作计数器(Working Count,WKC)值,以用于判断是否所有从站均正确处理了主站发送的数据。如果主站成功寻址了从站设备,并且从站设备成功执行了操作,那么WKC值将递增。通过将WKC预期值与主站获取的所有设备通过EtherCAT总线报文返回后的实际值进行比较,主站可以检查所有的从站是否已成功处理Ethercat数据。
S203:主站确定数据信息异常时,轮询各个从站并获取从站的状态信息。
若数据信息均无异常,则进入下一次循环,根据配置的监测周期继续执行步骤S202。当从站的状态值或EtherCAT总线报文的WKC值出现异常,则确定数据信息异常,然后主站轮询各个从站并获取各个从站的状态信息。
具体的,主站确定数据信息是否发生异常时可以通过广播指令收集所有的从站状态值的或值来判断,即通过ESM或值来判断,ESM值为OP表示从站正常,当获取的所有从站中任意从站的ESM值不为OP时,则所有的从站的ESM或值不为OP,此时,主站可以确定数据信息异常。主站获取的EtherCAT总线返回的数据报文中的WKC当前值等于预期值时,表示各从站均正常并且正确处理了任务;而当主站获取的WKC当前值不等于WKC预期值,表示有从站未正确处理主站发送的数据,此时主站也可以确定数据信息异常。
当广播指令收集的所有从站状态的或值不为OP,或返回主站的数据报文中的当前WKC不等于预期WKC值时,表明数据信息存在异常。此时主站可以通过SDO服务轮询各个从站并获取每个从站的ESM值,得到从站的状态信息。
在一些实施方式中,如图4所示的EtherCAT总线设备的工作示意图,和图5所示的PDO服务进行数据收发的示意图。主站可以通过非实时通讯的SDO(模块)执行对总线状态、各从站状态的监测、异常处理、从站发现等,实时通讯的PDO(模块)只进行实时数据的处理。SDO数据和PDO数据通过不同的数据包发送,SDO不会占用PDO的带宽,不抢占实时任务的资源,故不会发生资源争夺。并且,SDO服务只在PDO服务空闲时进行,不影响PDO服务的实时性。而定时器可以设置为在特定时间间隔内触发PDO传输、同步多个PDO的传输、调整PDO传输速率以及确保PDO传输在特定时间内完成,以满足实时性要求等。
如图5所示,在高精度定时器的驱动下,进行PDO数据通信时,将边缘服务器计算后的数据置于总线输出虚拟空间,由EtherCAT总线发送到各从站并由从站取走、处理。同时从站将各自的输出数据置于总线输入虚拟空间,总线数据返回边缘服务器并由内部处理逻辑取走、处理。其中,边缘服务器是一种用于处理和管理网络数据的计算设备。通常是在包括从站的网络节点和包括主站的控制器之间,用于收集和处理来自各个节点的数据。边缘服务器可以执行多种功能,包括数据处理、数据存储、网络通信、实时控制等。它可以通过与网络节点进行通信,收集和分析实时数据,并根据需要进行处理和决策。边缘服务器还可以提供网络连接和协议转换等功能,使得不同类型的设备能够与EtherCAT网络进行通信。
S204:主站根据所述状态信息确定异常从站。
主站继续通过SDO服务轮询各个从站并获取各个从站的ESM值。
本实施方式中,异常从站可以指ESM值不为OP的从站。
另外,当从站的ESM值为0,则表示该从站已经从EtherCAT总线上移除,因此将该异常从站的状态标记为离线。
若从站状态不为离线(ESM值为0)且不为OP,则确定该异常从站发生了错误。
S205:主站向所述异常从站发送命令,使所述异常从站处于正常工作状态。
若异常从站被标记为离线,则表示此从站被重新***到总线,则向该从站发送初始化指令对从站重新初始化,然后发送OP指令尝试使该从站工作在OP状态。
若该异常从站未被标记为离线,则表示从站工作状态发生了错误,则向该从站发送清除错误指令,然后发送OP指令尝试使该从站工作在OP状态。
其中,为了确保使异常从站进入OP(操作)状态,可以按照以下步骤进行操作:
创建EtherCAT Telegram。由于每个从站在EtherCAT网络中都有唯一的从站地址,因此在Telegram中,将异常从站的地址作为目标地址,并在EtherCAT Telegram中配置对应的命令,包括重新初始化命令、清除错误命令和OP(操作)命令等。最后主站将该EtherCATTelegram通过EtherCAT总线发送到目标地址对应的从站。其中,Telegrams是用于在EtherCAT总线网络中传输数据的数据包。
还可以通过主站获取并监测EtherCAT总线上的响应消息,以确定从站是否成功进入OP状态。如果从站成功进入OP状态,它将会响应主站发送的Telegram中的OP指令,实现EtherCAT总线从站、设备的热连接。
本申请提供的基于EtherCAT的通信方法,通过在非实时任务SDO服务中获取从站ESM实现处理异常从站、发现并配置新加入的从站等,不在PDO高速交换过程中持续检测ESC端口寄存器状态,不占用PDO带宽,不影响PDO数据处理的实时性,减少主站端的负担。另外,FMMU映射已经固定,即从站物理空间地址和总线上的逻辑空间地址已经固定,只需组态一次就可以在不影响其它从站通讯的情况下进行特定从站及其所控制设备的调试,并且可以根据需要调整从站在网络中的物理位置,而无需重新组态。
基于一个发明构思,本申请还提供了一种基于EtherCAT的通信装置600。如图6所示,是本申请实施方式提供的基于EtherCAT的通信装置的结构性示意性图,包括:
PDO模块601,用于通过实时任务执行PDO数据通信;
监测模块602,用于当所述PDO数据通信空闲时,通过非实时任务执行SDO数据通信,所述执行SDO数据通信包括:监测各EtherCAT从站在线状态和各EtherCAT从站处理PDO数据的状态。
在一些实施方式中,还包括:配置模块603,用于提供设置信息,所述设置信息包括用于使所述EtherCAT从站配置为自动模式的设置。
具体的,如图7所示,是本申请实施方式提供的基于EtherCAT的通信装置600工作过程的流程示意图。其工作过程可以包括:
首先,PDO模块601执行PDO数据通信,当PDO模块空闲时,定时器根据配置模块603获取配置参数,以确定监测模块602执行监测的周期。
监测模块602执行监测时,根据定时器设定的参数,周期性的获取从站的数据信息。其中,该数据信息可以包括从站的ESM状态或值和EtherCAT总线报文的WKC值。
监测模块602可以通过SDO服务的广播指令收集所有从站ESM状态或值,以用于判断是否所有从站是否正常;以及获取EtherCAT总线报文的WKC值,以用于判断各从站是否准确处理了主站发送的数据。
然后监测模块602判断ESM状态或值和EtherCAT总线报文的WKC值是否存在异常。若均无异常,则进入下一次监测周期进行循环。
获取的ESM状态或值不为OP,或返回主站的数据报文中的当前WKC不等于预期WKC值时,监测模块602确定数据信息存在异常。此时监测模块602可以基于SDO服务轮询各个从站并获取每个从站的ESM值,得到从站的状态信息。
监测模块602根据状态信息确定异常从站。当从站的ESM值为0,则表示该从站已经从EtherCAT总线上移除,可以将该异常从站的状态标记为离线。当监测模块602判断从站状态不为离线(ESM值为0)且不为OP,则确定该异常从站发生了错误。
然后,若异常从站被标记为离线,则表示此从站被重新***到总线,监测模块602向该从站发送初始化指令对从站重新初始化,然后发送OP指令尝试使该从站工作在OP状态。若该异常从站未被标记为离线,则表示从站工作状态发生了错误,监测模块602向该从站发送清除错误指令,然后发送OP指令尝试使该从站工作在OP状态。
上述的PDO模块601、监测模块602、配置模块603以及定时器等,用于执行步骤S101-S102及其任意可选实施例,不再赘述。
基于一个发明构思,本申请还提供了一种基于EtherCAT的通信***800,如图8所示,是本申请实施方式提供的EtherCAT总线热连接的***的结构性示意性图。包括EtherCAT主站,用于执行步骤S101-S102及其任意可选实施例所述的基于therCAT的通信方法;
EtherCAT从站,用于通过EtherCAT总线与所述EtherCAT主站通信。
本实施方式提供的基于EtherCAT的通信***800的工作过程可以参考步骤S101-S102及其任意可选实施例,不再赘述
图9是本申请实施例提供的一种计算设备900的结构性示意性图。该计算设备可以作为基于EtherCAT的通信的装置,执行上述基于EtherCAT的通信方法中的各可选实施例,该计算设备可以是终端,也可以是终端内部的芯片或芯片***。如图9所示,该计算设备900包括:处理器910、存储器920、通信接口930。
应理解,图9所示的计算设备900中的通信接口930可以用于与其他设备之间进行通信,具体可以包括一个或多个收发电路或接口电路。
其中,该处理器910可以与存储器920连接。该存储器920可以用于存储该程序代码和数据。因此,该存储器920可以是处理器910内部的存储单元,也可以是与处理器910独立的外部存储单元,还可以是包括处理器910内部的存储单元和与处理器910独立的外部存储单元的部件。
可选的,计算设备900还可以包括总线。其中,存储器920、通信接口930可以通过总线与处理器910连接。总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中采用了一条无箭头的线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器910可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器910采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器920可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数据。处理器910的一部分还可以包括非易失性随机存取存储器。例如,处理器910还可以存储设备类型的信息。
在计算设备900运行时,所述处理器910执行所述存储器920中的计算机执行指令执行上述方法的任一操作步骤以及其中任一可选的实施例。
应理解,根据本申请实施例的计算设备900可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备900中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行上述方法,该方法包括上述各个实施例所描述的方案中的至少之一。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。另外,说明书和权利要求书中的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在上述的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置A和B的设备”不应局限为仅由部件A和B组成的设备。
本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,均属于本申请保护范畴。

Claims (10)

1.一种基于EtherCAT的通信方法,用于EtherCAT主站,其特征在于,包括:
通过实时任务执行PDO数据通信;
当所述PDO数据通信空闲时,通过非实时任务执行SDO数据通信,所述执行SDO数据通信包括:监测各EtherCAT从站在线状态和各EtherCAT从站处理PDO数据的状态。
2.根据权利要求1所述的方法,其特征在于,所述监测各EtherCAT从站在线状态和各EtherCAT从站处理PDO数据的状态,包括:
广播第一指令;
接收至少一EtherCAT从站响应所述第一指令而发送的其工作状态参数和工作计数值;
根据所述工作状态参数确定相应EtherCAT从站在线状态,以及根据所述工作计数值确定相应EtherCAT从站处理PDO数据的状态。
3.根据权利要求1所述的方法,其特征在于,还包括:
所述监测各EtherCAT从站在线状态和各EtherCAT从站处理PDO数据的状态阶段,当确定出现异常时,轮询各EtherCAT从站状态并相应处理;:
若轮询的当前EtherCAT从站的工作状态参数表示所述当前EtherCAT从站已经从EtherCAT总线上移除,则将所述当前EtherCAT从站标记为离线;
若轮询的当前EtherCAT从站的工作状态参数表示所述当前EtherCAT从站工作在异常状态,则执行异常状态处理。
4.根据权利要求3所述的方法,其特征在于,所述异常状态处理包括:若当前EtherCAT从站被标记为离线状态,则表示所述当前EtherCAT从站被重新***到EtherCAT总线,执行对所述当前EtherCAT从站的初始化,以及向所述当前EtherCAT从站发送工作指令,以使所述当前EtherCAT从站工作正常状态;若当前EtherCAT从站未被标记为离线状态,则表示所述当前EtherCAT从站工作状态发生了错误,则执行对所述当前EtherCAT从站的清除错误,以及向所述当前EtherCAT从站发送工作指令,以使所述当前EtherCAT从站工作正常状态。
5.根据权利要求1所述的方法,其特征在于,还包括:
向所述各EtherCAT从站发送设置信息,所述设置信息用于使所述EtherCAT从站配置为自动模式,所述自动模式下的EtherCAT从站检测到其某个端口没有外部连接时,自动闭合该端口。
6.根据权利要求1所述的方法,其特征在于,包括:
所述执行PDO数据通信的数据包与所述执行SDO数据通信的数据包不同。
7.一种基于EtherCAT的通信装置,用于EtherCAT主站,其特征在于,包括:
PDO模块,用于通过实时任务执行PDO数据通信;
监测模块,用于当所述PDO数据通信空闲时,通过非实时任务执行SDO数据通信,所述执行SDO数据通信包括:监测各EtherCAT从站在线状态和各EtherCAT从站处理PDO数据的状态。
8.根据权利要求7所述的通信装置,其特征在于,还包括:
配置模块,用于提供设置信息,所述设置信息包括用于使所述EtherCAT从站配置为自动模式的设置。
9.一种基于EtherCAT的通信***,其特征在于,包括:
EtherCAT主站,用于执行权利要求1至6任一所述的基于EtherCAT的通信方法;
EtherCAT从站,用于通过EtherCAT总线与所述EtherCAT主站通信。
10.一种计算设备,其特征在于,包括:
处理器,以及
存储器,其上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行权利要求1至6任意一项所述的基于EtherCAT的通信方法。
CN202311640149.1A 2023-12-01 2023-12-01 一种基于EtherCAT的通信方法、装置、***及计算设备 Pending CN117749559A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311640149.1A CN117749559A (zh) 2023-12-01 2023-12-01 一种基于EtherCAT的通信方法、装置、***及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311640149.1A CN117749559A (zh) 2023-12-01 2023-12-01 一种基于EtherCAT的通信方法、装置、***及计算设备

Publications (1)

Publication Number Publication Date
CN117749559A true CN117749559A (zh) 2024-03-22

Family

ID=90257110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311640149.1A Pending CN117749559A (zh) 2023-12-01 2023-12-01 一种基于EtherCAT的通信方法、装置、***及计算设备

Country Status (1)

Country Link
CN (1) CN117749559A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118250119A (zh) * 2024-05-23 2024-06-25 深圳市华茂欧特科技有限公司 工业通讯监控方法、装置、智能主站及计算机存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118250119A (zh) * 2024-05-23 2024-06-25 深圳市华茂欧特科技有限公司 工业通讯监控方法、装置、智能主站及计算机存储介质

Similar Documents

Publication Publication Date Title
CN110380907B (zh) 一种网络故障诊断方法、装置、网络设备及存储介质
US9467363B2 (en) Network system and method of managing topology
US10868754B2 (en) High availability input/output management nodes
US11467566B2 (en) Communication device, communication terminal, communication device and method for operating a communication system for transmitting time-critical data
JP7040734B2 (ja) フレーム集約方法、ネットワーク設定フレーム送信方法およびデバイス
US8812759B2 (en) Bus subscriber device for connection to a line-redundant data bus, and method for controlling the communication of a bus subscriber with a line-redundant serial data bus
US11316654B2 (en) Communication device and method for operating a communication system for transmitting time critical data
US11281190B2 (en) Method for setting up a redundant communication connection, and failsafe control unit
CN103281261B (zh) 一种以太网通信方法和***
CN117749559A (zh) 一种基于EtherCAT的通信方法、装置、***及计算设备
US11564241B2 (en) Method for operating a radio communication system for an industrial automation system, radio communication system, base station and subscriber station
CN113261220B (zh) 用于处理tsn通信链路的故障的方法和控制节点
CN113741360A (zh) 一种工业控制网关、***、控制方法和存储介质
CN110300055B (zh) 异构现场总线用网关***
JP6273841B2 (ja) 通信システム及び通信制御方法
US11784929B2 (en) Heterogeneous link data translation and distribution method, system and device, and storage medium
US11265798B2 (en) Method and radio communication system for an industrial automation system
JP5308418B2 (ja) プログラマブルロジックコントローラ
CN101809941B (zh) 控制节点网络的控制节点
US11522762B2 (en) Coordination device and method for providing control applications via a communication network for transmitting time-critical data
US11442432B2 (en) Communication device and method for data transmission within an industrial communication network
CN111008173A (zh) 串行通信方法及装置、***
JP6835662B2 (ja) ノードおよびフレーム送信制御方法
US20130242723A1 (en) Data processing apparatus, data transceiver apparatus, and method for controlling data transmission and reception
CN112671549A (zh) 一种数据处理方法、设备及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination