專利名稱:一種現場總線的時間同步方法
技術領域:
本發明涉及現場總線領域,尤其涉及環形現場總線網絡通信的時間同 步方法。
背景技術:
在數控系統中,控制裝置向伺服驅動器傳輸命令的傳統方式是采用模 擬電壓或脈沖串的形式,這種控制方式只適合于數控機床加工速度和控制 精度都不太高的場合,難以滿足多通道、高速、高精度的加工要求。
為了提高加工速度和加工精度,數控系統控制裝置和伺服驅動器之間 采用現場總線式的數字通信方式。目前,國外一些高檔數控系統大部分都
采用現場總線的通信方式用于數控系統內部的通信,如FANUC的FSSB, SIMENS的PROFINET、 BECKOFF的EtherCAT等現場總線。與模擬量、 脈沖串通信方式相比,現場總線有較高的實時性和可靠性,特別是各個伺 服軸易于實現同歩控制,能滿足數控機床高速、高精度的加工要求。
在這種總線式數控系統中,控制裝置和伺服驅動器之間通過現場總線 聯網形成網絡。通常,經由現場總線進行的數據交換按照主從原則執行。 在總線網絡中,主導總線上的數據傳輸的單元稱為主站,如數控系統中的 控制裝置。而被動執行數據傳輸的單元稱為從站,即它們只被允許應主站 要求確認收到信號或者轉發信號,如數控系統中的伺服驅動器。為了避免 布線復雜化,具有主從結構的現場總線網絡采用環形拓撲結構,所有總線 用戶都連接到一個環形傳輸路徑,如圖1和圖2所示。通常,為了提高總 線通信的可靠性,采用冗余通信方式,在圖1所示的環形網絡中,數據是 雙向流動的,即同一個數據報文Q同時從主站的兩個端口發出,依次通過各從站后,又回到主站的兩個端口,其中主站的端口 a接收從端口 b發出 的數據,主站的端口 b接收從端口 a發出的數據,在通信正常情況下,主 站在兩組數據中取一組,另一組作為備用。若一組數據出現錯誤,則取另 一組的備用數據。
在數控加工過程中,為了保證數控機床的刀具軌跡的運動精度,數控 機床各坐標軸的命令執行和狀態反饋必須在同一個時刻進行,因此,總線 式數控系統中除了必須保證總線數據傳輸的實時性以外,還必須保證網絡 中各單元的同步性。由于節點單元的很多操作是在嚴格的時間表驅動下協 同完成的,所以一般通過對各個節點進行精確的時鐘同步以實現各個節點 單元的同步性。然而,由于各單元時鐘的精度受晶體振蕩器質量、溫度和 其它環境因素的影響,時鐘偏差不可避免。所以,總線網絡通信系統必須 對系統中各單元的時鐘偏差進行矯正。
目前,數控系統實現網絡時間同步技術主要采用精確時間協議,如IEEE 1588標準的精確時間協議(Precision Time Protocol, PTP )。
IEEE1588有兩種類型的時鐘, 一類是參考時鐘源,稱為主時鐘;另一 類是客戶時鐘,稱為從時鐘。從時鐘通過和主時鐘交換同步信息來完成時 間同步。同步過程分為兩個步驟。首先是偏差測量和偏差矯正過程。如圖4 所示,在這個過程中,主時鐘按所定義的時間間隔周期性地向所有從時鐘 發送同步報文,同步報文中攜帶該報文發送時刻的估計值。主時鐘記錄同
步報文發出的精確時刻L,從時鐘記錄接收同步報文的精確時刻z;,。主時
鐘緊接著發送一個攜帶著7;,的跟隨報文,在接收到跟隨報文后,從時鐘計 算偏差值<9#":
晰c = r;., - :rml - d勿 (工)
并將時鐘矯正為r:
T二^i-Oj^ (2) 如果忽略傳輸線路上的延遲A/"y ,這時從時鐘就和主時鐘已經同步。第2步是延遲測量,用于測量主時鐘到從時鐘的傳輸延遲。測量過程 如圖5所示。從時鐘向主時鐘發送一個延遲測量請求報文,并記錄發送該
報文的精確時刻 ;3 ,主時鐘接收該請求報文并記錄接收到的精確時刻L ,
然后向從時鐘發送攜帶L的延遲測量響應報文,從時鐘收到該響應報文后, 可以根據下面公式計算延遲:
<formula>formula see original document page 5</formula>
由此可以看出,IEEE 1588采取的是一對一的同步方式,操作時比較費 時,且占用了一定的網絡資源,它比較適合于星形網絡,而不太適合于環 形網絡。
發明內容
本發明的目的在于提供一種現場總線的時間同步方法,該方法易于實 現,能夠使環形網絡中各站點的時間同步,且只占用較小的通信帶寬開銷。
本發明提供的現場總線的時間同步方法,包括主站實施過程和從站實
施過程,其中,主站實施過程為
第A1步將待發送數據和通信延遲Tdelay填入對應的數據幀,通信延
遲Tdelay的初始值設為O,待定時中斷時,記錄發送時刻Tmain,并該發送時
刻Tmain填入到數據幀中,然后同時從兩個端口發送出去; 第A2步等待數據幀返回,并記錄數據幀的返回時刻; 第A3步計算數據幀的返回時刻與發送時刻的時間差,作為通信延遲
Tdelay;
第A4步轉入步驟第A1步;
各從站的實施過程均為
第B1步等待接收主站發送的數據幀;
第B2步接收到達的數據幀,記錄到達時刻Tbl,將接收的數據幀移入 緩沖區,并從該數據幀中提取發送時刻Tmain和通信延遲Tdelay;第B3步接收到達的下一個數據幀,記錄到達時刻Tb2,并判斷該下一 個數據幀與第B2步中接收到的數據幀是否為主站的兩個端口同時發送的數 據幀;如果是,轉入第B4步,否則直接轉入第B1步;
第B4步計算同一數據幀的到達時間差T^ Tb2-Tbl;
第B5步根據到達時間差TA和通信延遲Tdelay計算傳輸延遲 Td=(Tdelay- TA)/2;
第B6步根據提取的主站發送時刻Tmain和計算得到的傳輸延遲Td計算 從站當前的時刻T^Tmain+Td,對從站時鐘進行校準;
第B7步返回第B1步。
本方法在每個通信周期中對系統中的各個從站的時鐘進行同步,從站 在接收到主站的數據幀后就會對自己的時鐘進行校正,同步后的時鐘偏差 決定于通信周期內的晶振漂移誤差以及處理間隔,又由于每次通信從站都 進行時鐘同步,故時鐘同步誤差不會產生累積。應用本發明方法進行同歩 后,系統最大時鐘誤差為14ns。
圖1為雙環形串行現場總線拓撲示意圖; 圖2為單環形串行現場總線拓撲示意圖3為環形總線數據幀格式(其中第2行為數據字節長度);
圖4為IEEE 1588 PTP協議的偏差測量;
圖5為IEEE 1588PTP協議的延遲測量;
圖6為從站同步過程流程框圖7為主站同步過程流程框圖8為雙環形串行現場總線同步數據計算示意圖9為單環形串行現場總線同步數據計算示意圖。具體實現方式
數控系統中所采用現場總線網絡拓撲結構形式一般為雙環形網絡,如 圖1所示,而一旦網絡中有一條連接線出現故障,網絡可自動切換為單環
形網絡,如圖2所示。
在通信過程中,采用如圖3所示的數據報文格式,每幀數據中均包含7 個同步位,l個分隔位,2個字節的幀類型,2個字節的上周期主站幀發送 和接收時刻差,4個字節的主站幀發送時刻,4個字節的校驗位。從圖3中 可以看出,雖然每次從主站發出的數據幀長度是可變的,但每幀發送數據 的數據報文頭長度是固定的,本發明只占用報文頭中固定6個字節的數據 長度,在一次通信過程后就可以實現系統中所有的從站的時鐘同步。對于1 個主站10個從站構成的網絡系統,數據幀長度為173字節,時間同步數據 占用的通信帶寬為3.4%;而對于1個主站100個從站構成的網絡系統,數 據幀長度為1613字節,時間同步數據占用的通信帶寬為0.37%,因此,通 過本方法實現網絡中各個站點的精確時鐘同步,只需要用極小的通信帶寬 開銷。
在數控加工中,主站發送每幀數據之間的時間間隔一般是固定的,為 lms,晶振的精度〈ppm,所以在lms內因晶振漂移導致產生的時鐘差異為 ATc<lns;從站處理器頻率〉150M,從站處理器的同步過程處理最大延遲為 2個時鐘周期,因處理過程產生的時鐘差異為ATs〈13ns,因此,在每幀數據 通信中由于上述因素導致的時鐘同步誤差AT《(ATc+ATs),艮卩AT《14ns。
對于圖1所示的雙環形網絡,其時鐘同步原理如下
主站1的端口 b在時刻Tb發送周期性數據幀Qml,經從站2.1到2.n后 回到主站的端口 a。從站2.1接收到Qml的時刻為Tbl,從站2.2接收到Qml 的時刻為Tb2,依此類推,從站2.n接收到Q^的時刻為Tbn。同時,主站 1的端口 a在時刻Ta發送周期性數據幀Qm2,經從站2.n到2.1后回到主站 的端口 b。從站2.n接收到Qm2的時刻為Tan,從站2.n-l接收到Qm2的時刻為Tan-l,依此類推,從站2.1接收到Qm2的時刻為Tal。各從站接收到數 據幀Qmi和Qm2的時間差分別為AT1、 AT2, ....... ATn,如圖6所示。
所述的主站端口b發送Qmi的時刻為Tb,接收到Qm2的時刻為Tab,那
么在一個周期內,主站端口 b發送數據幀和接收到數據幀的時間差為ATba =Tb—Tab。
同理,主站端口a發送Qm2的時刻為Ta,接收到Qm,的時刻為Tba,那么
在一個周期內,主站端口a發送數據幀和接收到數據幀的時間差為ATab二Ta 一Tba。
由圖6可知,在同一個通信周期內,通過計算主站各端口發送和接收到 數據幀的時間差以及各從站分別接收主站l不同端口發來的數據幀的時間 差,就可以得到主站l兩個端口數據幀分別到各個從站的延時時間,數據幀
從主站1端口b到各從站的延時時間
從主站l端口b到從站2.1的延時時間為a7;, ^會(a7^-a7;);
從主站l端口b到從站2.2的延時時間為at;2 =l(Ai;a-Ar2);
從主站l端口b到從站2.n的延時時間為at;" =^(at;"-at;)。
同理,可以計算數據幀從主站l端口a到各從站的延時時間 從主站1端口 a到從站2.n的延時時間為A乙=會(AL - a7;);
從主站1端口&到從站2.1>1的延時時間為a乙—,=i(AraA - at;
從主站1端口a到從站2.1的延時時間為= ^at;a -a 0 。
對于所述的圖2所示的線形網絡,其時間同步原理如下 主站1的端口 b在時刻Tb發送數據幀Qml,稱發送幀Qml,發送幀經 從站2.1到2.n后折返,稱返回幀Qml,返回幀再經從站2.n-l到2.1回到主 站1的端口 b的接收端。從站2.1接收到發送幀Qml的時刻為Tbl,從站2.2接收到發送幀Q^的時刻為Tb2,依此類推,從站2.n接收到發送幀Qml的 時刻為Tbn。對于從從站2.n返回的數據幀Qml,從站2.n發出的時間為T、bn, 從站2.n-l接收到返回幀Q^的時刻為rbn-l,依此類推,從站2.1接收到 返回幀Qml的時刻為Tbl。各從站接收到發送幀Qnu和接收到返回幀Qml 的的時間差分別為AT1、 AT2, ......、 ATn,如圖7所示。
所述的主站1端口 b發送發送幀Qml的時刻為Tb,接收到返回幀Qml 的時刻為T、b,那么在一個周期內,主站1端口 b發送數據幀和接收到返回 幀的時間差為ATb = Tb -T、b。
由圖7可知,在同一個通信周期內,通過計算主站l端口b發送發送幀Q^ 和接收到返回幀的時間差以及各從站分別接收到主站l端口b的發出發送幀 Qnu和返回幀Qrm的時間差,就可以得到從主站l端口b數據幀分別到各個從
站的延時時間
從主站1端口b到從站2.1的延時時間為ArM = |(Ar6' - a7;〉;
從主站l端口b到從站2.2的延時時間為at;2 =丄(^;'-Ar2)
從主站l端口b到從站2.n的延時時間為at;"=會(at;'-at;)。
具體實現方式是在每一個通信周期中,主站將上一個周期的幀發送 時刻和幀接收時刻之差以及本數據幀的發送時刻發送給環形網絡中,如圖4 所示。各從站根據前一個周期中接收到數據幀Qml和Qm2的時間差就可以 計算出主站數據幀到本單元的延時時間,再加上主站本數據幀的發送時刻, 計算出本單元的時鐘時間,從而實現了時鐘的同步。
在這種環形結構中,主站將需要發送給各從站的數據信息按照一定的 規則打成一個如圖3所示的數據包發送給環形傳輸路徑,環形網絡中各從 站在數據包經過時,無需接收全部數據包,而是在報文經過其節點時只下 載屬于本單元的編址數據,并將需要上傳的數據插入至報文相應的位置之中,并將數據包轉發給與其相連的下一個單元,數據包最后返回主站。
主站和從站的實施步驟分別如圖8和圖9所示。
本發明不僅局限于上述具體實施方式
,本領域一般技術人員根據實施 例和附圖公開的內容,可以采用其它多種具體實施方式
實施本發明,因此, 凡是采用本發明的設計結構和思路,做一些簡單的變化或更改的設計,都 落入本發明保護的范圍。
權利要求
1、一種現場總線的時間同步方法,包括主站實施過程和從站實施過程,其中,主站實施過程為第A1步 將待發送數據和通信延遲Tdelay填入對應的數據幀,通信延遲Tdelay的初始值設為0,待定時中斷時,記錄發送時刻Tmain,并該發送時刻Tmain填入到數據幀中,然后同時從兩個端口發送出去;第A2步 等待數據幀返回,并記錄數據幀的返回時刻;第A3步 計算數據幀的返回時刻與發送時刻的時間差,作為通信延遲Tdelay;第A4步 轉入步驟第A1步;各從站的實施過程均為第B1步 等待接收主站發送的數據幀;第B2步 接收到達的數據幀,記錄到達時刻Tb1,將接收的數據幀移入緩沖區,并從該數據幀中提取發送時刻Tmain和通信延遲Tdelay;第B3步 接收到達的下一個數據幀,記錄到達時刻Tb2,并判斷該下一個數據幀與第B2步中接收到的數據幀是否為主站的兩個端口同時發送的數據幀;如果是,轉入第B4步,否則直接轉入第B1步;第B4步 計算同一數據幀的到達時間差TΔ=Tb2-Tb1;第B5步 根據到達時間差TΔ和通信延遲Tdelay計算傳輸延遲Td=(Tdelay-TΔ)/2;第B6步 根據提取的主站發送時刻Tmain和計算得到的傳輸延遲Td計算從站當前的時刻Ts=Tmain+Td,對從站時鐘進行校準;第B7步 返回第B1步。
全文摘要
本發明公開了一種現場總線的時間同步方法,包括主站實施過程和從站實施過程。在每個通信周期中,主站將上一個周期的幀發送時刻和幀接收時刻之差以及本數據幀的發送時刻發送給環形網絡中。各從站根據二個周期接收數據幀的時間差計算出主站數據幀到本單元的延時時間,再加上主站本數據幀的發送時刻,計算出本站時鐘時間,實現時鐘同步。本方法在各通信周期中對各從站的時鐘進行同步,從站在接收到主站的數據幀后對其時鐘進行校正,同步后的時鐘偏差決定于通信周期內的晶振漂移誤差及處理間隔,因每次通信從站都進行時鐘同步,故時鐘同步誤差不會產生累積。應用本方法同步的系統最大時鐘誤差為14ns。該方法易于實現,且只占用極小的通信帶寬開銷。
文檔編號H04L7/00GK101631016SQ20091006165
公開日2010年1月20日 申請日期2009年4月14日 優先權日2009年4月14日
發明者周會成, 周向東, 唐小琦, 唐玉枝, 寶 宋, 肖志鵬, 歡 胡, 金宏星, 陳吉紅, 陳天航, 陳鵬展 申請人:華中科技大學;武漢華中數控股份有限公司