我们在现场发现了一个奇怪的故障信息。用户使用夹具,每个夹具都配备了 CPU1515F 作为智能设备,并且通过一些复杂的设置与 IO 控制器X2接口相连。然而,使用”ReconfigIOSystem”在使能设备加入的过程中,IO 控制器却报出了两个奇怪的错误:“Diagnostics available and is Being processed”和“Multi-interface mismatch-inconsistent parameterization for sending LLDP data”。
为了揭开这个故障的神秘面纱,我们决定进行抓包分析。通过 Bany 捕捉使能智能设备加入前后的报文,希望能找到故障产生的根源。我们发现子槽号 0x8000 为接口模块上存在错误 1,Fault:Fault available,但详细原因却不得而知,只知道这与控制器诊断缓冲区中的提示“Diagnostics available and is Being processed”一致。
但这些故障信息在西门子手册和网站中都无法找到,只能参考 PROFINET 相关的标准文件。深入研究这些标准文档,我们需要理解多接口这个神秘的概念。
现场设备通常只有一个接口,如 ET200SP,其 LLDP 报文有着特定的规则。然而,有些智能设备,例如CPU1515却存在2个网络接口,情况变得更加复杂。
回到故障中,我们发现报文中的一些细节暗示着多接口模式存在问题。继续在标准中探索,终于了解到 Multipleinterfacemode.nameofdevice 模式冲突的真正含义。
而多接口模式的设置,竟隐藏在连接过程的写数据记录中。
经过仔细分析,我们发现还是硬件组态出了问题。原来,控制器写入了单接口模式给智能设备,但默认的智能设备的硬件组态LLDP v2.3,那么必然在用户的硬件组态中,有其它的IO设备有一个被设置为LLDP v2.2 模式,最后在IO控制器的X1接口所连接的一个IO设备发现了这个不经意间所组态的LLDP v2.2。这就导致了一系列连锁反应,最终使得智能设备的两个接口出现了 Multipleinterfacemode.nameofdevice 模式冲突根本原因。