首页 / 专利库 / 电子零件及设备 / 可编程逻辑器件 / 现场可编程门阵列 / 一种解析拓扑结构的方法及装置

一种解析拓扑结构的方法及装置

阅读:882发布:2020-05-08

专利汇可以提供一种解析拓扑结构的方法及装置专利检索,专利查询,专利分析的服务。并且本 申请 适用于自动化控制的技术领域,提供了一种解析拓扑结构的方法及装置,该方法包括:向每个从站发送第一报文,获取所述从站传回的第二报文,根据所述第二报文获取所述从站的第一数量和第一排列顺序,其中,所述第一报文被每个从站处理后得到所述第二报文;当所述从站的第一数量不为0时,则按照所述第一排列顺序获取所述每个从站对应寄存器中的多个端口的连接状态;根据所述每个从站对应寄存器中的多个端口的连接状态以及所述从站的第一排列顺序获取所述从站的拓扑结构。通过上述方式可获得EtherCAT中复杂多变的拓扑结构,与传统的技术相比,提高了获取从站拓扑结构的准确度。,下面是一种解析拓扑结构的方法及装置专利的具体信息内容。

1.一种解析拓扑结构的方法,其特征在于,所述获取方法包括:
向每个从站发送第一报文,获取所述从站传回的第二报文,根据所述第二报文获取所述从站的第一数量和第一排列顺序,其中,所述第一报文被每个从站处理后得到所述第二报文;
当所述从站的第一数量不为0时,则按照所述第一排列顺序获取所述每个从站对应寄存器中的多个端口的连接状态;
根据所述每个从站对应寄存器中的多个端口的连接状态以及所述从站的第一排列顺序获取所述从站的拓扑结构。
2.如权利要求1所述的方法,其特征在于,所述根据所述第二报文获取所述从站的第一数量和第一排列顺序,包括:
获取所述第二报文中的工作计数器的数值,将所述工作计数器的数值作为所述从站的第一数量,所述工作计数器用于统计所述第一报文被所述从站处理的次数;
获取所述第二报文中从站节点地址的第二排列顺序,将所述第二排列顺序作为所述从站的第一排列顺序。
3.如权利要求1所述的方法,其特征在于,所述按照所述第一排列顺序获取所述每个从站对应寄存器中的多个端口的连接状态,包括:
获取每个所述寄存器中表征端口连接状态的比特信息,根据所述比特信息的值确定所述每个从站对应寄存器中的多个端口的连接状态,所述比特信息采用二进制数制,每位比特信息的值代表不同端口的连接状态。
4.如权利要求1所述的方法,其特征在于,所述根据所述每个从站对应寄存器中的多个端口的连接状态以及所述从站的第一排列顺序计算所述从站的拓扑结构,包括:
根据所述每个从站对应寄存器中处于连接状态端口的第二数量以及所述从站的第一排列顺序获取所述从站的拓扑结构。
5.如权利要求4所述的方法,其特征在于,所述根据所述每个从站对应寄存器中处于连接状态端口的第二数量以及所述从站的第一排列顺序获取从站的拓扑结构,包括:
将所述第一排列顺序为首位的从站确定为起始节点从站;
根据所述每个从站对应寄存器中处于连接状态端口的第二数量依次连接对应的子节点从站得到所述从站的拓扑结构。
6.如权利要求5所述的方法,其特征在于,所述根据所述每个从站对应寄存器中处于连接状态端口的第二数量依次连接对应的子节点从站得到所述从站的拓扑结构,包括:
将所述每个从站对应寄存器中处于连接状态端口的第二数量减1得到对应子节点从站的第三数量;
根据所述每个从站的所述对应子节点从站的第三数量依次连接得到所述从站的拓扑结构。
7.如权利要求1所述的方法,其特征在于,所述向每个从站发送报文,根据所述报文获取所述从站的第一数量和第一排列顺序之后,还包括:
当所述从站的第一数量为0时,则确定所述从站不存在拓扑结构。
8.一种解析拓扑结构的装置,其特征在于,包括:
第一获取单元,用于向每个从站发送第一报文,获取所述从站传回的第二报文,根据所述第二报文获取所述从站的第一数量和第一排列顺序,其中,所述第一报文被每个从站处理后得到所述第二报文;
第二获取单元,用于当所述从站的第一数量不为0时,则按照所述第一排列顺序获取所述每个从站对应寄存器中的多个端口的连接状态;
解析单元,用于根据所述每个从站对应寄存器中的多个端口的连接状态以及所述从站的第一排列顺序获取所述从站的拓扑结构。
9.一种终端设备,包括存储器、现场可编程阵列、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。

