一种EtherCAT总线高精度同步控制方法及相关装置与流程
- 国知局
- 2024-08-02 14:53:59
本发明涉及ethercat总线驱动控制,具体涉及一种ethercat总线高精度同步控制方法及装置、计算设备、计算机程序产品。
背景技术:
1、在采用ethercat总线进行自动化控制的场景中,ethercat主站与从站之间的实时通信对于确保整个系统的高精度同步和稳定运行至关重要。然而,在实际应用中,由于网络延迟、数据冲突或其他不可预测的因素,ethercat主站的实时性可能会出现抖动,导致从站未能及时接收到主站发送的位置信息。当ethercat主站的实时性抖动大,task任务耗时严重时,可能会出现当前周期从站未收到位置信息的情况,将导致指令位置突变。在极端情况下造成生产线的停机甚至设备损坏。
2、传统的解决方案通常依赖于增加缓冲区或采用简单的数据补全算法,往往无法确保数据的高精度和实时性。增加缓冲区虽然能在一定程度上缓解数据丢失的问题,但缓冲区的容量是有限的。一旦缓冲区被填满,新到来的数据就会覆盖旧的数据,导致数据丢失的风险增加。此外,缓冲区的设计通常没有考虑到数据的实时性需求,导致数据在缓冲区中停留过久,从而影响到系统的实时性能。采用如线性插值等数据补全算法,虽然能在一定程度上恢复丢失的数据,但这些算法往往基于一些简化的假设,无法准确地反映数据的真实变化。特别是在高速运动的控制系统中,数据的微小变化可能对系统的性能产生重大影响,传统的解决方案难以适应复杂多变的实际应用场景。
3、因此,需要一种更为高效的ethercat总线高精度同步控制方法,以确保在数据丢失或延迟的情况下,系统仍能保持高精度同步和稳定运行。本发明研究一种ethercat总线高精度同步控制方法,通过在从站中设置双缓存区,利用迭代逼近算法进行数据估算,以及采用数据校验和插值补偿算法进行数据补全,有效解决了ethercat主站实时性抖动大、task任务耗时严重导致的数据丢失和位置突变问题,从而确保了系统的高精度同步和稳定运行。
技术实现思路
1、鉴于上述问题,提出了本发明以便提供一种克服上述同步精度较低以及运行不稳定问题的ethercat总线高精度同步控制方法及装置、计算设备、计算机程序产品。
2、根据本发明的一个方面,提供了一种ethercat总线高精度同步控制方法,包括:
3、在ethercat从站中设置双缓存区,各缓存区包含多个存储单元,用于存储多个周期的位置数据增量,并附带校验字段;
4、当检测到当前周期的位置数据增量未接收时,基于缓存区中最近两个周期的有效位置数据增量,通过迭代逼近算法计算当前周期的位置数据增量;
5、在从站读取缓存区数据前计算数据的校验和,并与所述校验和进行对比;若校验和不匹配,切换到另一缓存区读取数据并触发数据恢复流程,从主站重新获取丢失或损坏的数据;
6、在各个ethercat通信周期结束时,从站将本周期的位置数据增量写入两个缓存区,并在写入后计算并存储新的校验和,以确保两个缓存区数据的同步;
7、从站配备高速ethercat网络接口以实现与主站的实时通信,当检测到数据丢失时,通过插值补偿算法进行数据补全。
8、在一种可选的方式中,所述通过迭代逼近算法计算当前周期的位置数据增量进一步包括:
9、设定初始估算值为上一个已知有效周期的位置数据增量,根据规则集合以及历史数据预测当前周期的位置数据增量;
10、设定遗忘因子以及权重集合,为各个历史数据点分配权重;
11、设定迭代次数,对于每个迭代步骤使用所述规则集合,基于历史数据预测当前周期的位置数据增量,得到一组预测值;
12、为每个预测值分配一个权重,计算其对应的遗忘权重、加权平均的预测增量以及权重总和;
13、根据权重总以及预测增量更新估算值;
14、迭代结束后,将最终的估算值作为当前周期的位置数据增量的估算值并输出。
15、在一种可选的方式中,所述遗忘权重的计算公式为:
16、,
17、所述加权平均的预测增量的计算公式为:
18、,
19、所述权重总和的计算公式为:
20、,
21、所述估算值更新的计算公式为:
22、,
23、其中, estimate为初始估算值,为第i个预测增量,为i个预测值的权重, forgetting_factor为遗忘因子,为第i个遗忘权重,为第i个预测值,current_time为当前的时间,为第i个预测值被赋予其初始权重的时间,为更新后的估算值,estimate为初始估算值。
24、在一种可选的方式中,所述在从站读取缓存区数据前计算数据的校验和进一步包括:
25、遍历所述缓存区数据的每个字节,将每个字节的值加到校验和;
26、若所述校验和的数据类型有大小限制,取和的低16位并进行累加得到所述校验和。
27、在一种可选的方式中,所述校验和的计算公式为:
28、,
29、其中,是数据包中第i个字节的值, n是数据包的字节数,表示取和的低16位。
30、在一种可选的方式中,所述通过插值补偿算法进行数据补全进一步包括:
31、根据每一个已知数据点构造拉格朗日基函数;
32、根据已知数据点和所述拉格朗日基函数构造拉格朗日多项式;
33、将缺失数据点的自变量值代入所述拉格朗日多项式,得到估计的函数值。
34、在一种可选的方式中,所述拉格朗日基函数为:
35、,
36、所述拉格朗日多项式为:
37、,
38、其中,是已知数据点的自变量值,是除了以外的其他已知数据点的自变量值,π表示乘积运算,是已知数据点的函数值。
39、根据本发明的另一方面,提供了一种ethercat总线高精度同步控制装置,包括:
40、双缓存区管理模块,用于在ethercat从站中设置双缓存区,各缓存区包含多个存储单元,用于存储多个周期的位置数据增量,并附带校验字段;
41、数据增量计算模块,用于当检测到当前周期的位置数据增量未接收时,基于缓存区中最近两个周期的有效位置数据增量,通过迭代逼近算法计算当前周期的位置数据增量;
42、数据恢复模块,用于在从站读取缓存区数据前计算数据的校验和,并与所述校验和进行对比;若校验和不匹配,切换到另一缓存区读取数据并触发数据恢复流程,从主站重新获取丢失或损坏的数据;
43、校验和计算模块,用于在各个ethercat通信周期结束时,从站将本周期的位置数据增量写入两个缓存区,并在写入后计算并存储新的校验和,以确保两个缓存区数据的同步;
44、数据补全模块,用于从站配备高速ethercat网络接口以实现与主站的实时通信,当检测到数据丢失时,通过插值补偿算法进行数据补全。
45、根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
46、根据本发明的再一方面,提供了一种计算机程序产品,包括至少一可执行指令,所述可执行指令使所述处理器执行上述ethercat总线高精度同步控制方法对应的操作。
47、根据本发明提供的方案,在ethercat从站中设置双缓存区,各缓存区包含多个存储单元,用于存储多个周期的位置数据增量,并附带校验字段;当检测到当前周期的位置数据增量未接收时,基于缓存区中最近两个周期的有效位置数据增量,通过迭代逼近算法计算当前周期的位置数据增量;在从站读取缓存区数据前计算数据的校验和,并与所述校验和进行对比;若校验和不匹配,切换到另一缓存区读取数据并触发数据恢复流程,从主站重新获取丢失或损坏的数据;在各个ethercat通信周期结束时,从站将本周期的位置数据增量写入两个缓存区,并在写入后计算并存储新的校验和,以确保两个缓存区数据的同步;从站配备高速ethercat网络接口以实现与主站的实时通信,当检测到数据丢失时,通过插值补偿算法进行数据补全。本发明通过在ethercat从站中设置双缓存区,并利用迭代逼近算法计算丢失的数据,提升了数据处理的精确性。迭代逼近算法基于历史数据和规则集合,能够较为准确地预测丢失的数据,从而保证系统的高精度同步控制。从站配备高速ethercat网络接口,确保与主站的实时通信,同时,当检测到数据丢失时,通过双缓存区可以迅速从另一个缓存区读取数据,减少数据恢复的时间。此外,迭代逼近算法和插值补偿算法具有较快的计算速度,能够迅速得出估算值,进一步保障系统的实时性。通过在缓存区数据中附带校验字段,并在从站读取数据前计算校验和进行对比,确保数据的完整性和准确性。当检测到校验和不匹配时,可以迅速切换到另一个缓存区读取数据,并触发数据恢复流程,从主站重新获取丢失或损坏的数据,进一步提高了系统的可靠性和稳定性。根据实际需求设定初始估算值、遗忘因子、权重集合和迭代次数等参数,可以适应不同的应用场景。根据已知数据点的数量和分布情况,通过基函数和多项式进行拟合,得到更准确的估计值。
48、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
本文地址:https://www.jishuxx.com/zhuanli/20240801/244246.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表