熱插拔 (HotConnect)、修復與重啟
本章節將說明熱插拔、修復與重啟的運作方式與實例。
熱插拔
熱插拔是使用額外且支援 EtherCAT 的連接埠添加硬體的過程,例如乙太網(T 型接口與耦合器上的連接埠)、eBUS(耦合器上的連接器)和 M12(防水設備上的圓形連接器)。如此可在不中斷現有硬體運行的情況下添加新裝置。硬體可在裝置起點或裝置之間添加,但若要在起點添加裝置,除非使用纜線冗餘,否則 EtherCAT 連線需要重新建立,因為需先將連接到電腦的纜線斷開,所有裝置將會離線,然而熱插拔的目的是不中斷其他裝置。 通常新的硬體會添加在裝置尾端或裝置之間,因為 KINGSTAR 使用索引對設備進行排序,所以新硬體會放在 EtherCAT 從站裝置列表的最末端,且其索引會從最後一個現有設備開始遞增。
函式:EnableHotConnect
當此函示啟用時,可在 EtherCAT 網路運作時添加新的硬體。當此函示未啟用,新硬體需在 EtherCAT 網路停止時添加。
注意:當 EtherCAT 從站裝置啟動時,索引具有與 SlaveId 相同的值,該值對應於從站裝置在網路中的位置。請注意,在 EtherCAT 進入運行狀態 (Op) 後,加入或移除網路上的任何從站裝置將改變各裝置在網路中的位置(SlaveId)。儘管如此,從站的索引將保持不變。新增的裝置將排列在從站陣列的末端。對於更改後的所有從站,索引和 SlaveId 將不再匹配。上述行為模式僅適用於實體裝置;不適用於模擬裝置。請參閱下方使用案例了解更多細節。
使用案例一
在熱插拔啟用狀態下新增裝置
假設 EtherCAT 網路上連接了四個伺服驅動器,若我們新增兩個裝置到 SlaveId 1 與 SlaveId 3 的位置,則這兩個裝置在從站陣列上的順序將分別為 Index 4 與 Index 5。原先的 Index 1、Index 2 與 Index 3 其 Index 保持不變;但其 SlaveId 將依據其在 EtherCAT 網路上的位置而改變。
在熱插拔啟用狀態下移除裝置
呈上,若我們將 Index 4 裝置從 EtherCAT 網路上移除,則連接在 Index 4 裝置之後的所有裝置的 SlaveId 將依據其在 EtherCAT 網路上的位置而改變。
在熱插拔啟用狀態下變更裝置在網路上的位置
呈上,若我們將 Index 4 裝置重新接回 EtherCAT 網路上,且接在與原先不同的位置 (SlaveId 4),則其 Index 仍為 Index 4。
使用案例二
在熱插拔開啟狀態下。在四個伺服驅動器的第三與四驅動器間添加兩個額外的驅動器,我們有一 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 介面-屬性