PMAC运动程序例程(二)
Example2.
&2
close
#5->1000x
OPEN PROG 2
CLEAR
LINEAR
INC
TA500 //加速时间500ms
TS250 //曲线加速时间250ms
P1=0 //循环计数
WHILE (P1<10)
X10
DWELL500
X-10
DWELL500
P1=P1+1
ENDWHILE
CLOSE
&2 B2 R
这个程序的效果就是电机进行10cm的往复运动,往复5次结束。
Example3.
CLOSE
&1
#2->27.77777777777778A //定义一个工程单位为1°
M1->Y:$FFC2,8,1 /*令M1指向地址Y:$FFC2,8,1,
Machine Output 1*/
(M1->Y:$078400,0)
M11-Y:$FFC2,0,1 //令M11指向地址Y:$FFC2,0,1,
I190=6000 //设置坐标系速度的时间单位为分钟
OPEN PROG 3
CLEAR
HOME2
LINEAR
F20
Q50=0
WHILE (Q50<36)
IF(M11==1)
A((Q50+1)*10)
ELSE
A(-(Q50+1)*10)
ENDIF
DWELL20
M1=1 M1=0
DWELL20
A0
Q50=Q50+1
ENDWHILE
CLOSE
&1 B3 RUN
注:
-
I190的作用是设置坐标系速度的时间单位,它的单位是ms,缺省值是1000(即1s),a那么速度单位为cts(uints)/s,如果设置I190=60000,则速度单位为cts(uints)/min.
-
关于坐标系的I变量设置,每个坐标系均有100个I变量控制其设置,具体含义参见《软件参考手册》(2014)。
IsxXX:
对于坐标系1-9:s=5;x=1到9。
对于坐标系10-16:s=6;x=1到6(即坐标系号减10)
根据上面的定义,这里的I190=6000,严格来说应该改成I5190=6000比较严谨。
-
M1->Y:$FFC2,8,1
这是一个M变量定义的语句,指向Clipper数据寄存器的$FFC2地址,Clipper数据寄存器分为两个部分X和Y,都是24位寄存器。
M102->Y:$F078003,8,16,s
这条语句是一个完整的定义语句,M102指向Y:$078003的第7到24位,值得类型是无符号的整型。U表示unsigned integer,S表示signed integer,D表示BCD码,C表示BCD码的补码。数值类型是可选的,没有指定的话就是无符号整型。
注意: Y:$FFC2,8,1这是PMAC和PMAC2所用的地址,我们用的clipper的地址映射有所不同,具体的改变参见《软件参考手册》(2014版)P746。根据软件手册的定义M1->Y:$FFC2,8,1应该写成M1->Y:$078400,0。
.