trio basic中文修订_第1页
trio basic中文修订_第2页
trio basic中文修订_第3页
trio basic中文修订_第4页
trio basic中文修订_第5页
已阅读5页,还剩133页未读 继续免费阅读

下载本文档

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

文档简介

1、TRIO BASIC命令广州亚陆控制系统TRIO运动控制器广东代理欧姆龙公司广东代理威纶通触摸屏华南总代理广州亚陆控制系统公司总部地址:广州市中山大道中1015号东圃大厦3A12室联系人:王工 手机:510660目 录运动及轴命令9ACC9ADD_DAC9ADDAX10AXIS11BASE11CAM12CAMBOX14 CANCEL17CONNECT18DATUM19DEC20DEFPOS20DISABLE_GROUP21ENCODER_RATIO21FORWARD22MATCH22MHELICAL23MHELI

2、CALSP24MOVE24MOVEABS25MOVEABSSP27MOVECIRC27MOVECIRCSP29MOVELINK29MOVEMODIFY33RAPIDSTOP33REGIST34REVERSE36输入/输出指令37AIN37AINO.7 / AINBIO.737CURSOR38CHR38DEFKEY38FLAG38FLAGS39GET39GET#39HEX40IN()/IN40INPUT41INPUTS0 / INPUTS141INVERT_IN42KEY42LINPUT43OP43PRINT44PRINT#44PSWITCH45READ_OP46READPACKET47RECO

3、RD47SEND47SETCOM48程序循环和结构50BASICERROR50ELSE50ELSEIF50ENDIF51FOR.TO. STEP.NEXT52GOSUB53GOTO53IF.THEN.ELSE. ENDIF54NEXT54ON. GOSUB54ONGOTO55REPEAT. UNTIL55RETURN56STEP56STOP56THEN57TO57UNTIL57WA58WAIT IDLE58WAIT LOADED58WAIT UNTIL58WHILE59WEND59ADDRESS60APPENDPROG60AUTORUN60AXISVALUES60BATTERY_LOW61BR

4、EAK_ADD61BREAK_DELETE61BREAK_LIST61BREAK_RESET61CAN62CANIO_ADDRESS63CANIO_ENABLE63CANIO_STATUS63CHECKSUM64CLEAR64CLEAR_PARAMS64COMMSERROR64COMMSTYPE65COMPILE65CONTROL65COPY66DATE66DAYE$66DAY67DAY$67DEL67DIR67DEVICENET67DISPLAY68DLINK68EDPROG71EDIT72EPROM72ERROR_AXIS72ETHERNET73EX73EXECUTE74FB_SET74F

5、B_STATUS74FEATURE_ENABLE74FLASHVR75FRAME76FREE76HALT76HLM_READ77HLM_WRITE78HLM_COMMAND79INITIALISE80LAST AXIS80LIST80LIST_GLOBLE80LOADSYSTEM81LOCK81MOTION_ERROR82MPE82NAIO82NETSTAT82NEW82NIO83PEEK83POKE83POWER_UP83PROCESS83PROFIBUS83REMOTE84RENAME84RUN84RUNTYPE85SCOPE86SCOPE_POS86SELECT87SLOT87SERCO

6、S87SERCOS_PHASE88SERIAL_NUBER88SERVO_PERIOD88STEPLINE89STICK READ89STICK WRITE89STORE90TABLE90TABLEVALUES91TIME91TIME$91TRIGGER92TROFF92TRON92TSIZE92UNLOCK93USB93USB_STALL94VERSION94VIEW94VR94VRSTRING95WDOG95:9696#96$96任务参数及指令98ERROR_LINE98INDEVICE98LOOKUP98OUTDEVICE99PMOVE99PROC99PROC_LINE100PROCNU

7、MBER100PROC_STATUS100RESET100RUN_ERROR100TICKS101数学操作和指令102+ Add102- Subtract102* Multiply102/ Divide102= Equals103<> Not Equal103> Greater Than103>= Greater Than or Equal104< Less Than104<= Less Than or Equal104ABS105ACOS105AND105ASIN106ATAN106ATAN2106B_SPLINE106CLEAR_BIT107CONSTA

