台达PLC通讯程序要点
(1)“固定时序通讯程序”是台达PLC通讯技术工程处理通讯常用方法,利用固定计时的方法来实现分时通讯,这样的写法比较容易造成通讯时序上的问题。Modbus 通讯规格是采用主/从模式,也就是主站发通讯命令给从站,从站收到之后再回应主站,这一收一回才算完成一个完整的通讯资料交换,该程序有使用到M1127来判断,但是决定下一个通讯指令是否运行的接点开关却不是由通讯旗标来决定,而是由100ms 的 timer来决定,这样很容易有问题生成,因为通讯的整个时间包含通讯资料在线上传输的时间加上通讯资料在主/从站处理的时间,若这时间超过100ms,那就很容易造成从站回传,而主站送资料出去,造成资料在线上碰撞,因而影响传输的正确性,如果把timer时间延长,还是会碰到有问题,因为这种写法,通讯旗标的动作与决定传送的旗标本身并未同步,因而会有时间差,造成资料不正确。该程序在EH机型上测试,发现通讯速度比较慢,且读回来的数据有时会发生交叉的现象,即从站2的频率读到从站4的寄存器上,错误读写的情况可见图一。使用这种编程方法在通讯正常时没有问题,一旦当通讯数据错乱时,就会造成数据传送错误,严重时甚至导致PLC死机,参见图1。
(2)“通讯旗标方式程序”是调整后的程序,可以比较一下,其主要区别在于Modbus Read/Write 指令在程序使用上搭配M1127, M1129, M1140, M1141 来判断,由这几个旗标的状态来决定下一个通讯指令的运行时间,能够很好的处理串行通讯的时序问题,保证通讯的可靠及效率,正常通讯监控画面如图二。在用固定时序通讯中,即使通讯正常完成,那末也要等到100MS以后做下一个通讯,比如写指令通讯完成耗时20MS,则需要等待80MS,降低了通讯效率,而采用通讯旗标会在通讯完成或出现错误的情况下转入执行下一个通讯指令,有效利用了时间,参见图2。