说明书全文

一种解析拓扑结构的方法及装置

技术领域

[0001] 本申请属于自动化控制的技术领域,尤其涉及一种解析拓扑结构的方法及装置、计算机可读存储介质。

背景技术

[0002] 以太网控制自动化技术(Control Automation Technology,EtherCAT)是一个以以太网为基础的开放架构的现场总线系统。EtherCAT为现场总线技术领域树立了新的性能标准,具备灵活的网络拓扑结构,系统配置简单,和现场总线系统一样操作直观简便。EtherCAT在网络拓扑结构方面没有任何限制,最多65535个节点可以组成线型、总线型、树型、星型或者任意组合的拓扑结构。另外,由于EtherCAT实施的成本低廉,因此使系统得以在过去无法应用现场总线网络的场合中选用该现场总线。
[0003] 在EtherCAT主站初始化时,需要获知从站的拓扑结构,以实现后续的通信。而传统技术中,往往是通过判断从站在传回报文时对应从站的排列顺序情况判断拓扑结构或通过人工统计从站的拓扑结构,例如:当所述报文是最后一个从站传回时,则认为当前从站拓扑结构为环形拓扑结构,当所述报文是第一个从站传回时,则认为当前从站拓扑结构为总线型拓扑结构。而上述判断方法仅仅只能判断两种拓扑结构,而对于EtherCAT中复杂多变的拓扑结构而言,获取从站拓扑结构的准确度较低。发明内容
[0004] 有鉴于此,本申请实施例提供了一种解析拓扑结构的方法及装置,可以解决判断从站拓扑结构的准确度较低的技术问题。
[0005] 本申请实施例的第一方面提供了一种解析拓扑结构的方法,包括:
[0006] 向每个从站发送第一报文,获取所述从站传回的第二报文,根据所述第二报文获取所述从站的第一数量和第一排列顺序,其中,所述第一报文被每个从站处理后得到所述第二报文;
[0007] 当所述从站的第一数量不为0时,则按照所述第一排列顺序获取所述每个从站对应寄存器中的多个端口的连接状态;
[0008] 根据所述每个从站对应寄存器中的多个端口的连接状态以及所述从站的第一排列顺序获取所述从站的拓扑结构。
[0009] 本申请实施例的第二方面提供了一种解析拓扑结构的装置,包括:
[0010] 第一计算单元,用于向每个从站发送第一报文,获取所述从站传回的第二报文,根据所述第二报文获取所述从站的第一数量和第一排列顺序,其中,所述第一报文被每个从站处理后得到所述第二报文;
[0011] 获取单元,用于当所述从站的第一数量不为0时,则按照所述第一排列顺序获取所述每个从站对应寄存器中的多个端口的连接状态;
[0012] 第二计算单元,用于根据所述每个从站对应寄存器中的多个端口的连接状态以及所述从站的第一排列顺序计算所述从站的拓扑结构。
[0013] 本申请实施例的第三方面提供了一种终端设备,包括存储器、现场可编程阵列、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。
[0014] 本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述方法的步骤。
[0015] 本申请实施例与现有技术相比存在的有益效果是:在本申请中,通过主站向每个从站发送第一报文,获取从站传回的第二报文,根据所述第二报文获取所述从站的第一数量和第一排列顺序,当所述从站的第一数量不为0时,则按照所述第一排列顺序获取每个从站对应寄存器中的多个端口的连接状态,根据每个从站对应寄存器中的多个端口的连接状态以及所述从站的第一排列顺序计算所述从站的拓扑结构。本申请根据从站传回的第二报文获取从站端口的连接状态和排列顺序,以获取从站的拓扑结构,实现了主站自动获取拓扑结构的方法,通过上述方式可获得EtherCAT系统中复杂多变的拓扑结构,与传统的技术相比,提高了获取从站拓扑结构的准确度。附图说明
[0016] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0017] 图1示出了本申请提供的一种解析拓扑结构的系统的示意图;
[0018] 图2示出了本申请提供的一种解析拓扑结构的系统中主站控制器的示意性流程图
[0019] 图3示出了本申请提供的一种解析拓扑结构的方法的示意性流程图;
[0020] 图4示出了本申请提供的一种解析拓扑结构的方法的第二报文数据结构示意图;
[0021] 图5示出了本申请提供的一种解析拓扑结构的方法中步骤301的具体示意性流程图;
[0022] 图6a示出了本申请提供的一种解析拓扑结构的方法中拓扑结构连接示意图;
[0023] 图6b示出了本申请提供的一种解析拓扑结构的方法中拓扑结构连接示意图;
[0024] 图7示出了本申请提供的另一种解析拓扑结构的方法的示意性流程图;
[0025] 图8示出了本申请提供的一种解析拓扑结构的装置的示意图;
[0026] 图9示出了本申请提供的一种终端设备的示意图。

