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

注:

  1. I190的作用是设置坐标系速度的时间单位,它的单位是ms,缺省值是1000(即1s),a那么速度单位为cts(uints)/s,如果设置I190=60000,则速度单位为cts(uints)/min.

  2. 关于坐标系的I变量设置,每个坐标系均有100个I变量控制其设置,具体含义参见《软件参考手册》(2014)。
    这里写图片描述
    IsxXX:
    对于坐标系1-9:s=5;x=1到9。
    对于坐标系10-16:s=6;x=1到6(即坐标系号减10)
    根据上面的定义,这里的I190=6000,严格来说应该改成I5190=6000比较严谨。
    这里写图片描述

  3. 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。

.

posted @ 2015-10-19 15:31  zkang  阅读(1056)  评论(0编辑  收藏  举报