PLC通讯中遇到的实际场景
客户的描述是设备A不能和plc正常TCP通讯,这个时候追问客户硬件接线,现场是怎样连接的?通过追问得到场景:路由器下连接两个交换机,交换机分别连接plc和设备A,设备A和PLC需要走TCP通讯,客户设备A和PLC的IP地址端口已经配置无误,但是设备A不能和PLC正常通讯。这种情况应该如何排查呢?
第一、作为设备A的技术支持,首先排查设备A是否正常工作,通讯配置是否正常
①通过设备A的指示灯看设备状态没问题,远程查看客户的设备A处的TCP配置无误
②通过网络调试助手测试
将网络调试助手作为TCP对端,如果可以和设备A可以正常通讯,可以大概率的排除设备A本身的问题
第二、排查PLC设备是否正常工作,通讯配置是否无误
根据对应的PLC品牌排查PLC设置的ip和端口是否无误;也可以通过网络助手和PLC通讯,排查PLC设备本身的问题
第三、物理层排查,网口和线缆是否有问题
确保网线没有断开或者接触不良;检查交换机端口指示灯是否常亮或闪烁(正常状态应为绿色或黄色),若指示灯异常,尝试更换网口;确认两个交换机未通过其他路径形成环路,否则可能触发广播风暴,可通过生成树协议(STP)规避
第四、数据链路层排查,通过客户描述的拓扑图,需要检查PLC和设备A的IP地址是否是同一网段
plc的IP地址和设备A的IP是否属于同一子网,如果不是,那么路由器表需要配置静态或者动态路由协议,确保两个子网的正常通讯
第五、网络层排查,ping测试
确保设备A和PLC的IP地址、子网掩码、网关配置正确
从设备A
ping
PLC的IP,若失败,说明IP层不通从PLC执行
ping
设备A的IP,反向验证
第六、传输层排查,是否防火墙拦截TCP对应端口
关闭防火墙
第七、应用层排查(第一、二步)
第八、链路中的网络设备排查
路由器性能:
检查路由器的CPU和内存使用率,避免因资源不足导致丢包
确认路由器的QoS策略未限制设备A和PLC的通信优先级
交换机转发规则:
检查交换机的端口速率(千兆或者百兆)是否与设备匹配,避免速率不一致导致丢包
确保交换机未启用端口隔离功能