热插拔 (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 主装置将在缆线重新连上时自动重启;函式未启用将不会自动重启。欲手动开启或重启,使用 StartRestart

使用案例

AutoRestart 启用状态下,共有五个装置,而连接到电脑的缆线松开了,此时将缆线重连上,所有装置及重新启动。

开启与重启

Start 会扫描在 EtherCAT 网路的装置而 Restart 不会,因此,StartRestart 为慢。若未透过热插拔 (HotConnect) 添加了硬体,则需使用 Start

参见

RT 与 Win32-KINGSTAR 总线-子系统配置

EnableHotConnect

EnableAutoRepair

EnableAutoRestart

RT 与 Win32-KINGSTAR 总线-子系统控制

Start

Restart

.NET API-Api 类别-子系统配置

Api.EnableHotConnect

Api.EnableAutoRepair

Api.EnableAutoRestart

.NET API-Api 类别-子系统控制

Api.Start

Api.Restart

.NET 类别- ISubsystem 介面-方法

ISubsystem.Start

ISubsystem.Restart

.NET 类别- ISubsystem 介面-属性

ISubsystem.HotConnect

ISubsystem.AutoRepair

ISubsystem.AutoRestart