首页> 中国专利> 面向机器人数字化车间应用的冗余通讯网络实现方法

面向机器人数字化车间应用的冗余通讯网络实现方法

摘要

本发明涉及面向机器人数字化车间应用的冗余通讯网络实现方法。将机器人数字化车间内所有控制节点的冗余网络接口,以全双工链路的连接方式分别组成两个独立且拓扑结构无关联的冗余网络。控制节点内的冗余发送模块复制主数据包并构建两帧数据包内容完全一致的数据帧,同时向发送的数据帧尾部添加冗余控制帧尾。控制节点内的冗余接收模块提取数据帧中的冗余控制帧尾,并根据冗余控制帧尾内的数据信息,丢弃重复的冗余帧。本发明在已有控制网络基础上,通过添加软件功能模块的方式实现冗余通讯网络的设计,保证了机器人数字化车间应用控制网络内数据传输与控制信号传输的实时性与可靠性,并且具有成本低、适用范围广的优点,有广泛的应用前景。

著录项

  • 公开/公告号CN115685727A

    专利类型发明专利

  • 公开/公告日2023-02-03

    原文格式PDF

  • 申请/专利权人 中国科学院沈阳自动化研究所;

    申请/专利号CN202110868735.6

  • 申请日2021-07-30

  • 分类号G05B9/03;

  • 代理机构沈阳科苑专利商标代理有限公司;

  • 代理人王倩

  • 地址 110016 辽宁省沈阳市沈河区南塔街114号

  • 入库时间 2023-06-19 18:32:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-02-03

    公开

    发明专利申请公布

说明书

技术领域

本发明属于网络通信领域,具体涉及一种面向机器人数字化车间应用的冗余通讯网络实现方法。

背景技术

智能制造已成为全球制造业竞争的战略制高点,数字化车间技术是智能制造的核心内容之一,数字化车间技术具有改善生产的组织与管理,提高制造系统的柔性,提高数字化设备的效率等特点特征,是降低成本、提高自动化系统应用范围的核心关键技术,对构建低成本、高可靠、高灵活的智能制造系统,推动工业化与信息化深度融合具有重要意义。近年来,我国数字化车间关键技术研究与产品研制都取得了长足进步,其中最为典型的应用即为与机器人智能制造生产过程相融合的面向机器人数字化车间应用,因此研究解决面向机器人数字化车间应用中所存在的主要问题,对推动数据化车间技术发展具有重要意义。

随着机器人工业生产技术的日益复杂,生产控制网络内控制节点数量不断增加,节点之间的数据交互量亦成几何倍数增涨,如何保证整个网络内数据传输与控制信号传输的实时性与可靠性成为面向机器人数字化车间技术发展过程中亟待解决的问题。

目前传统的冗余通讯网络解决方案都存在其自身的局限和弊端,例如传统的热备份切换机制,其切换时间较长无法实现零缝隙时间切换,无法满足机器人数字化车间智能制造生产过程中对控制信号高实时性的需求;基于并行冗余协议的冗余网络方案,其虽然可以解决实时性的问题,但其增加了双网监测预警的难度,无法对于两个冗余网络进行单独识别,并且对于已有的控制网络来说,进行该方案的冗余改造,需要添加额外的冗余设备,导致其建设难度高、成本大;而基于高可用性无缝冗余协议的冗余网络方案,其要求冗余网络需采用环形网络拓扑结构,而无法支持包括星型、网状网络在内的其他网络拓扑结构,无法适应面向机器人数字化车间实际应用中网络的复杂结构。

发明内容

针对现有技术中存在的上述不足之处,本发明要解决的技术问题是提供一种面向机器人数字化车间应用的冗余通讯网络实现方法,主要用于保证面向机器人数字化车间应用中控制网络内数据传输和控制信号传输的高可靠性和高实时性。

本发明为实现上述目的所采用的技术方案:面向机器人数字化车间应用的冗余通讯网络实现方法,包括以下步骤:

将机器人数字化车间内所有控制节点的冗余网络接口,以全双工链路的连接方式分别组成2个独立且拓扑结构无关联的冗余通讯网络;

对于任一控制节点:

冗余发送模块复制主数据包,构建两个数据包内容相同的冗余数据帧,并且向发送的冗余数据帧尾部添加冗余控制帧尾;

冗余接收模块提取冗余数据帧中的冗余控制帧尾,并根据冗余控制帧尾内的数据信息,丢弃重复的冗余数据帧。

所述冗余通讯网络为包括星型、环型或者网状在内的任意拓扑结构。

两个冗余通讯网络的网络结构相同。

