程序实例:走轨迹
等待 3.0 秒
PS:1→2、2→3、7→8、8→9、9→10、10→7 为圆弧运动;
6→1、3→4、4→5、5→6、6→7、7→6 为直线运动;
先画图 1,循环 3 次,等待 3 秒,再画图 2,轨迹如上图所示。
10 个位置在同一平面。
程序(位置寄存器法:建立坐标系,指定位置具体坐标):
程序行
1
2
3
4
5
6
7
8
9
10
指令
PR[6]=LPOS
PR[1]=PR[6]
PR[1,2]=PR[6,2]+120
PR[2]=PR[1]
PR[2,1]=PR[1,1]+50
PR[2,2]=PR[1,2]+50
PR[3]=PR[1]
PR[3,1]=PR[1,1]+100
PR[4]=PR[3]
PR[4,2]=PR[3,2]-120
注释
以位置 6 为原点
将位置 6 赋值给位置 1
位置 1:以位置 6 为基准,其 Y 方向+120
将位置 1 赋值给位置 2
位置 2:以位置 6 为基准,其 Y 方向+50
位置 2:以位置 6 为基准,其 X 方向+50
将位置 1 赋值给位置 3
位置 3:以位置 1 为基准,其 X 方向+100
将位置 3 赋值给位置 4
位置 4:以位置 3 为基准,其 Y 方向-120
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
将位置 2 赋值给位置 5
位置 5:以位置 2 为基准,其 Y 方向-220
将位置 1 赋值给位置 6
位置 6:以位置 1 为基准,其 Y 方向-120
程序 1 初始值为 0
程序 1 分支标签
PR[5]=PR[2]
PR[5,2]=PR[2,2]-220
PR[6]=PR[1]
PR[6,2]=PR[1,2]-120
R[1]=0
LBL[1]
L PR[6] 2000mm/sec FINE 从其它位置以 2000 mm/sec 直线运动到位置 6
L PR[1] 2000mm/sec FINE 从位置 6 以 2000 mm/sec 直线运动到位置 1
C PR[2]
从位置 1,经过位置 2 以 2000mm/sec
PR[3]2000mm/sec FINE 圆弧运动到位置 3
L PR[4] 2000mm/sec FINE 从位置 3 以 2000 mm/sec 直线运动到位置 4
L PR[5] 2000mm/sec FINE 从位置 4 以 2000 mm/sec 直线运动到位置 5
L PR[6] 2000mm/sec FINE 从位置 5 以 2000 mm/sec 直线运动到位置 6
R[1]= R[1]+1
IF R[1]<3 JMP LBL[1]
WAIT 3.0sec
PR[7]=PR[6]
PR[7,1]=PR[6,1]-30
PR[8]=PR[6]
PR[8,1]=PR[6,1]-90
PR[8,2]=PR[6,2]+60
PR[9]=PR[6]
PR[9,1]=PR[6,1]-150
PR[10]=PR[6]
PR[10,1]=PR[6,1]-90
PR[10,2]=PR[6,2]-60
PR[7]=PR[6]
PR[7,1]=PR[6,1]-30
PR[6]=PR[7]
每循环一次,R[1]值加 1
如果 R[1]<3,程序跳转到 16 LBL[1]执行
在位置 6 等待 3.0 秒
将位置 6 赋值给位置 7
位置 7:以位置 6 为基准,其 X 方向-30
将位置 6 赋值给位置 8
位置 8:以位置 6 为基准,其 X 方向-90
位置 8:以位置 6 为基准,其 Y 方向+ 60
将位置 6 赋值给位置 9
位置 9:以位置 6 为基准,其 X 方向-150
将位置 6 赋值给位置 10
位置 10:以位置 6 为基准,其 X 方向-90
位置 10:以位置 6 为基准,其 Y 方向-60
将位置 6 赋值给位置 7
位置 7:以位置 6 为基准,其 X 方向-30
将位置 7 赋值给位置 6
37
38
39
40
41
位置 6:以位置 7 为基准,其 X 方向+30
PR[6,1]=PR[7,1]+30
L PR[6] 2000mm/sec FINE 从其它位置以 2000 mm/sec 直线运动到位置 6
L PR[7] 2000mm/sec FINE 从位置 6 以 2000 mm/sec 直线运动到位置 7
C PR[8]
从位置 7,经过位置 8 以 2000mm/sec
PR[9]2000mm/sec FINE 圆弧运动到位置 9
C PR[10]
从位置 9,经过位置 10 以 2000mm/sec
PR[7]2000mm/sec FINE 圆弧运动到位置 7
L PR[6] 2000mm/sec FINE 从位置 7 以 2000 mm/sec 直线运动到位置 6
程序运行结束
42
[END]
Call test1:调用程序 test1