Other Parts Discussed in Thread: AM6421
器件型号: AM6421
我们使用 2026年02月09日 的 Ind Comms SDK 2025.00.01.02 测试版本、观察到 AM6421 系统 (CDF800-E1) 上进行 CT22-EN 测试失败。 CT 工具发送请求 Set_Attribute_Single(服务 0x10、 类 0xf5:TCP/IP 对象、实例 1、属性 5:接口配置)、设备以状态 0x09“无效属性值“(请参阅附加的 Wireshark 日志帧 377 和 378)进行应答。 这会导致多个测试失败、例如 “Error response is unexpected attr 5、SRV Code x10“。
CT 工具发送的电报似乎正常(也通过 Wireshark 和 Copilot 验证)。 在处理此类请求的回调函数中、我可以正确解释 CT 工具发送的数据、并且看不到任何可疑的数据。
通过对我们的实现和 Ind Comms SDK 中 EtherNet/IP 的更新示例进行比较、并没有发现任何相关差异(此外,Copilot 也找不到任何可疑的信息)。
我逐步从回调函数中删除了逻辑、但测试仍然失败。
由于回调函数 (参考设计中的“void device_profile_CFG_callback “)是 void、因此我不知道在这种情况下我们如何影响堆栈行为以触发“无效属性值“应答。
在测试期间、我观察到禁用器件 viea“EI_API_ADP_setHwSettings (p_adapter、true、false)“的可配置性确实会导致测试通过、堆栈返回成功。 不过、这不是我们的用例。
在您的示例中、不使用此函数、但我假设默认也可以通过软件进行配置。
请支持我们确定此问题的根本原因。
在 Ind Comms SDK 2025.00.01.02 的测试阶段、您是否观察到类似的情况?
堆栈如何准确地评估来自 CT 工具的请求、以及我们如何影响堆栈行为(例如在回调函数中)?
我们还可以在最后调查什么以确定根本问题?
我们使用的一致性测试工具是 CT22-EN (PUB0047R25-CT22EN-20251118.zip)、我们的 R5 应用是使用 Ind Comms SDK 2025.00.01.02(2026 年 2 月 9 日)构建的。
与 Pourya Eskandari 进行简短讨论:
他怀疑 PC 的配置可能是错误的、特别是指向发送网关 IP 0.0.0.0 的 CT 工具的请求、这可能会导致堆栈行为。
我们发现了两台 PC 的问题、两者都没有配置网关(与设备的点对点连接)。 但即使在配置网关后、CT 工具仍会在其请求中发送 0.0.0.0。
此外、我们认为 0.0.0.0 是有效的网关地址。
谢谢、
Sascha
CT Tool 日志: 20260318_CT22_SICK_CDF800-E1_200byte_V1.2.1.529.log
Wireshark 日志: wireshark.zip