所述冗余发送模块组成的2个冗余数据帧中数据段内容相同,数据帧头部分由控制节点中发送数据帧的网络适配器添加。

所述冗余接收模块在接收到控制节点网络适配器传输的冗余数据帧后,提取出冗余数据帧的冗余控制帧尾,并采用冗余丢弃算法处理,从而丢弃重复的冗余帧;所述冗余丢弃算法包括以下步骤:

冗余接收模块首先读取冗余控制帧尾内部的节点号和序列号字段,通过节点号字段找寻到冗余接收模块内部对应管理维护的序列号缓存表,然后将序列号字段与冗余接收模块内部管理维护的序列号缓存表进行比较;

如果序列号缓存表内没有该序列号,表明该序列号的冗余数据帧第一次到达,则冗余接收模块接收该冗余数据帧,且将该序列号更新至序列号缓存表;

如果序列号缓存表内部存在该序列号,冗余接收模块则丢弃该序列号对应的冗余数据帧。

控制节点内的冗余监测模块分别监测记录控制节点通过网络适配器向2个冗余通讯网络内发送和接收的冗余数据帧数量;如果连续设定时间段内,冗余监测模块未检测到冗余通讯网络内的冗余数据帧接收和发送活动,冗余监测模块产生链路故障报警,并通知控制节点。

面向机器人数字化车间应用的冗余通讯网络控制节点,在网络层与数据链路层之间分别设有冗余发送模块和冗余接收模块;

所述冗余发送模块,用于接收网络层发送的主数据包,复制主数据包,构建两个数据包内容相同的冗余数据帧,并且向发送的冗余数据帧尾部添加冗余控制帧尾,发送至数据链路层;

冗余接收模块,用于通过数据链路层接收冗余数据帧,提取冗余数据帧中的冗余控制帧尾,并根据冗余控制帧尾内的数据信息,丢弃重复的冗余数据帧,发送至网络层。

面向机器人数字化车间应用的冗余通讯网络控制节点,还包括冗余监测模块,用于分别监测记录控制节点通过网络适配器向2个冗余通讯网络内发送和接收的冗余数据帧数量;如果连续设定时间段内,冗余监测模块未检测到冗余通讯网络内的冗余数据帧接收和发送活动,冗余监测模块产生链路故障报警,并通知控制节点。

所述冗余控制帧尾包括:NodeID、Sequence、LAN、Size、Type;

其中,NodeID为节点号,表示冗余数据帧中的数据包的源节点信息;Sequence为序列号;LAN为局域网标识符,以区别冗余数据帧源自的冗余通讯网络;Size表示冗余数据帧中数据内容长度;Type表示冗余帧尾类型。

所述控制节点包括网络接口Eth0和网络接口Eth1;所述网络接口Eth0和网络接口Eth1分别用于发送冗余发送模块构建完的两帧冗余数据帧至两个冗余通讯网络,以实现控制节点将实际应用数据发送至两个冗余通讯网络内部。

本发明是用来实现一种面向机器人数字化车间应用的冗余通讯网络实现方法。它具有如下优点:

1.高可靠性。本发明方法首先构建两个物理独立、互不干扰的冗余控制网络,然后将数据包复制并构建成两帧冗余数据帧,使其分别在各自的冗余控制网络内进行传输,从而实现了物理意义上的数据冗余,提高了整个网络内数据传输的可靠性。

2.高实时性。本发明方法中的主要功能模块皆是在控制节点内部处理器上通过软件实现的方法进行实现,因此整个冗余处理过程执行时间短,数据从产生端传输至应用端的延时低,并且本方法支持网络内无缝隙时间的热切换功能,从而保证整个冗余通讯网络内数据与控制信号的高实时性。

3.成本低、易于实现。本发明方法在控制节点内部执行的数据包复制、构建冗余控制帧尾、识别控制帧尾并利用冗余控制算法进行数据帧丢弃等一系列处理,皆是建立在十分成熟的冗余控制技术和数据处理技术基础之上,实现该发明方法的技术难度小,系统实现的复杂度低,且只需对控制器内部控制软件进行改进,不需要改变硬件系统平台。

附图说明

图1是本发明方法实施示例构建的冗余通讯网络结构图;

图2是本发明方法中控制节点内部数据处理流程示意图;

图3是本发明方法中冗余控制帧尾结构示意图;

图4是本发明方法中冗余丢弃算法执行流程图;

图5是本发明方法实施示例中控制节点3内部冗余接收模块管理维护的控制节点1发送冗余数据帧序列号缓存表。

具体实施方式

下面结合附图及实施示例对本发明做进一步的详细说明。

