




已阅读5页,还剩87页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TRIO BASIC运动控制编程语言1 运动控制指令以下列表概述了运动控制指令。详细说明参考特定页。名称描述页数ACCADD_DACADD_DAC允许伺服轴连接第二个编码器实现双反馈控制ADDAXADDAX设置连接轴。所有的连接轴的目标位置运动会叠加给现在正在运动的轴。AXISBASEBASE用于设置基本轴CAMCAM依据存储在TABLE变量中的数组文件运动CAMBOXCAMBOX依据存储在TABLE变量中的数组文件运动。运动与其它轴的运动形成连续,多样的软件电子齿轮。CANCELCANCEL取消轴的运动CONNECTCONNECT将轴的目标位置与驱动轴的测量位置连接,形成电子齿轮。DATUMDATUM执行7种原点搜寻中的一种或重置运动误差DEFPOSDEFPOS将当前位置定义为新的绝对位置FORWARDFORWARD连续正方向运动,速度由SPEED参数确定。MATCHMHELICALMOVEMOVE一轴或多轴按照需要的速度,加速度和减速度运动,测量位置为当前位置的增量值。MOVEABSMOVEABS一轴或多轴按照需要的速度,加速度和减速度运动,测量位置为相对于参考原点的绝对位置。MOVECIRCMOVECIRC两轴圆弧插补MOVELINKMOVELINK在基本轴产生直线运动,并通过电子齿轮比与连接轴的测量位置连接。MOVEMODIFYMOVEMODIFY改变当前轴线性运动(MOVE或MOVEABS)的绝对位置。RAPIDSTOPRAPIDSTOP取消当前所有轴的运动REGIST当发现标记输入或编码器的Z信号,捕捉轴的位置。REVERSEREVERSE连续反方向运动,速度由参数SPEED确定。2 I/O指令和功能 以下列表概述了I/O指令和功能,详细说明参考特定页。名称描述页数AINAIN提供四路模拟量通道,其中包括伺服驱动器的监控数据信号。AIN0.7/AINBI0.7CURSORCHRDEFKEYFLAGGLAGSGETGET等待单字符,并分配给ASCII字符代码。GET#HEXIN()/ININ返回数字输入值。INDEVICEINDEVICE参数定义缺省输入设备。INPUTINPUT等待接收字符,并赋值给变量。INPUTS0/INPUTS1INVERT_INKEYKEY依据是否接收到字符串,返回TRUE或FALSE。LINPUTLINPUT等待串,并赋值给VR变量。OPOP设置一个或多个输出,返回前24个输出的状态。PRINTPRINT向串口输出一系列字符串。PRINT#PSWITCH当到达预先定义的位置,PSWITCH输出变ON。当到达第二个位置输出变OFF。READPACKETRECORDSENDSETCOMSETCOM设置串行通讯。3 循环和条件结构 以下列表概述了循环和条件指令,详细说明参考特定页。名称描述页数BASICERROR当BASIC指令发生错误时,BASICERROR执行特定路线FOR TO STEP NEXTFOR.NEXT循环重复程序部分,Step变量增加或减少。GOSUB RETURNGOSUB跳转到标志后的子程序。当给出RETURN时,程序执行下步语句GOTOGOTO跳转到标志行IF THEN ELSE ENDIFIF依据条件结果控制程序流程ON GOSUB Or GOTOON GOSUB或ON GOTO使条件跳转到标志行。REPEAT UNTILREPEATUNTIL循环允许程序重复执行,直到条件变真。WHILE WENDWHILEWEND循环允许程序重复执行,直到条件变假。4系统指令和参数以下列表概述了系统指令和参数,详细说明参考特定页。名称描述页数AUTORUN在上电时设置程序自动运行AXISVALUESCANCANIO_ADDRESSCANIO_ENABLECANIO_STATUSCHECKSUMCLEAR清除当前任务中的所有全局变量和局部变量CLEAR_PARAMSCOMMSERROR包括所有上次初始化后的通讯错误COMMSTYPECOMPILE编译当前程序CONTROL包括MC控制单元在系统中的类型COPY拷贝存储中的程序到新的程序DEL从存储中删除程序DEVICENETDIR显示存储中的所有程序,他们的容量和运行类型DISPLAYDLINKEDPROGEDIT用VT100终端编辑程序EPROM将MC控制单元中的BASIC程序存储到闪存中ERROR_AXIS包括产生运动错误的轴数ETHERNETEXEXECUTEFEATURE_ENABLEFLASHVR将VR或TABLE变量存入闪存FRAMEFREE返回可利用的存储空间HALT停止执行当前所有的运行程序INITIALISELAST_AXIS系统加工中最近使用的轴数LIST打印程序所有的行LOADSYSTEMLOCK防止程序被看或修改MOTION_ERROR包括轴运动错误的标志NEW删除MC控制单元存储器中的所有程序NIONIO包括与系统相连的输入和输出数PROCESS返回当前任务的运行状态和任务数RENAME改变MC控制单元目录中的名称RUN执行程序RUNTYPE确定上电运行程序和任务类型SCOPESCOPE编程系统使每个伺服周期自动将4个参数存储到TABLE数组。SCOPE_POSSCOPE_POS包括当前TABLE位置,SCOPE指令存储它的第一个参数。SELECT选择特定当前程序SERVO_PERIOD设置MC控制单元的伺服循环周期STEPLINE执行程序中的单行TABLE从TABLE变量读写数据TRIGGER触发以前设置的SCOPE指令TROFF延缓执行当前轨迹,重新恢复正常程序执行TRON在程序中设置断点TSIZEVERSION返回MC控制单元中安装的BASIC语言的版本号VIEWVR从全局变量VR中读写数据WDOG使能伺服驱动器的软件开关5任务指令和参数以下列表概述了任务指令和参数,详细描述参考特定页。命名描述页数ERROR_LINEERROR_LINE包括最后BASIC程序出错的行数INDEVICELOOKUPOUTDEVICEPMOVEPMOVE包括任务缓存的状态PROCPROC获得特定过程参数PROC_LINEPROC_LINE返回特定程序的当前行PROCNUMBERPROCNUMBER包括当前被选择运行的任务数PROC_STATUSPROC_STATUS返回特定过程的状态RESETRUN_ERRORRUN_ERROR包括在特定任务产生的BASIC错误数TICKSTICKS包括当前任务时钟脉冲6 算术和逻辑功能以下列表概述了算术和逻辑功能,详细描述参考特定页。名称描述页数加: +任何两个有效表达式的加减: -任何两个有效表达式的减乘号: *任何两个有效表达式的乘积除: /任何两个有效表达式的除等于: =如果表达式1等于表达式2返回真,否则返回假不等于: 如果表达式1不等于表达式2返回真,否则返回假大于: 如果表达式1大于表达式2返回真,否则返回假大于等于: =如果表达式1大于等于表达式2返回真,否则返回假小于: 如果表达式1小于表达式2返回真,否则返回假小于等于: 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.0000CAM类型: 运动控制指令语法: 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 pointTable数组中最后一个元素的地址。Table multiplierTable倍乘值用于成比例的放缩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位置角度值10022011033403340460650058010263610014236712018000814021160916023396101802450011200243961222023160132402100014260182236152801526316300125001732010340183409103193609000CAMBOX类型: 运动控制指令语法: CAMBOX(start point, end point, table multiplier, link distance ,link axis)说明: 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 option1. 当主轴色标信号触发时,从轴与主轴开始连结。2. 当主轴运动到设定的绝对位置,从轴与主轴开始连结。4.CAMBOX自动重复连续双向运行。设置REP_OPTION=1,取消此操作。 8.PATTERN模式, CAMBOX的高级用法,允许在一个CAMBOX执行周期中实现多个波动幅度值。一般与模式4一起使用。 Link pos 这个参数是绝对位置,当参数6设成2,CAMBOX在这个位置开始连结。注意: 当执行CAMBOX时,ENDMOVE参数会被设置成前一运动的结束。REMAIN参数保留剩余距离。参数6和7可选。例子1: num_p=30scale=2000Subroutine 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 factorFOR p=0 TO num_pTABLE(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指令取消轴的当前运动。速度轨迹(FORWARD,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 FORWARD WA(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控制单元机构。DATUM使用CREEP速度和目标速度用于原点搜寻。伺服驱动器用于轴0。爬行速度用CREEP参数设定。目标速度用SPEED参数设定。原点搜寻输入数由DATUM_IN参数决定,用于3或7中。DATUM工作于缺省轴,除非AXIS设置临时基本轴。参数: sequence0 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,AXISSTATUS,CREEP,DATUM_IN,DECEL,MOTION_ERROR,SPEEDDEC减速度率类型: 运动控制指令语法: DEC(RATE)说明: DEC指令用来保持老控制器的连贯性,新控制器都用DECEL代替。参数: 单位 UNITS/SEC2例子:DEC(3000)DEFPOS 定义位置类型: 运动控制指令语法: DEFPOS(POS_1,POS_2,POS_3)备选: DP(pos_1,pos_2pos_3)说明: DEFPOS指令定义当前目标位置(DPOS)为新的绝对位置。为了保持跟随误差,测量位置(MPOS)随之改变。DEFPOS经常应用在原点搜寻之后,设置当前位置为零。DEFPOS随时可用。OFFPOS也可以用。这个参数用于执行依据当前位置的相对调整。DEFPOS工作在缺省轴,除非AXIS定义其它的临时基本轴。注意: DEFPOS或OFFPOS是在下一伺服刷新时改变轴的位置。这样当运动初始化和DEFPOS或OFFPOS在同一伺服周期时,会产生问题。以下例子显示DEFPOS参数怎么能避免这一问题,DEFPOS指令内部转化为OFFPOS位置增益,这就提供了简单的解决程序。 DEFPOS(100) WAIT UNTIL OFFPOS=0 MOVEABS(0)参数: POS_I绝对位置(基本轴+I)使用用户定义单位,参考BASE指令。参阅: AXIS,DATUM,DPOS,OFFPOS,MPOS,UNITS例子: 在用户单位下,定义当前位置为(-1000,-3500)。当前位置重置为(0,0)用两个DATUM指令。BASE(2)DATUM(5)BASE(1)DATUM(4)WAIT IDLEDEFPOS(-1000,-3500)FORWARD 向前运动类型: 运动控制指令语法: FORWARD备选: FO说明: FORWARD指令以SPEED参数的速度连续正向运转,加速率由ACCEL参数定义。FORWARD工作在缺省轴,除非使用AXIS定义临时基本轴。注意: 正向运动可以通过CANCEL或RAPIDSTOP指令停止运动,或到达正向限位。参阅: AXIS,CANCEL,RAPIDSTOP,REVERSE,UNITS例子: start: FORWARD WAIT UNTIL IN(0)=ON CANCELMATCH 匹配类型: 运动控制指令语法: MATCH(count, table address)说明: 指令用于对控制器进行模式比较。当色标跟踪信号触发时,将生成的模式与设定好的多种色标输入状态模式进行比较。参数: 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 TRANSITIONS4 AND TRANSITIONS0.8 THENIF REG_POSBMove (3,-6) A-CMove (3,6) C-DMove (0,-12) D-EMOVEABS类型: 运动控制指令语法: 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),速度Vp由SPEED,ACCEL和DECEL参数计算得到。多轴运动距离L。每轴任何时候的独立速度计算如下:参数: pos_i任意轴I的运动距离,从用户定义的基本轴开始。参阅: AXIS,MOVE,UNITS例子: 例子1X-Y平面有一个笔,圆盘的位置相对与起始点固定。改变笔的位置,当指令执行时,圆盘的绝对运动与平面位置不相关。MOVEABS (20,350)例子2一个货盘由小格组成,容器离包装机器85毫米。从固定点取容器,货盘的开始位置用DEFPOS指令定义成原点(0,0)。到容器的一部分程序如下:xloop:for x=0 to 5yloop: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 yNEXT xMOVECIRC类型: 运动控制指令语法: 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依据中心和结束点,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国银行2025滨州市秋招笔试英语题专练及答案
- 交通银行2025山南市秋招笔试专业知识题专练及答案
- 工商银行2025西安市秋招笔试EPI能力测试题专练及答案
- 建设银行2025驻马店市秋招半结构化面试题库及参考答案
- 2025行业数字化转型成功案例研究
- 工商银行2025吉林市结构化面试15问及话术
- 邮储银行2025海西蒙古族藏族自治州秋招结构化面试经典题及参考答案
- 有色金属中间产品供需服务合同2篇
- 建设银行2025神农架林区秋招笔试综合模拟题库及答案
- 邮储银行2025毕节市金融科技岗笔试题及答案
- 血友病课件完整版
- 神经系统的分级调节课件 【知识精讲+备课精研+高效课堂】 高二上学期生物人教版选择性必修1
- 三年级上册数学试卷-第一单元 混合运算 北师大版 (含答案)
- 临床职业素养
- 种子学-种子的化学成分课件
- 教学课件-英语学术论文写作(第二版)
- 手术室无菌技术 课件
- ISO 31000-2018 风险管理标准-中文版
- 六年级数学上册教案6:分数乘法:分数乘小数-人教版
- 小学综合实践六年级上册第1单元《考察探究》教材分析及全部教案
- 教育评价学全套ppt课件完整版教学教程
评论
0/150
提交评论