为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

ABB机器人RAPID指令中文翻译

2022-03-17 7页 doc 483KB 30阅读

用户头像 个人认证

用户0197248514

多年工作经验

举报
ABB机器人RAPID指令中文翻译.PAGE/NUMPAGESRAPID参考手册指令张建辉韩鹏.1.指令1.1.AccSet—降低加速度用途:当处理较大负载时使用AccSet指令。它允许减慢加速度和减速度,使机器人有一个更平滑的运动。该指令只能在主任务T_ROB1中使用,或者如果处于多运动系统,在Motion任务中。基本范例:AccSet的基本范例说明如下。AccSet50,100;加速度备限制到正常值的50%。AccSet100,50;加速度斜线限制到正常值的50%。项目:AccSetAccRampAcc:数据类型:num〔数值加速度和减速度作为...
ABB机器人RAPID指令中文翻译
.PAGE/NUMPAGESRAPID参考指令张建辉韩鹏.1.指令1.1.AccSet—降低加速度用途:当处理较大负载时使用AccSet指令。它允许减慢加速度和减速度,使机器人有一个更平滑的运动。该指令只能在主任务T_ROB1中使用,或者如果处于多运动系统,在Motion任务中。基本范例:AccSet的基本范例说明如下。AccSet50,100;加速度备限制到正常值的50%。AccSet100,50;加速度斜线限制到正常值的50%。项目:AccSetAccRampAcc:数据类型:num〔数值加速度和减速度作为正常值的百分比。100%对应最大加速度。最大值:100%。输入值<20%则给出最大加速度的20%。Ramp数据类型:num〔数值加速度和减速度的增加作为正常值的百分比的比例〔如图。通过减小这个数值可以限制震动。100%对应最大比例。最大值:100%,输入值<10%则给出最大比例的10%。下图说明减小加速度可以平滑运动。加速度加速度加速度时间时间时间AccSet100,100正常加速度AccSet30,100AccSet100,30程序执行:该加速度值应用到机器人和外部轴,直到一个新的AccSet指令执行。缺省值〔100%在以下情况是自动设置:冷启动加载了新的程序从头开始执行程序时语法:AccSet[AccSet":="]<数值达式〔IN>","[Ramp":="]<数值表达式〔IN>";"相关信息:有关信息参看在世界坐标系统中控制加速度第590页WorldAccLim--在世界坐标系统中控制加速度沿着路径降低TCP加速度第265页PathAccLim—沿路径降低TCP加速度定位指令RAPID参考手册-RAPID概述,RAPID摘要部分-运动.1.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—废除一个机械单元.1.3.Add—增加一个数字数值用途:Add用于增加一个数值到一个数字变量或恒量,或者从一个数字变量或者恒量中减去一个数值。基本范例:Add的基本范例说明如下:Addreg1,3;3被增加到reg1,即reg1=reg1+3。Addreg1,—reg2从reg1减去reg2,即reg1=reg1-reg2。项目:AddNameAddValueName:数据类型:数字将要改变的变量或者恒量的名称。AddValue:数据类型:数字要增加的数值。语法:Add[Name":="]<数字的变量或者恒量〔INOUT>","[AddValue":="]<数字表达式〔IN>";"相关信息:相关的信息参看给变量加1Incr—增加1,第117页改变量减1Decr—减1,第71页使用一个任意的表达式改变数据,例如乘法":="—赋值,第19页.1.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的更多范例说明如下。VARsignaldialias_di;PROCprog_start<>CONSTstringconfig_string:="config_di";AliasIOconfig_string,alias_di;ENDPROC程序prog_start链接到系统参数中的START事件。程序定义的数字输入信号alias_di链接到程序开头配置的数字输入信号config_di<通过常量config_string>。限制:当开始程序的时候,别名信号直到AliasIO指令执行之后才能使用。指令AliasIO必须放置在或者在程序开始〔事件START时执行的事件程序中或者在每一个程序开始之后〔信号使用之前执行的程序部分。为了防止错误,不推荐使用把AliasIO信号动态重新链接到不同的物理信号。语法:AliasIO[FromSignal":="]<任意类型的相关〔REF>","[ToSignal":="]<任意类型的变量〔VAR>";"相关信息:相关信息参看输入/输出指令RAPID参考手册-RAPID概述,RAPID摘要部分-输入和输出信号通常的输入输出功能性RAPID参考手册-RAPID概述,运动和I/O原理部分-I/O原理I/O配置技术相关手册-系统参数定义事件程序技术相关手册-系统参数加载/安装任务模块技术相关手册-系统参数.1.5.":="—赋值用途:":="指令用来给数据赋一个新值。这一个值可以是包括从常量值到任意的表达式中的任何一个。例如reg1+5*reg3。基本范例:指令的基本范例说明如下。也可参见第19页更多范例。reg1:=5;数值5赋给reg1。reg1:=reg2-reg3;reg2-reg3计算返回的数值赋给reg1。counter:=counter+1;counter增加1。项目:Data:=ValueData:数据类型:所有将被赋新值的数据。Value:数据类型:和Data一样。期望的数值。更多范例:该指令的更多范例说明如下。tool1.tframe.trans.x:=tool1.tframe.trans.x+20;tool1的TCP在X方向上移动20毫米。pallet{5,8}:=Abspallet矩阵的一个元素被赋予一个等于value变量的绝对值的数值。限制:数据〔将被改变数值的不可以是:常量非数值数据类型数值或者数据必须有相似的〔相同的或者别名的数据类型。语法:<赋值目标>":="<表达式>";"<赋值目标>::=<变量>|<恒量>|<参数>|相关信息:相关信息参看表达式RAPID参考手册-RAPID概述,基本特性部分-表达式非数值数据类型RAPID参考手册-RAPID概述,基本特性部分-数据类型给数据赋一个初始数值操作员手册-IRC5和FlexPendant,FlexPendant部分编辑数据实例.1.6.BitClear—在一个字节数据中清除一个特定位用途:BitClear用来清除〔设为0定义的字节数据中一个特定的位。基本范例:该指令的基本范例说明如下。CONSTnumparity_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摘要部分-数学-位功能.1.7.BitSet—在字节数据中设定一个特定的位用途:BitSet用来在定义的字节数据中把一个特定位设为1。基本范例:该指令的基本范例说明如下。CONSTnumparity_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摘要部分-数学-位功能.1.8.BookErrNo—定制一个RAPID系统错误号码用途:BookErrNo用来定制一个新的RAPID系统错误号码。基本范例:该指令的基本范例说明如下:!Introduceanewerrornumberinagluesystem!Note:Thenewerrorvariablemustbedeclaredwiththeinitialvalue–1;VARerrnumERR_GLUEFLOW:=-1;!BookthenewRAPIDsystemerrornumberBookErrNoERR_GLUEFLOW;变量ERR_GLUEFLOW将被赋给一个空闲的系统错误号码,将在RAPID代码中使用。!UsethenewerrornumberIFdil=0THENRAISEERR_GLUEFLOW;ELSE…ENDIFErrorhandlingERRORIFERRNO=ERR_GLUEFLOWTHEN….ELSE…ENDIF如果数字输入dil是0,新定制的错误号码将被提出并且系统错误变量ERRNO将被设定到新定制的错误号码。这些用户产生的错误的错误处理然后可以像平常一样在错误处理器中处理。项目:BookErrNoErrorNameErrorName:数据类型:errnum新的RAPID系统错误变量名称。限制:新的错误变量不可以像程序变量一样被声明。新的错误变量必须带初始值-1声明,这就给出一个信息:该错误应该是一个RAPID系统错误。语法:BookErrNo[ErrorName‘:=’]‘;’相关信息:相关信息参看错误处理RAPID参考手册-RAPID概述,基本特性部分-错误恢复错误号码Errnum—错误号码,第941页调用一个错误处理器RAISE—调用一个错误处理器,第303页.1.9.Break—跳出程序执行用途:Break用来在程序执行中制造一个立即跳出,为了RAPID程序代码调试的目的。基本范例:该指令的基本范例说明如下。…..Break….程序执行停止,为了调试目的的分析变量、数值等成为可能。程序执行:该指令立即停止程序执行,不用等机器人或者外部轴到达他们编程的当时运动的目的点。程序执行然后能从下一条指令重新开始。如果在一些事件程序中有Break指令,程序的执行将被打断,并且没有停止事件程序将被执行。下次同一事件发生的时候事件程序将从开头执行。语法:Break‘;’相关信息:相关信息参看程序活动停止Stop—停止程序执行,第438页致命错误后停止EXIT—终止程序执行,第92页终止程序执行EXIT—终止程序执行,第92页只停止机器人运动StopMove—停止机器人运动,第442页.1.10.CallByVar—通过一个变量调用程序用途:CallByVar〔CallByVariable可以使用一个特定的名称,例如proc_name1,proc_name2,proc_name3…proc_namex通过一个变量调用程序。基本范例:该指令的基本范例说明如下:也可参照第28页更多范例。reg1:=2;CallByVar"proc",reg1;程序proc2被调用。项目:CallByVarNameNumberName:数据类型:字符串程序名称的第一部分,例如proc_name。Number:数据类型:数字程序号码的数字数值。该数值将被转换成一个字符串,给出程序名称的第二部分,例如,1。数值必须是一个正整数。更多范例:如何作出程序调用的动态和静态选择的更多范例。程序调用的静态选择。TESTreg1CASE1:Lf_doordoor_loc;Case2:Rf_doordoor_loc;Case3:Lr_doordoor_loc;Case4:Rr_doordoor_loc;DEFAULT:EXIT;ENDTEST取决于寄存器reg1的数值是1、2、3或者4,来调用不同的程序来对选择的门完成合适的工作,门位于项目door_loc。用RAPID语法动态选择程序调用。Reg1:=2;%"proc"+NumToStr%door_loc;程序proc2和项目door_loc被调用。限制:所有程序必须有一个特定的名称,例如proc1,proc2,proc3。用CallByVar动态选择程序调用。Reg1:=2;CallByVar"proc",reg1;程序proc2被调用。限制:所有程序必须有一个特定的名称,如proc1,proc2,proc3,并且没有项目可以被使用。限制:只能被用来调用不带参数的程序。不能用来调用LOCAL〔本地程序。CallByVar的执行比普通的程序调用要占用多一点的时间。错误处理:如果Number项目小于零或者不是一个整数,系统参数ERRNO被设成ERR_ARGVALERR。如果相关到一个未知的程序,系统参数ERRNO被设成ERR_REFUNKPRC。如果程序调用错误〔不是程序错误,系统参数ERRNO被设成ERR_CALLPROC。这些错误可以在错误处理器中进行处理。语法:CallByVar[名称‘:=’]<字符串表达式〔IN>‘,’[号码‘:=’]<数字表达式〔IN>‘;’相关信息:相关信息参照调用程序RAPID参考手册-RAPID概述,基本特性部分-程序操作员手册-IRC5和FlexPendant.1.11.CancelLoad—取消模块的加载用途:CancelLoad用来取消用StartLoad指令正在加载或者已经加载的模块。CancelLoad只能用在指令StartLoad和WaitLoad之间。基本范例:该指令的基本范例说明如下。也可参见第30页的更多范例。ConcelLoadload1加载load1被取消。项目:CancelLoadLoadNoLoadNo:数据类型:loadsession相关到被StartLoad所开始的加载系列。更多范例:如何使用该指令的更多范例说明如下。VARloadsessionload1;StartLoad"HOME:"\File:="PART_B.MOD",load1;…IF…CancelLoadLoad1;StartLoad"HOME:"\File:="PART_C.MOD",load1;ENDIF…WaitLoadload1;指令CancelLoad将取消正在进行的PART_B.MOD模块的加载,而要使加载PART_C.MOD成为可能。错误处理:如果项目LoadNo指定的变量没有在使用,也就是说没有进行加载,系统变量ERRNO将设为ERR_LOADNO_NOUSE。这个错误然后在错误处理器中可能被处理。语法:CancelLoad[LoadNo‘:=’]<加载系列变量〔VAR>’;’相关信息:相关信息参照在执行过程中加载一个程序模块StartLoad—在执行过程中加载一个程序模块,第410页把加载的模块连接到任务中WaitLoad—把加载的模块连接到任务中,第566页加载系列Loadsession—程序加载系列,第968页加载一个程序模块Load—在执行过程中加载一个程序模块,第182页卸载一个程序模块Unload—在执行过程中卸载一个程序模块,第553页接受未解决的相关技术相关手册-系统参数,标题控制器部分-任务类型-检查未解决的相关.1.12.CirPathMode—在圆形路径过程中工具再定位用途:CirPathMode〔圆形路径模式使在圆周运动中选择不同的模式再定位工具成为可能。该指令只能被使用在主任务T_ROB1,或者如果在多运动系统中,使用在运动任务中。基本范例:该指令的基本范例说明如下:CirPathMode\PathFrame在所有成功的圆形运行过程中,从开始点到ToPoint的实际路径格式中工具再定位的模式。这是系统中的缺省值。CirPathMode\ObjectFrame在所有成功的圆形运行过程中,从开始点到ToPoint的实际对象格式中工具再定位的修改的模式。CirPathMode\CirPointOri在所有成功的圆形运行过程中,从开始点通过程序中的CirPoint再定位到ToPoint的工具再定位的标准模式。描述:PathFrame以下表格中的图显示了标准模式\PathFrame下的工具再定位。说明描述箭头显示了工具从腕部中心点到工具中心点也就是编程点。腕部中心点的路径在图中用虚线点出。\PathFrame模式使工具绕圆柱得到相同的角度变得容易。机器人手腕将不能突破CirPoint中编程的方向。以下表格中的图显示了用固定工具方向的标准模式\PathFrame的使用。说明描述该图片显示了用倾斜工具和\PathFrame模式在圆的中心获得的工具方向。和下图中使用\ObjectFrame模式的相比较。ObjectFrame下表中的图显示了修改的模式\ObjectFrame和固定工具方向的使用。说明描述该图片显示了用倾斜工具和\ObjectFrame模式在圆的中心获得的工具方向。该模式将做出和MoveL用相同的工具的线性再定位。机器人手腕将不能穿过CirPoint中编程的方向。和上图中使用\PathFrame模式的相比较。CirPointOri以下表格中的图显示了标准模式\PathFrame和修改的模式\CirPointOri之间不同的工具再定位。说明描述箭头显示了工具从腕部中心点到工具中心点也就是编程点。腕部中心点的不同路径在图中用虚线点出。\CirPointOri模式使机器人手腕突破CirPoint中编程的方向。项目:CirPathMode[\PathFrame]|[\ObjectFrame]|[\CirPointOri][\PathFrame]数据类型:switch在圆周运动过程中,工具的再定位在实际路径格式中的从开始点方向到ToPoint方向连续完成。这是系统中的标准模式。[\ObjectFrame]数据类型:switch在圆周运动中,工具的再定位在实际对象格式中从开始点方向到ToPoint方向连续完成。[\CirPointOri]数据类型:switch在圆周运动中,工具的再定位在实际对象格式中从开始点方向到程序中CirPoint方向再到ToPoint方向连续完成。只有编程的CirPointMode;没有任何转换导致和CirPointMode\PathFrame相同的结果。程序执行:特定的圆形工具再定位模式应用于下一个执行的机器人任意类型的圆周运动〔MoveC,SearchC,TriggC,MoveCDO,MoveCSync,ArcC,PaintC…并且直到新的CirPathMode〔或者旧的CirPathReori指令执行之前都有效。标准的圆形再定位程序〔CirPathMode\PathFrame在以下情况下自动设定:冷启动当加载一个新的程序当从开头执行程序时限制:该指令只影响圆周运动。当使用\CirPointOri模式时,CirPoint必须在点A和点B之间,按照下图是圆周运动在CirPoint突破程序中的方向。如果工作在手腕单一点区域附近并且SingArea\Wrist指令已经被执行,指令CirPathMode将没有影响,因为系统那时候选择另一种圆周运动〔关节插补的工具再定位模式。该指令代替旧的指令CirPathReori〔即使在将来也可以使用,但是在文档中不再介绍。语法:CirPathMode‘;’[‘\’PathFrame]|[‘\’ObjectFrame]|[‘\’CirPointOri]相关信息:相关信息参照插补RAPID参考手册-RAPID概述,运动和I/O原理部分-程序执行过程中的定位运动设定数据Motsetdata—运动设定数据,第971页圆周运动指令MoveC—使机器人圆周运动,第209页.1.13.Clear—清除数值用途:Clear用来清除一个数字变量或恒量,即把它设为零。基本范例:该指令的基本范例说明如下。Clearreg1;Reg1被清除,即reg1:=0。项目:ClearNameName:数据类型:数字即将清除的变量或恒量的名称。语法:Clear[Name‘:=’]<数字的变量或者恒量〔INOUT>‘;’相关信息:相关信息参看给变量加1Incr—给变量加1,第117页使变量减1Decr—变量减1,第71页给变量增加任何值Add—增加数字数值,第16页使用任意值改变数据":="—给变量赋值,第19页.1.14.ClearIOBuff—清除串行通道的输入缓冲器用途:ClearIOBuff用来清理串行通道的输入缓冲器。所有来自串口通道的缓冲的字母将被丢弃。基本范例:该指令的基本范例说明如下。VARiodevchannel2;…Open"com2:",channel2\Bin;ClearIOBuffchannel2;WaitTime0.1;相关到channel2的串行通道的输入缓冲器被清空。等待时间保证足够时间来完成清空操作。项目:ClearIOBuffIODeviceIODevice:数据类型:iodev将被清空缓冲器的串行通道的名称〔相关。程序执行:所有输入串行通道的缓冲器的字母被清除。下一个读取指令将等待来自通道的新的指令。限制:该指令只能被串行通道使用。不等待操作完成的通知。在每一次使用中,推荐在指令后使用0.1秒的等待时间,来给操作足够的时间。错误处理:如果要在一个文件上使用该指令〔清除文件,系统变量ERRNO将被设成ERR_FILEACC。该错误可以在错误处理器中处理。语法:ClearIOBuff[IODevice‘:=’]‘;’相关信息:相关信息参看打开一个串行通道RAPID参考手册-RAPID概述,RAPID摘要部分-通讯.1.15.ClearPath—清除当前路径用途:ClearPath清除当前运动路径层次上〔基本层次或者StorePath层次的整个运动路径。运动路径是指在ClearPath执行的时候,从RAPID已经执行但是机器人没有完成的运动开始所有的运动段落。在ClearPath指令执行前机器人必须在停止点位置,或者用StopMove指令停止机器人。基本范例:该指令的基本范例说明如下。在下列程序例子中,机器人从初始位置到达p1点。在点px,信号dil将指示有效负载被丢掉。在陷阱程序gohome中,继续执行。机器人将在px停止运动〔开始跳出,路径将被清除,机器人将移动到初始位置。错误将被提高到调用minicycle程序,并且整个用户定义的程序循环proc1,proc2将被再次从开始执行。VARintnumdrop_payload;CONSTerrnumERR_DROP_LOAD:=-1;PROCminicycle<>BookErrNoERR_DROP_LOAD;Proc1;…ERRORRETRY;ENDPROCPROCproc1<>…proc2;…ENDPROCPROCproc2<>CONNECTdrop_payloadWITHgohome;IsignalDI\Single,dil,1,drop_payload;MoveLp1,v500,fine,gripper;………….Ideletedrop_payloadENDPROCTRAPgohomeStopMove\Quick;ClearPath;Ideletedrop_payload;MoveLhome,v500,fine,gripper;RAISEERR_DROP_LOAD;ERRORRAISE;ENDTROP如果正在运行相同的程序,但是在陷阱程序gohome中没有使用StopMove和ClearPath,在回到初始位置home之前机器人将继续运动到p1位置。如果编程时在MoveLhome中使用飞点〔zone代替停止点〔fine,在调用minicycle程序中的错误处理器的过程中,运动将会继续并且直到运动准备好。语法:ClearPath‘;’相关信息:相关信息参看停止机器人运动StopMove—停止机器人运动,第442页错误恢复RAPID参考手册-RAPID概述,RAPID摘要部分-错误恢复RAPID参考手册-RAPID概述,基本特性部分-错误恢复.1.16.ClearRawBytes—清除原始字节数据的内容用途:ClearRawBytes用来把原始字节变量的所有内容设为0。基本范例:指令的基本范例说明如下。VARrawbytesraw_data;VARnuminteger:=8VARnumfloat:=13.4;PackRawBytesinteger,raw_data,1\IntX:=DINT;PackRawBytesfloat,raw_data,+1>\Float4;ClearRawBytesraw_data\FromIndex:=5;在前4个字节里,放入integer的数值〔从索引1开始,从索引5开始的后4个字节里放入了float的数值。例子中的最后一个指令清除了Raw_data的内容,从索引5开始,例如float将被清除,但是integer被保存在raw_data中。当前Raw_data中有效字节的长度被设为4。项目:ClearRawbytesRawData[\FromIndex]RawData:数据类型:原始字节RawData是将被清除的数据容器。[\FromIndex]:数据类型:数字带有指定的[\FromIndex],将从[\FromIndex]开始清除RawData的内容。一直到头的所有东西都被清除。如果没有指定[\FromIndex],从索引1开始的所有数据将被清除。程序执行:在指定的变量中,从索引1〔缺省开始或者从\FromIndex开始的数据被复位到0。指定变量中有效字节的当前长度被设为0〔缺省或者如果\FromIndex使用的话为〔\FromIndex-1。语法:ClearRawBytes[RawData‘:=’]<原始字节类型的变量〔VAR>[‘\’FromIndex’:=’<数字类型的表达式〔IN>]’;’相关信息:相关信息参看原始字节的数据Rawbytes—原始数据,第994页得到原始字节数据的长度RawBytesLen—得到原始字节数据的长度,第806页复制原始字节数据的内容CopyRawBytes—复制原始字节数据的内容,第58页将设备网标题打包进原始字节数据PackDNHeader—将设备网标题打包进原始字节数据,第258页将数据打包进原始字节数据PackRawBytes—将数据打包进原始字节数据,第261页写入原始字节数据WriteRawBytes—写入原始字节数据,第604页读取原始字节数据ReadRawBytes—读取原始字节数据,第319页从原始字节数据将数据拆包UnpackRawBytes—从原始字节数据中将数据拆包,第556页.1.17.ClkReset—复位一个用来计时的时钟用途:ClkReset用来复位一个用来计时的停止监视功能的时钟。该指令在使用时钟指令之前使用,用来确保它归零。基本范例:该指令的基本范例说明如下。CleResetClock1;时钟Clock1被复位。项目:ClkResetClockClock:数据类型:时钟要复位的时钟的名称。程序执行:当时钟被复位,它被设为0。如果时钟正在运行,它将被停止然后复位。语法:ClkReset[Clock‘:=’]<时钟类型的变量〔VAR>‘;’相关信息:相关信息参看其他时钟指令RAPID参考手册-RAPID概述,RAPID摘要部分-系统和时间.1.18.ClkStart—开始一个用来计时的时钟用途:ClkStart用来开始一个用于计时的停止-监视功能的时钟。基本范例:该指令的基本范例说明如下。也可参看第43页的更多范例。ClkStartClock1时钟Clock1开始计时。项目:ClkStartClockClock:数据类型:时钟将要开始计时的时钟的名称。程序执行:当时钟开始计时,它将运行并且继续计秒直到它停止。当让它开始计时的程序停止的时候,时钟继续运行。但是,你想要计时的事件可能不再有效。例如,如果程序测量输入的等待时间,当程序停止的时候,输入已经被接收。在这种情况下,当程序停止的时候,程序将不能"看到"事件的发生。当机器人电源断电的时候,只要备份电池保留包含时钟变量的程序,始终将继续运行。如果时钟正在运行,它可以被读取、停止或者复位。更多范例:该指令的更多范例说明如下。VARclockclock2;VARnumtime;ClkResetclock2;ClkStartclock2;WaitUntildil=1;ClkStopclock2;Time:=ClkRead;Dil变成1的等待时间被测量。错误处理:如果时钟运行了4,294,967秒〔49天17个小时2分钟47秒,它将超载并且系统变量ERRNO被设成ERR_OVERFLOW。该错误可以在错误处理器中处理。语法:ClkStart[Clock‘:=’]<时钟类型的变量〔VAR>‘;’相关信息:相关信息描述在其他时钟指令RAPID参考手册-RAPID概述,RAPID摘要部分-系统和时间.1.19.ClkStop—停止一个用来计时的时钟用途:ClkStop用来停止一个用于计时的停止-监视功能的时钟。基本范例:该指令的基本范例说明如下。ClkStopClock1时钟Clock1停止计时。项目:ClkStopClockClock:数据类型:时钟将要停止计时的时钟的名称。程序执行:当时钟停止计时,它将停止运行。如果时钟被停止,它可以被读取、再次开始或者复位。错误处理:如果时钟运行了4,294,967秒〔49天17个小时2分钟47秒,它将超载并且系统变量ERRNO被设成ERR_OVERFLOW。该错误可以在错误处理器中处理。语法:ClkStop[Clock‘:=’]<时钟类型的变量〔VAR>‘;’相关信息:相关信息参看其他时钟指令RAPID参考手册-RAPID概述,RAPID摘要部分-系统和时间更多例子ClkStart—开始一个用来计时的时钟,第43页.1.20.Close—关闭一个文件或者串行通道用途:Close用来关闭一个文件或者串行通道。基本范例:该指令的基本范例说明如下。Closechannel2;被channel2相关到的串行通道被关闭。项目:CloseIODeviceIODevice:数据类型:iodev将要被关闭的文件或者串行通道的名称〔相关。程序执行:指定的文件或者串行通道被关闭并且在读或写之前必须重新打开。如果它已经被关闭,该指令被忽略。语法:Close[IODevice‘:=’]‘;’相关信息:相关信息参看打开一个文件或者串行通道RAPID参考手册-RAPID概述,RAPID摘要部分-通讯.1.21.CloseDir—关闭一个目录用途:CloseDir用来关闭一个目录,和OpenDir达到平衡。基本范例:该指令的基本范例说明如下。PROClsdirVARdirdirectory;VARstringfilename;OpenDirdirectory,dirname;WHILEReadDirDOTPWritefilename;ENDWHILECloseDirdirectory;ENDPEOC该例子打印出指定目录下所有文件或者子目录名称。项目:CloseDirDevDev:数据类型:dir一个相关到OpenDir指令取得的目录的变量。语法:CloseDir[Dev’:=’]‘;’相关信息:相关信息参看目录Dir—文件目录结构,第938页制作一个目录MakeDir—创建一个新的目录,第192页打开一个目录OpenDir—打开一个目录,第256页读取一个目录ReadDir—在一个目录中读取下一个入口,第810页删除一个目录RemoveDir—删除一个目录,第322页删除一个文件RemoveFile—删除一个文件,第324页重新命名一个文件RenameFile—重新命名一个文件,第325页.1.22.comment—注释用途:comment只是用来使程序容易理解。对程序的执行没有影响。基本范例:该指令的基本范例说明如下。!GotothepositionabovepalletMoveLp100,v500,z20,tool1;一个注释被插入程序,使程序更容易理解。项目:!CommentComment:文本字符串。任何文本。程序执行:执行该指令的时候不会发生什么。语法:〔EBNF‘!’{<字母>}相关信息:相关信息参看注释中允许的字母RAPID参考手册-RAPID概述,基本特征部分-基本元素数据或者程序声明中的注释RAPID参考手册-RAPID概述,基本特征部分-基本元素.1.23.CompactIF—如果满足一个条件,那么。。。〔执行一个指令用途:如果满足一个给定的条件,只有将执行一个单一指令的时候才使用CompactIF。如果不同的指令将被执行,取决于给定的条件是否满足,使用IF指令。基本范例:该指令的基本范例说明如下:IFreg1>5GOTOnext;如果reg1大于5,程序继续从下一个标签执行。IFconter>10Setdo1;如果conter>10,那么do1信号被设置。项目:IFCondition…Condition:数据类型:bool指令的执行必须满足的条件。语法:〔EBNFIF<条件表达式>〔<指令>|‘;’相关信息:相关信息参看条件〔逻辑表达式RAPID参考手册-RAPID概述,基本特性部分-表达式IF带多个指令IF—如果一个条件满足,那么。。。;否则。。。,第115页.1.24.ConfJ—在关节运动过程中控制配置用途:ConfJ〔配置关节用来指定在关节运动过程中是否控制机器人配置。如果不控制,机器人有时候会使用与程序中不同的配置。ConfJ\Off时,机器人不能转变主轴配置-它将寻找和当前途径具有相同主轴配置的途径,但是它移动到轴4和轴6的最近的腕配置。该指令只能使用在主任务中,或者在多运动系统中,使用在运动任务中。基本范例:该指令的基本范例说明如下。ConfJ\Off;MoveJ*,v1000,fine,tool1;机器人移动到编程位置和方向。如果该位置可以用多种不同的方式到达、用多种轴配置,将选择最近的可能位置。ConfJ\On;MoveJ*,v1000,fine,tool1;机器人移动到程序中的位置、方向和轴配置。如果这是不可能的,程序执行将停止。项目:ConfJ[\On]|[\Off][\On]:数据类型:switch机器人通常移动到遍编程中的轴配置。如果不能使用编程中的位置和方向,程序执行停止。IRB5400机器人将移动到程序中的轴配置或者是接近程序中的轴配置的轴配置。如果它不能到达程序中的轴配置的话,程序的执行也不会停止。[\Off]:数据类型:switch机器人通常运动到最接近的轴配置。程序执行:如果选择了项目\On<或者没有选择项目>,机器人通常运动到编程的轴位置。不过不能使用程序中的位置和方向,在运动开始之前程序执行就停止。如果选择了项目\Off,机器人通常运动到最近接的轴配置。如果配置被错误地手动指定,或者如果执行了程序移植,这将可能和程序中的不一样。控制配置〔ConfJ\On是缺省值。这被自动设置:冷启动时新程序被加载从头开始程序执行语法:ConfJ[‘\’On]|[‘\’Off]‘;’相关信息:相关信息参看处理不同的配置RAPID参考手册-RAPID概述,运动和I/O原理部分-机器人配置线性运动中的机器人配置ConfL—在线性运动过程中监视配置,第52页.1.25.ConfL—在线性运动过程中监视配置用途:ConfJ〔配置关节用来指定在线性或者圆周运动过程中是否监视机器人配置。如果不监视,执行时候的配置可能和程序中的配置不一样。当模式改变为关节运动的时候,也可能导致不可预知的清扫机器人运动。该指令只能使用在主任务中,或者在多运动系统中,使用在运动任务中。注意!在IRB5400机器人中,无论在ConfL中怎么指定,监视总是关闭的。基本范例:该指令的基本范例说明如下。ConfL\On;MoveL*,v1000,fine,tool1;当从当前位置不能到达程序中的配置时,程序执行停止。SingArea\Wrist;ConfL\On;MoveL*,v1000,fine,tool1;机器人运动到编程位置、方向和腕部轴配置。如果不能到达,程序执行停止。ConfL\Off;MoveJ*,v1000,fine,tool1;机器人移动到程序中的位置和方向,但是到达最近的可能轴配置,这可能和程序中的轴位置不同。项目:ConfL[\On]|[\Off][\On]:数据类型:switch机器人配置被监视。[\Off]:数据类型:switch机器人配置不被监视。程序执行:在线性或者圆周运动过程中,机器人通常运动到拥有最接近的可能轴配置的程序中的位置和方向。如果选择了项目\On<或者没有选择项目>,如果有从当前位置不能到达程序中的位置的风险,程序执行立即停止。然而,虽然腕部轴可能继续朝错误的配置运动,仍旧可以重启程序。在停止点,机器人将检查所有轴的配置是否都到达,不仅仅是腕部轴。如果也使用了SingArea\Wrist,机器人总是运动到程序中的腕部轴配置,并且在停止点将检查剩余的轴配置。如果选择了项目\Off,就没有监视。对于ConfL\On和\Off,避免问题的一个简单的规则就是插入中间点,使点之间的每一个轴的运动小于90度。更精确地说,任意一对轴〔1+4,〔1+6,〔3+4,〔3+6的运动的和不应该超过180度。如果在一个大运动中使用了ConfL\Off,带错误50050位置不能到达或者错误50080位置不匹配的程序,可能导致直接或者延迟停止。在带有ConfL\Off的程序中,推荐运动到带"ConfJ\On+MoveJ"或者"ConfL\On+SingArea\Wrist+MoveL"作为为不同的程序部分的开始点的已知配置点。监视被激活是缺省值。这被自动设置:冷启动时新程序被加载从头开始程序执行语法:ConfL[‘\’On]|[‘\’Off]‘;’相关信息:相关信息参看处理不同的配置RAPID参考手册-RAPID概述,运动和I/O原理部分-机器人配置关节运动中的机器人配置ConfJ—在关节运动过程中控制配置,第52页在单一点周围定义插补SingArea—在单一点周围定义插补,第377页.1.26,CONNECT—把中断连接到陷阱程序用途:CONNECT用来找到中断的特性,并且把它连接到陷阱程序。中断通过给中断事件排序和指定他的特性定义。这样,当事件发生的时候,陷阱程序自动执行。基本范例:该指令的基本范例说明如下:VARintnumfeeder_low;CONNECTfeeder_lowWITHfeeder_empty;IsignalDIdil,1,feeder_low;创建了一个中断特性,该特性连接到陷阱程序feeder_empty。当输入dil变高的时候将有一个中断。用另一句话说,当信号变高的时候,feeder_empty陷阱程序将被执行。项目:CONNECTInterruptWITHTraproutineInterrupt:数据类型:中断号码将被中断特性赋值的变量。它必须在一个程序中〔routinedata声明。Traproutine:标示符。陷阱程序的名称。程序执行:变量被赋予一个中断特性,当排序或者废除中断的时候应当使用该特性。该特性也连接到指定的陷阱程序。注意!当程序指针设定到任务的主程序的时候任务中的所有中断取消,必须重新连接。电源失败或者热启动不会影响中断。限制:一个中断〔中断特性不能连接到多个中断程序。但是,不同的中断可以连接到相同的陷阱程序。当一个中断被连接到一个陷阱程序后,不能重新连接或者转换到另一个程序;它首先必须使用Idelete指令删除。当程序执行停止的时候到来的中断或者没有处理的中断将被忽略。当在程序中步进的时候,也不考虑中断。错误处理:如果中断变量已经连接到陷阱程序,系统变量ERRNO被设成ERR_ALRDYCNT。如果中断变量不是一个相关到的变量,系统变量ERRNO被设成ERR_CNTNOTVAR。如果没有更多可用的中断号,系统变量ERRNO被设成ERR_INOMAX。这些错误可以在错误处理器中进行处理。语法:〔EBNFCONNECTWITH‘;’::=||::=相关信息:相关信息参看中断摘要RAPID参考手册—RAPID概述,RAPID摘要—中断部分中断管理得更多信息RAPID参考手册—RAPID概述,基本特征—中断部分中断的数据类型第955页intnum—中断特性取消一个中断第109页IDelete—取消一个中断.1.27.CopyFile—复制一个文件用途:CopyFile用来对一个已存文件进行复制。基本范例:指令CopyFile的基本范例说明如下:CopyFile"HOME:/myfile","HOME:/yourfile";文件myfile复制到yourfile。这两个文件是相同的。CopyFile"HOME:/myfile","HOME:/mydir/yourfile";文件myfile复制到mydir中的yourfile。项目:CopyFileOldPathNewPathOldPath:数据类型:字符串。复制文件源的完整路径。NewPath:数据类型:字符串。文件要复制到的位置的完整路径。程序执行:指定的OldPath中的文件复制到NewPath中指定的文件。错误处理:如果NewPath中指定的文件已经存在,系统变量ERRNO设为ERR_FILEEXIST。该错误可以在错误处理器中进行处理。语法:CopyFile[OldPath’:=’]<字符串表达式〔IN>‘,’[NewPath’:=’]<字符串表达式〔IN>’;’相关信息:相关信息参看制作一个路径第192页MakeDir—创建一个新路径删除一个路径第322页RemoveDir—删除一个路径重命名一个文件第325页RenameFile—重命名一个文件删除一个文件第324页RemoveFile—删除一个文件检查文件类型第745页IsFile—检查一个文件的类型查看文件大小第718页FileSize—重新得到一个文件的大小检查文件系统大小第724页FSSize—重新获得一个文件系统的大小.1.28.CopyRawBytes—复制rawbytes数据的内容用途:CopyRawBytes用来从原始数据变量中复制所有或者部分内容到另一个中。基本范例:指令的基本范例说明如下:VARrawbytesfrom_raw_data;VARrawbytesto_raw_data;VARnuminteger:=8VARnumfloat:=13.4;ClearRawBytesfrom_raw_data;PackRawBytesinteger,from_raw_data,1\IntX:=DINT;PackRawBytesfloat,from_raw_data,+1>\Float4;CopyRawBytesfrom_raw_data,1,to_raw_data,3,RawBytesLen;在本例中,rawbytes类型的from
/
本文档为【ABB机器人RAPID指令中文翻译】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索