一种面向机器人数字化车间应用的冗余通讯网络实现方法,用于面向机器人数字化车间应用中冗余通讯网络的设计与构建,保证面向机器人数字化车间应用中控制网络内数据传输和控制信号传输的高可靠性和高实时性,包括以下步骤:

首先使能机器人数字化车间内所有控制节点的网络接口,确保每个控制节点具有两个或两个以上的网络接口可以进行正常的网络通讯,然后以全双工链路的连接方式分别将控制节点的网络接口连接组成两个独立且拓扑结构无关联的冗余网络,冗余网络的网络结构可以根据实际应用的需求组成环性、星型、网状网络等不同的网络结构,但需要确保两个冗余网络的网络结构相同。

网络内的控制节点将机器人数字化车间生产过程中产生的数据与控制信号以数据包的形式,通过应用层接口逐层传递至控制节点内部位于网络层与数据链路层之间的冗余发送模块,冗余发送模块复制数据包并组成两帧数据内容相一致的冗余数据帧,并在冗余数据帧尾部添加带有冗余控制信息的冗余控制帧尾,最后冗余发送模块将构建完毕的冗余数据帧通过网络适配器发送至冗余网络内部。

控制节点的网络接口分别捕获各个冗余网络内传输的冗余数据帧,并将冗余数据帧传输至控制节点内部的冗余接收模块,冗余接收模块提取出冗余数据帧的冗余控制帧尾,然后采用冗余丢弃算法对冗余控制帧尾进行处理,丢弃重复的冗余数据帧,冗余丢弃算法的具体处理流程主要分为以下两步:

第一步:提取出冗余控制帧尾内部的节点号字段与序列号字段,然后根据节点号和序列号找寻对应的冗余接收模块内部维护管理的序列号缓存表。

第二步:将序列号与缓存表进行比对,如果缓存表内没有该序列号,表明该序列号的冗余数据帧第一次到达,则冗余接收模块予以接收该冗余数据帧,且将该序列号更新至序列号缓存表;如果缓存表内部存在该序列号,冗余接收模块则丢弃该序列号对应的冗余数据帧。

控制节点内部的冗余监测模块会监测记录控制节点通过网络适配器向冗余通讯网络内发送和接收的冗余数据帧数量,如果冗余监测模块检测到冗余通讯网络内的冗余数据帧未进行接收和发送活动的时间达到报警阈值,冗余监测模块会产生链路故障报警,并通知控制节点,其中报警阈值指设定的控制节点连续未进行网络通讯活动的时间。

图1是为具体介绍本发明方法而构建的实施示例冗余通讯网络结构图,首先网络内共有5个控制节点,其中控制节点可以是工业控制器,亦可是工业服务器,但需要保证控制节点具有两个可以进行配置通讯的网络接口,然后分别将控制节点的网络接口Eth0、Eth1通过交换式以太网连接组成冗余通讯网络A、B,并为各个控制节点的网络接口分配设置IP地址,IP地址中的第三段号码表示该网络接口所示的冗余网络,其中0表示该网络接口属于冗余通讯网络A,1表示该网络接口属于冗余通讯网络B;IP地址中的第四段号码表示该控制节点的节点号,同一个控制节点的两个网络接口的第四段IP号码需保持一致。

图2是本发明方法中控制节点内部数据处理流程示意图,下面将结合图2具体介绍控制节点内部的处理流程,首先介绍冗余数据帧发送过程,控制节点将实际应用中的应用数据以数据包的形式,通过应用层接口依次沿着应用层、传输层、网络层传递至控制节点内部位于网络层与数据链路层之间的冗余发送模块,冗余发送模块复制上层传递过来的数据包并组成两帧数据内容相一致的冗余数据帧,然后在冗余数据帧尾部添加带有冗余控制信息的冗余控制帧尾,冗余控制帧尾的具体组成如图3所示,其中NodeID为节点号,表示冗余数据帧中的数据包的源节点信息;Sequence为序列号,冗余发送模块每成功将一个数据包组成两帧冗余数据帧并发送至冗余通讯网络后,序列号数值自加一;LAN为局域网标识符,后续冗余接收模块通过该标识符区别冗余数据帧源自于冗余通讯网络A亦或是冗余通讯网络B;Size表示冗余数据帧中数据内容长度;Type表示冗余帧尾类型,该字段是为网络监测分析仪器识别对应帧所设置。冗余发送模块构建完毕两帧冗余数据帧后,分别将通过控制节点的网络接口Eth0和Eth1发送至冗余通讯网络A和冗余通讯网络B,至此控制节点内部成功将实际应用数据发送至两个冗余通讯网络内部。

