【TRIO-Basic从入门到精通教程五】直线、圆弧插补的指令使用
前面文章讲了轴参数含义的使用!接下来就到了实战环节,废话少说代码!
'Start Standard Section ' Axis Parameters BASE(0) UNITS=10000 'Gains P_GAIN=1 I_GAIN=0 D_GAIN=0 OV_GAIN=0 VFF_GAIN=0 'Velocity profile ACCEL=500 CREEP=1 DECEL=ACCEL JOGSPEED=1 SPEED=2 'Limits DATUM_IN=0 FE_LIMIT=0.5 FHOLD_IN=1 FS_LIMIT=1000 FWD_IN=2 REP_DIST=10000 REV_IN=3 RS_LIMIT=-1000 'Axis output SERVO=0 'Stop Standard Section WDOG=1
增益参数在速度控制或扭矩控制才能使用,位置控制采用驱动器内部增益控制!上述代码相信各位问题不大,接下需要学习我们今天的内容!
MOVE相对移动,语法:
MOVE(distance1 [,distance2 [,distance3 [,distance4...]]])
举例:
WHILE TRUE TRIGGER ACCEL=2 DECEL=2 MOVE(1) WAIT IDLE WA(100) MOVE(-1) WAIT IDLE WA(100) WEND
MOVEABS绝对移动,语言:
MOVEABS(position1[, position2[, position3[, position4...]]])
举例:
WHILE TRUE
TRIGGER
ACCEL=
10
DECEL=
10
MOVEABS(
1)
WAIT IDLE
WA(
100)
MOVEABS(
0)
WAIT IDLE
WA(
100)
WEND
MOVECIRC平面圆弧插补,语法:
MOVECIRC(end1, end2, centre1, centre2, direction [,ta [,output]])
举例:
LIMIT_BUFFERED=
32
BASE(
0)
UNITS=
1000
SPEED=
100
ACCEL=
10*
SPEED
DECEL=
ACCEL
JOGSPEED=
1
FS_LIMIT=
1000
RS_LIMIT=-
1000
FE_LIMIT=
1
FE_RANGE=
0.6*
FE_RANGE
FWD_IN=-
1
REV_IN=-
1
SERVO=
0
BASE(
1)
UNITS=
1000
SPEED=
100
ACCEL=
10*
SPEED
DECEL=
ACCEL
JOGSPEED=
1
FS_LIMIT=
1000
RS_LIMIT=-
1000
FE_LIMIT=
1
FE_RANGE=
0.6*
FE_RANGE
FWD_IN=-
1
REV_IN=-
1
SERVO=
0
WDOG=
1
BASE(
0,
1)
DEFPOS(
0,
0)
WAIT UNTIL OFFPOS=
0
TRIGGER
MOVE(
0,
6)
'move A -> B
MOVECIRC(
3,
3,
3,
0,
1)
'move B -> C
MOVE(
2,
0)
'move C -> D
MOVECIRC(
3,-
3,
0,-
3,
1)
'move D -> E
MOVE(
0,-
6)
'move E -> F
MOVECIRC(-
3,-
3,-
3,
0,
1)
'move F -> G
MOVE(-
2,
0)
'move G -> H
MOVECIRC(-
3,
3,
0,
3,
1)
'move H -> A
亲爱的朋友,今天的文章就到这里!赶快装起软件一起来测试吧,插补就是如此简单!请多多关注博客,我们将坚持发布技术文章给朋友们借鉴!