热插拔 (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 介面-属性