我正在与第三方评估我们的 EtherNet/IP 解决方案、第三方发现了一些可靠性问题、我希望通过此主题解决这些问题。
我们发现,在某个时候,交换机会停止向一个方向(B->A)转发数据包。 发生这种情况时、闪烁的绿色 LED 将稳定亮起。 这是出现问题的视觉指示。 该网络已被分段为线性拓扑、DLR 监控器已禁用、无后台流量。 因此流量极少。
下面是网络图:
NetAnalyzer 是一种物理层抽头、其上有4个端口。 它捕获在任何给定端口上接收到的数据包。 与常规网络接口不同、它不会拒绝错误帧、因此会捕获任何帧、而不管其好坏。 它还可以捕获我们认为的上行/下行链路事件、但我们在该测试中看不到任何事件。 NetAnalyzer 接收到的数据将转换为 Wireshark 格式、因此可以使用 Wireshark 轻松查看。 Wireshark 日志可以通过电子邮件定期提供、因为我无法成功将其上传到此 E2E 主题。 请注意、此捕获中生成了许多文件。 所连接的是 TI 器件停止向一个方向转发流量的位置、稍后将对此进行说明。
请注意 NetAnalyzer 端口号0-3是如何连接的。 该端口号反映在 Wireshark 捕获中、以指示数据包在哪个端口上接收。 这是 Wireshark 中帧解码的开始。
有关网络的其他信息:
1) 1) TI 模块当然是 DUT (被测器件)。
2) 2).132和.81处的设备是带有1756-EN2TR 模块的 Rockwell ControlLogix 控制器。
- 这些控制器通常用作流量发生器、但对于此测试、控制器实际上已从机箱中拔出。
- 因此、EN2TR 模块位于网络上、但不会提供流量。
3) 3).83处的 ETAP 未连接到 Wireshark PC、它仅在网络上、也不会向流提供任何数据包。
4) 4) 没有到点 I/O 机箱的 I/O 连接、因此它也不会向网络提供任何流量。
5) 5)节点.133处的 CIP 运动控制器通常是环形监控器、但对于此测试、它已禁用、因此不会发送 DLR 信标帧。 这是为了最大程度地减小捕获文件大小。
6) 6) 断开与0.133端口2的连接、因此没有环形。
在.133和.134之间以及.133和.135之间流动的流量是 CIP Motion 流量。 每个方向都有一个数据包,即.133->.134、.134->.133、.133->.135和.135->.133。 我们认为数据包以1.5ms 的速率流动。 捕获文件将显示每一帧两次、因为每一帧都是在 NetAnalyzer 的两个独立端口上接收的、因此您必须查看 NetAnalyzer 信息以查看给定帧所处的端口。 它仅记录在端口上接收到的帧、而不记录在端口上传输的帧。 幸运的是,出现了一种模式,使问题发生时更容易发现。 以下是正常情况下的模式:
|
端口已接收 |
从中删除 |
更改为 |
说明 |
|
3. |
134. |
133. |
NetAnalyzer 端口3上接收到来自驱动器的数据包 |
|
0 |
134. |
133. |
TI 交换机转发的上一个数据包 |
|
3. |
135. |
133. |
NetAnalyzer 端口3上接收到来自驱动器的数据包 |
|
0 |
135. |
133. |
TI 交换机转发的上一个数据包 |
|
1 |
133. |
135. |
在 NA 的端口1上接收到来自控制器的数据包 |
|
2. |
133. |
135. |
TI 交换机转发的上一个数据包 |
|
1 |
133. |
134. |
在 NA 的端口1上接收到来自控制器的数据包 |
|
2. |
133. |
134. |
TI 交换机转发的上一个数据包 |
|
重复 |
|
||
查看到#330537之前的帧,您将看到上述模式重复出现。
在330537帧中、图案变为:
|
端口已接收 |
从中删除 |
更改为 |
|
|
3. |
134. |
133. |
NetAnalyzer 端口3上接收到来自驱动器的数据包 |
|
3. |
135. |
133. |
NetAnalyzer 端口3上接收到来自驱动器的数据包 |
|
1 |
133. |
135. |
在 NA 的端口1上接收到来自控制器的数据包 |
|
2. |
133. |
135. |
TI 交换机转发的上一个数据包 |
|
1 |
133. |
134. |
在 NA 的端口1上接收到来自控制器的数据包 |
|
2. |
133. |
134. |
TI 交换机转发的上一个数据包 |
|
重复 |
|
||
这表明 DUT 会停止转发进入端口 B 的数据包、但仍然以相反的方向转发数据包。 这意味着来自两个 K6500驱动器(.134和.134)的数据包无法到达控制器、最终在第331293帧、CIP 运动控制器放弃发送其数据包。 这表示连接已超时。 此后不久,在框架331496和331498中,CIP 运动控制器将关闭与驱动器的连接。 它稍后尝试重新打开它们,但由于它没有通过 DUT 从端口 B 到端口 A 的响应,因此连接永远不会重新建立。
这就是我现在所知道的。
经过一些进一步的测试、我们能够在更简单的网络上重现此问题。 我们设置了 CompactLogix 控制器(L36ERM)、TI 器件和点 I/O 适配器。 这是图。
由于会议,CompactLogix 和 Point IO 适配器之间的连接未完全设置。 大约一小时后返回时,TI 板的 LED 呈稳定绿色,没有流量从端口1传输到端口0。
‘s发生这种情况时,网络上唯一的通信是 RSLinx 浏览和 Point IO 适配器响应,可能是一些 ARP 和其他 PC 网络“tuff”。
请告知解决此问题的后续步骤。
谢谢、
Stuart