8、NT107COS107EXP108FRAC108GLOBAL108IEEE IN108INT109LN109MOD109NOT109OR110READ_BIT110SET_BIT111SGN111SIN111SQR111TAN111XOR112恒 量113FALSE113OFF113ON113PI113TRUE113轴参数115ACCEL115ADDAX_AXIS115ATYPE115AXISSTATUS116AXIS_ADDRESS117AXIS_ENABLE117BOOST117CAN_ ENABLE117CLOSE_WIN117CLUTCH_RATE117CREEP118DAC118DA

9、C_OUT118DAC_SCALE119DATUM_IN119DECEL120DEMAND_EDGES120DPOS120DRIVE_STATUS120DZONE_MIN120DZONE_MAX121D_GAIN121ENCODER121ENCODER_BITS121ENCODER_CONTROL122ENCODER_ID122ENCODER_STATUS122ENCODER_TURNS122ENDMOVE122ENDMOVE_BUFFER122ENDMOVE_SPEED122ERRORMASK123FAST_JOG123FASTDEC123FE123FE_LATCH124FE_LIMIT12

10、4FE_LIMIT_MODE124FE_RANGE124FEGRAD124FEMIN124FHOLD_IN125FHSPEED125FORCE_SPEED125FS_LIMIT125FULL_SP_RADIUS125FWD_IN126FWD_JOG126INVERT_STEP126I_GAIN126JOGSPEED126LIMIT_BUFFERED127LINKAX127MARK127MARKB127MERGE127MICROSTEP128MOVES_BUFFERED128MPOS128MSPEED128MTYPE129NEG_OFFSET129NTYPE129OFFPOS129OPEN_WI

11、N130OUTLIMIT130OV_GAIN130POS_OFFSET130PP_STEP131PWM_CYCLE131PWM_ENCODER131PWM_MARK131P_GAIN131REG_MATCH132REG_POS132REG_POSB132REMAIN132REMOTE_ERROR133REPDIST133REP_OPTION133REV_IN134REV_JOG134RS_LIMIT134SERVO134SP135SPEED135SRAMP135SSI_BITS135TRANS_DPOS135TRANSITIONS135UNITS136VECTORY_BUFFERED136VE

12、RIFY136VFF_GAIN136VP_SPEED1368-运动及轴命令 ACC类型: 轴指令语法: ACC(rate) 注意: 这个指令用来和旧的Trio控制器兼容。在新控制程序中加速度率和减速度率可用ACCEL 和DECEL轴参数设定。说明:同时设定加速度率和减速度率参数:rate:加速率,单位:UNITS/SEC/SEC例子:ACC(100)ADD_DAC类型: 轴指令语法: ADD_DAC(轴)说明: ADD_DAC指令提供双反馈控制。允许一个辅助编码器(轴2)反馈到伺服轴(轴1)。指令使得两个伺服环的输出共同决定伺服轴的速度指令输出。这个指令通常应用于轧辊反馈系统,需要一个辅助编码

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

14、39; 轴1的运动轨迹加到轴2上ADDAX类型: 运动控制指令语法: ADDAX(轴号)说明: ADDAX指令将2个或多个的运动叠加形成较复杂的运动轨迹。ADDAX指令把指定轴的目标位置(DPOS)的变化,附加到指令指向的轴的任意运动上。指定轴可以是任一轴,不一定在系统里物理存在。ADDAX指令发出后两轴的链路保持连接。直到断开。指定轴上的进一步运动被附加到基准轴上。使用ADDAX(-1)取消轴的连接。ADDAX允许执行两轴叠加运动。当带有编码器接口的伺服轴的轴参数SERVO设置到OFF也就是开环,所测位置MPOS被复制到需求位置DPOS。可以使用ADDAX统计编码器输入。参数:轴号:指定轴

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

16、动到轴0 REPEAT GOSUB getoffset 计算偏移 MOVE(offset) AXIS(2) 在轴2上作偏移的运动 UNITL IN(2)=ON 直到校正结束 例3 有一个cambox运动,用一个编码器输入轴(可以是手轮)作主轴,其实现方法:用一个虚拟轴做主轴,执行cambox运动。把编码器输入的脉冲输入加到这个虚拟轴上。 ' 轴0执行凸轮运动,轴2做主轴' 轴1有一个编码输入子板 ' 轴2是虚拟轴SERVO AXIS(1)=OFFADDAX(1) AXIS(2) 把编码器输入的脉冲输入加到这个虚拟轴上。.CAMBOX(1000,1100,4,600,2)