接下来介绍冗余数据帧接收处理过程,控制节点的网络接口分别捕获各个冗余网络内传输至控制节点的冗余数据帧,并将冗余数据帧传输至控制节点内部的冗余接收模块,冗余接收模块提取出冗余数据帧的冗余控制帧尾,然后采用冗余丢弃算法对冗余控制帧尾进行处理,下面将结合图4所示的冗余丢弃算法的执行流程图进行具体介绍:

首先冗余接收模块从冗余控制帧尾中提取出节点号与序列号字段,然后根据节点号找寻冗余模块内部管理维护的序列号缓存表,而在传统的并行冗余协议中,冗余处理模块将所有的控制节点的序列号于同一张缓存表上进行管理与维护,因此不需要根据节点号找寻序列号缓存表,但由于面向机器人数字化车间应用中,冗余通讯网络内的控制节点数量众多,同一控制节点会接收到数量庞大的其他控制节点发送的冗余数据帧,如果在一张缓存表内管理维护所有节点传输至的冗余数据帧中冗余控制帧尾序列号,一方面由于序列号众多不方便管理维护,另一方面亦会增加冗余数据帧的处理时间,从而影响到网络内数据的实时性,因此在本方法中控制节点内的冗余丢弃模块会根据节点号单独为接收到的其他控制节点发送的冗余数据帧,建立序列号缓存表进行维护和管理,然后根据从冗余控制帧尾中提取出节点号找寻相对应的序列号缓存表。

在本实施示例中以控制节点3接收处理控制节点1发送的冗余数据帧为例,控制节点3内部冗余接收模块内部管理维护的控制节点1序列号缓存表如图5所示,其中序列号缓存表管理维护的历史记录数取决于控制节点内部存储空间大小与处理器处理能力以及冗余数据帧在冗余网络内的最大传输时延,在本实例中结合实际应用情况和控制节点的处理能力,冗余接收模块内部管理维护的序列号缓存表内共有5条历史记录。

然后将冗余控制帧尾中提取出序列号与图5中的序列号缓存表进行比对,如果提取出的序列号在序列号缓存表内,则说明该控制节点已经通过另外的冗余通讯网络接收到相应的数据内容,而该冗余数据帧属于重复的冗余数据帧,应予以丢弃处理;如果提取出的序列号不在序列号缓存表内,则说明该控制节点第一次接收到包含该数据内容的冗余数据帧,冗余接收模块提取出冗余数据帧中的数据内容,并传输至控制节点内的上层应用,同时冗余接收模块将该序列号更新到序列号缓存表内,其中由于序列号缓存表是按照时间顺序管理维护序列号,因此只需将序列号缓存表中时间最为久远的历史记录剔除,并顺序添加新的序列号即可实现对序列号缓存表的管理维护。需要注意由于在实际应用中冗余通讯网络内部会有拥塞或丢包等情况发生,因此序列号较大的冗余数据帧可能会比序列号较小的冗余数据帧提前传输至目标节点,正如图5中所示序列号为6539的冗余数据帧比序列号6538的冗余数据帧提前到达目标节点,至此冗余接收模块已经成功接收并处理完毕冗余数据帧。

另外控制节点内部还有冗余监测模块,该模块位于冗余接收模块、冗余发送模块与数据链路层中间,负责监测记录控制节点在冗余通讯网络的数据收发情况,同时如果冗余监测模块检测到冗余通讯网络内的冗余数据帧未进行接收和发送活动的时间达到报警阈值,冗余监测模块会产生链路故障报警并通知控制节点,其中监测报警功能的具体实现方式如下:

首先冗余监测模块内部设置一个计数器作为报警计数器,同时冗余监测模块内部存在包括冗余通讯A网数据接收帧数、冗余通讯B网数据接收帧数、冗余通讯A网数据发送帧数和冗余通讯B网数据发送帧数在内的共四个变量,每当控制节点通过网络接口分别向冗余通讯网络A和冗余通讯网络B进行数据接收和发送时,上述变量会发生相应的变化;报警计数器每间隔一段时间检测上述四个变量,如果报警计数器检测上述四个变量未发生变化,则报警计数器数值加1,如果检测到上述四个变量发生变化,则报警计数器清零,如果连续一段时间控制节点未进行数据通讯,则报警计数器会不断向上累加计数,当报警计数器的计数值达到预先设计的报警阈值时,说明该控制节点的数据通讯发生链路故障,冗余监测模块会产生链路故障报警并将报警信息传输至控制节点的上层应用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号