PMAC运动程序例程(一)

日期:2015/06/10

作者:Z.K.

修订信息:2015/08/13修改1

Example1

&1                      选择坐标系1
Close                   关闭所有的缓冲寄存器
#1->X                   将1号电机分配给X轴
OPEN PROG1              打开程序1的缓冲寄存器
CLEAR                   清除缓冲寄存器的内容
LINEAR                  选择混合线性插值运动模式,还可以选择CIRCLE圆弧运动
ABS                     绝对运动(给定位置),INC表示相对运动    
TA500                   设置500ms的加速时间
TS0                     不使用曲线加速
F5000                   设置速度为5000个单位每秒
X10000                  移动X轴(即1号电机)到位置10000
DWELL500                在位置10000处停留500ms
X0                      移动到位置0处
CLOSE                   关闭寄存器,结束程序
&1  B1  R               &1跟上面一样,选择坐标系1,B1是将程序计数器,跳到程序1的起点,R(RUN)运行程序

注:

  1. #1->X  轴定义语句,还有另外一种形式。#1->{constant}X,表示将{constant}个编码器(光栅尺)脉冲作为X轴的一个运动单位,例如,我们用的直线电机2000个脉冲对应1mm,我们可以定义为#1->2000X,就将光栅尺2000个脉冲定义为X轴的工程单位,此后在程序中写X1即表示X正向运动1mm,F100即表示速度为100mm/s.类似的,我们用的华大电机2500线编码器四倍频之后一转发出10000个脉冲,平均每一度转角对应27.77777777777778(10000/360)个脉冲,因此我们可以定义为#2->27.77777777777778Y,那么在以后在程序中,我们写Y1即表示Y轴正向转动1度,f10表示10°/s。这是一个很实用的功能,在程序开头定义后,就再不用管脉冲与实际单位的对应关系。
  2. 时间单位,程序当中的时间单位大部分为ms,但是在这里速度设置的时候是秒,比如上面的F5000表示5000cts/s,原因以后再讲。

理论运行结果如下图

实际运行结果


红色表示实际速度,绿色表示指令速度。

红色表示实际位置,绿色表示指令位置。