17、 AXIS(0) 轴0执行凸轮运动,轴2做主轴AXIS类型: 修改指令语法: AXIS(轴号)说明: AXIS修改设置单轴运动指令或单轴参数读写。AXIS参数在命令行或程序行特别有效。注意:如果需要修改下面的所有指令的作用轴应该用BASE指令参数: 轴号 任何有效的BASIC表达式,指定轴号。注意:AXIS指令可用于修改以下指令的轴参数:ADDAX,CAM,CAMBOX,CANCEL,CONNECT,DATUM,DEFPOS,FORWARD,MOVEABS,MOVECIRC,MOVELINK,MOVE,MOVEMODIFY,REVERSE,REGIST,WAIT IDLE,WAIT LOADE

18、D。参阅: BASE()例子:例子1 >> PRINT MPOS AXIS(3) 例子2 MOVE(300) AXIS(2) 例子3 REPDIST AXIS(3)=100注意:请注意上面例子中执行动作和参数读写时在写法上的区别。BASE类型: 运动控制指令语法: BASE(轴1,轴2,轴3)说明: BASE指令用于导向下一个运动指令轴的参数读/写入特定轴或轴组,设置的缺省值依次为:0,1,2每一个过程有其自己的BASE基本轴组,每个程序能单独赋值。Trio Basic 程序与控制轴运动的运动发生器分开。每个轴的运动发生器有其独立的功能,因此每个轴能以自己的速度、加速度等进行编程,

19、单独运动,同时运动,或者通过插补或链接运动链接在一起。AXIS()命令只要应用正在进行的单命令可以重新导向不同的轴。而BASE()指令,导向接下来的所有指令,除非用AXIS规定轴号参数: 轴号:轴号或轴组号成为新的基准轴排列,即轴号或轴组发送运动指令给多轴指令里的第一个轴。 基本轴的轴数和顺序轴在轴组用于多轴运动。例子:例子1 BASE(1) UNITS=2000 设置轴1的转换因子。 SPEED=100 设置轴1的速度 ACCEL=5000 设置轴1的加速度 BASE(2) UNITS=2000 设置轴2 的转换因子 SPEED=125 设置轴2的速度 ACCEL=10000 设置轴2的加速

20、度例子2BASE(0,4,6) MOVE(100,-23.1,1250)注意:轴0移动100单位,轴4移动-23.1单位,轴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注意:在命令行处理过程中,通过输入>

21、>BASE(0,2,3,1,4,5,6,7) >> 例子是8轴控制器MC206CAM类型: 轴指令语法: CAM (start point,End point,Table multiplier,distance)说明: CAM指令按存储在TABLE变量中数组组成的位置文件来运动。Table数组由TABLE指令定义。Table值是相对于cam运动起始点的绝对位置,并特指编码器的边沿。运动可由TABLE数组中3到数组容许的任意个点来定义。MC控制单元依据Table定义的平滑轨迹连续运动。参数: start point Table数组中使用的第一个元素的地址。允许Table数组保留

22、多个轨迹或其它信息。End pointTable数组中最后一个元素的地址。注意:2个或2个以上CAM()指令同时执行时可以用数组中的相同一组值。Table multiplierTable倍乘值用于成比例的放缩Table里存储的数值。因为Table值特定为编码器的沿。控制幅值。Distance用户定义的单位控制整个运动速度。执行CAM依据当前轴的速度和距离。控制频率例如: 假定程序单位为mm同时速度设置成10mm/s,加速度足够高。如果定义距离100mm,CAM的执行需要10秒。速度可以由其他控制指令随时更改。加速度为当前指定的ACCEL值。注意为了跟随CAM轨迹,ACCEL参数必须比SPEED

