我这个程序有问题吗?因为我在调试的时候感应到X3后电机就不转了
还有如果脈冲个数和脉冲频率都是16位数据那我用32位的指令DDRVI可以吗?
图中有一个Y3要改成Y4。。我写错了
你程序中第一个M8340只在停止发送脉冲时接通┅个扫描周期所以M52也就只接通一个扫描周期,有没有可能这一个扫描周期的时候X3还没有接通所以不能SET S21?
还有个可能就是下面老兄说的
如果没有到21状态,那我断开x3 电机应该还是继续发送999999脉冲,可是断开x3也不转
你把M52线圈改成SET M52,再在后面加个复位看看行不行。
1、M8340 :该え件在发出脉冲时被驱动且有脉冲输出时是动作的。
2、16位与32位指令在使用常数K时没什么影响但在用到寄存器D上时,区别在于占用寄存器的数量上16位用一个(D0),32位用2个(D1D2)。
问题来了导通时间不足置位S21(这个你可以在监控S21状态看到),另外一个是和niu9807讲的一样脉沖停止需要时间,(建议加入脉冲停止指令这个是立即停止的)同一个指令多次使用(多线圈)就会有多种多样的问题。
X3动作后DDRVI减速停止需要时间,因此立即启动DRVI指令不会有动作要用脉冲输出停止信号位做条件再启动。
该位为1说明脉冲正在输出将该B接点串入指令条件就可避免上一条指令未执行完毕就执行下一条脉冲指令,结果造成输出停止
可是M8340置1的时候也是脉冲正在输出OFF的时候也是脉冲输出停止,,你是说吧M8348串入到图片中的倒数第二行程序中是吗?