运动控制合集控制指令介绍_第1页
运动控制合集控制指令介绍_第2页
运动控制合集控制指令介绍_第3页
运动控制合集控制指令介绍_第4页
运动控制合集控制指令介绍_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、 1:BASE(1) 使两轴编码器在相同的线性距离反馈回相同的计数ENCODER_RATIO(counts_ UNITS AXIS(1) = counts_per_mm1UNITS AXIS(2) = counts_per_mm1 mm1)必须相同ADD_DAC(2) ' 把轴 2 的 DAC_OUT 叠加到轴 1 上ADDAX(1) AXIS(2)' 把轴 1 的轨迹加到轴 2 上 到现在,两轴已经准备就绪MOVE(1200)WAIT IDLEADDAX类型: 运动指令语法: ADDAX(轴号)说明:ADDAX 指令将 2 个或多个的运动叠加形成较复杂的运动轨迹。ADDAX

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

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

6、算偏移AXIS(2) 在轴 2 上作偏移的运动直到校正结束例 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(轴号)说

7、明: AXIS 修改设置效。运动指令或参数读写。AXIS 参数在命令行或特别有注意:如果需要修改下面的所有指令的作用轴应该用 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)例子 2M

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

9、指令,导向接下来的所有指令,除非用 AXIS 规定轴号参数:轴号:轴号或轴组号成为新的基准轴排列,即轴号或轴组 里的第一个轴。基本轴的轴数和顺序轴在轴组用于多轴运动。运动指令给多轴指令例子:例子 1BASE(1) UNITS=2000 SPEED=100 ACCEL=5000 BASE(2) UNITS=2000 SPEED=125 ACCEL=10000例子 2BASE(0,4,6)设置轴 1 的转换因子。设置轴 1 的速度设置轴 1 的度设置轴 2 的转换因子设置轴 2 的速度设置轴 2 的度MOVE(100,-23.1,1250)注意:轴 0 移动 100的速度,轴 4 移动-23.1,

10、轴 6 移动 1250。这些轴会轴 0度运动到特置。注意:BASE 指令为每一个过程设置一个内部轴队列。默认值为: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

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

12、 CAM()指令同时执行时可以用数组中的相同一组值。Table multiplierTable 倍乘值用于成比例的放缩 Table 里的数值。因为 Table 值特定为编码器的沿。运动轨迹的幅值。Distance用户定义的例如: 假定程序运动速度。执行 CAM 依据当前轴的速度和距离。频率为 mm 同时速度设置成 10mm/s,度足够高。如果定义距离100mm,CAM 的执行需要 10 秒。指令随时更改。度为当前指定的 ACCEL 值。注意为了跟速度可以由其他随 CAM 轨迹,ACCEL 参数必须比 SPEED 参数大 1000 倍。(假设默认SERVO_PERID 是 1ms )参阅: AC

13、CEL,AXIS,CAMBOX,SPEED,TABLE例子: 假定运动需要遵循以下位置等式:T(x)=x*25*(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)=O

14、N input 2 为on时,CAM循环CAM(0,18,1,200) WAIT IDLEWEND注: 子程序 camtable 加载以下数Table 位置角度值10022011033403340460650058010263610014236712018000814021160916023396101802450011200243961222023160132402100014260182361528015263163001250017320103403609000注意:当 CAM 指令执行时,ENDMOVE 参数设成上一运动的结束位置。例 2:电机上一个打印模版,上面有 0 到 9 十个数

15、字,激光射到哪个数字,哪个数字就会被打印。需要打印的数字来自 PORT1,ASCII 码。编码器是 4000 个边沿每转,所以数字与数字之间是 400。Camtable 从 0 到 1, 这样,cammultiplier 应该是 400 的整数倍,这样才能保证在每个位置之间运动。速度设为 10000 边沿/s,每个 cam 运动周期设为固定 0.25s,这样 distance 参数应该是 10000*0.25=2500程序如下:GOSUB profile_gen WHILE IN(2)=ONWAIT UNTIL KEY#1 '等待来自port1的数字GET#1,kIF k>47

