我通过PLS指令设置了特殊字节SMB67和SMW68来控制电机的转速(如图1),尤其是SMW68我设置为1600微妙,其通过我的转换,应该是转换为电机的转速1500rpm,你可能觉得这不只是PLC编程这边的问题,也与伺服电机的伺服驱动器参数有关,这些我都设置好,和我的硬件是相匹配的,比如电子齿轮比,1600微秒就是对应1500rpm。
但是实际试验的过程中电机转速只有960rpm左右。当我把这个代码重复写两段,其转速会有上升,会到达1200rpm,但是也没有达到1500rpm。如果这个代码网络重复写三次,其转速还是只有1200rpm。

我通过种种尝试,我发现好像是和VD200这个变量。VD200这个变量的值是通过Modbus指令而得来的(如图二),也就是说我要通过PLC主站发送信息给从站读取从站的数值。而modbus指令自带有一个INT中断程序,我想是不是这个中断程序和发送脉冲的指令相冲突了,所以造成了实际我的伺服电机转速不如我理想中的速度。

我向问问各位,我这个情况是不是如我推测的那样,的确是modbus指令和PLS指令有冲突导致的。那么我这种情况应该如何解决呢?