具体实施方式

[0027] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0028] 应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0029] 还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0030] 如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0031] 另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0032] 在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0033] EtherCAT是一个以以太网为基础的开放架构的现场总线系统。EtherCAT为系统的实时性能和拓扑的灵活性树立了新的标准,同时,降低了现场总线的使用成本。EtherCAT的特点还包括高精度设备同步,可选线缆冗余,和功能性安全协议(SIL3)。从以太网的度看,EtherCAT总线网段只是一个可接收和发送以太网的大型以太网设备。但是,该“设备”不包含带下游微处理器的单个以太网控制器,而只包含大量的EtherCAT从站。与其它任何以太网一样,EtherCAT不需要通过交换机就可以建立通讯,因而产生一个纯粹的EtherCAT系统。EtherCAT在网络拓扑结构方面没有任何限制,最多65535个节点可以组成线型、总线型、树型、星型或者任意组合的拓扑结构。
[0034] 如背景技术的相关介绍,在EtherCAT主站初始化时,需要获知从站的拓扑结构,以实现后续的通信。而传统技术中,往往是通过判断从站在传回报文时对应从站的排列顺序情况判断拓扑结构或通过人工统计从站的拓扑结构,例如:当所述报文是最后一个从站传回时,则认为当前从站拓扑结构为环形拓扑结构,当所述报文是第一个从站传回时,则认为当前从站拓扑结构为总线型拓扑结构。而上述判断方法仅仅只能判断两种拓扑结构,而对于EtherCAT中复杂多变的拓扑结构而言,获取从站拓扑结构的准确度较低。为了解决上述问题,本申请提供了一种解析拓扑结构的方法、系统、终端设备以及计算机可读存储介质。以实现对现场总线系统中复杂多变的拓扑结构进行准确判断。
[0035] 本申请实施例提供的一种解析拓扑结构的方法可以应用于笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等可应用于自动化控制的终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
[0036] 可以理解的是,本申请实施例提供的一种解析拓扑结构的方法不仅可以应用于上述以太网控制自动化技术中,也可以应用于一切类似上述以太网控制自动化技术的系统当中,上述以太网控制自动化技术的应用场景仅仅是起实例作用,并不对其具体的应用场景做任何限定。
[0037] 如图1本申请提供了一种解析拓扑结构的系统1,请参见图1,图1示出了本申请提供的一种解析拓扑结构的系统的示意图,如图1所示一种解析拓扑结构的系统包括:主站Master、从站Slave1、从站Slave2、从站Slave3、从站Slave4、从站Slave5以及从站Slave6。图1仅仅是一种解析拓扑结构的系统的示意图,对于图中主站和从站的数量、类型以及位置,拓扑结构等等不做任何限定。
[0038] 所述主站Master与多个从站间采用全双工通信,主站Master发送包含网络所有从站数据的报文,所述报文按照顺序流过网络上的所有从站节点,当它到达最后一个从站节点时,所述报文将被再次返回主站Master。当所述报文每经过一个从站时,当前从站处理所述报文中的对应的子报文数据。每个从站读出数据并将响应数据插入到所述报文中。
[0039] 主站Master控制器可由中央处理器(Central Processing Unit,CPU)以及多个现场可编程门阵列(Field-Programmable Gate Array,FPGA)构成,所述中央处理器负责应用层数据(软件逻辑)的处理,所述现场可编程门阵列负责数据链路层(硬件逻辑)的处理,请参见图2,图2示出了本申请提供的一种解析拓扑结构的系统中主站控制器的示意性流程图,如图2所示主站的处理事务被分为两个逻辑区,其中,软件逻辑层由中央处理器负责处理,硬件逻辑层由现场可编程门阵列负责处理,所述硬件逻辑层分为六个功能块,分别包括:发送缓存41,控制/状态42、接收缓存43、帧发送模块44、时间计算45和帧接收模块46。
[0040] EtherCAT从站控制器主要包括MII、EBUS接口,EtherCAT数据帧处理单元,现场总线内存管理单元(FMMU,Fliedbus Memory Management Unit),存储同步管理通道(SM,SyncManager),分布时钟,PDI接口,ESC地址空间(包括寄存器和用户数据存储器),EEPROM控制,以及状态控制、中断和物理层管理等部分。
[0041] 应用于上述硬件环境下,本申请提出了一种解析拓扑结构的方法,请参见图3,图3示出了本申请提供的一种解析拓扑结构的方法的示意性流程图,作为示例而非限定,该方法可以应用于上述主站Master中。
[0042] 如图3所示,该方法可以包括如下步骤:
[0043] 步骤301,向每个从站发送第一报文,获取所述从站传回的第二报文,根据所述第二报文获取所述从站的第一数量和第一排列顺序,其中,所述第一报文被每个从站处理后得到所述第二报文。
[0044] 如图1所示,主站Master向所述每个从站发送第一报文,所述第一报文中包含所述每个从站对应的子报文,所述每个从站的子报文都被包含在一个EtherCAT数据报文的有效载荷区。所述第一报文由一个EtherCAT头和多个EtherCAT子报文构成,每个子报文对应一个从站。所述第一报文流经从站Slave1、从站Slave2、从站Slave3、从站Slave4、从站Slave5以及从站Slave6,多个从站分别处理所述第一报文中对应子报文,并将相应信息插入所述第一报文中,形成所述第二报文,最终传回至主站Master。主站Master获取从站传回的第二报文,根据所述第二报文获取所述从站的第一数量和第一排列顺序。其中,所述第二报文的数据结构,请参见图4,图4示出了本申请提供的一种解析拓扑结构的方法的第二报文数据结构示意图,如图4所示,所述第二报文B的数据结构包括以太网帧头A(包括目的地址、源地址以及帧类型)、EtherCAT头、EtherCAT数据以及帧校验序列FCS。所述EtherCAT头包括EtherCAT数据长度、保留位以及类型;所述EtherCAT数据包括多个子报文,每个所述子报文对应不同的从站,每个从站各自处理相应的子报文,所述子报文包括子报文头、数据、工作计数器WKC(WKC,Working Counter);所述子报文头包括命令、索引、地址区、长度、保留位R、后续报文标志M以及状态位。
[0045] 具体地,所述根据所述第二报文获取所述从站的第一数量和第一排列顺序,包括以下步骤,请参见图5,图5示出了本申请提供的一种解析拓扑结构的方法中步骤301的具体示意性流程图,作为示例而非限定,该方法可以应用于上述主站Master中。
[0046] 如图5所示,该方法可以包括如下步骤:
[0047] 步骤3011,获取所述第二报文中的工作计数器的数值,将所述工作计数器的数值作为所述从站的第一数量,所述工作计数器用于统计所述第一报文被所述从站处理的次数。
[0048] 每个EtherCAT子报文中都包含一个工作计数器WKC,WKC记录了EtherCAT子报文在主站和从站的一次通信结束后被从站操作的次数,每一个通信服务子报文都有一个预期的WKC,WKC的预期值由主站Master设置。当子报文被发送时,WKC的值为0;经过从站时,根据操作类型和操作结果的不同,WKC的值会有一个相应的增量;当子报文返回到主站之后,主站根据子报文中的工作计数器的值和工作计数器的预期值是否相等来判断子报文是否被有效处理。故本申请可通过获取所述第二报文中的工作计数器的数值,将所述工作计数器的数值作为所述从站的第一数量。
[0049] 步骤3012,获取所述第二报文中从站节点地址的第二排列顺序,将所述第二排列顺序作为所述从站的第一排列顺序。
[0050] 所述第二报文在初始化时,EtherCAT协议根据预设的每个从站节点地址的第二排列顺序将所述第二排列数据编译至每个子报文的目的地址,所述第二排列顺序为所述第二报文访问多个从站的顺序,故本申请可将所述第二报文中从站节点地址的第二排列顺序作为所述从站的第一排列顺序。
[0051] 步骤302,当所述从站的第一数量不为0时,则按照所述第一排列顺序获取所述每个从站对应寄存器中的多个端口的连接状态。
[0052] 主站按照所述第一排列顺序依次读取所述每个从站对应寄存器中的多个端口的连接状态。
[0053] 优选地,主站读取的寄存器可以是数据链路状态寄存器,而所述数据链路状态寄存器往往包括四个端口port0,port1,port2,port3,所述主站分别读取上述四个端口的连接状态。
[0054] 具体地,所述按照所述第一排列顺序获取所述每个从站对应寄存器中的多个端口的连接状态,具体包括:获取每个所述寄存器中表征端口连接状态的比特信息,根据所述比特信息的值确定每个从站对应寄存器中的多个端口的连接状态,所述比特信息采用二进制数制,每位比特信息的值代表不同端口的连接状态。
[0055] 主站读取所述从站寄存器中表征每个端口连接状态的二进制比特流,所述比特流包含所述比特信息,每两位比特信息表征一个端口的连接状态,例如:当主站读取到当前寄存器表征多个端口连接状态的比特流为01100101,其中,第一位和第二位的比特信息分别代表了端口port0的回路状态和通信状态,当回路状态和通信状态都处于连接状态时,则表示端口port0处于连接状态,否则,表示端口port0处于未连接状态。其中,第一位的比特信息0和1分别代表端口port0的回路状态为开启和关闭,第二位的比特信息0和1分别代表端口port0通信状态未连接和已连接,即当第一位比特值为0和第二比特值为1时,表示端口port0处于连接状态。而端口port1的连接状态可根据第三位和第四位比特信息进行判断,以此类推,得到所述寄存器四个端口的连接状态。
[0056] 步骤303,根据所述每个从站对应寄存器中的多个端口的连接状态以及所述从站的第一排列顺序获取所述从站的拓扑结构。
[0057] 主站根据所述每个从站对应寄存器中的多个端口的连接状态以及所述从站的第一排列顺序获取所述从站的拓扑结构。
[0058] 具体地,所述根据所述每个从站对应寄存器中的多个端口的连接状态以及所述从站的第一排列顺序计算所述从站的拓扑结构,具体包括:根据所述每个从站对应寄存器中处于连接状态端口的第二数量以及所述从站的第一排列顺序获取从站的拓扑结构。
[0059] 主站获取所述每个从站对应寄存器中处于连接状态端口的第二数量,当得到所述每个从站对应寄存器中处于连接状态端口的第二数量后,可根据所述从站的第一排列顺序,依次连接各个寄存器的端口形成从站的拓扑结构。
[0060] 具体地,所述根据所述每个从站对应寄存器中处于连接状态端口的第二数量以及所述从站的第一排列顺序获取从站的拓扑结构,具体包括:
[0061] 将所述第一排列顺序为首位的从站确定为起始节点从站;
[0062] 根据所述每个从站对应寄存器中处于连接状态端口的第二数量依次连接对应的子节点从站得到所述从站的拓扑结构。
[0063] 由所述第一排列顺序为首位的从站确定为起始节点从站,依次连接对应的子节点从站得到所述从站的拓扑结构。当寄存器中处于连接状态端口的数量为1,表示此端口为末端节点;当寄存器中处于连接状态端口的数量为2,表示当前端口有一个子节点从站;当寄存器中处于连接状态端口的数量为3,表示当前端口有两个子节点从站,以此类推。
[0064] 具体地,所述根据所述每个从站对应寄存器中处于连接状态端口的第二数量依次连接对应的子节点从站得到所述从站的拓扑结构,包括:
[0065] 将所述每个从站对应寄存器中处于连接状态端口的第二数量减1得到对应子节点从站的第三数量;
[0066] 根据所述每个所述从站的所述对应子节点从站的第三数量依次连接得到所述从站的拓扑结构。
[0067] 由于每个端口必定与上一个节点从站连接,故将所述每个从站对应寄存器中处于连接状态端口的第二数量减1得到对应子节点从站的第三数量。按照从站的排列顺序依次连接对应子节点从站得到所有从站的拓扑结构。请参见图6a和图6b,图6a示出了本申请提供的一种解析拓扑结构的方法中拓扑结构连接示意图,图6b示出了本申请提供的一种解析拓扑结构的方法中拓扑结构连接示意图,如图6a所示,根据所述每个从站对应子节点从站的第三数量得到如图6a所示的主从站拓扑关系,再根据从站间的第一排列顺序依次连接各个从站的子节点从站得到如图6b所示的从站拓扑结构。
[0068] 在本实施例中,通过主站向每个从站发送第一报文,获取从站传回的第二报文,根据所述第二报文获取所述从站的第一数量和第一排列顺序,当所述从站的第一数量不为0时,则按照所述第一排列顺序获取所述每个从站对应寄存器中的多个端口的连接状态,根据所述每个从站对应寄存器中的多个端口的连接状态以及所述从站的第一排列顺序计算所述从站的拓扑结构。本申请根据从站传回的第二报文获取所述从站端口的连接状态和排列顺序,以获取所述从站的拓扑结构,实现了主站自动获取拓扑结构的方法,通过上述方式可获得EtherCAT系统中复杂多变的拓扑结构,与传统的技术相比,提高了获取从站拓扑结构的准确度。
[0069] 可选地,在上述图3所示实施例的基础上,所述向每个从站发送报文,根据所述报文获取所述从站的第一数量和第一排列顺序之后,还包括如下步骤,请参见图7,图7示出了本申请提供的另一种解析拓扑结构的方法的示意性流程图,作为示例而非限定,该方法可以应用于上述主站Master中。其中,本实施例中步骤701、步骤703以及步骤704与上一实施例中步骤301至步骤303相同,具体请参阅上一实施例中步骤301至步骤303的相关描述,此处不赘述。
[0070] 如图7所示,该方法可以包括如下步骤:
[0071] 步骤701,向每个从站发送第一报文,获取所述从站传回的第二报文,根据所述第二报文获取所述从站的第一数量和第一排列顺序,其中,所述第一报文被每个从站处理后得到所述第二报文。
[0072] 步骤702,当所述从站的第一数量为0时,则确定所述从站不存在拓扑结构。
[0073] 当所述从站的第一数量为0,表示当前系统中没有从站或者没有处于连接状态的从站,故无需获取当前从站的拓扑结构,则可确定所述从站不存在拓扑结构。
[0074] 步骤703,当所述从站的第一数量不为0时,则按照所述第一排列顺序获取所述每个从站对应寄存器中的多个端口的连接状态。
[0075] 步骤704,根据所述每个从站对应寄存器中的多个端口的连接状态以及所述从站的第一排列顺序获取所述从站的拓扑结构。
[0076] 在本实施例中,通过主站向每个从站发送第一报文,获取从站传回的第二报文,根据所述第二报文获取所述从站的第一数量和第一排列顺序,当所述从站的第一数量为0时,则确定所述从站不存在拓扑结构,当所述从站的第一数量不为0时,则按照所述第一排列顺序获取所述每个从站对应寄存器中的多个端口的连接状态。通过上述方式,实现了根据预先判断从站的数量,进而进行不同的运算流程的方法,避免在计算拓扑结构时,造成不必要的运算负载,提高了获取从站拓扑结构的效率。
[0077] 如图8本申请提供了一种解析拓扑结构的装置8,请参见图8,图8示出了本申请提供的一种解析拓扑结构的装置的示意图,如图8所示一种解析拓扑结构的装置包括:
[0078] 第一获取单元81,用于向每个从站发送第一报文,获取所述从站传回的第二报文,根据所述第二报文获取所述从站的第一数量和第一排列顺序,其中,所述第一报文被每个从站处理后得到所述第二报文;
[0079] 第二获取单元82,用于当所述从站的第一数量不为0时,则按照所述第一排列顺序获取所述每个从站对应寄存器中的多个端口的连接状态;
[0080] 解析单元83,用于根据所述每个从站对应寄存器中的多个端口的连接状态以及所述从站的第一排列顺序获取所述从站的拓扑结构。
[0081] 本申请提供的一种解析拓扑结构的装置,通过主站向每个从站发送第一报文,获取从站传回的第二报文,根据所述第二报文获取所述从站的第一数量和第一排列顺序,当所述从站的第一数量不为0时,则按照所述第一排列顺序获取每个从站对应寄存器中的多个端口的连接状态,根据每个从站对应寄存器中的多个端口的连接状态以及所述从站的第一排列顺序计算所述从站的拓扑结构。本申请根据从站传回的第二报文获取从站端口的连接状态和排列顺序,以获取从站的拓扑结构,实现了主站自动获取拓扑结构的方法,通过上述方式可获得EtherCAT系统中复杂多变的拓扑结构,与传统的技术相比,提高了获取从站拓扑结构的准确度。
[0082] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0083] 图9示出了本申请提供的一种终端设备的示意图。如图9所示,该实施例的一种终端设备9包括:处理器90、存储器91、现场可编程门阵列92以及存储在所述存储器91中并可在所述处理器90上运行的计算机程序93,例如一种解析拓扑结构的程序。所述处理器90执行所述计算机程序93时实现上述各个一种解析拓扑结构的方法实施例中的步骤,例如图3所示的步骤301至步骤303。或者,所述处理器90执行所述计算机程序93时实现上述各装置实施例中各单元的功能,例如图8所示单元81至83的功能。
[0084] 示例性的,所述计算机程序93可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器91中,并由所述处理器90执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序93在所述一种终端设备9中的执行过程。例如,所述计算机程序93可以被分割成的具体功能如下:
[0085] 第一计算单元,用于向每个从站发送第一报文,获取从站传回的第二报文,根据所述第二报文获取所述从站的第一数量和第一排列顺序,其中,所述第一报文被每个从站处理后得到所述第二报文;
[0086] 获取单元,用于当所述从站的第一数量不为0时,则按照所述第一排列顺序获取每个从站对应寄存器中的多个端口的连接状态;
[0087] 第二计算单元,用于根据每个从站对应寄存器中的多个端口的连接状态以及所述从站的第一排列顺序计算所述从站的拓扑结构。
[0088] 所述一种终端设备9可以是桌上型计算机、笔记本、掌上电脑及服务器等计算设备。所述一种终端设备可包括,但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是一种终端设备9的示例,并不构成对一种终端设备9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种终端设备还可以包括输入输出设备、网络接入设备、总线等。
[0089] 所称处理器90可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0090] 所述存储器91可以是所述一种终端设备9的内部存储单元,例如一种终端设备9的硬盘或内存。所述存储器91也可以是所述一种终端设备9的外部存储设备,例如所述一种终端设备9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器91还可以既包括所述一种终端设备9的内部存储单元也包括外部存储设备。所述存储器91用于存储所述计算机程序以及所述一种终端设备所需的其他程序和数据。所述存储器91还可以用于暂时地存储已经输出或者将要输出的数据。
[0091] 现场可编程门阵列92(Field-Programmable Gate Array,FPGA),即,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。现场可编程门阵列92采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。现场可编程门阵列92是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,现场可编程门阵列92具有不同的结构。FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。现场可编程门阵列92的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了现场可编程门阵列92所能实现的功能,现场可编程门阵列92允许无限次的编程。
[0092] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0093] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0094] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0095] 在本申请所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0096] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0097] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0098] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0099] 以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之间。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