16、AND k<58 THEN '是否有效position=(k-48)*400 '转化为绝对位置multiplier=position-offset '检查反方向运动是否更近IF multiplier>2000 THENmultiplier=multiplier-4000'计算相对运动ELSEIF multiplier<-2000 THEN multiplier=multiplierENDIFCAM(0,200,multiplier,2500) '做cam运动WAIT IDLEOP(15,ON) '触发激光WA(20)OP(15,

17、OFF)offset=(k-48)*400 '计算当前位置ENDIFWENDprofile_gen: num_p=201scale=1.0FOR p=0 TO num_p-1TABLE(p,(-SIN(PI*2*p/num_p)/(PI*2)+p/num_p)*scale) NEXT pRETURNCAMBOX类型: 运动指令语法: CAMBOX(start point, end point, table multiplier, link distance ,link axis<,link options><, link pos>)说明: CAMBOX 指令按在

18、 TABLE 变量中数组的位置曲线来运动。运动与另一轴的测量位置连接,连续软件电子齿轮。 Table 值是相对于起始点的绝对位置并特指编码器的边沿输入。Table 数组由 TABLE 指令定义。运动可由 TABLE 数组中 3 到数组容许的任意个点来定义。从动轴依据 Table 定义的点作插补运动,使得少量点定义的运动轨迹形成平滑的曲线。参数: start pointTable 数组可能保留多个轨迹或其它信息。此参数指定 Table 数组中使用的第一个元素的地址。End pointTable 数组中使用的最后一个元素的地址。注意:2 个或 2 个以上 CAM()指令同时执行时可以用数组中的相同

19、一组值。Table multiplierTable 倍乘值用于成比例的放缩 Table 里Link distance的数值。因为 Table 值特定为编码器的沿,用户定义的连接(主)轴运动完成特定输出运动。连接距离必须定义成正的距离。Link axis连接的轴link option1. 当主轴色标信号触发时,从轴与主轴开始连结。2. 当主轴运动到设定的绝对位置,从轴与主轴开始连结。(见参数 7)4.CAMBOX 自动重复连续双向运行。设置 REP_OPTION=1,取消此操作。8.PATTERN 模式, CAMBOX 的高级用法波动幅度值。一般与模式 4 一起使用。在一个 CAMBOX 执行周

