本说明书涉及通信领域和计算机,尤其涉及一种时钟初始化方法、装置、存储介质及电子设备。
背景技术:
1、在工业自动化生产中,由于使用到的工业机器人的机器系统越来越复杂,通常使用一种实时以太网通信协议(ethernet for control automation technology,ethercat)来实现对工业机器人的精确控制,通过一种时钟同步机制,来实现工业机器人的控制器与各执行端之间高度的时钟同步,以确保控制器和各执行端,以及各执行端之间的协调工作,实现高效的数据交换,以满足对工业机器人的高精度的运动控制。其中,控制器作为ethercat中的主站节点,各执行端作为ethercat中的从站节点。
2、但是,工业机器人经过长时间运行后,由于网络通信延迟或系统负载过高等问题,导致各从站节点时钟出现偏差,从而影响工业机器人控制系统的稳定性以及性能。
3、所以,如何在工业机器人运行过程中保持主站节点和从站节点时钟的一致性,是一个亟待解决的问题。
技术实现思路
1、本说明书实施例提供一种时钟初始化方法、装置、存储介质及电子设备,以部分解决上述现有技术存在的问题。
2、本说明书实施例采用下述技术方案:
3、本说明书提供的一种时钟初始化方法,包括:
4、主站节点获取指定从站节点的从站节点地址;
5、根据所述从站节点地址,向所述指定从站节点发送命令数据帧,以使所述指定从站节点将所述命令数据帧转发给所述指定从站节点的下一个从站节点,以及由所述下一从站节点发送给其他从站节点,并接收通过各从站节点的传输后又返回的所述命令数据帧;
6、针对每个从站节点,确定该从站节点所包含的端口接收所述命令数据帧的接收时间,作为该从站节点对应的接收时间;
7、根据每个从站节点的先后使用顺序以及每个从站节点对应的接收时间,确定所述主站节点与各从站节点所形成的数据传输链路;
8、针对每个从站节点,根据所述数据传输链路以及该从站节点对应的接收时间,确定所述主站节点将所述命令数据帧发送给该从站节点所消耗的时长,作为该从站节点对应的数据传输时长;
9、针对每个从站节点,根据该从站节点对应的数据传输时长以及所述主站节点发送命令数据帧对应的时间戳,确定该从站节点对应的本地时钟的漂移量,并将该从站节点对应的本地时钟的时钟漂移量写入到该从站节点的预设寄存器中,以通过所述寄存器中存储的时钟漂移量,对该从站节点进行时钟初始化。
10、可选地,根据每个从站节点的先后使用顺序以及每个从站节点对应的接收时间,确定所述主站节点与各从站节点所形成的数据传输链路,具体包括:
11、针对每个从站节点,将该从站节点包含的端口接收所述命令数据帧的时间进行比较,得到该从站节点包含的各端口在传输所述命令数据帧时的调用顺序;
12、根据每个从站节点包含的各端口在传输所述命令数据帧时的调用顺序以及每个从站节点的先后使用顺序,确定所述主站节点与各从站节点所形成的数据传输链路。
13、可选地,针对每个从站节点,根据所述数据传输链路以及该从站节点对应的接收时间,确定所述主站节点将所述命令数据帧发送给该从站节点所消耗的时长,作为该从站节点对应的数据传输时长,具体包括:
14、根据所述数据传输链路,确定位于该从站节点之前的各从站节点,作为各候选从站节点;
15、根据各候选从站节点对应的权重值,从所述各候选从站节点中确定用于计算该从站节点所对应的数据传输时长的参考从站节点;
16、根据所述参考从站节点以及该从站节点对应的接收时间,确定该从站节点的上一从站节点将所述命令数据帧发送给该从站节点所消耗的时长;
17、根据该从站节点的上一从站节点将所述命令数据帧发送给该从站节点所消耗的时长、所述上一从站节点对应的接收时间以及位于所述上一从站节点之前的各从站节点对应的接收时间,确定所述主站节点将所述命令数据帧发送给该从站节点所消耗的时长,作为该从站节点对应的数据传输时长。
18、可选地,根据各候选从站节点对应的权重值,从所述各候选从站节点中确定用于计算该从站节点所对应的数据传输时长的参考从站节点,具体包括:
19、针对每个候选从站节点,获取该候选从站节点在传输所述命令数据帧时使用该候选从站节点包含的各端口的使用状态信息;
20、根据所述使用状态信息,确定该候选从站节点在传输所述命令数据帧时使用该候选从站节点包含的各端口的端口个数;
21、根据所述端口个数,确定该候选从站节点对应的权重值。
22、可选地,所述方法还包括:
23、在确定该从站节点对应的数据传输时长后,将所述参考从站节点对应的权重值进行更新,并根据所述参考从站节点对应的更新后权重值,确定其他从站节点对应的数据传输时长。
24、可选地,所述方法还包括:
25、主站节点将预设的时间获取指令发送给每个从站节点,以使每个从站节点根据所述时间获取指令,将所述该从站节点的本地时钟所对应的时间发送给所述主站节点;
26、根据获取到的每个从站节点的本地时钟所对应的时间,从各从站节点中确定待调整从站节点;
27、根据所述待调整从站节点的本地时钟对应的时间、所述主站节点发送所述时间获取指令的时间戳以及预先确定出的所述待调整从站节点对应的数据传输时长,确定所述待调整从站节点的本地时钟的漂移量;
28、将所述漂移量发送给所述待调整从站节点,以使所述待调整从站节点根据所述漂移量以及预先存储在所述待调整从站节点的预设寄存器中的漂移量,对所述待调整从站节点的本地时钟的校准。
29、本说明书提供的一种时钟初始化装置,包括:
30、获取模块,用于主站节点获取指定从站节点的从站节点地址;
31、发送模块,用于根据所述从站节点地址,向所述指定从站节点发送命令数据帧,以使所述指定从站节点将所述命令数据帧转发给所述指定从站节点的下一个从站节点,以及由所述下一从站节点发送给其他从站节点,并接收通过各从站节点的传输后又返回的所述命令数据帧;
32、第一确定模块模块,用于针对每个从站节点,确定该从站节点所包含的端口接收所述命令数据帧的接收时间,作为该从站节点对应的接收时间;
33、第二确定模块模块,用于根据每个从站节点的先后使用顺序以及每个从站节点对应的接收时间,确定所述主站节点与各从站节点所形成的数据传输链路;
34、计算模块,用于针对每个从站节点,根据所述数据传输链路以及该从站节点对应的接收时间,确定所述主站节点将所述命令数据帧发送给该从站节点所消耗的时长作为该从站节点对应的数据传输时长;
35、初始化模块,用于针对每个从站节点,根据该从站节点对应的数据传输时长以及所述主站节点发送命令数据帧对应的时间戳,确定该从站节点对应的本地时钟的漂移量,并将该从站节点对应的本地时钟的时钟漂移量写入到该从站节点的预设寄存器中,以通过所述寄存器中存储的时钟漂移量,对该从站节点进行时钟初始化。
36、可选地,所述计算模块具体用于,根据所述数据传输链路,确定位于该从站节点之前的各从站节点,作为各候选从站节点;根据各候选从站节点对应的权重值,从所述各候选从站节点中确定用于计算该从站节点所对应的数据传输时长的参考从站节点;根据所述参考从站节点以及该从站节点对应的接收时间,确定该从站节点的上一从站节点将所述命令数据帧发送给该从站节点所消耗的时长;根据该从站节点的上一从站节点将所述命令数据帧发送给该从站节点所消耗的时长、所述上一从站节点对应的接收时间以及位于所述上一从站节点之前的各从站节点对应的接收时间,确定所述主站节点将所述命令数据帧发送给该从站节点所消耗的时长,作为该从站节点对应的数据传输时长。
37、本说明书提供的一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的一种时钟初始化方法。
38、本说明书提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的一种时钟初始化方法。
39、本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
40、本说明书实施例中主站节点根据指定从站节点的从站节点地址向指定从站节点发送命令数据帧,以使指定从站节点将命令数据帧转发给指定从站节点的下一个从站节点,以及由下一从站节点发送给其他从站节点,并接收通过各从站节点的传输后又返回的命令数据帧,针对每个从站节点,根据该从站节点所包含的端口接收命令数据帧的接收时间,确定主站节点与各从站节点所形成的数据传输链路,从而,根据数据传输链路以及该从站节点对应的接收时间,以及该从站节点对应的数据传输时长以及主站节点发送命令数据帧对应的时间戳,得到该从站节点对应的本地时钟的漂移量,并将该从站节点对应的本地时钟的时钟漂移量写入到该从站节点的预设寄存器中,以通过寄存器中存储的时钟漂移量,对该从站节点进行时钟初始化。
41、在此方法中,通过主站节点的时间作为参考,并根据主站节点与各从站节点所形成的数据传输链路,进而,得到每个从站节点对应的本地时钟的漂移量,并且,通过将漂移量写入对应从站节点的预设寄存器中的方式,来对每个从站节点进行时钟初始化,可以更加快速高效地完成主从站节点时钟同步,以提高工业机器人的工作效率。
1.一种时钟初始化方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,根据每个从站节点的先后使用顺序以及每个从站节点对应的接收时间,确定所述主站节点与各从站节点所形成的数据传输链路,具体包括:
3.如权利要求1所述的方法,其特征在于,针对每个从站节点,根据所述数据传输链路以及该从站节点对应的接收时间,确定所述主站节点将所述命令数据帧发送给该从站节点所消耗的时长,作为该从站节点对应的数据传输时长,具体包括:
4.如权利要求3所述的方法,其特征在于,根据各候选从站节点对应的权重值,从所述各候选从站节点中确定用于计算该从站节点所对应的数据传输时长的参考从站节点,具体包括:
5.如权利要求3所述的方法,其特征在于,所述方法还包括:
6.如权利要求1~5任一项所述的方法,其特征在于,所述方法还包括:
7.一种时钟初始化装置,其特征在于,包括:
8.如权利要求7所述的装置,其特征在于,所述计算模块具体用于,根据所述数据传输链路,确定位于该从站节点之前的各从站节点,作为各候选从站节点;根据各候选从站节点对应的权重值,从所述各候选从站节点中确定用于计算该从站节点所对应的数据传输时长的参考从站节点;根据所述参考从站节点以及该从站节点对应的接收时间,确定该从站节点的上一从站节点将所述命令数据帧发送给该从站节点所消耗的时长;根据该从站节点的上一从站节点将所述命令数据帧发送给该从站节点所消耗的时长、所述上一从站节点对应的接收时间以及位于所述上一从站节点之前的各从站节点对应的接收时间,确定所述主站节点将所述命令数据帧发送给该从站节点所消耗的时长,作为该从站节点对应的数据传输时长。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-6任一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1-6任一项所述的方法。