类 HotConnect
java.lang.Object
com.darra.ethercat.master.HotConnect
Hot-Connect 组管理 (ETG.1000.4 / ETG.1020 §8) — 对齐 C# Master/HotConnect.cs.
语义 "默默支持":
- 用户不调用 addGroup, 所有从站行为 = mandatory (默认; 缺失 → AL_ERROR).
- 一旦把从站加入 Hot-Connect 组, 该组缺失就不再算错, Master 可正常进 OP.
关键约束:
- Alias Address (ESC 0x0012) 必须预先烧录到从站 EEPROM, 非 0 且组内唯一.
- Alias=0 的从站不支持 Hot-Connect (ETG.1020 §8.3).
用法:
HotConnect hc = new HotConnect(masterIndex); hc.addGroup(1, 1001, 0, 0); // 工具头 1 hc.addGroup(2, 1002, 0, 0); List<HotConnectGroup> groups = hc.enumerate();
-
嵌套类概要
嵌套类修饰符和类型类说明static classHot-Connect 组的一次性只读快照, 由enumerate()返回.static enumHot-Connect 组当前状态 (对齐 C# HotConnectStatus). -
字段概要
字段修饰符和类型字段说明static final int每个 master 最多支持的 Hot-Connect 组数 (与 C 端 EC_HOTCONNECT_MAX_GROUPS 一致). -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明booleanaddGroup(int groupId, int aliasAddress, long vendorId, long productCode) 注册一个 Hot-Connect 组.voidclearAll()清空当前 master 所有 Hot-Connect 组定义 (通常在重新 SetNetwork 前调用).枚举所有已注册的 Hot-Connect 组.int当前已注册组数 (0=无 HC 配置, 所有从站 mandatory).getGroupStatus(int groupId) 查询某个组的当前 Present/Absent 状态.booleanremoveGroup(int groupId) 删除一个 Hot-Connect 组.
-
字段详细资料
-
MAX_GROUPS
public static final int MAX_GROUPS每个 master 最多支持的 Hot-Connect 组数 (与 C 端 EC_HOTCONNECT_MAX_GROUPS 一致).- 另请参阅:
-
-
构造器详细资料
-
HotConnect
public HotConnect(short masterIndex)
-
-
方法详细资料
-
addGroup
public boolean addGroup(int groupId, int aliasAddress, long vendorId, long productCode) 注册一个 Hot-Connect 组.- 参数:
groupId- 组 ID (1..65535, 同 master 唯一)aliasAddress- 期望 Alias 地址 (必须非 0)vendorId- 期望 VendorID, 0=不校验productCode- 期望 ProductCode, 0=不校验- 返回:
- 成功返回 true
-
removeGroup
public boolean removeGroup(int groupId) 删除一个 Hot-Connect 组. -
getGroupStatus
查询某个组的当前 Present/Absent 状态. -
clearAll
public void clearAll()清空当前 master 所有 Hot-Connect 组定义 (通常在重新 SetNetwork 前调用). -
getGroupCount
public int getGroupCount()当前已注册组数 (0=无 HC 配置, 所有从站 mandatory). -
enumerate
枚举所有已注册的 Hot-Connect 组.实现路径:
- 分配 native 缓冲 MAX_GROUPS * sizeof(HotConnectGroupNative).
- 调
DarraCore.INSTANCE.HotConnectEnumerate(masterIndex, buf, MAX_GROUPS). - 按 Pack=1 偏移 (group_id u16, alias u16, vendor u32, product u32, is_present i32, idx u16, rsv u16 = 总 20 字节) 解码.
- 返回:
- 不可变快照列表
-