20、期中实现多个注意:前两个选项(1 和 2)要和后两个选项(4 和 8)结合使用Link pos 这个参数是绝对位置,当参数 6 设成 2,CAMBOX 在这个位置开始连结。注意: 当执行 CAMBOX 时,ENDMOVE 参数会被设置成前一运动的结束。REMAIN 参数保留剩余距离。参数 6 和 7 可选。例子1: num_p=30scale=2000 ''产生正弦速度轨迹的子程序''用: p 循环计数' num_ptable中点的个数' scale 倍乘比例因子FOR p=0 TO num_pTABLE(p,(-SIN(PI*2*p/n NEX

21、T pp)*scale)上图给出了数组元素与位置阵列的对应关系。这在调用 CAMBOX 指令时与电机位置和连接位置的对应是一致的。电机的速度曲线与位置曲线相关:速度曲线例 2:下图为薄膜的送料部分,送料与主轴编码器输入同步,当主轴位置=变量“start”时,触料轴,开始送料本例用到例 1 产生的 table 中的 0 到 30 点:start=1000 FORWARD AXIS(1) WHILE IN(2)=OFFCAMBOX(0,30,800,80,15,2,start) WA(10)WAIT UNTIL MTYPE=0 OR IN(2 WENDCANCELCANCEL AXIS(1) WA

22、IT IDLE注意:0:TABLE 中运动轨迹的开始处30:TABLE 中运动轨迹的结束处800:倍乘因子,每一次 CAMBOX 运动会因此而转 800*2000 个边沿80:传送带上15:指定2:设置运动执行的距离。是轴上指定的。轴选项。运动在轴的绝对位置开始Start:变量“start”。15 轴到达“start”位置时开始例 3:轴 0 需要做和机械凸轮一样的动作。与轴 3 同步。Table(1000)table(1035)存放着运动轨迹。Table 数组值代表机械凸轮,但可以缩放。TABLE(1000,0,0,167,500,999,1665,2664,3330,3497,3497)T

23、ABLE(1010,3164,2914,2830,2831,2997,3164,3596,3830,3996,3996) TABLE(1020,3830,3497,3330,3164,3164,3164,3330,3467,3467,3164) TABLE(1030,2831,1998,1166,666,333,0)BASE(3) MOVEABS(130) WAIT IDLEstart the continuously repeating cambox CAMBOX(1000,1035,1,360,3,4) AXIS(0)FORWARD start camshaft axis WAIT UNT

24、IL IN(2)=OFFREP_OPTION = 2 cancel repeating mode by setting bit 1 WAIT IDLE AXIS(0) waits for cam cycle to finish CANCEL stop camshaft axisWAIT IDLE参阅: AXIS,CAM,REP_OPTION,TABLE。CANCEL类型: 语法: 备选:说明:运动指令CANCEL/ CANCEL(1) CACANCEL 指令取消轴或插补轴组的当前运动。速度轨迹(FORWARD,REVERSE,MOVE,MOVEABS,MOVECIRC)将会以 DECEL 参数

25、止。直到停止。其它运动会立即停CANCEL(1)指令取消已缓存的运动而不影响正在执行的运动,注意:1.CANCEL 只能取消当前执行的运动。如果在缓存中还有运动,它会继续被加载。参阅:AXIS,MTYPE,NTYPE,PMOVE,RAPIDSTOP例子: 例子 1FORWARD WA(10000)CANCEL 十秒钟后停止运动例子 2在飞剪系统中,用一系列的 Movelink 指令,使得基本轴跟随轴 4 编码器输入。当剪子到达最的是用来时,会触发器的数字输入,用这个信号取消缓存的 Movelink,取而代之的 Movelink 指令,是从轴(基本轴)到 0。ref_axis = 4 REPEA

26、TMOVELINK(100,100,0,0,ref_axis)WAIT LOADED 保证每次Ntype为空UNTIL IN(5)=ONCANCEL(1) 取消Ntype中缓存的运动MOVELINK(100,200,0,200,ref_axis) CANCEL 取消当前 Movelink 指令,启动例 3:两轴以 1:2 的比率,1 秒后取消轴 0 运动,当轴 1 速度降到一定速度时取消轴 1 运动。当第一个 Cancel 指令取消后,轴 1 以 Dedel刻停止。BASE(0) SPEED=10000 FORWARDCONNECT(0.5,0) AXIS(1) WA(1000)CANCELW

27、AIT UNTIL VP_SPEED<=7500 CANCEL AXIS(1),当 Connect 指令被取消后,轴 1 立CONNECT类型: 语法: 备选:说明:轴指令CONNECT(ratio,driving_axis) CO(ratio,driving_axis)用来实现电子齿轮,从轴(基本轴)的 Dpos 跟随主轴(driving_axis)的 Mpos 。比率可以通过在相同的轴再执行 CONNECT 而随时改变。不需取消以前的 CONNECT 指令可自动更新速率。参数: RATIO:电子齿轮的联接率。比率定义为编码器边沿比率。主轴按增量运行。比率可正可负,并有 16 位的分辨

28、率。DRIVING_AXIS:主轴CONNECT 可以通过 CANCEL 或 RAPIDSTOP 取消。例子: 例 1 :在 0 轴和 1 轴之间建立电子齿轮,0 轴为从中,1 轴为主轴,0 轴为从中,0 轴和 1 轴速比 1: 4BASE(0)SERVO=ON CONNECT(0.25,1)例 2:某台,在轴 1 上连接的是自动给料装置,轴 1 需要以设定比率跟随轴 0。数字两输入 0-2 的状态决定1BASE(1)FORWARD AXIS(0) WHILE IN(3)=ON WA(100)gear = IN(0,2)CONNECT(gear,0) WEND比率,也就=on,and in(2

29、)=on,速比是 6:RAPIDSTOP 取消 FORWARD and CONNECT注意:为实现精确的分数比率,如:1024/3072。可用 MOVELINK 指令,需设置连续重复模式DATUMDATUM 原点搜寻类型: 运动指令语法:DATUM(sequence)说明: DATUM 指令有 6 种原点寻。爬行速度用 CREEP 参数设定。指定速度用用爬行速度和指定速度用于原点搜参数设定。DATUM(0)有特殊用法,在轴出错的时候用来复位系统参数,此过程不改变位置。参数:Seq.0说明跟随误差超过 FE_LIMIT 时,通过把 AXISSTATUS 以下位清零来清除跟随误差:BIT 1BIT

30、 2BIT 3BIT 8BIT 11跟随误差警告驱动通讯错误驱动错误跟随误差超限取消运动对于带位置校正的步进轴,当前位置设为目标位置。FE 清零。DATUM(0)必须在 wdog=off 时应用。轴以爬行速度(CREEP)正向运行直到发现 Z 信号。目标位置重置为0 同时纠正测量位置,维持跟随误差。轴以爬行速度(CREEP)反向运行直到发现 Z 信号。目标位置重置为0 同时纠正测量位置,维持跟随误差。轴以程序设定速度(SPEED)正向运行,直到碰到原点开关。随后轴以爬行速度反向运动直到原点开关复位。 目标位置重置为 0 同时纠正测量位置,维持跟随误差。轴以程序设定速度(SPEED)反向运行,直

31、到碰到原点开关。随后轴以爬行速度正向运动直到原点开关复位。 目标位置重置为 0 同时1234纠正测量位置,维持跟随误差。轴以程序设定速度(SPEED)正向运行,直到碰到原点开关。随后轴以爬行速度反向运动直到碰到 Z 信号。 目标位置重置为 0 同时纠正测量位置,维持跟随误差。轴以程序设定速度(SPEED)反向运行,直到碰到原点开关。随后轴以爬行速度正向运动直到碰到 Z 信号。 目标位置重置为 0 同时纠正测量位置,维持跟随误差。56注意: 原点输入低电平有效。当输入 OFF 时认为原点到。feedhold,reverse jog,forward jog, forward,reverse lim

32、it inputs 均是低电平有效。低电平输入设计处于安全保护。例子:例 1:当生产线因突发而被迫停止,会产生运动错误,当突发处理完毕,系统需要复位,按一下复位按钮,重起生产线。FORWARD '启动生产线WHILE IN(2)=ONIF MOTION_ERROR=0 THENOP(8,ON) '绿灯代表正常生产ELSEOP(8, OFF)GOSUB error_correct ENDIFWEND CANCEL STOPerror_correct:REPEAT OP(10,ON) WA(250)OP(10,OFF) '红灯闪烁,代表出错WA(250)UNTIL IN(1

33、)=OFFDATUM(0) '清除轴错误SERVO=ON '重新闭环WDOG=ON '使能OP(9,ON) '提示生产线即将复位WA(1000)OP(9,OFF)FORWARD '重新启动RETURN例 2:通过 Z 相脉冲,把 Z 相脉冲的位置设置为 0,并且让轴转到这里。用指令 datum(1)实现,由于轴发现 Z 脉冲后开始,就会导致轴停的位置不在 0 位,而是走过一点,这样可以用 Move 指令是轴停到 Z 脉冲的位置。1轴以爬行速度(CREEP)正向运行直到发现 Z 信号。目标位置重置为 0 同时纠正测量位置,维持跟随误差。SERVO=ON W

34、DOG=ONCREEP=1000 '设置原点搜寻速度SPEED=5000 '设定速度DATUM(1) 'Z脉冲WAIT IDLE原点MOVEABS (0)'转到 0 位例 3:有一台使用它尾部的一个极限开关做为原点,在运转之前,要回原点,可用 datum(4)指令实现。4轴以程序设定速度(SPEED)反向运行,直到碰到原点开关。随后轴以爬行速度正向运动直到原点开关复位。 目标位置重置为 0 同时纠正测量位置,维持跟随误差。SERVO=ON WDOG=ONREV_IN=-1'暂时取消限位功能DATUM_IN=5 '输入通道5做原点开关SPEED=5

35、000 '设定速度CREEP=500 '设置爬行速度DATUM(4) '寻找原点指令WAIT IDLEDATUM_IN=-1REV_IN=5 '设置输入通道 5 为极限开关例 4:和例 3 中的差不多,原点开关在轴的正方向上,寻原点要求:轴以程序设定速度(SPEED)正向运开关。随后轴以爬行速度反向运动直到碰到 Z 信号。用指令 datum(5)实现。如果有必要,可以再用一个Move 指令使轴运动到绝对 0 位置。5轴以程序设定速度(SPEED)正向运行,直到碰到原点开关。随后轴以爬行速度反向运动直到碰到 Z 信号。 目标位置重置为 0 同时纠正测量位置,维持跟

36、随误差。SERVO=ON WDOG=ONDATUM_IN=7 'input 7 做为原点开关SPEED=5000 '设定速度CREEP=500'设置爬行速度DATUM(5) '执行原点搜寻指令WAIT IDLEDECDEC度率类型: 运动指令语法:DEC(RATE)说明: DEC 指令为某个轴设置与老器的兼容性,新度,不同的轴可以设置不同地都用 DECEL 代替。度。该指令用来保持参数:UNITS/SEC2注意:ACC 同时设置使用。参阅:ACCEL、DECEL例子:设置不同的加度和度,想要设置不同的加度时,DEC 要在 ACC 之后,做一个运动。ACC(120

37、) '同时设置加120 units/sec/secDEC(90) '设置度为90 units/sec/secSPEED=14.5 '设置速度为 to 14.5 units/secMOVE(500) '运动 500 UNITSDEFPOSDEFPOS定义位置类型: 语法: 备选:说明:运动指令DEFPOS(POS_1,POS_2,POS_3)DP(pos_1,pos_2pos_3)重新定义当前位置。Pos_#直接给 DEFPOS,同时调整 MPOS 值,以保证 FE 不变。此操作在下一伺服周期完成。Defpos 指令执行过程中,offpos 值非 0。当 defp

38、os,dpos和 Mpos 更新完毕,offpos 会重新回到 0。Defpos 可以在任何时候执行,包括轴运动的过程中。但该指令的主要功能是,在轴静止时重置轴或轴组的当前位置。参数: POS1:绝对位置,使用用户定义POS2:绝对位置,使用用户定义POS3:绝对位置使用用户定义设置基本轴设置基本排列中的下一个轴设置基本排列中的下一个轴。注意:可以指定的参数和系统中的轴数相同参阅: AXIS,DATUM,DPOS,OFFPOS,MPOS,UNITS例 1:在两个轴回到原点后,需要改变当前位置值,以使当前位置不为 0。DATUM(5) AXIS(1) 轴1回原点DATUM(4) AXIS(3)

39、轴3回原点WAIT IDLE WAIT IDLEBASE(1,3)AXIS(1) AXIS(3) 设置基本轴组DEFPOS(-10,-35) 重新定义两轴的当前位置 -10 and -35例 2:定义轴的当前位置是 10,之后做绝对位置运动。一定要保证新的当前位置已经更新, 再做运动:DEFPOS(10.0)WAIT UNTIL OFFPOS=0'MOVEABS(25.03)保证当例:在 Motion Perfect 终端里设置前四轴当前位置为 0>>BASE(0)>>DP(0,0,0,0)>>DISABLE_GROUP类型:运动指令语法:DISAB

40、LE_GROUP(axis1 ,axis2, axis3, axis4)说明:用来生成一个轴组,当轴组中的一个或多个轴有运动错误时,整个轴组将被禁用。轴组生成之后,当有一个错误发生时,轴组中所有轴的 AXIS_ENBLE 和 SERVO 都会被设置成 OFF。可以生成多个轴组,但是同一轴不能属于多个轴组。DISABLE_GROUP(-1)取消所有的轴组参数:axis1: 轴组中的第一个轴的轴号 Axis number of first axis in group. axis2: 轴组中的第二个轴的轴号 Axis number of second axis in group. axisN: 轴组

41、中的第 N 个轴的轴号 Axis number of Nth axis in group.注意:参数的个数可以是系统中的轴数。例子:例 1:有台上由两个功能不同的部分,各自有各自的急停和保护系统。其中一个出错,临一个会继续运行,当故障排新启动,继续运行。这就需要设置连个的轴组。DISABLE_GROUP(-1) 取消前面设置的轴组DISABLE_GROUP(0,1,2,6) 轴组包括 0 to 2 and 6DISABLE_GROUP(3,4,5,7) 轴组包括 3 to 5 and 7 WDOG=ON 使能FOR ax=0 TO 7AXIS_ENABLE AXIS(ax)=ON 使能 8 a

42、xes SERVO AXIS(ax)=ON 闭环NEXT axENCODER_RATIO类型:运动指令语法:ENCODER_RATIO(denominator, numerator)说明:这条指令以非整数的比率对编码器输入进行缩放,应用下面的公式:MPOS = (numerator / denominator) x encoder_edges_inputENCODER_RATIO 影响伺服环的编码器边沿输入的个数,必须适当位置增益,从而使运动顺利稳定地执行。和 UNITS 参数不同,ENCODER_RATIO 影响诸如MVOECIRC 和 CAMBOX 一类的指令,而 UNITS 只影响用户参

43、数:的参数的。Denominator: 016777215 之间的任意一个数,用来指定上述公式的分母Numerator: 016777215 之间的任意一个数,用来指定上述公式的注意:避免应用大比率,大比率不仅会导致分辨率的丢失,而且会大幅度的降低运动的平滑性。实际的物理编码器计数是轴的基本分辨率,应用这条指令会降低运动准确到达所有位置的能力。器注意:ENCODER_RATIO 不能代替 UNITS.只是在必要的时候才用 ENCODER_RATIO.PP_STEP 和 ENCODER_RATIO 不能同时应用到同一轴上。例子:在旋转台的中心有一个伺服电机,在伺服电机的尾部安装有每转可以输出 8

44、192 个脉冲的编码器。要计算转台的角度,所以每度为一个计数。 7200 是和8192最接近又能被一个整数整除从而化为角度的分辨率(7200 / 20 =360)ENCODER_RATIO(8192,7200)UNITS = 20例 2:在 X-Y 平面上,需要作 MOVECIRC 圆弧插补,而圆弧插补指令需要相同的 UNITS。轴 3(X 轴)是 409 个反馈计数每 mm,轴 4(Y 轴)560 反馈计数每 mm。这就需要用到ENCODER_RATIO 指令,使两个轴的分辨率一致。ENCODER_RATIO(409,560)UNITS AXIS(3) = 56 X UNTIS AXIS(4

45、) = 56 YAXIS(3) axis 3 也是560 counts/mm了现在轴轴MOVECIRC(200,100,100,0,1) 插补运动FORWARDFORWARD向前运动指令类型: 语法: 备选:说明:运动FORWARD FO设置连续正向运动。在程序制定的度下,直到速度等于程序设定值。轴就以程序设定的速度一直运行下去,直到用 CANCEL 或 RAPIDSTOP 取消运动,轴会以程序设定的度,。直至停止。如果轴碰到正向限位开关或正向软限位,FORWARD 指令会被取消,轴以设定到零。参阅: AXIS,CANCEL,RAPIDSTOP,REVERSE,UNITS例子:让轴正向连续运动

46、,当 Input(12)被检测到有输入,停止运动: FORWARD'等待停止信号WAIT UNTIL IN(12)=ON CANCELWAIT IDLE度MATCHMATCH匹配类型: 语法:说明:运动指令MATCH(count, table address)指令用于对器进行模式比较。当色标跟踪信号触发时,将生成的模式与设定好的多种色标输入状态模式进行比较。count模式匹配中包含的输入状态总数参数:table address用于比较的模式其地址参阅:REGIST 和 RECORD例子:dec_dist=SPEED*SPEED*0.5/DECEL length=10REP_DIST=1

47、00*length DEFPOS(0)REGIST(5,length) MOVE(2*length) WAIT UNTIL MARKIF TRANSITIONS>4 AND TRANSITIONS<12 THEN MATCH(8,10)IF REG_MATCH>0.8 THENIF REG_POS<(MPOS+dec_dist-length) THEN MOVEMODIFY(2*length+REG_POS)ELSEMOVEMODIFY(length+REG_POS) ENDIFELSEPRINT "marks give too poor fit"

48、ENDIFELSEPRINT "marks not seen" ENDIFWAIT IDLEPRINT REG_POS,ENDMOVE,TRANSITIONS,REG_MATCHMHELICALMHELICAL 螺旋插补类型:语法: 说明:运动指令MHELICAL(end1,end2,centre1,centre2,direction,distance3,mode)执行一个螺旋插补运动在两个正交轴之间做圆弧插补,同时第三轴做线性运动,前五个参数和圆弧插补指令MOVECIRC()类似,第六个参数定义同时要走的第三轴的线性距离。End1和center1工作在当前的基本轴,End

49、2和center2工作在下一轴。前四个距离和第六个参数是以各自轴的参数:转换因子为。end1 end2 centre1centre2BASE 基准轴要停止的相对于起点的位置BASE 基准阵列中,下一个轴的要停止的相对于起点的位置圆心相对于 BASE 基准轴起点的位置圆心相对于 BASE 基准阵列,下一个轴的起点的位置direction 圆弧插补方向软件开关设成 1 为顺时针方向/ 设成 0 为逆时针方向distance 3 BASE 基准阵列中,第三轴走的线性距离mode:0 =标准的螺旋插补1 =只插补前两个轴第三例子:例 1 下面的这段程序的功能是,通过轴 1 和轴 2,使得工具绕圆角长方

50、形运动,通过转动轴 3 让工具始终与长方形垂直。轴 3REP_OPTION AXIS(3)=ON 运动开始三个轴需要回零点MERGE=ON是度MOVEABS(360) AXIS(3) 校正3轴开始角度WAIT IDLE AXIS(3)MOVE(0,12) MHELICAL(3,3,3,0,1,90) MOVE(16,0)MHELICAL(3,-3,0,-3,1,90) MOVE(0,-6)MHELICAL(-3,-3,-3,0,1,90) MOVE(-2,0)MHELICAL(-3,3,0,3,1,90)例 2:如下图所示,有一 PVC 切刀,通过 XY 两轴来到速度的匹配,我们要用模式 1。

51、BASE(0,1,2) : MERGE=ON '平滑运动开关启动MOVE(50,0)MHELICAL(0,-6,0,-3,1,180,1) MOVE(-22,0)WAIT IDLEMOVE(-90) AXIS(2) '切刀转个直角弯WAIT IDLE AXIS(2) MOVE(0,-50) MHELICAL(-6,0,-3,0,1,180,1)MOVE(0,50),第三轴切刀角度。为了做WAIT IDLE MOVE(-90)WAIT IDLE'停一下,继续旋转切刀AXIS(2)AXIS(2)MOVE(-22,0) MHELICAL(0,6,0,3,1,180,1)WAI

52、T IDLEMHELICALSP类型:运动指令语法:MHELICALSP(end1, end2, centre1,centre2, direction, distance3)说明:执行与 MHELICAL 相同的螺旋插补运动,另外,当缓存了多个运动时, 速度改变。用到另外两个轴参数:FORCE_SPEED,ENDMOVE_SPEED.矢量例子: MERGE=ON 时, 执行缓存的一系列运动。一个螺旋运动要求开始的速度为40units/second,结束时的速度为 20units/second. FORCE_SPEED=40ENDMOVE_SPEED=20 MHELICALSP(100,100,

53、0,100,1,100)信息祥见:MHELICAL 和第 14 章;运动缓存MOVEMOVE类型: 运动指令语法: MOVE(distance1 ,distance2 ,distance3 ,distance4.)备选:MO()说明: MOVE 指令使一轴或多轴在目标速度,位置。度和度下以增量的方式运动到特定指定的运动距离的比例由转换因子 UNITS 参数设定。例如,一轴编码器是4000edges/mm,于是轴的单元数设为 4000,MOVE(12.5)将会移动 12.5 毫米。MOVE 工作在缺省轴,除非 AXIS 定义临时基本轴。参数 dist_1 定义为缺省轴,dist_2作为另一个轴等

54、等。通过改变轴在运动,非插补,非同步可以获得多轴运动。增量运动可以合并成连续运动轨迹,通过设置 MERGE=ON。在多轴系统中,速度和度都用轴组中第一个轴的。参数:distance1: 基本轴从当前位置开始运动的距离distance2:distance3: distance4:基本轴队列中下一轴从当前位置开始运动的距离 基本轴队列中下一轴从当前位置开始运动的距离基本轴队列中下一轴从当前位置开始运动的距离参数的个数可以增加到器上的轴数参阅: AXIS,MOVEABS,UNITS例子: 例子 1系统转换因子为 1 和 1000 线的编码器。因此,需要如下指令使电机运动 10 圈。(1000 线编码器给出 4000edges/turn)。MOVE (40000)例子 2Axes 3, 4 and 5运动 (非查补).

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论