运动控制指令介绍

上传人:桔**** 文档编号:470167159 上传时间:2023-01-16 格式:DOC 页数:48 大小:1.80MB
返回 下载 相关 举报
运动控制指令介绍_第1页
第1页 / 共48页
运动控制指令介绍_第2页
第2页 / 共48页
运动控制指令介绍_第3页
第3页 / 共48页
运动控制指令介绍_第4页
第4页 / 共48页
运动控制指令介绍_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《运动控制指令介绍》由会员分享,可在线阅读,更多相关《运动控制指令介绍(48页珍藏版)》请在金锄头文库上搜索。

1、运动及轴命令ACC类型:轴指令语法:ACC (rate )注意:这个指令用来和旧的 Trio控制器兼容。在新控制程序中 加速度率和减速度率可用ACCEL和DECEL轴参数设定。说明:同时设定加速度率和减速度率参数:rate:加速率,单位: UNITS/SEC/SEC例子:例1:把轴的加、减速设置成相同的值,在指定的速度下,运行电机ACC(120)加减速同时设为 120 units/sec/secSPEED=14.5电机速度设为 14.5 units/secMOVE(200)电机走200个units的增量距离ADD_DAC类型:轴指令语法:ADD_DAC(轴)说明:ADD_DAC 指令提供双反馈

2、控制。 允许一个辅助编码器(轴2)反馈到伺服轴(轴1 )。 指令使得两个伺服环的输出共同决定伺服轴的速度指令输出。这个指令通常应用于轧辊反馈系统,需要一个辅助编码器补偿滑动。当一个运动轴,带两个反馈编码器时,用到这条指令。实现方法:在虚拟轴上做动作,用ADDAX()或CONNECT()把此动作加到两个轴上,再用ADD_DAC 把两个轴的速度指令输出加到同一轴上如果2个反馈装置 分辨率的不同,必须注意两个轴所要求的目标位置不一样。注:在下例中,需要设置辅助编码器轴的ATYPE为伺服轴。使用ADD_DAC ( -1)取消连接参数:轴速度参考输出到基本轴,设置 -1取消连接,并返回正常操作。参阅:A

3、XIS,ADDAX,OUTLIMIT例1:BASE使两轴编码器在相同的线性距离反馈回相同的计数ENCODER_RATIO(cou nts_per_mm2, cou nts_per_mm1)UNITS AXIS(1) = coun ts_per_mm1UNITS AXIS(2) = coun ts_per_mm1单位必须相同ADD_DAC(2) 把轴2的DAC_OUT 叠加到轴1上ADDAX(1) AXIS(2) 把轴1的轨迹加到轴2上到现在,两轴已经准备就绪MOVE(1200)WAIT IDLEADDAX类型:运动控制指令语法:ADDAX (轴号)说明:ADDAX 指令将2个或多个的运动叠加形

4、成较复杂的运动轨迹。ADDAX指令把指定轴的目标位置(DPOS)的变化,附加到指令指向的轴(基准轴)的任 意运动上。指定轴可以是任一轴,不一定在系统里物理存在。ADDAX指令发出后两轴的链路保持连接。直到断开。指定轴上的进一步运动被附加到基准轴上。使用ADDAX ( -1 )取消轴的连接。ADDAX允许执行两轴叠加运动。当带有编码器接口的伺服轴的轴参数SERVO设置到OFF也就是开环,所测位置 MPOS被复制到需求位置 DPOS。可以使用ADDAX统 计编码器输入。参数:轴号:指定轴注意:ADDAX指令在做运动叠加时,是在轴参数units下计算的。例1UNITS AXIS(0)=1000UNI

5、TS AXIS(1)=20把轴1叠加到轴0ADDAX(1) AXIS(0)MOVE AXIS(0)MOVE(2) AXIS(1)轴0将运动1*1000+2*20=1040 个边沿例2物体放置在连续运动的同步带上,并在不远处拾起。传感器给出信息物体在需要位置 之前还是之后,有多远的距离。在以下例子中,轴0假设为基本轴并连续正向运动,叠加轴2依据子程序计算出的偏移运动到轴0。FORWARD AXIS(0)ADDAX( 2)REPEATGOSUB getoffsetMOVE ( offset) AXISUNITL IN ( 2)=ON设置连续运动叠加轴2的偏移运动到轴0计算偏移(2) 在轴2上作偏移

6、的运动直到校正结束例3有一个cambox运动,用一个编码器输入轴(可以是手轮)作主轴,其实现方法:用 一个虚拟轴做主轴,执行 cambox运动。把编码器输入的脉冲输入加到这个虚拟轴上。轴0执行凸轮运动,轴 2做主轴轴1有一个编码输入子板轴2是虚拟轴SERVO AXIS(1)=OFFADDAX(1) AXIS(2)把编码器输入的脉冲输入加到这个虚拟轴上。CAMBOX(1000,1100,4,600,2) AXIS(0) 轴 0 执行凸轮运动,轴 2 做主轴AXIS类型:修改指令语法:AXIS (轴号)说明:AXIS修改设置单轴运动指令或单轴参数读写。AXIS参数在命令行或程序行特别有效。注意:如

