【TRIO-Basic从入门到精通教程五】直线、圆弧插补的指令使用

来源:互联网 发布:linux yum网络安装 编辑:程序博客网 时间:2024/04/29 20:15

前面文章讲了轴参数含义的使用!接下来就到了实战环节,废话少说代码!

'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...]]]) 

举例:

WHILETRUE
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




亲爱的朋友,今天的文章就到这里!赶快装起软件一起来测试吧,插补就是如此简单!请多多关注博客,我们将坚持发布技术文章给朋友们借鉴!





5 0
原创粉丝点击