熱插拔 (HotConnect)、修復與重啟
本章節將說明熱插拔、修復與重啟的運作方式與實例。
熱插拔
熱插拔是使用額外且支援 EtherCAT 的連接埠新增硬體的過程,例如乙太網路(T 型接口與耦合器上的連接埠)、eBUS(耦合器上的連接器)和 M12(防水設備上的圓形連接器)。如此可在不中斷現有硬體運行的情況下加入新裝置。硬體可在裝置起點或裝置之間加入,但若要在起點加入裝置,除非使用纜線冗餘,否則 EtherCAT 連線需要重新建立,因為需先將連接到電腦的纜線斷開,所有裝置將會離線,然而熱插拔的目的是不中斷其他裝置。通常新的硬體會新增在裝置尾端或裝置之間,因為 KINGSTAR 使用索引(SlaveId)對設備進行排序,所以新硬體會放在 EtherCAT 從站陣列的最末端,且其索引會從最後一個現有設備開始遞增。
函式:EnableHotConnect
當此函示啟用時,可在 EtherCAT 網路運作時加入新的硬體。當此函示未啟用,新硬體需在 EtherCAT 網路停止時加入。
下圖顯示裝置的 SlaveId 與其在 EtherCAT 網路上的位置之間的關係。當 EtherCAT 網路啟動時,連接的裝置會按照其實體連接的順序進行排列。直接連接到主站的裝置會被識別為第一個裝置,主站會依序指派 SlaveIds(從站索引),這些 ID 與 EtherCAT 從站陣列中的索引相對應。最初,SlaveIds 會與實體位置對齊,例如:SlaveId 0 對應於位置 0,SlaveId 1 對應於位置 1,依此類推。
然而,當 EtherCAT 網路處於運行狀態 (Op) 時,若新增或移除裝置,其在網路上的位置可能會有所變動,但 SlaveId(從站索引)則會維持不變。新加入的裝置會依序附加到 EtherCAT 從站陣列的末端。因此,裝置的位置與其索引可能不再一致。請參閱以下使用案例以取得更多詳細資訊。
注意:上述行為模式僅適用於實體從站裝置;KINGSTAR 無提供虛擬從站裝置。
使用案例一
在熱插拔啟用狀態下新增裝置
在此情境中,四個從站(A、B、C 和 D)已連線至 EtherCAT 網路。如果我們在 從站 A 和 B 之間插入 從站 E,以及在 從站 B 和 C 之間插入 從站 F,主站會分別指派 SlaveId 4 和 SlaveId 5 給 從站 E 和 F。儘管 從站 B、C 和 D 的實體位置會隨之變動,但它們的 SlaveIds 仍保持不變。
在熱插拔啟用狀態下移除裝置
延續上述案例,如果我們從 EtherCAT 網路移除 從站 E,所有連接在 從站 E 之後的從站其實體位置將會改變,但它們的 SlaveIds 仍保持不變。
在熱插拔啟用狀態下變更裝置在網路上的位置
延續上述案例,如果我們將 從站 E 重新連接至不同位置(位置 4)時,其索引仍為 SlaveId 4,因為主站會將其識別為具有相同供應商 ID 和產品代碼的同一個裝置。
使用案例二
在熱插拔開啟狀態下。在四個伺服驅動器的第三與四驅動器間加入兩個額外的驅動器,我們有一 T 型接頭,因此可使用額外的乙太網連接埠加入驅動器。KINGSTAR 新索引為四與五位數號(以零為起始),而新驅動器將出現在 EtherCAT 從站陣列末端。
修復
該功能在所有其他裝置和 EtherCAT 網路都在運行時用新的硬體或纜線替換損壞的硬體或電纜,並將新裝置的 EtherCAT 狀態修復為可操作 (Op)。您必須使用相同的模組來替換舊的,因為 EtherCAT 會將舊模組的設置應用於新模組。若型號與舊型號擁有相同的供應商 ID (Vendor ID) 與產品代碼 (Product Code) 且與舊型號的設置一致,則可直接使用。
函式:EnableAutoRepair
當此函示啟用,新裝置的 EtherCAT 狀態與其後的所有硬體將會自動轉換成 Op;若此函示未啟用,則狀態為 Init,若要轉為 Op 需手動執行,手動更改狀態可使用 RequestSlaveState。
使用案例
AutoRepair 啟用狀態下,要替換五個伺服驅動器中的第三個,拔除第二與三驅動器間的纜線,則第三到最後一個驅動器的硬體將會離線,接著使用有相同模組的驅動器替換第三個驅動器,再將纜線插回,第三驅動器與所有其後裝置的 EtherCAT 狀態將先呈現 Init,接著變回 Op。
修復+熱插拔
修復用於更換具有相同型號的裝置,該設備必須具有相同的供應商 ID 和產品代碼。熱插拔用於加入新的裝置,若新裝置的供應商 ID 或產品代碼與之前的不同,則使用熱插拔。若相同,則使用修復。
使用案例
自動修復 (AutoRepair) 與熱插拔 (HotConnect) 啟用狀態下,將兩個伺服驅動器加入至五個中的第三與四伺服驅動器間,因沒有 T 型接頭或耦合器,所以必須先將連接三與四間的纜線斷開,此時第四第五驅動器將離線,將欲新增的兩個驅動器連接上,並重新連接纜線,所有的離線裝置將再次上線,狀態亦會轉換為 Op。
在此案例中,原先的四與五驅動器使用自動修復 (AutoRepair),因其具有相同的型號;而新的兩個驅動器則是使用熱插拔 (HotConnect)。
重啟
如其名,當連接至電腦的纜線拔除並再次插入時,將重新啟動 EtherCAT 主裝置。
函式:EnableAutoRestart
當此函式啟動,EtherCAT 主裝置將在纜線重新連上時自動重啟;函式未啟用將不會自動重啟。欲手動開啟或重啟,使用 Start 或 Restart。
使用案例
AutoRestart 啟用狀態下,共有五個裝置,而連接到電腦的纜線鬆開了,此時將纜線重連上,所有裝置及重新啟動。
開啟與重啟
Start 會掃描在 EtherCAT 網路的裝置而 Restart 不會,因此,Start 較 Restart 為慢。若未透過熱插拔 (HotConnect) 加入了硬體,則需使用 Start。
參見
RT 與 Win32-KINGSTAR 總線-子系統配置
RT 與 Win32-KINGSTAR 總線-子系統控制
.NET API-Api 類別-子系統配置
.NET API-Api 類別-子系統控制
.NET 類別- ISubsystem 介面-方法
.NET 類別- ISubsystem 介面-屬性