1RAPID参考手册指令21.指令1.1.AccSet—降低加速度用途:当处理较大负载时使用AccSet指令。它允许减慢加速度和减速度,使机器人有一个更平滑的运动。该指令只能在主任务T_ROB1中使用,或者如果处于多运动系统,在Motion任务中。基本范例:AccSet的基本范例说明如下。例1AccSet50,100;加速度备限制到正常值的50%。例2AccSet100,50;加速度斜线限制到正常值的50%。项目:AccSetAccRampAcc:数据类型:num(数值)加速度和减速度作为正常值的百分比。100%对应昀大加速度。昀大值:100%。输入值20%则给出昀大加速度的20%。Ramp数据类型:num(数值)加速度和减速度的增加作为正常值的百分比的比例(如图)。通过减小这个数值可以限制震动。100%对应昀大比例。昀大值:100%,输入值10%则给出昀大比例的10%。下图说明减小加速度可以平滑运动。加速度加速度加速度时间时间时间AccSet100,100正常加速度AccSet30,100AccSet100,30程序执行:该加速度值应用到机器人和外部轴,直到一个新的AccSet指令执行。缺省值(100%)在以下情况是自动设置:z冷启动z加载了新的程序z从头开始执行程序时语法:AccSet[AccSet“:=”]数值表达式(IN)“,”[Ramp“:=”]数值表达式(IN)“;”相关信息:有关信息参看在世界坐标系统中控制加速度第590页WorldAccLim--在世界坐标系统中控制加速度沿着路径降低TCP加速度第265页PathAccLim—沿路径降低TCP加速度定位指令RAPID参考手册-RAPID概述,RAPID摘要部分-运动31.2.ActUnit—激活一个机械单元用途:ActUnit用来激活一个机械单元。例如当使用普通驱动单元的时候,它可以用来决定哪一个单元被激活。该指令只能在主任务T_ROB1中使用,或者如果处于多运动系统,在Motion任务中。基本范例:ActUnit的基本范例说明如下:例1ActUnitorbit_a;orbit_a机械单元的激活。项目:AccUnitMechUnitMechUnit:机械单元数据类型:mecunit(机械单元)要激活的机械单元的名称。程序执行:当机器人的和外部轴的实际路径准备好以后,整个路径被清理并且特定的机械单元被激活。这意味着它被机器人控制和监视。如果多个机械单元共享一个普通驱动单元,这些单元中的一个的激活,也将把该单元连接到普通驱动单元。限制:如果在该指令之前有一个运动指令,那个指令的程序中必须带有停止点(区域数据fine),而不是一个通过点,否则将不能进行电源失败后的重启。AccUnit指令不能在连接到以下任何特定的系统事件的RAPID程序中执行:电源上电,停止,Q停止,重启或者复位。语法:ActUnit[MechUnit“:=”]机械单元变量(VAR)“;”相关信息:相关信息参照废除机械单元第69页DeactUnit—废除一个机械单元机械单元第969页MecUnit—机械单元更多例子第69页DeactUnit—废除一个机械单元41.3.Add—增加一个数字数值用途:Add用于增加一个数值到一个数字变量或恒量,或者从一个数字变量或者恒量中减去一个数值。基本范例:Add的基本范例说明如下:例1Addreg1,3;3被增加到reg1,即reg1=reg1+3。例2Addreg1,—reg2从reg1减去reg2,即reg1=reg1-reg2。项目:AddNameAddValueName:数据类型:数字将要改变的变量或者恒量的名称。AddValue:数据类型:数字要增加的数值。语法:Add[Name“:=”]数字的变量或者恒量(INOUT)“,”[AddValue“:=”]数字表达式(IN)“;”相关信息:相关的信息参看给变量加1Incr—增加1,第117页改变量减1Decr—减1,第71页使用一个任意的表达式改变数据,例如乘法“:=”—赋值,第19页51.4.AliasIO—用别名定义I/O用途:AliasIO用来用别名定义一个任意类型的信号,或者用来在内置(built-in)任务模块中使用信号。在不同的机器人安装中,带别名的信号可以被用来预定义常规程序,而不用在运行之前进行任何的程序更新。在任何实际信号的使用之前,必须运行AliasIO指令。参看第17页的基本范例来加载模块,第18页更多范例来安装模块。基本范例:指令AliasIO的基本范例说明如下:也可参看第18页更多范例例1VARsignaldoalias_do;PROCProg_start()AliasIOconfig_do,alias_do;ENDPROC程序prog_start链接到系统参数的START事件。程序定义的数字输出信号alias_do链接到程序开头配置的数字输出信号config_do。项目:AliasIOFromSignal,ToSignal;FromSignal:数据类型:signalxx或者字符串。加载的模块:信号标识符按照配置(数据类型signalxx)命名,信号描述符也从配置中复制。信号必须在IO配置中定义。安装的模块或者加载的系统模块:一个相关(CONST、VAR、PERS或者它们的参数)包含信号(数据类型string字符串)的名称,从该信号中,信号描述符在系统中搜索后被复制。信号必须在IO配置中定义。ToSignal:数据类型:signalxx信号标识符按照程序(数据类型signalxx)命名,信号描述符复制到该系统中。信号必须在RAPID程序中声明。FromSignal和ToSignal项目必须使用(或者找到)相同的数据类型,并且必须是类型signalxx(signalai,signalao,signaldi,signaldo,signalgi或者signalgo)中的一个。程序执行:信号描述符数值从FromSignal项目给出的信号复制到ToSignal项目给出的信号。更多范例:指令AliasIO的更多范例说明如下。例1VARsignaldialias_di;PROCprog_start()CONSTstringconfig_string:=”config_di”;AliasIOconfig_string,alias_di;ENDPROC程序prog_start链接到系统参数中的START事件。程序定义的数字输入信号alias_di链接到程序开头配置的数字输入信号config_di(通过常量config_string)。限制:当开始程序的时候,别名信号直到AliasIO指令执行之后才能使用。6指令AliasIO必须放置在或者在程序开始(事件START)时执行的事件程序中或者在每一个程序开始之后(信号使用之前)执行的程序部分。为了防止错误,不推荐使用把AliasIO信号动态重新链接到不同的物理信号。语法:AliasIO[FromSignal“:=”]任意类型的相关(REF)“,”[ToSignal“:=”]任意类型的变量(VAR)“;”相关信息:相关信息参看输入/输出指令RAPID参考手册-RAPID概述,RAPID摘要部分-输入和输出信号通常的输入输出功能性RAPID参考手册-RAPID概述,运动和I/O原理部分-I/O原理I/O配置技术相关手册-系统参数定义事件程序技术相关手册-系统参数加载/安装任务模块技术相关手册-系统参数71.5.“:=”—赋值用途:“:=”指令用来给数据赋一个新值。这一个值可以是包括从常量值到任意的表达式中的任何一个。例如reg1+5*reg3。基本范例:指令的基本范例说明如下。也可参见第19页更多范例。例1reg1:=5;数值5赋给reg1。例2reg1:=reg2-reg3;reg2-reg3计算返回的数值赋给reg1。例3counter:=counter+1;counter增加1。项目:Data:=ValueData:数据类型:所有将被赋新值的数据。Value:数据类型:和Data一样。期望的数值。更多范例:该指令的更多范例说明如下。例1tool1.tframe.trans.x:=tool1.tframe.trans.x+20;tool1的TCP在X方向上移动20毫米。例2pallet{5,8}:=Abs(value)pallet矩阵的一个元素被赋予一个等于value变量的绝对值的数值。限制:数据(将被改变数值的)不可以是:常量非数值数据类型数值或者数据必须有相似的(相同的或者别名的)数据类型。语法:(EBNF)赋值目标“:=”表达式“;”赋值目标::=变量|恒量|参数|VAR相关信息:相关信息参看表达式RAPID参考手册-RAPID概述,基本特性部分-表达式非数值数据类型RAPID参考手册-RAPID概述,基本特性部分-数据类型给数据赋一个初始数值操作员手册-IRC5和FlexPendant,FlexPendant部分编辑数据实例81.6.BitClear—在一个字节数据中清除一个特定位用途:BitClear用来清除(设为0)定义的字节数据中一个特定的位。基本范例:该指令的基本范例说明如下。例1CONSTnumparity_bit:=8;VARbytedata1:=130;BitCleardata1,parity_bit;变量data1中位号8(parity_bit)将设为0,例如变量data1的内容将从130变成2(整数表示法)。当使用BitClear时数据类型byte的位操作在下图有说明。项目:BitClearBitDataBitPosBitData:数据类型:字节整型表示法的位数据,将被改变的数据。BitPos:数据类型:数字BitData中将被设为零的位的位置(1-8)。限制:字节数据类型的范围是十进制的0-255。有效的位的位置为1-8。语法:BitClear[BitData‘:=’]字节变量或者恒量(INOUT)’,’[BitPos’:=’]数字表达式(IN)’;’相关信息:相关信息参看在字节数据中设定一个特定的位BitSet—在字节数据中设定一个特定的位,第23页检查字节数据中特定的位是否被设置BitCheck—检查字节数据中特定的位是否被设置,第654页位的其他功能RAPID参考手册-RAPID概述,RAPID摘要部分-数学-位功能91.7.BitSet—在字节数据中设定一个特定的位用途:BitSet用来在定义的字节数据中把一个特定位设为1。基本范例:该指令的基本范例说明如下。例1CONSTnumparity_bit:=8;VARbytedata1:=2;BitSetdata1parity_bit;变量data1中位号8(parity_bit)将设为1,例如变量data1的内容将从2变成130(整数表示法)。当使用BitClear时数据类型byte的位操作在下图有说明。项目:BitSetBitDataBitPosBitData:数据类型:字节整型表示法的位数据,将被改变的数据。BitPos:位的位置数据类型:数字BitData中将被设为零的位的位置(1-8)。限制:字节数据类型的范围是十进制的0-255。有效的位的位置为1-8。语法:BitSet[BitData‘:=’]字节变量或者恒量(INOUT)’,’[BitPos’:=’]数字表达式(IN)’;’相关信息:相关信息参看在字节数据中清除一个特定的位BitClear—在字节数据中清除一个特定的位,第23页检查字节数据中特定的位是否被设置BitCheck—检查字节数据中特定的位是否被设置,第654页位的其他功能RAPID参考手册-RAPID概述,RAPID摘要部分-数学-位功能101.8.BookErrNo—定制一个RAPID系统错误号码用途:BookErrNo用来定制一个新的RAPID系统错误号码。基本范例:该指令的基本范例说明如下:例1!Introduceanewerrornumber