先確認你正在看哪一種時間
EtherCAT裝置可以交換資料,不代表同步品質已符合應用要求。看到位置抖動或週期異常時,先確認主站、從站與任務使用的同步模式,再讀診斷數值。本篇以Beckhoff TwinCAT文件中的DC診斷欄位教你建立檢查順序,不把任何一個數字直接當成機台合格證明。
DC是Distributed Clocks,也就是分散式時鐘。支援DC的裝置具有本地時鐘,系統以參考時鐘協調時間。一般電腦畫面顯示的日期時間、控制任務預期啟動時刻、從站同步事件,是不同層次的時間;先標清每個紀錄的來源。
適用範圍是具有相應診斷功能的TwinCAT EtherCAT主站與支援DC的裝置。Q06UDVCPU搭配QJ71C24N的串列通訊,不會因此變成EtherCAT DC主站;若現場使用其他廠牌主站,應查其手冊中的同等功能,不照搬本篇介面名稱。
準備資料包括主站軟體版本、實際拓樸、裝置型號與版本、週期、參考時鐘及同步任務。保留原設定與診斷匯出檔,再開始量測;不要邊改週期邊收集而不記時間,否則不同設定的結果會混在一起。
先辨識症狀是持續異常、剛進RUN時出現,或只在CPU負載上升時發生。記錄起訖與發生條件,後續比較同樣長度、同樣工作負載的量測區間。只截一張安靜時刻的畫面,無法代表整段生產期間。
讀取主站任務偏差的分布
在文件所述Distributed Clocks Diagnosis中,Deviation以微秒分組,反映下一次任務實際呼叫與預期呼叫的偏差。它不是一張逐台從站的時鐘偏移清單,不能把某列當成第三台從站慢了多少微秒。先查畫面名稱,再解讀欄位。
Count(neg)與Count(pos)分別計數負偏差和正偏差,對應百分比以所計數的總週期為分母。分組區間要照表頭讀,例如一到二微秒通常是含一、不含二的區間;不要把分組上界當每一筆的精確值。
做一個自行整理的離線統計練習:一千次觀測中,八百次偏差絕對值小於一微秒、一百五十次在一到二微秒、五十次至少二微秒。比例分別為百分之八十、十五、五,總和一百。這是教學資料,不是本站軟體量測結果。
這張分組表只能顯示分布,不能求得真正最大值或每次偏差。最後一組若只有「至少二」,最大可能是三也可能是兩百;報告應保留原始最大值或標示未知。以區間中點硬算精確平均值,也會失去可追溯性。
Beckhoff文件對其介面中的正負不對稱與高偏差分布提供診斷說明,不能將其中某個數字當成所有EtherCAT設備的安全門檻。應用可接受值仍由週期、裝置能力、同步要求與工程驗收規格決定。
進一步看從站事件的相對時間
需要檢查個別裝置時,再看Distributed Clocks Slave Diagnosis。Name辨識裝置,Task指出相關任務,CycleTime顯示同步任務週期,Shift是同步事件的位移設定資訊。名稱相近不代表兩個畫面正在量相同的偏差。
先認識事件名稱:SoF是封包第一個位元抵達EtherCAT處理單元,EoF是最後一個位元離開;SYNC是時鐘單元產生的同步事件,PDI是本地控制器存取程序資料的介面。把這些點畫在同一時間軸,才知道兩事件間隔指的是哪一段。
EoF to SYNC表示封包離開到同步事件的時間間隔,SYNC to PDI則表示同步事件到程序資料映射開始的間隔。不要把兩者都稱為通訊延遲,也不要直接用其中一個數字宣稱機械輸出已在該時刻動作。
離線練習假設同一週期內EoF在100微秒、SYNC在300微秒、PDI映射開始在340微秒,則兩段依序為200與40微秒。這些只是同一時間原點的假設值,不是從原生診斷畫面取得;跨週期事件則必須先確認時間軸配對。
若兩次量測的EoF to SYNC由200變為50微秒,先查週期、Shift、拓樸或封包排程是否改變。時間間隔減少不必然代表故障,也不能自動等同可用餘裕減少;要和裝置要求及整個事件順序一起判斷。
照固定順序排查與重測
第一步確認實際裝置和設定一致,查主站狀態、裝置錯誤及通訊品質。第二步確認DC模式、參考時鐘和同步任務配置符合該裝置與主站要求。若基本通訊仍不穩定,先保留錯誤證據,再處理連線或配置,避免把所有症狀都歸因時鐘。
第三步在穩定設定下收集足夠週期的診斷,再對照問題發生時的任務負載與時間。同步偏差上升可能與主站排程相關,但相關不等於已找到根因。一次只調整已理解的一項設定,保留前後同條件量測,才有辦法評估效果。
第四步使用從站診斷的開始、停止與匯出功能保存資料。依文件,是否包含全部DC封包會影響量測範圍;報告要註明測了哪些封包和裝置,不能只量第一個DC封包就說全站皆已驗收。
第五步依相同驗收條件重測正常負載與會觸發問題的負載。完成後應看到錯誤原因有證據對應、設定可追溯、各量測範圍明確,以及指標落在專案核准範圍。微秒門檻應由專案依設備、網路與允許誤差核准。
若無法開啟該診斷或沒有DC封包,先查軟體版本、裝置能力與目前配置。沒有資料不是零偏差,空白表格也不是同步良好。保留功能不可用或量測未開始的狀態,請勿用自行填零補成合格報告。
完成後應保存的證據與常見問題
交付檔案包含拓樸與版本、任務及DC設定、量測起訖、診斷範圍、原始匯出與前後比較。若附示意時間軸,標示它是教學算例;實際截圖需出自軟體且保留欄位單位,不能將示意圖當量測證據,也不加入遙控游標。
問:Deviation某列是否代表一台從站?答:本文主站診斷中的該列是偏差分組,並非從站編號。要看裝置資料,請切換到對應的從站診斷並核對Name。
問:Windows時間正確,就代表DC同步正確嗎?答:不能。作業系統日期時間與EtherCAT時鐘同步屬不同層次,應查主站和從站的DC診斷。
問:EoF to SYNC越大一定越好嗎?答:不能只看大小。它是兩事件間隔,要和週期、位移設定、裝置規格及完整事件順序一起判斷。
問:只有一張正常畫面可以交付嗎?答:還需要設定版本、觀測範圍及具代表性的量測期間。單張畫面只能證明那次取樣看見什麼,不能證明整段運轉未發生異常。
參考:Beckhoff Distributed Clocks Diagnosis:任務偏差與正負計數的定義。
參考:Beckhoff Distributed Clocks Slave Diagnosis:事件、量測範圍與匯出。
參考:Beckhoff EtherCAT Distributed Clocks:參考時鐘與同步概念。