本技術涉及網絡通信,尤其涉及一種級聯時鐘同步方法、裝置、終端設備和存儲介質。
背景技術:
1、ethercat作為一種高速通信、低延遲、高同步性的實時工業現場總線技術,在伺服控制等精密控制應用中得到了廣泛應用。
2、ethercat時鐘同步的網絡拓撲結構示意圖如圖1所示,從站i根據從站i(從時鐘i)與從站1(即參考時鐘)的上行報文和下行報文記錄的各時刻計算該從站的傳輸延時和時間初始偏移并保存至本地從站;從站利用與參考時鐘的時間初始偏移toffset(i)來校正自己的本地時鐘,實現靜態時間補償;并結合本地保存的傳輸延時和時間初始偏移計算動態漂移,所有從站周期性地根據動態漂移不斷地對本地時鐘進行動態補償。
3、在上述ethercat時鐘同步方法中,計算從站與參考時鐘從站的鏈路時延和時間初始偏移時,需滿足一個前提條件:線路延時均勻,且各從站的數據處理時延與數據轉發時延一致,若不一致,采用上述同步方法將會導致鏈路時延和時間初始偏移的計算不準確,從而影響時鐘同步的精度;該精度誤差可能引發系統時鐘不同步,進而影響整個ethercat網絡的性能和可靠性,導致控制指令的延遲或不一致,進而影響實時性和系統的穩定性。
技術實現思路
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、本技術提出的一種級聯時鐘同步方法,響應靜態補償的時鐘同步廣播命令,當前從站記錄先接收第一時鐘同步報文的第一本地時鐘時刻;再根據第一本地時鐘時刻和第一時鐘同步報文中的有效時間信息確定當前從站與上一從站的時間初始偏移,并根據時間初始偏移校正當前從站的自身時鐘;然后響應動態補償的時鐘同步廣播命令,當前從站記錄接收第二時鐘同步報文的第二本地時鐘時刻;當前從站根據第二本地時鐘時刻和第二時鐘同步報文中的有效時間信息確定當前從站與上一從站的時間漂移,并根據時間漂移校正當前從站的自身時鐘。該時鐘同步過程中通過不依賴于從站數據處理和轉發時延的鏈路時延的計算方法,可進一步提高時間同步的精度。