工具与软件:
大家好!
我们有一种情况、在堆栈初始化和启动时、我们仅根据需要将插槽0子模块和一个输入子模块 A 插入插槽1子模块
然后在所有权指示期间、控制器发送预期配置、并在插槽2子插槽1中插入额外的输入子模块 B、然后在指示期间将其插入空插槽/子插槽。
如果随后建立连接并开始循环数据交换、我们看到堆栈只会调用 传递给 PN_API_IOD_dataWriteCbf 的子模块 A (在所有权指示期间稍后插入)、而不会调用子模块 B。
这在总线上也可见、因为子模块 B 的输入数据和 IOPS/IOS 未更新。
如果连接随后中止并随后重新连接、我们看到堆栈现在 为子模块 A 和 B 都调用 PN_API_IOD_dataWriteCbf
相比之下、如果在 PN_API_IOD_startup()期间 Slot2子插槽1中存在子模块 C、该子模块随后在所有权指示期间被子模块 B 替换、则该子模块已经适用于第一个连接。
栈是否需要执行某些操作才能识别所有权指示期间插入空子插槽的子模块?
谢谢、谨致问候
Philip