s7-200控制步进电机正反转
112.95.251.214
发布于2014-04-28 17:51
8
0
标签:
用pto怎么才能让步进电机走完一段距离后自动反转回来?外部没有开关
佳答案
1、主程序先正转,等到正转完了就中断,中断中接通个辅助触点(m0.x),当m.0x闭合,住程序中的反转开始运做.这样子就ok了。
2、用pto指令让q0.0orq0.1高速脉冲,另一个点如q0.2做方向信号,就可以控制正反转了,速度快慢就要控制输出脉冲周期了,周期越短速度越快,如果速度很快的话请考虑缓慢加速,不然它是启动不了的,如果方向也变的快的话就要还做一个缓慢减速,不然它振动会蛮厉害,而且也会失步。
3、程network1//用于单段脉冲串操作的主程序(pto)
//首次扫描时,将映像寄存器位设为低
//并调用子程序0
ldsm0.1
rq0.01
callsbr_0
network1//子程序0开始
ldsm0.0
movb16#8dsmb67//设置控制字节:
//-选择pto操作
//-选择单段操作
//-选择毫秒增加
//-设置脉冲计数和周期数值
//-启用pto功能
movw+500smw68//将周期设为500毫秒。
movd+4smd72//将脉冲计数设为4次脉冲。
atchint_019//将中断例行程序0定义为
//处理pto完成中断的中断。
eni//全局中断启用
pls0//激活pto操作,pls0=>q0.0
movb16#89smb67//预载控制字节,用于随后的
//周期改动。
network1//中断0开始
//如果当前周期为500毫秒:
//将周期设为1000毫秒,并生成4次脉冲
ldw=smw68+500
movw+1000smw68
pls0
creti
network2
//如果当前周期为1000毫秒:
//将周期设为500毫秒,并生成4次脉冲
ldw=smw68+1000
movw+500smw68
pls0序注释