S7-200 SMART与丹佛斯FC360变频器Modbus RTU通讯,单台轮询测试正常,超时时间设置为1秒,从来没有超时过,数据写给变频器也能正常启动,且读回数据也正常。
PLC与2台变频器轮流读写,程序中变频器2读完成done位连接一个计数器,用来记录轮询次数。大部分时间该计数器以1秒加1的速度累加(将初始化timeout改为2000ms,则现象是每2秒加1的速度),观察程序实时状态,发现能流卡在M2.4或者是M2.2,即从变频器2读取完成后的done位,和变频器1读取完成后的done上。感觉上像是每次轮询会有任意一个变频器掉线?但是4个MSG的error始终是0,通讯超时应该有错误代码的吧?也有少部分时间是计数器2秒加1(两个都超时)和1秒加好几个数。
硬件方面通讯电缆使用的是屏蔽电缆,且2台变频器距离PLC不到0.5米。PLC与变频器的地址,波特率,奇偶校验这些也核对过好几遍了,最后一台变频器的端接电阻也已拨到on了,不知道是哪方面的问题,请各位大佬帮忙看看