Trio部分程序指令中文翻译
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TRIO
BASIC运动控制编程语言1 运动控制指令
2 I/O指令和功能
3 循环和条件结构
4系统指令和参数
5任务指令和参数
6 算术和逻辑功能
以下列表概述了算术和逻辑功能,详细描述参考特定页。
7常量
8轴参数
1.
ACC
类型:运动控制指令
语法:ACC(acc率)
注意:这个指令用来和旧的Trio控制器兼容。
加速度率和减速度率可用ACCEL 和DECEL 轴参数设定。
说明:同时设定加速度率和减速度率
参数:acc率: 参数单位决定于单位轴参数。
加速度因子从UNITS/SEC/SEC输入。
例子:ACC(100)
ADD_DAC
类型:运动控制指令
语法:ADD_DAC(轴)
说明:ADD_DAC指令提供双反馈控制。
允许第二个编码器(轴1)反馈到伺服轴(轴0)。
指令允许两个伺服环的输出共同决定伺服驱动器的速度参考。
这个指令通常应用于轧辊反馈,需要第二个编码器补偿滑动。
使用ADD_DAC需要两个物理轴连接到同一个需要运动的轴。
通常,在两轴中的一轴运动。
使用ADDAX或CONNECT在两轴产生匹配的目标位置(DPOS)。
两轴都需要设置
伺服环。
伺服环输出归结为伺服轴的速度参考输出。
使用ADD_DAC(-1)取消连接。
ADD_DAC通常在缺省轴,除非使用BASE定义暂时基本轴。
注:1.两轴的控制环增益需要小心确认。
因为不同的编码器分辨率不同,增益也不同。
2.在轴1产生伺服环,用ATYPE将轴设置为伺服轴。
3.将轴1和轴0设置相同的OUTLIMIT参数为15000,否则轴1的输出参考会被限制。
参数:轴
速度参考输出到基本轴,设置-1取消连接,并返回正常操作。
参阅:AXIS,ADDAX,OUTLIMIT
例子:例子1
以下例子用轴0和轴1双反馈控制伺服驱动器轴0。
BASE(0)
OUTLIMIT AXIS(1)=15000
ADD_DAC(1)AXIS(0)
ADDAX(0)AXIS(0)
WDOG=ON
SERVO AXIS(0)=ON
SERVO AXIS(0)=ON
‘在轴0执行运动
例子2
以下例子仅使用轴1编码器反馈控制伺服驱动器轴0。
BASE(0)
OUTLIMIT AXIS(1)=15000
ADD_DAC(1)AXIS(0)
WDOG=ON
SERVO=OFF
S_REF=0
BASE(1)
SERVO=0
‘轴1执行操作。
ADDAX
类型:运动控制指令
语法:ADDAX(轴)
说明:ADDAX指令将叠加轴的目标位置加到运动轴的轨迹上。
ADDAX指令发出,两轴连接。
使用ADDAX(-1)取消轴的连接。
ADDAX允许执行两轴叠加运动。
连接两轴以上,同样可以使用ADDAX。
ADDAX通常在缺省轴,除非使用BASE定义临时基本轴。
注意:注意多条ADDAX指令可能会产生危险。
例如一轴连接到另一轴,反之亦然。
这会造成系统的不稳定。
参数:轴
轴被设置成叠加轴,设置-1取消连接并返回正常操作。
参阅:ADDAX_AXIS,AXIS
例子:物体放置在连续运动的同步带上,并在不远处拾起。
传感器给出信息物体在需要位置之前还是之后,有多远的距离。
在以下例子中,轴0假设为基本轴并连续正向运动,叠加轴2依据子程序计算出偏移。
FORW ARD ‘设置连续运动
ADDAX(2)‘叠加轴2的偏移
REPEAT
GOSUB getoffset ‘计算偏移
MOVE(offset)AXIS(2)
UNITL IN(2)=ON ‘直到校正结束
AXIS
类型:运动控制指令
语法:AXIS(轴数)
说明:AXIS修改设置单轴运动指令或单轴参数读写。
AXIS参数在命令行或程序行特别有效。
使用BASE指令改变基本轴。
参数:轴数
任何有效的BASIC表达式特定轴数。
注意:AXIS指令可用于修改以下指令的轴参数:ADDAX,CAM,CAMBOX,CANCEL,CONNECT,DATUM,DEFPOS,FORW ARD,MOVEABS,MOVECIRC,MOVELINK,MOVE,MOVEMODIFY,REVERSE,REGIST,WAIT IDLE,WAIT LOADED。
参阅:BASE()
例子:例子1
BASE(0)
PRINT VP_SPEED AXIS(2)
例子2
MOVE(300)AXIS(2)
例子3
REPDIST AXIS(3)=100
BASE
类型:运动控制指令
语法:BASE(轴1,轴2,轴3)
BASE
参数:BA(轴1,轴2,轴3)
BA
说明:BASE指令用于设置缺省轴或特定轴组。
所有顺序运动指令和轴的参数会应用于基本轴或特定轴组,除非BASE指令定义暂时基本轴。
基本轴一致有效直到用BASE再次改变。
每个BASE过程有它自己的轴组并且每一程序可以独立设置自己的轴组。
使用PROC 修改任务的参数。
BASE命令组可用于设置轴的顺序。
可用于多轴直线插补和圆弧插补运动。
缺省的基本轴组是(0,1,2),当上电或任务刚开始运行时。
BASE指令不包括参数返回当前基本轴组。
参数:AXIS_I
基本轴的轴数和顺序轴在轴组用于多轴运动。
参阅:AXIS
例子:例子1
每轴可以有自己的速度,加速度和其它参数。
BASE(1)
UNITS=2000 ‘设置轴1的转换因子。
SPEED=100 ‘设置轴1的速度
ACCEL=5000 ‘设置轴1的加速度
BASE(2)
UNITS=2000 ‘设置轴2 的转换因子
SPEED=125 ‘设置轴2的速度
ACCEL=10000 ‘设置轴2的加速度
例子2
在以下例子中,轴0,1和2会以特定的速度,加速度运动到特定位置。
BASE(0)设置基本轴0。
BASE(0)
MOVE(100,-23。
1,1250)
例子3
在命令行,基本组的顺序可以由BASE显示。
>>BASE(0,2,1)
>>BASE
(0,2,1)
例子4
用PROC显示特定任务基本组的顺序。
>>RUN “PROGRAM”,3
>>BASE PROC(3)
(0,2,1)
例子5
问讯BASE会返回当前选择的基本轴。
>>BASE(2)
>>PRINT BASE
2.0000
CAM
类型:运动控制指令
语法:CAM (start point,End point,Table multiplier,distance)
说明:CAM指令按存储在TABLE变量中数组组成的位置文件来运动。
Table值是相对于起始点的绝对位置,并特指编码器的沿。
Table数组由TABLE指令定义。
运动可以被定义成2到8000个位置。
MC控制单元依据Table定义的平滑轨迹连续运动。
两个或多个CAM指令可以同时执行,使用相同或重叠的Table数组值,Table文件执行一次。
CAM需要在Table数组中的开始元素是0。
距离结合SPEED和ACCEL参数决定运动速度。
注意为了跟随CAM轨迹,ACCEL参数必须比SPEED参数大1000倍。
CAM工作在缺省轴,直到使用AXIS设置临时基本轴。
参数:start point
Table数组中使用的第一个元素的地址。
为了定义起始点,允许Table数组保留多个轨迹或其它信息。
End point
Table数组中最后一个元素的地址。
Table multiplier
Table倍乘值用于成比例的放缩Table里存储的数值。
因为Table值特定为编码器的沿,
使用这个参数设置变量,例如单元转换因子。
Distance
用户定义的单位控制Table整个运动速度。
执行CAM依据当前轴的速度和距离。
例如:假定程序单位为mm同时速度设置成10mm/s,加速度足够高。
如果定义距离100mm,CAM 的执行需要10秒。
参阅:ACCEL,AXIS,CAMBOX,SPEED,TABLE
例子:假定运动需要遵循以下位置等式:
T(x)=x*25+10000*(1-cos(x))
上等式中,X是角度。
这个例子提供简单的常速摆动。
循环执行需要以下代码。
GOSUB camtable
Loop:
CAM(1,19,1,200)
GOTO LOOP
注:子程序camtable需要加载以下数据到table数组。
Table位置角度值
1 0 0
2 20 1103
3 40 3340
4 60 6500
5 80 10263
6 100 14236
7 120 18000
8 140 21160
9 160 23396
10 180 24500
11 200 24396
12 220 23160
13 240 21000
14 260 182236
15 280 15263
16 300 12500
17 320 10340
18 340 9103
19 360 9000
CAMBOX
类型:运动控制指令
语法:CAMBOX(start point, end point, table multiplier, link distance ,link axis<,link options><, link pos>)
说明:CAMBOX指令按存储在TABLE变量中数组组成的位置文件来运动。
运动与另一轴的测量位置连接,形成连续软件电子凸轮。
Table值是相对于起始点的绝对位置并特指编码器的沿。
Table数组由TABLE指令定义。
Table数组由Table指令定义。
运动可以被定义成3到Table 数组可定义的最大值。
从动轴依据Table定义的点作插补运动,使得少量点定义的运动轨迹形成平滑的曲线。
两个或多个CAMBOX指令可以同时执行,使用相同或重叠的Table数组值,Table文件执行一次。
注意CAMBOX可以反向或正向取Table值,取决于主轴方向。
Link option可用于定义CAMBOX的不同选项和连续CAMBOX。
例如:如果Link option设置成4,CAMBOX操作就如同理论上的可正反转的CAM。
CAMBOX工作在缺省轴。
除非AXIS定义其它的临时基本轴。
参数:start point
Table数组中使用的第一个元素的地址。
End point
Table数组中使用的最后一个元素的地址。
Table multiplier
Table倍乘值用于成比例的放缩Table里存储的数值。
因为Table值特定为编码器的沿,
使用这个参数设置变量,例如单位转换因子。
Link distance
用户定义的连接(主)轴(运动完成特定输出运动。
连接距离必须定义成正的距离。
Link axis
连接的轴
link option
1.当主轴色标信号触发时,从轴与主轴开始连结。
2.当主轴运动到设定的绝对位置,从轴与主轴开始连结。
4.CAMBOX自动重复连续双向运行。
设置REP_OPTION=1,取消此操作。
8.PATTERN模式, CAMBOX的高级用法,允许在一个CAMBOX执行周期中实现多个
波动幅度值。
一般与模式4一起使用。
Link pos 这个参数是绝对位置,当参数6设成2,CAMBOX在这个位置开始连结。
注意:当执行CAMBOX时,ENDMOVE参数会被设置成前一运动的结束。
REMAIN参数保留剩余距离。
参数6和7可选。
例子1:num_p=30
scale=2000
''
Subroutine to generate a SIN shape speed profile
'
'Uses: p is loop counter
' num_p is number of points stored in tables pos 0..num_p ' scale is distance travelled scale factor
FOR p=0 TO num_p
TABLE(p,((-SIN(PI*2*p/num_p)/(PI*2))+p/num_p)*scale) NEXT p
参阅:AXIS,CAM,REP_OPTION,TABLE。
CANCEL
类型:运动控制指令
语法:CANCEL[(1)]
备选:CA[(1)]
说明:CANCEL指令取消轴的当前运动。
速度轨迹(FORW ARD,REVERSE,MOVE,MOVEABS,MOVECIRC)将会以DECEL参数减速直到停止。
其它运动会立即停止。
CANCEL指令取消缓存(MTYPE)中的运动。
CANCEL(1)取消缓存(NTYPE)中的运动,而不影响MTYPE缓存中的当前运动。
CANCEL工作在缺省轴,除非使用AXIS参数定义临时基本轴。
注意:1.CANCEL只能取消当前执行的运动。
如果在缓存中还有运动,它会继续被加载。
2.在当前运动的减速过程中,另外的CANCELS会被忽略。
3.CANCEL(1)只取消当前缓存中的运动。
存储在任务缓存中的运动由PMOVE参
数定义,可以被加载到缓存一旦缓存运动被取消。
参阅:AXIS,MTYPE,NTYPE,PMOVE,RAPIDSTOP
例子:例子1
FORW ARD
W A(10000)
CANCEL
例子2
MOVE(1000)
MOVEABS(3000)
CANCEL ‘取消运动到3000,而运动到4000。
MOVEABS(4000)
注意MOVEMODIFY是修改运动结束点最好方法。
CONNECT
类型:运动控制指令
语法:CONNECT(ratio,driving_axis)
备选:CO(ratio,driving_axis)
说明:CONNECT指令将基本轴的目标位置与由driving_axis轴定义的测量位置通过电子齿轮联接。
比率可以通过在相同的轴再执行CONNECT而随时改变。
改变驱动轴需要先取消指令。
CONNECT联接多个轴会被忽略,CONNECT可以通过CANCEL或RAPIDSTOP取消。
CLUTCH_RATE参数可用于设置联接改变率。
CONNECT工作在缺省轴,除非用AXIS定义临时基本轴。
参数:RATIO
电子齿轮的联接率。
比率定义为编码器边沿比率。
驱动轴按增量运行。
比率可正可负,并有16位的分辨率。
DRIVING_AXIS
主轴驱动基本轴
参阅:AXIS,CANCEL,CLUTCH_RATE,CONNECT,RAPIDSTOP
例子:辊轮需要传送带上的编码器按1/4的速度旋转,辊轮联结在轴0上,输入通道监控传送带由轴1控制,可以使用以下代码。
BASE(1)
SERVO=OFF ‘这个轴用于监控传送带
BASE(0)
SERVO=ON
CONNECT(0.25,1)
DATUM 原点搜寻
类型:运动控制指令
语法:DATUM(sequence)
说明:DATUM指令执行6种方法中的一种搜寻原点位置,其为绝对位置同时可以重置跟随误差。
伺服驱动器机构原点搜寻用于轴0。
轴1用于MC控制单元机构。
DA TUM使用CREEP速度和目标速度用于原点搜寻。
伺服驱动器用于轴0。
爬行速度用CREEP参数设定。
目标速度用SPEED参数设定。
原点搜寻输入数由DATUM_IN参数决定,用于3或7中。
DA TUM工作于缺省轴,除非AXIS设置临时基本轴。
参数:sequence
0 DATUM(0)指令清除运动误差。
将当前位置设定为目标位置同时AXISSTATUS状态会被清除。
注如果产生错误的问题仍然存在,误差不能被清除。
1 轴以爬行速度(CREEP)正向运行直到发现Z信号。
目标位置重置为0同时纠正测量位置,维持跟随误差。
2 轴以爬行速度(CREEP)反向运行直到发现Z信号。
目标位置重置为0同时纠正测量位置,维持跟随误差。
3 轴以目标速度(SPEED)正向运行,直到碰到原点开关。
随后轴以爬行速度正向运动直到原点开关复位。
目标位置重置为0同时纠正测量位置,维持跟随误差。
4 轴以目标速度(SPEED)反向运行,直到碰到原点开关。
随后轴以爬行速度正向运动直到原点开关复位。
目标位置重置为0同时纠正测量位置,维持跟随误差。
5 轴以目标速度(SPEED)正向运行,直到碰到原点开关。
随后轴以爬行速度正向运动直到碰到Z信号。
目标位置重置为0同时纠正测量位置,维持跟随误差。
6 轴以目标速度(SPEED)反向运行,直到碰到原点开关。
随后轴以爬行速度正向运动直到碰到Z信号。
目标位置重置为0同时纠正测量位置,维持跟随误差。
注意:原点输入低电平有效。
当输入OFF时设置原点开关。
feedhold,reverse jog,forward jog,forward,reverse limit inputs均是低电平有效。
低电平输入用于使能自动防护接线。
参阅:ACCEL,AXIS,AXISSTA TUS,CREEP,DA TUM_IN,DECEL,MOTION_ERROR,SPEED
DEC减速度率
类型:运动控制指令
语法:DEC(RATE)
说明:DEC指令用来保持老控制器的连贯性,新控制器都用DECEL代替。
参数:单位UNITS/SEC^2
例子:DEC(3000)
DEFPOS 定义位置
类型:运动控制指令
语法:DEFPOS(POS_1[,POS_2[,POS_3]])
备选:DP(pos_1[,pos_2[pos_3]])
说明:DEFPOS指令定义当前目标位置(DPOS)为新的绝对位置。
为了保持跟随误差,测
量位置(MPOS)随之改变。
DEFPOS经常应用在原点搜寻之后,设置当前位置为零。
DEFPOS 随时可用。
OFFPOS也可以用。
这个参数用于执行依据当前位置的相对调整。
DEFPOS工作在缺省轴,除非AXIS定义其它的临时基本轴。
注意:DEFPOS或OFFPOS是在下一伺服刷新时改变轴的位置。
这样当运动初始化和DEFPOS或OFFPOS在同一伺服周期时,会产生问题。
以下例子显示DEFPOS参数怎么能避免这一问题,DEFPOS指令内部转化为OFFPOS位置增益,这就提供了简单的解决程序。
DEFPOS(100)
W AIT UNTIL OFFPOS=0
MOVEABS(0)
参数:POS_I
绝对位置(基本轴+I)使用用户定义单位,参考BASE指令。
参阅:AXIS,DA TUM,DPOS,OFFPOS,MPOS,UNITS
例子:在用户单位下,定义当前位置为(-1000,-3500)。
当前位置重置为(0,0)用两个DA TUM指令。
BASE(2)
DA TUM(5)
BASE(1)
DA TUM(4)
WAIT IDLE
DEFPOS(-1000,-3500)
FORWARD 向前运动
类型:运动控制指令
语法:FORWARD
备选:FO
说明:FORWARD指令以SPEED参数的速度连续正向运转,加速率由ACCEL参数定义。
FORWARD工作在缺省轴,除非使用AXIS定义临时基本轴。
注意:正向运动可以通过CANCEL或RAPIDSTOP指令停止运动,或到达正向限位。
参阅:AXIS,CANCEL,RAPIDSTOP,REVERSE,UNITS
例子:start:
FORW ARD
W AIT UNTIL IN(0)=ON
CANCEL
MATCH 匹配
类型:运动控制指令
语法:MA TCH(count, table address)
说明:指令用于对控制器进行模式比较。
当色标跟踪信号触发时,将生成的模式与设定好的多种色标输入状态模式进行比较。
参数:count 模式匹配中包含的输入状态总数
table address 纪录用于比较的模式其地址
参阅:REGIST和RECORD
例子:dec_dist=SPEED*SPEED*0.5/DECEL
length=10
REP_DIST=100*length
DEFPOS(0)
REGIST(5,length)
MOVE(2*length)
WAIT UNTIL MARK
IF TRANSITIONS>4 AND TRANSITIONS<12 THEN
MATCH(8,10)
IF REG_MATCH>0.8 THEN
IF REG_POS<(MPOS+dec_dist-length) THEN
MOVEMODIFY(2*length+REG_POS)
ELSE
MOVEMODIFY(length+REG_POS)
ENDIF
ELSE
PRINT "marks give too poor fit"
ENDIF
ELSE
PRINT "marks not seen"
ENDIF
WAIT IDLE
PRINT REG_POS,ENDMOVE,TRANSITIONS,REG_MATCH
MHELICAL 螺旋插补
类型:运动控制指令
语法:MHELICAL(end1, end2, centre1,centre2, direction, distance 3,option)
说明:执行一个螺旋插补运动
在两个正交轴之间做圆弧插补,同时第三轴做线性运动,前五个参数和圆弧插补指令MOVECIRC()类似,第六个参数定义同时要走的第三轴的线性距离。
对于第三轴用于法向切割,通过option参数实现。
参数:
end1 BASE基准轴要停止的相对于起点的位置
end2 BASE基准阵列中,下一个轴的要停止的相对于起点的位置
centre1 圆心相对于BASE基准轴起点的位置
centre2 圆心相对于BASE基准阵列,下一个轴的起点的位置
direction 圆弧插补方向软件开关设成1为顺时针方向/ 设成0为逆时针方向
distance 3 BASE基准阵列中,第三轴走的线性距离
option 设成0第三轴的速度对三轴合成速度有影响/ 设成1只是前两轴的速度对合成速度有影响,此时distance 3相当于法向切割运动角度
MOVE
类型:运动控制指令
语法:MOVE (dist_1[,dist_2[,dist_3]])
备选:MO (dist_1[,dist_2[,dist_3]])
说明:MOVE指令使一轴或多轴在目标速度,加速度和减速度下以增量的方式运动到特定位置。
在多轴运动中,速度,加速度,减速度是基于基本轴的插补运动。
特定长度的比例由转换因子UNITS参数设定。
例如,一轴编码器是4000edges/mm,于是轴的单元数设为4000,MOVE(12.5)将会移动12.5毫米。
MOVE工作在缺省轴,除非AXIS定义临时基本轴。
参数dist_1定义为缺省轴,dist_2作为另一个轴等等。
通过改变轴在独立运动,非插补,非同步可以获得多轴运动。
增量运动可以合并成连续运动轨迹,通过设置MERGE=ON。
考虑两轴运动,每轴速度可以由以下等式计算得到。
指令MOVE (x1,x2)和速度V p由SPEED,
ACCEL和DECEL参数计算得到。
多轴运动距离L。
每轴任何时候的独立速度计算如下:
轴I任何时刻的分速度v i由以下公式计算
参数:dist_I
任意轴I的运动距离,从用户定义的基本轴开始。
参阅:AXIS,MOVEABS,UNITS
例子:例子1
系统转换因子为1和1000线的编码器。
因此,需要如下指令使电机运动10圈。
(1000线编码器给出4000edges/turn)。
MOVE (40000)
例子2
在这个例子中,轴0,1,2独立运动(没有插补)。
每轴会以程序的速度和其它参数运动。
MOVE (10)AXIS(0)
MOVE (10)AXIS(1)
MOVE (10)AXIS(2)
例子3
X-Y平面在工作范围内可以在任意位置写文本。
独立运动可以被定义成相对与起始点相对运动。
因此在任何位置都可以使用相同的指令。
字母”m”的子程序如下:
M:
Move (0,12)‘A->B
Move (3,-6)‘A->C
Move (3,6)‘C->D
Move (0,-12)‘D->E
MOVEABS
类型:运动控制指令
语法:MOVEABS (pos_1[,pos_2[,pos_3]])
备选:MA (pos_1[,pos_2[,pos_3]])
说明:MOVEABS指令使一轴或多轴在目标速度,加速度和减速度下以绝对的方式运动到特定位置。
在多轴运动中,速度,加速度,减速度是基于基本轴的插补运动。
特定长度的比例由转换因子UNITS参数设定。
例如,一轴编码器是4000edges/mm,于是轴的单元数设为4000,MOVEABS(12.5)将会从起始点移动12.5毫米。
MOVEABS工作在缺省轴除非AXIS定义临时基本轴。
参数dist_1定义为缺省轴,dist_2作为另一个轴等等。
通过改变轴在独立运动,非插补,非同步可以获得多轴运动。
增量运动可以合并成连续运动轨迹,通过设置MERGE=ON。
考虑两轴运动,每轴速度可以由以下等式计算得到。
指令MOVE (ax1,ax2)和当前位置(ay1,ay2),速度V p由SPEED,ACCEL和DECEL参数计算得到。
多轴运动距离L。
每轴任何时候的独立速度计算如下:
参数:pos_i
任意轴I的运动距离,从用户定义的基本轴开始。
参阅:AXIS,MOVE,UNITS
例子:例子1
X-Y平面有一个笔,圆盘的位置相对与起始点固定。
改变笔的位置,当指令执行时,圆盘的绝对运动与平面位置不相关。
MOVEABS (20,350)
例子2
一个货盘由小格组成,容器离包装机器85毫米。
从固定点取容器,货盘的开始位置用DEFPOS
指令定义成原点(0,0)。
到容器的一部分程序如下:
xloop:
for x=0 to 5
yloop:
for y=0 to 7
MOVEABS(-340,-516.5)‘运动到捡起点
GOSUB pick ‘跳转到捡起子程序
PRINT “MOVE TO POSITION:“; X*6+Y+1
MOVEABS (x*85,y*85)
GOSUB place ‘转到place子程序
NEXT y
NEXT x
MOVECIRC
类型:运动控制指令
语法:MOVECIRC (end_1,end_2,centre_1,centre_2,direction)
备选:MC (end_1,end_2,centre_1,centre_2,direction)
说明:MOVECIRC指令插补2个垂直轴在圆弧中。
运动路径由5个因素决定。
其为当前运动的增量运动。
参数end_1和centre_1应用于基本轴。
end_2和centre_2应用于跟随轴。
所有的参数单位为用户定义的单位。
运动速度由SPEED,ACCEL和DECEL基本轴的参数设置。
MOVECIRC工作在缺省轴,除非AXIS定义临时基本轴。
注意:MOVECIRC依据中心和结束点,计算半径和旋转角度。
如果结束点没在计算的轨迹中,运动就在计算点结束而不是特定结束点。
编程者需要确认两点对应圆弧中正确的点。
为了MOVECIRC正确执行,在圆弧运动的两轴必须具有相同编码器线数。
如果不相同,可以调整编码器比率数调整轴的PP_STEP参数。
参数:end_1
基本轴的结束位置。
End_2
下一轴的结束位置。
Centre_1
基本轴旋转的位置。
Centre_2
下一轴旋转的位置。
Direction
软件开关决定圆弧插补是顺时针方向还是逆时针方向。
值:0或1。
如果两轴符合右手运动法则,设置运动方向为0,在第三个正交轴产生正向运动。
参阅:AXIS,PP_STEP,UNITS
例子:字母0的程序如下:
MOVE (0,6)‘A->B
MOVECIRE (3,3,3,0,1)‘B->C
MOVE (2,0)‘C->D
MOVECIRE (3,-3,0,-3,1)‘D->E
MOVE (0,-6)‘E->F
MOVECIRE (-3,-3,-3,0,1)‘F->G
MOVE (-2,0)‘G->H
MOVECIRE (-3,3,0,3,1)‘H->A
MOVELINK
类型:运动控制指令
语法:MOVELINK (distance,Link distance,link_acceleration,link_deceleration,Link axis[,link option[,link pos]])
备选:ML(distance,Link distance,link_acceleration,link_deceleration,Link axis[,link_ option[,link pos]])
说明:MOVELINK指令在基本轴产生直线运动,通过软件电子齿轮与连结轴的测量位置建立连接。
连结轴可以向任意方向运动驱动输出运动。
参数表明基本轴的距离会使连结轴移动相应的距离(Link distance)。
连结轴的距离分成3个阶段应用于基本轴的运动。
这些部分是加速部分,常速部分和加速部分。
连结加速度和减速度由link_acceleration和link_deceleration参数设置。
常速连结距离源于总的连接距离和这两个参数。
三个阶段可以分为独立的MOVELINK指令或叠加在一起。
当设置MOVELINK指令考虑如下两个规律。
规律1 在加速和减速阶段为了与速度匹配,Link distance必须是distance的两倍。
规律2 在常速阶段为了满足速度,两轴必须运动相同的距离,因此运动距离与Link distance 相等。
MOVELINK工作在缺省轴,除非AXIS定义其它临时基本轴。
Link axis设置驱动基本轴。
注:如果link_acceleration和link_deceleration的总和大于Link distance,它们成比例减少为了总和等于Link distance。
参数:distance
以用户单位运动基本轴的相对距离。
结果连结轴运动测量Link distance。
Link distance
用户定义的正方向增量距离,需要测量连结轴在基本轴运动的距离。
Link_acceleration
用户定义的在连结轴的正向增量距离,基本轴加速。
Link_deceleration
用户定义的在连结轴的正向增量距离,基本轴减速。
Link axis
连结轴。
link option
1当主轴色标信号触发时,从轴与主轴开始连结。
2.当主轴运动到设定的绝对位置,从轴与主轴开始连结。
4. MOVELINK自动重复连续双向运行。
设置REP_OPTION=1,取消此操作。
Link pos 这个参数是绝对位置,当参数6设成2,MOVELINK在这个位置开始连结。
参数6和7可选。
参阅:AXIS,REP_OPTION,UNITS
例子:飞剪以纸的速度运动,每160米剪滚动的纸。
飞剪可以运动1.2米,此例中使用1米。
纸的运行长度由编码器测量。
两轴的单位转换因子设置成米。
轴1是连接轴。
MOVELINK (0,150,0,0,1)‘等待距离
MOVELINK (0.4,0.8,0.8,0.1)‘加速度
MOVELINK (0.6,1.0,0,0.8,1)‘匹配速度然后减速
WAIT UNTIL NTYPE=0 ‘等待到最后运动开始
OP (0,ON)‘激活剪子
MOVELINK (-1,8.2,0.5,0.5,1)‘返回
在这个程序中,MC控制单元开始等待滚动150米。
在这个距离之后,飞剪加速匹配纸的速度常速运行,再减速至停止,不超过1米的距离。
这个运动使用两个MOVELINK指令。
程序于是等待下一运动缓存清除NTYPE=0。
这表明加速阶段完成。
连结轴的距离在MOVELINK指令中是:150,0.8,1.0,8.2,总共160米。
确定速度,飞剪位置和纸在剪切任务中匹配。
MOVELINK指令的参数必须正确。
因此,最先分别考虑加速度,常速和减速阶段是最简单的。
这象以上陈述的,加速和减速阶段需要Link distance是distance的两倍。
两个阶段可以定义为:
MOVELINK (0.4,0.8,0.8,0,1)‘此为全加速运动
MOVELINK (0.4,0.8,0,0.8,1)‘此为全减速运动
常速阶段匹配速度,两轴运行相同的距离,因此,运动距离和连结距离相等。
常速阶段定义如下:
MOVELINK (0.2,0.2,0,0,1)‘此为全常速运动
MOVELINK指令允许三部的distance,Link distance,link_acceleration,link_deceleration参数相加。
产生如下指令:
MOVELINK (1,1.8,0.8,0.8,1)
在以上程序中,加速阶段独立编程。
这可以在加速结束阶段执行一些动作。
MOVELINK (0.4,0.8,0.8,0,1)
MOVELINK (0.6,1.0,0,0.8,1)
MOVEMODIFY
类型:运动控制指令
语法:MOVEMODIFY (position)
备选:MM(position)
说明:MOVEMODIFY指令改变当前单轴线性运动的绝对结束位置(MOVE或MOVEABS)。
如果当前没有运动或当前运动不是直线运动,于是MOVEMODIFY等同于MOVEABS指令。
ENDMOVE参数包括用户定义的当前运动的结束位置。
MOVEMODIFY工作在缺省基本轴,除非AXIS定义临时基本轴。
参数:position
将绝对位置设置成新的结束位置。
参阅:AXIS,MOVE,MOVEABS,UNITS
RAPIDSTOP
类型:运动控制指令
语法:RAPIDSTOP
备选:RS
说明:RAPIDSTOP指令从缓存中取消所有轴的当前运动。
速度运动指令(MOVE,MOVEABS,MOVEMODIFY,FORWARD,REVERSE,MOVECIRC)将会减速至停止。
Decel参数设置减速率。
其它运动指令立即停止。
注意:1. RAPIDSTOP取消当前执行运动。
如果下一缓存(NTYPE)或任务缓存中还有其它的运动将会被加载。
2.在取消当前运动的减速过程中,另外的RAPIDSTOP会被忽略。
参阅:CANCEL,MTYPE,NTYPE
REGIST
类型:运动控制指令
语法:REGIST (mode)
说明:REGIST指令执行印刷标记操作。
当发现标记输入或编码器的Z信号,指令捕捉此时的位置。
捕捉由硬件触发。
因此软件延时不会影响捕捉的位置精度。
特定轴执行印刷标记操作。
REGIST工作在缺省轴,除非AXIS定义临时基本轴。
Axis 0
轴0使用伺服驱动的印刷标记机构。
标记被伺服电机的Z信号或数字输入(CN1-46)触发。
伺服驱动参数Pn511。
3设置输入的上升沿或下降沿。
详细内容参考3-3-2。
当发生标记事件时,MARK参数会被设置成TRUE,位置会被存储在REG_POS参数中。
Axis 1
轴1MC控制单元的印刷标记机构提供两个标记,允许捕捉两个同步事件。
标记事件可以是输入I0/R0,输入I1/R1或编码器Z信号。
当发生标记事件时,MARK参数会被设置成TRUE,位置会被存储在REG_POS参数中。
对于第二次标记事件,MARKB参数会被设置成TRUE,位置会被存储在REG_POSB参数中。
Inclusive windowing
Inclusive windowing允许标记事件产生在特定window之内。
当执行inclusive windowing,如果测量位置不大于OPEN_WIN参数并小于CLOSE_WIN参数,信号会被忽略。
叠加256到模式参数应用windowing内部。
Exclusive windowing
Exclusive windowing允许标记事件产生在特定window之外。
当执行exclusive windowing,如果测量位置不大于OPEN_WIN参数或大于CLOSE_WIN参数,信号会被忽略。
叠加768到模式参数应用windowing外部。
注意:REGIST在每次位置捕捉时必须执行一次。
参数:mode
参阅:AXIS,CLOSE_WIN,MARK,MARKB,OPEN_WIN,REG_POS,REG_POSB 例子:例子1
BASE (0)
Catch:
REGIST (2)
WAIT UNTIL MARK
PRINT “Registration inout at :” ;REG_POS
例子2
切纸机使用CAM通过伺服驱动辊轮快速运动纸张,当剪切时停止。
纸张被打上标志记号。
发现记号通过调整CAM比例调整下张纸的长度。
‘设置window的开和关
Length=200
OPEN_WIN=10
CLOSE_WIN=Length-10
GOSUB Initial
Loop:
TICKS=0 ‘设置伺服循环计数位0
IF MARK THEN
Offset=REG_POS
‘Next line makes offset-ve if at end of sheet
IF ABS (offset-length)< offset THEN
Offset=offset-length
ENDIF
PRINT “Mark seen at :“offset [5。
1]
Else。