Modbus心跳信号延迟30秒?VSD从站故障排查实战解析
前言
书接上文,在多子系统多从站的系统modbus排查中,我们锁定了问题发生在VSD,所以我们就要对VSD进一步排查。找到VSD子系统的普遍性和特殊性。 VSD一侧的MOXA交换机设置 发现问题在VSD后我先来到VSD一侧看看和其他从站有何异常。 VSD一侧交换机 UCS一侧交换机 VSD交换机拨码 2.1 型号兼容问题 交换机是同一品牌,近似型号,理论上兼容性应该没有问题。 2.2 通讯带宽问题 VSD交换机一侧是100M拨码,UCS一侧交换机是10M/100M自适应。所以不存在带宽兼容问题。 科普一下,100M和10M网卡对Modbus通讯的具体影响: 1、传输速率:100M网卡的传输速率是100Mbps,而10M网卡的传输速率是10Mbps。在Modbus通讯中,较高的传输速率可以减少数据传输的时间,提高通讯效率。因此,使用100M网卡可以显著提升Modbus通讯的速度。 2、通讯距离:Modbus通讯的距离受信号衰减和干扰的影响。虽然Modbus通讯的理论距离可以达到1200米,但在实际应用中,距离越长,信号衰减越厉害,尤其是使用质量较差的电缆时,衰减更为明显。因此,较高的传输速率(如100M)在长距离通讯中可能更有优势,但实际效果还需考虑电缆质量和干扰情况。 2.3 全双工和半双工问题 重大发现,VSD一侧拨码是半双工,UCS一侧是全双工。这是一个重大发现并且有理论支持,半双工会造成modbus通讯延迟。 查到这里似乎问题得到发现并且能通过拨码解决。回头查看通讯波形通讯延迟现象依然没有得到解决。 二次排查过程 无奈之下,我们又回到了上文排查过程接5.3一条通讯总线挂接不同的通讯设备。 3.1 一条通讯总线挂接不同的通讯设备 3.1.1减少NET2网口modbus通讯参与设备 将CCC网线1路、Bently网线2路,应用同一网口的设备通讯摘除,仅剩VSD参与通讯。 3.1.2减少NET2网口modbus通讯参与设备,同时减少COM串口设备通讯 除上述操作外摘除MCC的串口通讯,虽然占用网口是否可能对通讯的负荷产生影响。 经过验证试验图如下:未见明显改观。 3.2 通讯节点太多 3.2.1 排除冗余通讯中1路的所有去往VSD的节点 CM左卡正常连接SICO交换机,CM右卡直接连接VSD。 3.2.2 排除冗余通讯中1路的所有去往VSD的节点 CM左卡正常连接SICO交换机,拆除左卡的CCC和BN通讯,CM右卡直接连接VSD。 通讯负荷也降低了,通讯的节点数量也减少了,延迟没有任何优化迹象,矛头瞬间指向了交换机(是否内部存在隔离影响了通讯)。 Cisco交换机排查 交换机品牌Cisco Network switch 型号IE-2000-16TC-G-E 是网管型交换机偏IT类型,工控人一般不了解。 4.1 直接跳过Cisco交换机 直接跳过交换机CM左口直连电脑,CM右口直连VSD,通讯延迟瞬间好转。 4.2 用普通华为8口交换机替换Cisco 跳过CISCO交换机,通讯质量变好并不能证明问题在CISCO交换机,因为跳过CISCO交换机的同时,通讯的节点也变少了,没有实现单一变量。于是我用普通的华为8口交换机替换掉CISCO进行测试。 这两个试验将矛头指向了CISCO,同时用普通华为8口交换机用以佐证,似乎问题就在CISCO。 但是有两个问题点醒了我。 VSD一侧的二次排查 5.1 软件通讯数据类型排查 拿到VSD和UCS两边的数据列表,进行逐一对比,看看是否存在同一数值两边设置的数据类型不一样。BOOL、INT、REAL等等,只有保持数据类型一致,才能保证通讯正产。 VSD一侧数据列表 UCS一侧数据列表 5.2 VSD其他问题可能性排查 经过一系列排查之后,没有进展。反复回忆,之前通讯好时和通讯出问题前做过什么操作。发现VSD一侧,VSD的西门子PLC,内部有主从站M和S,期间S站出现过,VSD内部的主从通讯故障。 让VSD一侧拔除S站,进行监视测试。通讯状态改善,没有出现通讯延迟。 5.3 重启VSD的S站 重新连接VSD一侧的S站并重启,进行监视测试。 通讯watchdog闪烁点完全修复,通讯延迟恢复到了PLC相应通讯负载的理论值以内,单次跳变小于5.4S。 分析总结 通讯延迟造成原因如下: PLC本身的modbus通讯负荷较大,同时VSD一侧,S站掉线。引发modbus轮循时间变长,多次轮循数据没有接收到。Watchdog闪烁点就出现了断线不稳定症状。 优化方式: 1、 删除没有通讯点的通讯块,减少PLC理论负荷通讯时间。 2、 删除通讯块中UCS并不需要的测点,以减少数据量。 3、 Watchdog闪烁点不闪烁的报警时间从10S提高到15S,这样真的出现两次丢包也能保持在15S以内闪烁跳变。 这次排查感觉走了很多弯路,并一度错误的将故障点锁定在CISCO交换机。排查的是人没有上帝视角,但每一份付出都会有收获。在排查过程中细心且多思考前后变化,总能收到一个满意的答案。