7、果需要修改下面的所有指令的作用轴应该用BASE指令参数:轴号任何有效的BASIC表达式,指定轴号。注意:AXIS指令可用于修改以下指令的轴参数:ADDAX,CAM,CAMBOX,CANCEL,CONNECT,DATUM,DEFPOS,FORWARD,MOVEABS,MOVECIRC,MOVELINK , MOVE,MOVEMODIFY ,REVERSE,REGIST,WAIT IDLE,WAIT LOADED 。参阅:BASE()例子:例子1 PRINT MPOS AXIS ( 3)例子2MOVE ( 300)AXIS ( 2)例子3REPDIST AXIS ( 3)=100注意:请注意上面例

8、子中执行动作和参数读写时在写法上的区别。BASE类型:运动控制指令语法:BASE (轴1,轴2,轴3)说明:BASE指令用于导向下一个运动指令轴的参数读/写入特定轴或轴组,设置的缺省值依次为:0, 1, 2每一个过程有其自己的 BASE基本轴组,每个程序能单独赋值。Trio Basic程序与控制轴运动的运动发生器分开。每个轴的运动发生器有其独立的 功能,因此每个轴能以自己的速度、加速度等进行编程,单独运动,同时运动,或者通过插补或链接运动链接在一起。AXIS ()命令只要应用正在进行的单命令可以重新导向不同的轴。而BASE ()指令,导向接下来的所有指令,除非用AXIS规定轴号参数:轴号:轴号

9、或轴组号成为新的基准轴排列,即轴号或轴组发送运动指令给多轴指令 里的第一个轴。基本轴的轴数和顺序轴在轴组用于多轴运动。例子:例子1BASE ( 1)UNITS=2000设置轴1的转换因子。SPEED=100设置轴1的速度ACCEL=5000设置轴1的加速度BASE (2)UNITS=2000设置轴2的转换因子SPEED=125设置轴2的速度ACCEL=10000设置轴2的加速度例子2BASE ( 0,4,6)MOVE (100, -23.1 , 1250)注意:轴0移动100单位,轴4移动-23.1单位,轴6移动1250单位。这些轴会轴 0 的速度,加速度运动到特定位置。注意:BASE指令为每

10、一个过程设置一个内部轴队列。默认值为:0, 1, 2 一直到控制器上的最大轴号。如果BASE没有指定所有轴,则自动把其他值填入。首先填入的是比最后制定的轴号大的轴,然后按顺序填入其他轴:例子3在MC216控制器上设置16轴的基本排列。BASE ( 2,6,10)设置16轴的内部排列2, 6, 10, 11, 12, 13, 14, 15, 0, 1, 3, 4, 5, 7 8, 9注意:在命令行处理过程中,通过输入BASE(0, 2,3,1, 4,5,6, 7)例子是8轴控制器MC206CAM类型:轴指令语法: CAM (start point, End point, Table multip

11、lier , distanee)说明:CAM 指令按存储在TABLE变量中数组的位置曲线来运动。Table数组由TABLE指令定义。Table值是相对于cam运动起始点的绝对位置,并特指编码器的边沿。运动可由TABLE数组中3到数组容许的任意个点来定义。运动控制器根据table里的运动曲线通过插补控制电机做出圆滑的运动。参数:start pointTable数组中使用的第一个元素的地址。允许Table数组保留多个轨迹或其它信息。End pointTable数组中最后一个元素的地址。注意:2个或2个以上CAM ()指令同时执行时可以用数组中的相同一组值。Table multiplierTable

12、倍乘值用于成比例的放缩 Table里存储的数值。因为Table值特定为编码器的Dista nee用户定义的单位控制整个运动速度。执行CAM依据当前轴的速度和距离。控制频率例如:假定程序单位为 mm同时速度设置成10mm/s,加速度足够高。如果定义距离 100mm,CAM的执行需要10秒。速度可以由其他控制指令随时更改。加速度为当前指定的ACCEL值。注意为了跟随CAM轨迹,ACCEL参数必须比SPEED参数大1000倍。(假设默认SERVO_PERID 是 1ms)参阅:ACCEL,AXIS,CAMBOX,SPEED,TABLE例子:假定运动需要遵循以下位置等式:T( x) =x*25+100

13、00* ( 1-cos( x)上等式中,X是角度。客户在利用这个例子时应注意上面的算式,在给table赋值时,cos(x)里的x要换算成弧度。这个例子提供简单的常速摆动。循环执行需要以下代码。FOR deg=0 TO 360 STEP 20 用来给 table 赋值的循环rad = deg * 2 * PI/360 角度转化为弧度x = deg * 25 + 10000 * (1-COS(rad) TABLE(deg/20,x) table 赋值NEXT degWHILE IN(2)=ON in put 2为 on 时,CAM循环CAM(0,18,1,200)WAIT IDLEWEND注: 子

14、程序eamtable加载以下数据到table数组。Table位置角度值1 0 02 2011033 4033404 6065005 80102636 100142367 120180008 140211609 1602339610 1802450011 2002439612 2202316013 2402100014 2601823615 2801526316 3001250017 3201034018 340910319 3609000250002000015000100005000注意:当CAM指令执行时,ENDMOVE参数设成上一运动的结束位置例2:电机上安转一个打印模版,上面有 0到9十个数字,激光射到哪个数字, 哪个数字就会被打印。需要打印的数字来自PORT1,ASCII码。编码器是4000个边沿每转,所以数字与数字之间是 400。Camtable从0到1, 这样,cammultiplier应该是400的整数倍,这样才能保证在每个位置之间运动。速度设为10000边沿/s,每个cam运动周期设为固定0.25s,这样distanee参数 应该是 10000*0.25=2500程序如下:GOSUB profil

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号