23、参数大1000倍。(假设默认SERVO_PERID是1ms ) 参阅: ACCEL,AXIS,CAMBOX,SPEED,TABLE例子: 假定运动需要遵循以下位置等式: T(x)=x*25+10000*(1-cos(x) 上等式中,X是角度。客户在利用这个例子时应注意上面的算式,在给table赋值时,cos(x)里的x要换算成弧度。这个例子提供简单的常速摆动。循环执行需要以下代码。 GOSUB camtable Loop: CAM(1,19,1,200) GOTO LOOP注: 子程序camtable需要加载以下数据到table数组。Table位置角度值10022011033403340460

24、65005801026361001423671201800081402116091602339610180245001120024396122202316013240210001426018236152801526316300125001732010340183409103193609000注意:当CAM指令执行时,ENDMOVE参数设成上一运动的结束位置。CAMBOX类型: 运动控制指令语法: CAMBOX(start point, end point, table multiplier, link distance ,link axis<,link options><,

25、link pos>)说明: CAMBOX指令按存储在TABLE变量中数组组成的位置文件来运动。运动与另一轴的测量位置连接,形成连续软件电子齿轮。 Table值是相对于起始点的绝对位置并特指编码器的沿。Table数组由TABLE指令定义。Table数组由Table指令定义。 运动可以被定义成3到Table数组可定义的最大值。从动轴依据Table定义的点作插补运动,使得少量点定义的运动轨迹形成平滑的曲线。(两个或多个CAMBOX指令可以同时执行,使用相同或重叠的Table数组值,Table文件执行一次。注意CAMBOX可以反向或正向取Table值,取决于主轴方向。Link option可用于

26、定义CAMBOX的不同选项和连续CAMBOX。例如:如果Link option设置成4,CAMBOX操作就如同理论上的可正反转的CAM。CAMBOX工作在缺省轴。除非AXIS定义其它的临时基本轴。)参数: start point Table数组可能保留多个轨迹或其它信息。此参数指定Table数组中使用的第一个元素的地址。 End point Table数组中使用的最后一个元素的地址。注意:2个或2个以上CAM()指令同时执行时可以用数组中的相同一组值。 Table multiplier Table倍乘值用于成比例的放缩Table里存储的数值。因为Table值特定为编码器的沿, (使用这个参数设

27、置变量,例如单元转换因子。) Link distance用户定义的连接(主)轴运动完成特定输出运动。连接距离必须定义成正的距离。 Link axis 连接的轴 link option1. 当主轴色标信号触发时,从轴与主轴开始连结。2. 当主轴运动到设定的绝对位置,从轴与主轴开始连结。(见参数7)4.CAMBOX自动重复连续双向运行。设置REP_OPTION=1,取消此操作。 8.PATTERN模式, CAMBOX的高级用法,允许在一个CAMBOX执行周期中实现多个波动幅度值。一般与模式4一起使用。 注意:前两个选项(1和2)要和后两个选项(4和8)结合使用 Link pos 这个参数是绝对位置

28、,当参数6设成2,CAMBOX在这个位置开始连结。注意: 当执行CAMBOX时,ENDMOVE参数会被设置成前一运动的结束。REMAIN参数保留剩余距离。参数6和7可选。例子1: num_p=30scale=2000' 产生正弦速度轨迹的子程序'用 p 循环计数' num_p table中存储点的个数' scale 倍乘比例因子 FOR p=0 TO num_pTABLE(p,(-SIN(PI*2*p/num_p)/(PI*2)+p/num_p)*scale)NEXT p上图给出了数组元素与位置阵列的对应关系。这在调用CAMBOX指令时与电机位置和连接位置的对应

29、是一致的。电机的速度曲线是根据位置曲线生成的:速度曲线当传送带到达变量“start”时,旋鼓进给标签。本例用到例1产生的table中的0到30点:CAMBOX(0,30,800,80,15,2,start)注意: 0:TABLE中运动轨迹的开始处 30:TABLE中运动轨迹的结束处 800:倍乘因子,每一次CAMBOX运动会因此而转800*2000个边沿 80:传送带上链接运动执行的距离。单位是链接轴上指定的单位。 15:指定链接轴 2:设置链接选项。链接运动在链接轴的绝对位置开始 Start: 变量“start”。15轴到达“start”位置时开始链接例3:参阅: AXIS,CAM,REP_

30、OPTION,TABLE。CANCEL类型:运动控制指令语法: CANCEL/ CANCEL(1)备选: CA说明: CANCEL指令取消轴或插补轴组的当前运动。速度轨迹(FORWARD,REVERSE,MOVE,MOVEABS,MOVECIRC)将会以DECEL参数减速直到停止。其它运动会立即停止。 CANCEL(1)指令取消已缓存的运动而不影响正在执行的运动, ( CANCEL工作在缺省轴,除非使用AXIS参数定义临时基本轴。)注意:1.CANCEL只能取消当前执行的运动。如果在缓存中还有运动,它会继续被加载。 (2.在当前运动的减速过程中,另外的CANCELS会被忽略。 3.CANCEL

31、(1)只取消当前缓存中的运动。存储在任务缓存中的运动由PMOVE参数定义,可以被加载到缓存一旦缓存运动被取消。)参阅: AXIS,MTYPE,NTYPE,PMOVE,RAPIDSTOP例子: 例子1 FORWARD WA(10000) CANCEL 十秒钟后停止运动 例子2 MOVE(1000) MOVEABS(3000) CANCEL(1) 取消运动到3000,而运动到4000。 MOVEABS(4000)注意MOVEMODIFY是修改运动结束点最好方法。CONNECT类型: 轴指令语法: CONNECT(ratio,driving_axis)备选: CO(ratio,driving_axi

32、s)说明: CONNECT指令将基本轴的目标位置与由driving_axis轴定义的测量位置通过电子齿轮联接。参数: RATIO电子齿轮的联接率。比率定义为编码器边沿比率。驱动轴按增量运行。比率可正可负,并有16位的分辨率。 DRIVING_AXIS(主轴驱动基本轴)驱动轴注意:比率可以通过在相同的轴再执行CONNECT而随时改变。不需取消以前的CONNECT指令可自动更新速率。(CONNECT联接多个轴会被忽略,)CONNECT可以通过CANCEL或RAPIDSTOP取消。(CLUTCH_RATE参数可用于设置联接改变率。CONNECT工作在缺省轴,除非用AXIS定义临时基本轴。)例子: 辊

33、轮需要按传送带上的编码器1/4的速度旋转,辊轮联结在轴0上,输入通道监控传送带由轴1控制,可以使用以下代码。 SERVO AXIS(1)=OFF 这个轴用于监控传送带 SERVO=ON CONNECT(0.25,1)注意:为实现精确的分数比率链接,如:1024/3072。可用MOVELINK指令,需设置连续重复模式DATUMDATUM 原点搜寻类型: 运动控制指令语法: DATUM(sequence)说明: DATUM指令执行6种方法中的一种搜寻原点位置,(其为绝对位置同时可以重置跟随误差。伺服驱动器机构原点搜寻用于轴0。轴1用于MC控制单元机构。)DATUM使用CREEP速度和目标速度用于原

34、点搜寻。(伺服驱动器用于轴0。)爬行速度用CREEP参数设定。目标速度用SPEED参数设定。(原点搜寻输入数由DATUM_IN参数决定,用于3或7中。)DATUM(0)用于轴出错时重新启动系统,位置不变。参数: (sequence0 DATUM(0)指令清除跟随误差。将当前位置设定为目标位置同时AXISSTATUS状态会被清除。注如果产生错误的问题仍然存在,误差不能被清除。1 轴以爬行速度(CREEP)正向运行直到发现Z信号。目标位置重置为0同时纠正测量位置,维持跟随误差。2 轴以爬行速度(CREEP)反向运行直到发现Z信号。目标位置重置为0同时纠正测量位置,维持跟随误差。3 轴以目标速度(S

35、PEED)正向运行,直到碰到原点开关。随后轴以爬行速度正向运动直到原点开关复位。 目标位置重置为0同时纠正测量位置,维持跟随误差。4 轴以目标速度(SPEED)反向运行,直到碰到原点开关。随后轴以爬行速度正向运动直到原点开关复位。 目标位置重置为0同时纠正测量位置,维持跟随误差。5 轴以目标速度(SPEED)正向运行,直到碰到原点开关。随后轴以爬行速度正向运动直到碰到Z信号。 目标位置重置为0同时纠正测量位置,维持跟随误差。6 轴以目标速度(SPEED)反向运行,直到碰到原点开关。随后轴以爬行速度正向运动直到碰到Z信号。 目标位置重置为0同时纠正测量位置,维持跟随误差。)Seq.说明0跟随误差

36、超过FE_LIMIT时,通过把AXISSTATUS以下位清零来清除跟随误差:BIT 1 跟随误差警告BIT 2 远程驱动通讯错误BIT 3 远程驱动错误BIT 8 跟随误差超限BIT 11 取消运动对于带位置校正的步进轴,当前位置设为目标位置。FE清零1轴以爬行速度(CREEP)正向运行直到发现Z信号。目标位置重置为0同时纠正测量位置,维持跟随误差。2轴以爬行速度(CREEP)反向运行直到发现Z信号。目标位置重置为0同时纠正测量位置,维持跟随误差。3轴以程序设定速度(SPEED)正向运行,直到碰到原点开关。随后轴以爬行速度反向运动直到原点开关复位。 目标位置重置为0同时纠正测量位置,维持跟随误

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

38、erse limit inputs均是低电平有效。低电平输入用于使能自动防护接线。例子:DATUM IN=10 DATUM(5)DECDEC减速度率类型: 运动控制指令语法: DEC(RATE)说明: DEC指令用来保持与老控制器的兼容性,新程序中都用DECEL代替。参数: 单位 UNITS/SEC2例子:DEC(3000)DEFPOSDEFPOS 定义位置类型: 运动控制指令语法: DEFPOS(POS_1,POS_2,POS_3)备选: DP(pos_1,pos_2pos_3)说明: DEFPOS指令定义当前目标位置(DPOS)为新的绝对位置。(为了保持跟随误差,测量位置(MPOS)随之改

39、变。)DEFPOS经常应用在原点搜寻之后,设置当前位置为零。DEFPOS随时可用。(OFFPOS也可以用。这个参数用于执行依据当前位置的相对调整。DEFPOS工作在缺省轴,除非AXIS定义其它的临时基本轴。注意: DEFPOS或OFFPOS是在下一伺服刷新时改变轴的位置。这样当运动初始化和DEFPOS或OFFPOS在同一伺服周期时,会产生问题。以下例子显示DEFPOS参数怎么能避免这一问题,DEFPOS指令内部转化为OFFPOS位置增益,这就提供了简单的解决程序。 DEFPOS(100) WAIT UNTIL OFFPOS=0 MOVEABS(0)参数: POS1:绝对位置,使用用户定义单位设

40、置基本轴 POS2:绝对位置,使用用户定义单位设置基本排列中的下一个轴 POS3:绝对位置使用用户定义单位设置基本排列中的下一个轴。注意:(规定和轴数相同的参数)可以指定的参数和系统中的轴数相同参阅: AXIS,DATUM,DPOS,OFFPOS,MPOS,UNITS例1: 在用户单位下,定义当前位置为(-1000,-3500)。当前位置重置为(0,0)用两个DATUM指令。BASE(2)DATUM(5)BASE(1)DATUM(4)WAIT IDLEDEFPOS(-1000,-3500)注意:用DEFPOSE和OFFPOSE对轴位置做出的改变是在下一个伺服周期进行的。这样就会有产生问题的隐患

41、,因为在DEFPOSE执行完成而下一个伺服周期还没有来的时候用户程序可能还在执行其他的程序。例如,下面的子程序很可能运动不到正确的绝对位置,因为在MOVEABS被加载时DEFPOSE还没有完成。例2:(DEFPOS命令内部转换成OFFPOS位置偏移以避免出错。)DEFPOS(100)MOVEABS(0) 'DEFPOS还没有发生DEFPOS命令内部转换成OFFPOS位置偏移这样就很容易得避免了出错。DEFPOS(100)WAIT UNTIL OFFPOS=0' 确认 DEFPOS已经在下一行前执行了MOVEABS(0)DISABLE_GROUP类型:运动控制指令 语法:DISA

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

43、的轴号Axis number of Nth axis in group. 注意:参数的个数可以是系统中的轴数。例子: DISABLE_GROUP(-1)DISABLE_GROUP(0,1,2,3)DISABLE_GROUP(4,5,6,7)WDOG=ONenable_b:FOR ax=4 TO 7AXIS_ENABLE AXIS(ax)=ONNEXT ax注意:参阅AXIS_ENABLE. 只用于SERCOS和MECHATROLINKENCODER_RATIO类型:运动控制指令语法:ENCODER_RATIO(denominator, numerator)说明:这条指令允许以非整数的比率对编码

44、器输入进行缩放,应用下面的公式: MPOS = (numerator / denominator) x encoder_edges_input ENCODER_RATIO影响伺服环的边沿输入的个数,它能改变位置增益,从而使运动 顺利稳定地执行。和UNITS参数不同,ENCODER_RATIO影响诸如MVOECIRC和CAMBOX一类的指令,而UNITS只影响用户程序中的比例因子。参数: Denominator: 016777215之间的任意一个数,用来指定上述功能的分母 Numerator: 016777215之间的任意一个数,用来指定上述功能的分子注意:避免应用大比率,大比率不仅会导致分辨率

45、的丢失,而且会大幅度的降低运动的平滑性。实际的物理编码器计数是轴的基本分辨率,应用这条指令会降低运动控制器准确到达所有位置的能力。注意:ENCODER_RATIO不能代替UNITS.只是在必要的时候才用ENCODER_RATIO. PP_STEP和ENCODER_RATIO不能同时应用到同一轴上。例子:在旋转台的中心有一个步进电机,在步进电机的尾部安装有每转可以输出8192个脉冲的编码器。要计算转台的角度,所以每度为一个计数单位。 ENCODER_RATIO(8192,7200)UNITS = 20FORWARDFORWARD 向前运动类型: 运动控制指令语法: FORWARD备选: FO说明

46、: (FORWARD指令以SPEED参数的速度连续正向运转,加速率由ACCEL参数定义。FORWARD工作在缺省轴,除非使用AXIS定义临时基本轴。)设置连续正向运动。注意: 正向运动可以通过CANCEL或RAPIDSTOP指令停止运动,或到达正向限位。参阅: AXIS,CANCEL,RAPIDSTOP,REVERSE,UNITS例子: start: FORWARD ' 等待停止信号 WAIT UNTIL IN(0)=ON CANCELMATCHMATCH 匹配类型: 运动控制指令语法: MATCH(count, table address)说明: 指令用于对控制器进行模式比较。当色标

47、跟踪信号触发时,将生成的模式与设定好的多种色标输入状态模式进行比较。参数: count 模式匹配中包含的输入状态总数table address 纪录用于比较的模式其地址参阅: REGIST和RECORD例子:dec_dist=SPEED*SPEED*0.5/DECELlength=10REP_DIST=100*lengthDEFPOS(0)REGIST(5,length)MOVE(2*length)WAIT UNTIL MARKIF TRANSITIONS>4 AND TRANSITIONS<12 THENMATCH(8,10)IF REG_MATCH>0.8 THENIF

48、REG_POS<(MPOS+dec_dist-length) THENMOVEMODIFY(2*length+REG_POS)ELSEMOVEMODIFY(length+REG_POS)ENDIFELSEPRINT "marks give too poor fit"ENDIFELSEPRINT "marks not seen"ENDIFWAIT IDLEPRINT REG_POS,ENDMOVE,TRANSITIONS,REG_MATCHMHELICALMHELICAL 螺旋插补类型: 运动控制指令语法: MHELICAL(end1, end2,

49、centre1,centre2, direction, distance 3,option)说明: 执行一个螺旋插补运动在两个正交轴之间做圆弧插补,同时第三轴做线性运动,前五个参数和圆弧插补指令MOVECIRC()类似,第六个参数定义同时要走的第三轴的线性距离。End1和center1工作在当前的基本轴,End2和center2工作在下一轴。前四个距离和第六个参数是以各自轴的单位转换因子为单位。(对于第三轴用于法向切割,通过option参数实现。)参数:end1BASE基准轴要停止的相对于起点的位置end2BASE基准阵列中,下一个轴的要停止的相对于起点的位置centre1圆心相对于BASE基

50、准轴起点的位置centre2圆心相对于BASE基准阵列,下一个轴的起点的位置direction圆弧插补方向软件开关设成1为顺时针方向/ 设成0为逆时针方向distance 3 BASE基准阵列中,第三轴走的线性距离(option设成0第三轴的速度对三轴合成速度有影响/ 设成1只是前两轴的速度对合成速度有影响,此时distance 3相当于法向切割运动角度)MHELICALSP类型:运动控制指令语法:MHELICALSP(end1, end2, centre1,centre2, direction, distance3)说明:执行与MHELICAL相同的螺旋插补运动,另外,当缓存了多个运动时,允

51、许矢量速度改变。用到另外两个轴参数:FORCE_SPEED,ENDMOVE_SPEED.例子:MERGE=ON时,执行缓存的一系列运动。一个螺旋运动要求开始的速度为40units/second,结束时的速度为20units/second. FORCE_SPEED=40ENDMOVE_SPEED=20MHELICALSP(100,100,0,100,1,100) 更多信息祥见:MHELICAL和第14章;运动缓存MOVEMOVE类型: 运动控制指令语法: 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作为另一个轴等等。通

温馨提示

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

最新文档

评论

0/150

提交评论