本发明涉及通信,尤其涉及一种时间同步方法、装置和控制器。
背景技术:
1、在工业控制方面,控制系统需要部署的设备数量较多,不同设备之间存在通信交互。比如,在风力发电机组控制系统中,传感器设备需要获取风机外界信息,控制设备根据与其他设备通信交互获得的交互信息,以及获取到的风机外界信息实时调整控制策略,这就需要设备之间、以及设备与外界信息之间的时间同步。
2、现有技术中,通常设置一个时间标准源,该时间标准源将标准时间发送给各设备,各设备根据接收到的标准时间自行校正时间。现有方法无法保证时间同步结果的精度。
技术实现思路
1、本发明实施例提供了一种时间同步方法、装置和控制器,能够有效提高控制系统中各设备之间的时间同步精度。
2、第一方面,本发明实施例提供一种时间同步方法,该时间同步方法包括:执行通信链路上相邻两个设备之间的时间同步流程,相邻两个设备包括第一设备以及第二设备,时间同步流程包括:
3、第一设备将第一当前时间和初始传输延时发送给第二设备,第二设备和第一设备基于fpga硬件平台进行通讯;
4、第二设备根据第一当前时间和初始传输延时更新本地时间,并向第一设备返回更新后的本地时间;
5、第一设备根据第二当前时间和第二设备返回的本地时间计算第一传输延时,并将第三当前时间和第一传输延时发送给第二设备;
6、第二设备根据第三当前时间和第一传输延时更新本地时间,完成与第一设备的时间同步。
7、在第一方面的一种可能的实施方式中,初始传输延时为0,第一设备根据第二当前时间和第二设备返回的本地时间计算第一传输延时,包括:第一设备计算第二当前时间和第二设备返回的本地时间的第一差值,将第一差值和2的比值作为第一传输延时。
8、在第一方面的一种可能的实施方式中,在第二设备根据第三当前时间和第一传输延时更新本地时间,完成与第一设备的时间同步之后,时间同步方法还包括:第二设备周期性地向第一设备发送本地时间;第一设备根据第四当前时间和第二设备发送的本地时间计算第二传输延时,并将第五当前时间和第二传输延时发送给第二设备;第二设备根据第五当前时间和第二传输延时更新本地时间,完成对第一设备的时间同步修正。
9、在第一方面的一种可能的实施方式中,第一设备根据第四当前时间和第二设备发送的本地时间计算第二传输延时,包括:第一设备计算第四当前时间和第二设备发送的本地时间的第二差值,将第二差值作为第二传输延时;或者,第一设备计算第四当前时间和第二设备发送的本地时间的第二差值,将第二差值和第一设备上次确定的传输延时的平均值作为第二传输延时。
10、在第一方面的一种可能的实施方式中,第二设备周期性地向第一设备发送本地时间,包括:第二设备以第一频率周期性地向第一设备发送本地时间,第一频率由第二设备的晶振精度和误差精度确定。
11、在第一方面的一种可能的实施方式中,第二设备周期性地向第一设备发送本地时间,包括:第二设备在系统处于通讯空闲的第一运行状态下,以第二频率周期性地向第一设备发送本地时间;第二设备在系统处于关键运行的情况下,以第三频率周期性地向第一设备发送本地时间;其中,第二频率大于第三频率。
12、在第一方面的一种可能的实施方式中,在第二设备根据第三当前时间和第一传输延时更新本地时间,完成与第一设备的时间同步之后,时间同步方法还包括:第一设备在与第二设备之间的通信链路发生中断的情况下,清除当前传输延时,并将第六当前时间和初始传输延时发送给第二设备,重新开始对第二设备的时间同步。
13、在第一方面的一种可能的实施方式中,时间同步方法还包括:在通信链路包括串联主路的情况下,确定串联主路中排序在前的第一个设备为主路第一设备,与主路第一设备直连的下一设备为主路第二设备,在主路第一设备以及主路第二设备之间执行时间同步流程;待主路第二设备完成与主路第一设备的时间同步后,确定主路第二设备为新的主路第一设备,与主路第二设备直连的下一设备为新的主路第二设备,在新的主路第一设备以及新的主路第二设备之间执行时间同步流程,直到串联主路上的最后一个设备完成与前一设备的时间同步。
14、在第一方面的一种可能的实施方式中,时间同步方法还包括:在通信链路还包括至少一个并联旁路的情况下,确定每个并联旁路的起始设备为旁路第一设备,与旁路第一设备直连的下一设备为旁路第二设备,在旁路第一设备以及旁路第二设备之间执行时间同步流程;待旁路第二设备完成与旁路第一设备的时间同步后,确定旁路第二设备为新的旁路第一设备,与旁路第二设备直连的下一设备为新的旁路第二设备,在新的旁路第一设备以及新的旁路第二设备之间执行时间同步流程,直到所有并联旁路上的最后一个设备完成与前一设备的时间同步。
15、在第一方面的一种可能的实施方式中,时间同步方法还包括:在通信链路为时分复用或者空分复用共享链路的情况下,确定目标资源所在的设备为第一设备,与第一设备直连的多个访问设备为第二设备,在第一设备以及第二设备之间执行时间同步流程,直到所有访问设备完成与第一设备的时间同步。
16、第二方面,本发明实施例提供一种时间同步装置,包括通信链路上的相邻两个设备,相邻两个设备包括第一设备以及第二设备,第一设备和第二设备基于fpga硬件平台进行通讯,其中,第一设备包括第一发送模块和计算模块,第二设备包括更新模块和第二发送模块;其中,
17、第一发送模块,用于第一设备将第一当前时间和初始传输延时发送给第二设备;
18、更新模块,用于根据第一当前时间和初始传输延时更新本地时间;
19、第二发送模块,用于向第一设备返回更新后的本地时间;
20、计算模块,用于根据第二当前时间和第二设备返回的本地时间计算第一传输延时;
21、第一发送模块,还用于将第三当前时间和第一传输延时发送给第二设备;
22、更新模块,还用于根据第三当前时间和第一传输延时更新本地时间,完成与第一设备的时间同步。
23、在第二方面的一种可能的实施方式中,时间同步装置还包括第一确定模块、第二确定模块和/或第三确定模块;其中,
24、第一确定模块,用于在通信链路包括串联主路的情况下,确定串联主路中排序在前的第一个设备为主路第一设备,与主路第一设备直连的下一设备为主路第二设备,在主路第一设备和主路第二设备之间执行时间同步流程;以及,待主路第二设备完成与主路第一设备的时间同步后,确定主路第二设备为新的主路第一设备,与主路第二设备直连的下一设备为新的主路第二设备,在新的主路第一设备和新的主路第二设备之间执行时间同步流程,直到串联主路上的最后一个设备完成与前一设备的时间同步;
25、第二确定模块,用于在通信链路还包括至少一个并联旁路的情况下,确定每个并联旁路的起始设备为旁路第一设备,与旁路第一设备直连的下一设备为旁路第二设备,在旁路第一设备和旁路第二设备之间执行时间同步流程;以及,待旁路第二设备完成与旁路第一设备的时间同步后,确定旁路第二设备为新的旁路第一设备,与旁路第二设备直连的下一设备为新的旁路第二设备,在新的旁路第一设备和新的旁路第二设备之间执行时间同步流程,直到所有并联旁路上的最后一个设备完成与前一设备的时间同步;
26、第三确定模块,用于在通信链路为时分复用或者空分复用共享链路的情况下,确定目标资源所在的设备为第一设备,与第一设备直连的多个访问设备为第二设备,在第一设备和各第二设备分别执行时间同步流程,直到所有访问设备完成与第一设备的时间同步。
27、第三方面,本发明实施例提供一种控制器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上文所述的时间同步方法。
28、第四方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行上文所述的时间同步方法。
29、如上所述,本发明实施例中的时间同步方法为:先由第一设备将第一当前时间和初始传输延时发送给第二设备;再由第二设备根据第一设备的第一当前时间和初始传输延时更新本地时间,并向第一设备返回更新后的本地时间;再由第一设备根据第二当前时间和第二设备返回的本地时间计算得到第一传输延时,并将第三当前时间和第一传输延时发送给第二设备;最后由第二设备根据第一设备的第三时间和第一传输延时更新本地时间,完成与第一设备的时间同步。
30、如此设置,通过同步算法补偿了时间同步信号在传输和处理中的延迟,能够保证控制系统中设备具有很好的同步性能,并且不受通讯链路长短的限制,控制系统中设备之间的同步偏差小于0.5个计时时钟,有效提高了控制系统中各设备之间的时间同步精度。
1.一种时间同步方法,其特征在于,所述方法包括:执行通信链路上相邻两个设备之间的时间同步流程,所述相邻两个设备包括第一设备以及第二设备,所述时间同步流程包括:
2.根据权利要求1所述的时间同步方法,其特征在于,所述初始传输延时为0,所述第一设备根据第二当前时间和所述第二设备返回的本地时间计算第一传输延时,包括:
3.根据权利要求1所述的时间同步方法,其特征在于,在所述第二设备根据所述第三当前时间和所述第一传输延时更新本地时间,完成与所述第一设备的时间同步之后,所述方法还包括:
4.根据权利要求3所述的时间同步方法,其特征在于,所述第一设备根据第四当前时间和所述第二设备发送的本地时间计算第二传输延时,包括:
5.根据权利要求3所述的时间同步方法,其特征在于,所述第二设备周期性地向所述第一设备发送本地时间,包括:
6.根据权利要求3所述的时间同步方法,其特征在于,所述第二设备周期性地向所述第一设备发送本地时间,包括:
7.根据权利要求1所述的时间同步方法,其特征在于,在所述第二设备根据所述第三当前时间和所述第一传输延时更新本地时间,完成与所述第一设备的时间同步之后,所述方法还包括:
8.根据权利要求1~7任一项所述的时间同步方法,其特征在于,还包括:
9.根据权利要求8所述的时间同步方法,其特征在于,还包括:
10.根据权利要求1~7任一项所述的时间同步方法,其特征在于,还包括:
11.一种时间同步装置,包括通信链路上的相邻两个设备,所述相邻两个设备包括第一设备以及第二设备,所述第一设备和所述第二设备基于fpga硬件平台进行通讯,其特征在于,
12.根据权利要求11所述的时间同步装置,其特征在于,还包括:第一确定模块、第二确定模块和/或第三确定模块;其中,
13.一种控制器,其特征在于,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10任一项所述的时间同步方法。
14.一种计算机可读存储介质,其特征在于,该计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行权利要求1-10任一项所述的时间同步方法。
