位置控制注意事项供参习
位置控制注意事项
一、PTO0_RUN
1、EN-使能端
当EN=1时,调用此子程序;
当EN=0时,不调用(此时START,profile,abort无效)
2、START-启动 注:最好用沿触发
每一个上升沿触发一次脉冲输出,若START持续有效,会不断触发脉冲输出。
3、Profile-正在执行的包络号
4、Abort-终止
Abort =1时,停止本包络输出
5、断电后再上电,DONE、error、C_Profile、C_POS、C_Step全清0
试验一:(单包络)
1、PTO0_RUN START沿脉冲
运行中:PTO0_RUN和PTO0_CTRL的 DONE=0 C_POS递增
运行完:两者DONE=1 C_POS=设定值
2、运行完时下给PTO0_RUN的Abort,不影响两者的DONE,C_POS,error=0
3、在PTO0_RUN运行中给Abort
当减速行至0后,二者DONE都为1;C_POS记录走过的脉冲数。
Error=2(代表运行中有减速停止动作)
4、PTO0_RUN运行中按下CTRL中的减速停
减速至0后,二者DONE都变为1,error=2
PTO0_RUN运行中按下CTRL中的立即停
停至0后,二者DONE都变为1,error=1
试验二:(多包络)
1、执行包络0时
包络0的DONE与CTRL 的DONE一致=0,包络1 DONE=1
2、执行完包络0时
包络0的DONE与CTRL的DONE一致=1,包络1 DONE=0
3、执行包络0中按下包络0的Abort
包络0减速至0时,包络0 DONE=1 CTRL DONE=1 error=2 C_POS=实际脉冲数
包络1 DONE=0
包络0减速至0之前,包络0 DONE=0; CTRL DONE=0; 包络1 DONE=1
4、执行包络0过程中按下CTRL减速停
CTRL、包0、包1的DONE减速停止后都变为1
撤销减速停条件后 包1的DONE变为0(未执行的包络)
5、包络0设为相对位置时,如50000个脉冲
若走了20000个,之后ABORT有效
再次START,将再走50000个(相对现在20000个,共走了70000个)
CTRL中有停信号时,情况类似。
6、当包络0运行时,包络1的error=128,代表其它包络正在运行;CTRL的error=0.
试验三:
1、PTO0_MAN START有效时
PTO0_CTRL DONE=0,其它PTO0_RUN DONE=1
2、当PTO0_MAN START无效时
PTO0_CTRL DONE=1其它PTO0_RUN的DONE=0
CTRL总是与当前包络(包括MAN)一致
3、当PTO0_RUN START有效时
运行时:PTO0_CTRL和本包络 DONE=0 其它包络 DONE=1
运行完:PTO0_CTRL和本包络 DONE=1 其它包络 DONE=0
4、包络0 START有效后,包络0未走完情况下
PTO0_MAN的RUN也有效
包络0将继续走完自己的脉冲数
之后再按PTO0_MAN走。
5、PTO0_MAN的RUN有效后,再按下包络0,START 包络0将无效
原因:PTO0_MAN 的RUN有效,将置位其它包络的DONE,使其它包络无法运行。
6、两个包络如包络0和包络1若START上升沿都有效,则谁先有效,运行谁。
包络0运行时,包络1和MAN的error=128,CTRL和LDPOS的error=0。
二、PTO0_LDPOS
C_POS:代表当前所有包络走过的脉冲数
NEW:当START有效时,把NEW值写入C_POS
试验四:
1、PTO0_LDPOS的DONE当EN有效时,自动为1。
2、PTO0_RUN原设定5万脉冲
若PTO0_LDPOS中设计当脉冲数大于2万时,0给NEW
现象:PTO0_RUN将从0开始计数,但总5万个包络数不变。
3、PTO0_LDPOS与PTO0_MAN配合使用
当希望电机在运行中突然断电后,上电后,电机能在复位到原点后,又重新回到断电位置时,用此条指令实现。
当复位时,把从断电处到原点的脉冲数,传到一变量如VD512中,用PTO0_LDPOS把脉冲数置为0。
当实际脉冲数小于VD512时,PTO0_MAN一直运行,即可回到断电位置。
5
原创力文档

文档评论(0)