4. 网络通信故障诊断
In-Sight 视觉系统与上位机、PLC、机器人之间的通信一旦异常,表现往往只是“连不上”“图像传不出去”“触发没反应”,但根因可能分布在物理层、IP 配置、协议参数、交换机负载甚至防火墙策略上。本节按“先分层定位、再按协议细化”的思路,把以太网、串口、Profinet、EtherNet/IP 四类通道的排查方法讲清楚,并给出可直接套用的检查表。
一、先分清四类通道的故障特征
不同协议出问题时的“症状”差异明显,先判断属于哪一类,能大幅缩短排查时间:
- 以太网(TCP/IP、FTP、Telnet):表现为 ping 不通、In-Sight Explorer 无法发现相机、图像上传中断。核心是 IP 地址、子网掩码、网关是否同网段,以及网线、网口、交换机端口是否正常。
- 串口(RS-232/RS-485):表现为无返回字符、乱码、触发无响应。核心是波特率、数据位、停止位、校验位、流控是否与对端一致,以及 TX/RX 是否交叉、地线是否共地。
- Profinet:表现为 PLC 侧设备图标红叉、IO 数据不刷新。核心是设备名(Device Name)是否分配、GSDML 是否匹配、IRT/RT 周期与看门狗时间是否合理。
- EtherNet/IP:表现为 PLC 无法建立连接、隐式报文超时。核心是 IP、EDS 文件、RPI(请求数据包间隔)与连接类型(独占/输入独占)配置。
二、分层排查:从物理层到应用层
无论哪种协议,都建议按“物理层→网络层→传输层→应用层”的顺序逐层排除,避免一上来就改参数。
物理层:观察相机网口 Link 灯是否常亮、Activity 灯是否闪烁。用网线测试仪确认线序,Profinet 建议使用屏蔽双绞线并做好接地。串口则用万用表确认 TX/RX 电压,RS-232 空闲时 TX 约为 -5V~-15V。
网络层:在 PC 上执行 ping 192.168.1.10,若不通,先检查相机与 PC 是否同网段。例如相机 IP 为 192.168.1.10/24,PC 应为 192.168.1.x/24。若跨网段,需确认网关和路由。
传输层:用 telnet 192.168.1.10 23 测试 Telnet 端口,用 netstat -an 查看连接状态。若端口被占用或防火墙拦截,会出现 SYN_SENT 或直接拒绝。
应用层:检查 In-Sight 软件中的通信协议是否启用、触发模式(手动/网络/硬件)是否匹配、数据格式(ASCII/二进制)是否正确。
三、连接失败:按协议定位关键点
以太网连接失败最常见的是 IP 冲突或网段不一致。在 PC 命令行执行 arp -a 查看是否有重复 MAC;用 ipconfig /all 确认本机地址。若相机 IP 未知,可用 In-Sight Explorer 的“网络发现”或 Cognex 的 Discovery 工具扫描。若仍找不到,把相机与 PC 直连,PC 设为自动获取 IP,观察是否拿到 169.254.x.x 的链路本地地址。
串口连接失败先做回环测试:短接串口线的 TX 与 RX,用调试助手发送字符,若能原样收到,说明 PC 侧串口和线缆正常,问题在相机侧参数。再核对相机串口配置页中的波特率、数据位、停止位、校验位、流控五项,必须与上位机完全一致。RS-485 还需确认 A/B 线是否接反、终端电阻是否接入。
Profinet 连接失败在 TIA Portal 中查看设备是否显示“已分配设备名”。若未分配,用“分配设备名”功能写入与组态一致的名称(如 ins-01),注意名称区分大小写且不能含中文。若设备名正确但仍红叉,检查 GSDML 文件版本是否与相机固件匹配,必要时从 Cognex 官网下载对应版本重新安装。
EtherNet/IP 连接失败先在 RSLinx 中确认能否浏览到相机。若不能,检查 EDS 文件是否已注册;若已注册但连接超时,检查 RPI 是否设置过小(如 1ms)导致 PLC 无法及时响应,建议从 10ms 起步逐步下调。连接类型若选“独占”,同一时刻只能有一个 PLC 连接,多主站场景应改为“输入独占”或“多播”。
四、丢包与延迟:从现象到根因
丢包和延迟通常不是“连不上”,而是“时好时坏”。判断方法:在 PC 上执行 ping -n 100 192.168.1.10,观察丢包率和平均延迟。若丢包率大于 1% 或延迟波动超过 5ms,需进一步排查。
常见根因包括:网线过长或质量差(超过 100m 或非屏蔽线在变频器附近)、交换机端口协商为半双工、网络中存在广播风暴、Profinet 与普通办公网络混用导致实时报文被延迟。建议将视觉系统单独划分 VLAN,Profinet 使用支持 QoS 的工业交换机,并开启 IGMP Snooping 抑制组播泛洪。
对于 EtherNet/IP,若 RPI 设为 5ms 而网络负载较高,会出现隐式报文超时。可用 Wireshark 过滤 enip,观察是否有大量重传或超时。若确认是负载问题,适当增大 RPI 或改用单播连接减少组播流量。
五、可直接使用的排查检查表
| 检查项 | 以太网 | 串口 | Profinet | EtherNet/IP |
|---|---|---|---|---|
| 物理连接 | Link 灯常亮 | TX/RX 交叉、共地 | 屏蔽线、接地 | 网线、交换机端口 |
| 地址/名称 | IP 同网段 | COM 口号正确 | 设备名已分配 | IP 唯一 |
| 关键参数 | 端口 23/21 开放 | 9600,8,N,1 | 更新周期 4ms | RPI 10ms |
| 验证工具 | ping / telnet | 串口助手回环 | TIA 在线诊断 | RSLinx / Wireshark |
| 典型超时 | ping 超时 | 无返回字符 | 看门狗 12ms | 连接超时 3s |
掌握以上分层方法和协议要点后,绝大多数通信故障都能在 10 分钟内定位到具体层或具体参数。实际维护中建议把每台相机的 IP、设备名、串口参数、RPI 值记录成台账,故障时直接对照,比现场逐项试错高效得多。