ABB机器人RAPID指令中文翻译_第1页
ABB机器人RAPID指令中文翻译_第2页
ABB机器人RAPID指令中文翻译_第3页
ABB机器人RAPID指令中文翻译_第4页
ABB机器人RAPID指令中文翻译_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

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

文档简介

1、RAPID参考手册指令 张建辉 韩 鹏791.指令1.1AccSet降低加速度用途:当处理较大负载时使用AccSet指令。它允许减慢加速度和减速度,使机器人有一个更平滑的运动。该指令只能在主任务T_ROB1中使用,或者如果处于多运动系统,在Motion任务中。基本范例:AccSet的基本范例说明如下。例1 AccSet 50,100;加速度备限制到正常值的50%。例2 AccSet 100,50;加速度斜线限制到正常值的50%。项目:AccSet Acc RampAcc:数据类型:num(数值)加速度和减速度作为正常值的百分比。100%对应最大加速度。最大值:100%。输入值<20%则给

2、出最大加速度的20%。Ramp数据类型:num(数值)加速度和减速度的增加作为正常值的百分比的比例(如图)。通过减小这个数值可以限制震动。100%对应最大比例。最大值:100%,输入值<10%则给出最大比例的10%。下图说明减小加速度可以平滑运动。加速度 加速度 加速度时间 时间 时间 AccSet 100,100 正常加速度 AccSet 30,100 AccSet 100,30程序执行:该加速度值应用到机器人和外部轴,直到一个新的AccSet指令执行。缺省值(100%)在以下情况是自动设置:l 冷启动l 加载了新的程序l 从头开始执行程序时语法:AccSet AccSet “:=”&

3、lt;数值表达式(IN)>“,”Ramp “:=”<数值表达式(IN)>“;”相关信息:有关信息参看在世界坐标系统中控制加速度第590页WorldAccLim-在世界坐标系统中控制加速度沿着路径降低TCP加速度第265页PathAccLim沿路径降低TCP加速度定位指令RAPID参考手册-RAPID概述,RAPID摘要部分-运动1.2ActUnit激活一个机械单元用途:ActUnit用来激活一个机械单元。例如当使用普通驱动单元的时候,它可以用来决定哪一个单元被激活。该指令只能在主任务T_ROB1中使用,或者如果处于多运动系统,在Motion任务中。基本范例:ActUnit的基

4、本范例说明如下:例1 ActUnit orbit_a;orbit_a机械单元的激活。项目:AccUnit MechUnitMechUnit:机械单元数据类型:mecunit(机械单元)要激活的机械单元的名称。程序执行:当机器人的和外部轴的实际路径准备好以后,整个路径被清理并且特定的机械单元被激活。这意味着它被机器人控制和监视。如果多个机械单元共享一个普通驱动单元,这些单元中的一个的激活,也将把该单元连接到普通驱动单元。限制:如果在该指令之前有一个运动指令,那个指令的程序中必须带有停止点(区域数据fine),而不是一个通过点,否则将不能进行电源失败后的重启。AccUnit指令不能在连接到以下任何

5、特定的系统事件的RAPID程序中执行:电源上电,停止,Q停止,重启或者复位。语法:ActUnit MechUnit “:=”<机械单元变量(VAR)>“;”相关信息:相关信息参照废除机械单元第69页DeactUnit废除一个机械单元机械单元第969页MecUnit机械单元更多例子第69页DeactUnit废除一个机械单元1.3Add增加一个数字数值用途:Add用于增加一个数值到一个数字变量或恒量,或者从一个数字变量或者恒量中减去一个数值。基本范例:Add的基本范例说明如下:例1 Add reg1,3;3被增加到reg1,即reg1=reg1+3。例2 Add reg1,reg2从r

6、eg1减去reg2,即reg1=reg1-reg2。项目:Add Name AddValueName:数据类型:数字将要改变的变量或者恒量的名称。AddValue:数据类型:数字要增加的数值。语法:Add Name “:=”<数字的变量或者恒量(INOUT)>“,”AddValue“:=”<数字表达式(IN)>“;”相关信息:相关的信息参看给变量加1Incr增加1,第117页改变量减1Decr减1,第71页使用一个任意的表达式改变数据,例如乘法“:=”赋值,第19页1.4AliasIO用别名定义I/O用途:AliasIO用来用别名定义一个任意类型的信号,或者用来在内置(

7、built-in)任务模块中使用信号。在不同的机器人安装中,带别名的信号可以被用来预定义常规程序,而不用在运行之前进行任何的程序更新。在任何实际信号的使用之前,必须运行AliasIO指令。参看第17页的基本范例来加载模块,第18页更多范例来安装模块。基本范例:指令AliasIO的基本范例说明如下:也可参看第18页更多范例例1 VAR signaldo alias_do;PROC Prog_start()AliasIO config_do,alias_do;ENDPROC程序prog_start链接到系统参数的START事件。程序定义的数字输出信号alias_do链接到程序开头配置的数字输出信号

8、config_do。项目:AliasIO FromSignal, ToSignal;FromSignal:数据类型:signalxx 或者字符串。加载的模块:信号标识符按照配置(数据类型signalxx)命名,信号描述符也从配置中复制。信号必须在IO配置中定义。安装的模块或者加载的系统模块:一个相关(CONST、VAR、PERS或者它们的参数)包含信号(数据类型string字符串)的名称,从该信号中,信号描述符在系统中搜索后被复制。信号必须在IO配置中定义。ToSignal:数据类型:signalxx信号标识符按照程序(数据类型signalxx)命名,信号描述符复制到该系统中。信号必须在RAP

9、ID程序中声明。FromSignal和ToSignal项目必须使用(或者找到)相同的数据类型,并且必须是类型signalxx(signalai,signalao,signaldi,signaldo,signalgi或者signalgo)中的一个。程序执行:信号描述符数值从FromSignal项目给出的信号复制到ToSignal项目给出的信号。更多范例:指令AliasIO的更多范例说明如下。例1 VAR signaldi alias_di;PROC prog_start( )CONST string config_string :=”config_di”;AliasIO config_strin

10、g,alias_di;ENDPROC程序prog_start链接到系统参数中的START事件。程序定义的数字输入信号alias_di链接到程序开头配置的数字输入信号config_di(通过常量config_string)。限制:当开始程序的时候,别名信号直到AliasIO指令执行之后才能使用。指令AliasIO必须放置在u 或者在程序开始(事件START)时执行的事件程序中u 或者在每一个程序开始之后(信号使用之前)执行的程序部分。为了防止错误,不推荐使用把AliasIO信号动态重新链接到不同的物理信号。语法:AliasIO FromSignal “:=”<任意类型的相关(REF)>

11、;“,”ToSignal“:=”<任意类型的变量(VAR)>“;”相关信息:相关信息参看输入/输出指令RAPID参考手册-RAPID概述,RAPID摘要部分-输入和输出信号通常的输入输出功能性RAPID参考手册-RAPID概述,运动和I/O原理部分-I/O原理I/O配置技术相关手册-系统参数定义事件程序技术相关手册-系统参数加载/安装任务模块技术相关手册-系统参数1.5“:=”赋值用途:“:=”指令用来给数据赋一个新值。这一个值可以是包括从常量值到任意的表达式中的任何一个。例如reg1+5*reg3。基本范例:指令的基本范例说明如下。也可参见第19页更多范例。例1 reg1:=5;

12、数值5赋给reg1。例2 reg1:=reg2-reg3;reg2-reg3计算返回的数值赋给reg1。例3 counter:=counter+1;counter增加1。项目:Data:=ValueData:数据类型:所有将被赋新值的数据。Value:数据类型:和Data一样。期望的数值。更多范例:该指令的更多范例说明如下。例1 tool1.tframe.trans.x:=tool1.tframe.trans.x+20;tool1的TCP在X方向上移动20毫米。例2 pallet5,8:=Abs(value)pallet矩阵的一个元素被赋予一个等于value变量的绝对值的数值。限制:数据(将被

13、改变数值的)不可以是:常量非数值数据类型数值或者数据必须有相似的(相同的或者别名的)数据类型。语法:(EBNF)<赋值目标>“:=”<表达式>“;”<赋值目标>:=<变量>|<恒量>|<参数>|<VAR>相关信息:相关信息参看表达式RAPID参考手册-RAPID概述,基本特性部分-表达式非数值数据类型RAPID参考手册-RAPID概述,基本特性部分-数据类型给数据赋一个初始数值操作员手册-IRC5和FlexPendant,FlexPendant部分编辑数据实例1.6BitClear在一个字节数据中清除一个特定位

14、用途:BitClear用来清除(设为0)定义的字节数据中一个特定的位。基本范例:该指令的基本范例说明如下。例1 CONST num parity_bit:=8;VAR byte data1:=130;BitClear data1,parity_bit;变量data1中位号8(parity_bit)将设为0,例如变量data1的内容将从130变成2(整数表示法)。当使用BitClear时数据类型byte的位操作在下图有说明。项目:BitClear BitData BitPosBitData:数据类型:字节整型表示法的位数据,将被改变的数据。BitPos:数据类型:数字BitData中将被设为零的

15、位的位置(1-8)。限制:字节数据类型的范围是十进制的0-255。有效的位的位置为1-8。语法:BitClear BitData :=<字节变量或者恒量(INOUT)>,BitPos:=<数字表达式(IN)>相关信息:相关信息参看在字节数据中设定一个特定的位BitSet在字节数据中设定一个特定的位,第23页检查字节数据中特定的位是否被设置BitCheck检查字节数据中特定的位是否被设置,第654页位的其他功能RAPID参考手册-RAPID概述,RAPID摘要部分-数学-位功能1.7BitSet在字节数据中设定一个特定的位用途:BitSet用来在定义的字节数据中把一个特定

16、位设为1。基本范例:该指令的基本范例说明如下。例1 CONST num parity_bit:=8;VAR byte data1:=2;BitSet data1 parity_bit;变量data1中位号8(parity_bit)将设为1,例如变量data1的内容将从2变成130(整数表示法)。当使用BitClear时数据类型byte的位操作在下图有说明。项目:BitSet BitData BitPosBitData:数据类型:字节整型表示法的位数据,将被改变的数据。BitPos:位的位置数据类型:数字BitData中将被设为零的位的位置(1-8)。限制:字节数据类型的范围是十进制的0-255

17、。有效的位的位置为1-8。语法:BitSet BitData :=<字节变量或者恒量(INOUT)>,BitPos:=<数字表达式(IN)>相关信息:相关信息参看在字节数据中清除一个特定的位BitClear在字节数据中清除一个特定的位,第23页检查字节数据中特定的位是否被设置BitCheck检查字节数据中特定的位是否被设置,第654页位的其他功能RAPID参考手册-RAPID概述,RAPID摘要部分-数学-位功能1.8BookErrNo定制一个RAPID系统错误号码用途:BookErrNo用来定制一个新的RAPID系统错误号码。基本范例:该指令的基本范例说明如下:例1

18、!Introduce a new error number in a glue system!Note: The new error variable must be declared with the initial value 1;VAR errnum ERR_GLUEFLOW:=-1;!Book the new RAPID system error numberBookErrNo ERR_GLUEFLOW;变量ERR_GLUEFLOW将被赋给一个空闲的系统错误号码,将在RAPID代码中使用。!Use the new error numberIF dil=0 THENRAISE ERR_G

19、LUEFLOW;ELSEENDIFError handlingERRORIF ERRNO=ERR_GLUEFLOW THEN.ELSEENDIF如果数字输入dil是0,新定制的错误号码将被提出并且系统错误变量ERRNO将被设定到新定制的错误号码。这些用户产生的错误的错误处理然后可以像平常一样在错误处理器中处理。项目:BookErrNo ErrorNameErrorName:数据类型:errnum新的RAPID系统错误变量名称。限制:新的错误变量不可以像程序变量一样被声明。新的错误变量必须带初始值-1声明,这就给出一个信息:该错误应该是一个RAPID系统错误。语法:BookErrNo Error

20、Name :=<errnum的变量(VAR)> ;相关信息:相关信息参看错误处理RAPID参考手册-RAPID概述,基本特性部分-错误恢复错误号码Errnum错误号码,第941页调用一个错误处理器RAISE调用一个错误处理器,第303页1.9Break跳出程序执行用途:Break用来在程序执行中制造一个立即跳出,为了RAPID程序代码调试的目的。基本范例:该指令的基本范例说明如下。例1 .Break.程序执行停止,为了调试目的的分析变量、数值等成为可能。程序执行:该指令立即停止程序执行,不用等机器人或者外部轴到达他们编程的当时运动的目的点。程序执行然后能从下一条指令重新开始。如果在

21、一些事件程序中有Break指令,程序的执行将被打断,并且没有停止事件程序将被执行。下次同一事件发生的时候事件程序将从开头执行。语法:Break;相关信息:相关信息参看程序活动停止Stop停止程序执行,第438页致命错误后停止EXIT终止程序执行,第92页终止程序执行EXIT终止程序执行,第92页只停止机器人运动StopMove停止机器人运动,第442页1.10CallByVar通过一个变量调用程序用途:CallByVar(Call By Variable)可以使用一个特定的名称,例如proc_name1, proc_name2, proc_name3 proc_namex通过一个变量调用程序。

22、基本范例:该指令的基本范例说明如下:也可参照第28页更多范例。例1 reg1:=2;CallByVar “proc”,reg1;程序proc2被调用。项目:CallByVar Name NumberName:数据类型:字符串程序名称的第一部分,例如proc_name。Number:数据类型:数字程序号码的数字数值。该数值将被转换成一个字符串,给出程序名称的第二部分,例如,1。数值必须是一个正整数。更多范例:如何作出程序调用的动态和静态选择的更多范例。例1 程序调用的静态选择。TEST reg1CASE 1:Lf_door door_loc;Case 2:Rf_door door_loc;Cas

23、e 3:Lr_door door_loc;Case 4:Rr_door door_loc;DEFAULT:EXIT;ENDTEST取决于寄存器reg1的数值是1、2、3或者4,来调用不同的程序来对选择的门完成合适的工作,门位于项目door_loc。例2 用RAPID语法动态选择程序调用。Reg1:=2;%”proc”+NumToStr(reg1,0)% door_loc;程序proc2和项目door_loc被调用。限制:所有程序必须有一个特定的名称,例如proc1,proc2,proc3。例3 用CallByVar动态选择程序调用。Reg1:=2;CallByVar “proc”,reg1;程

24、序proc2被调用。限制:所有程序必须有一个特定的名称,如proc1,proc2,proc3,并且没有项目可以被使用。限制:只能被用来调用不带参数的程序。不能用来调用LOCAL(本地)程序。CallByVar的执行比普通的程序调用要占用多一点的时间。错误处理:如果Number项目小于零或者不是一个整数,系统参数ERRNO被设成ERR_ARGVALERR。如果相关到一个未知的程序,系统参数ERRNO被设成ERR_REFUNKPRC。如果程序调用错误(不是程序错误),系统参数ERRNO被设成ERR_CALLPROC。这些错误可以在错误处理器中进行处理。语法:CallByVar 名称:=<字符

25、串表达式(IN)>,号码:=<数字表达式(IN)>;相关信息:相关信息参照调用程序RAPID参考手册-RAPID概述,基本特性部分-程序操作员手册-IRC5和FlexPendant1.11CancelLoad取消模块的加载用途:CancelLoad用来取消用StartLoad指令正在加载或者已经加载的模块。CancelLoad只能用在指令StartLoad和WaitLoad之间。基本范例:该指令的基本范例说明如下。也可参见第30页的更多范例。例1 ConcelLoad load1加载load1被取消。项目:CancelLoad LoadNoLoadNo:数据类型:loadse

26、ssion相关到被StartLoad所开始的加载系列。更多范例:如何使用该指令的更多范例说明如下。例1 VAR loadsession load1;StartLoad “HOME:”File:=”PART_B.MOD”,load1;IF CancelLoad Load1;StartLoad “HOME:”File:=”PART_C.MOD”,load1;ENDIFWaitLoad load1;指令CancelLoad将取消正在进行的PART_B.MOD模块的加载,而要使加载PART_C.MOD成为可能。错误处理:如果项目LoadNo指定的变量没有在使用,也就是说没有进行加载,系统变量ERRNO

27、将设为ERR_LOADNO_NOUSE。这个错误然后在错误处理器中可能被处理。语法:CancelLoad LoadNo :=<加载系列变量(VAR)>相关信息:相关信息参照在执行过程中加载一个程序模块StartLoad在执行过程中加载一个程序模块,第410页把加载的模块连接到任务中WaitLoad把加载的模块连接到任务中,第566页加载系列Loadsession程序加载系列,第968页加载一个程序模块Load在执行过程中加载一个程序模块,第182页卸载一个程序模块Unload在执行过程中卸载一个程序模块,第553页接受未解决的相关技术相关手册-系统参数,标题控制器部分-任务类型-检

28、查未解决的相关1.12CirPathMode在圆形路径过程中工具再定位用途:CirPathMode(圆形路径模式)使在圆周运动中选择不同的模式再定位工具成为可能。该指令只能被使用在主任务T_ROB1,或者如果在多运动系统中,使用在运动任务中。基本范例:该指令的基本范例说明如下:例1 CirPathMode PathFrame在所有成功的圆形运行过程中,从开始点到ToPoint的实际路径格式中工具再定位的标准模式。这是系统中的缺省值。例2 CirPathMode ObjectFrame在所有成功的圆形运行过程中,从开始点到ToPoint的实际对象格式中工具再定位的修改的模式。例3 CirPath

29、Mode CirPointOri在所有成功的圆形运行过程中,从开始点通过程序中的CirPoint再定位到ToPoint的工具再定位的标准模式。描述:PathFrame以下表格中的图显示了标准模式PathFrame下的工具再定位。说明描述箭头显示了工具从腕部中心点到工具中心点也就是编程点。腕部中心点的路径在图中用虚线点出。PathFrame模式使工具绕圆柱得到相同的角度变得容易。机器人手腕将不能突破CirPoint中编程的方向。以下表格中的图显示了用固定工具方向的标准模式PathFrame的使用。说明描述该图片显示了用倾斜工具和PathFrame模式在圆的中心获得的工具方向。和下图中使用Obje

30、ctFrame模式的相比较。ObjectFrame下表中的图显示了修改的模式ObjectFrame和固定工具方向的使用。说明描述该图片显示了用倾斜工具和ObjectFrame模式在圆的中心获得的工具方向。该模式将做出和MoveL用相同方法的工具的线性再定位。机器人手腕将不能穿过CirPoint中编程的方向。和上图中使用PathFrame模式的相比较。CirPointOri以下表格中的图显示了标准模式PathFrame和修改的模式CirPointOri之间不同的工具再定位。说明描述箭头显示了工具从腕部中心点到工具中心点也就是编程点。腕部中心点的不同路径在图中用虚线点出。CirPointOri模式

31、使机器人手腕突破CirPoint中编程的方向。项目:CirPathMode PathFrame | ObjectFrame | CirPointOriPathFrame数据类型:switch在圆周运动过程中,工具的再定位在实际路径格式中的从开始点方向到ToPoint方向连续完成。这是系统中的标准模式。 ObjectFrame数据类型:switch在圆周运动中,工具的再定位在实际对象格式中从开始点方向到ToPoint方向连续完成。 CirPointOri数据类型:switch在圆周运动中,工具的再定位在实际对象格式中从开始点方向到程序中CirPoint方向再到ToPoint方向连续完成。只有编程

32、的CirPointMode;没有任何转换导致和CirPointModePathFrame相同的结果。程序执行:特定的圆形工具再定位模式应用于下一个执行的机器人任意类型的圆周运动(MoveC,SearchC,TriggC,MoveCDO,MoveCSync,ArcC,PaintC)并且直到新的CirPathMode(或者旧的CirPathReori)指令执行之前都有效。标准的圆形再定位程序(CirPathMode PathFrame)在以下情况下自动设定:l 冷启动l 当加载一个新的程序l 当从开头执行程序时限制:该指令只影响圆周运动。当使用CirPointOri模式时,CirPoint必须在点

33、A和点B之间,按照下图是圆周运动在CirPoint突破程序中的方向。如果工作在手腕单一点区域附近并且SingAreaWrist指令已经被执行,指令CirPathMode将没有影响,因为系统那时候选择另一种圆周运动(关节插补)的工具再定位模式。该指令代替旧的指令CirPathReori(即使在将来也可以使用,但是在文档中不再介绍。语法:CirPathMode ; PathFrame | ObjectFrame | CirPointOri相关信息:相关信息参照插补RAPID参考手册-RAPID概述,运动和I/O原理部分-程序执行过程中的定位运动设定数据Motsetdata运动设定数据,第971页圆

34、周运动指令MoveC使机器人圆周运动,第209页1.13Clear清除数值用途:Clear用来清除一个数字变量或恒量,即把它设为零。基本范例:该指令的基本范例说明如下。例1 Clear reg1;Reg1被清除,即reg1:=0。项目:Clear NameName:数据类型:数字即将清除的变量或恒量的名称。语法:Clear Name := <数字的变量或者恒量(INOUT)> ;相关信息:相关信息参看给变量加1Incr给变量加1,第117页使变量减1Decr变量减1,第71页给变量增加任何值Add增加数字数值,第16页使用任意值改变数据“:=”给变量赋值,第19页1.14Clear

35、IOBuff清除串行通道的输入缓冲器用途:ClearIOBuff用来清理串行通道的输入缓冲器。所有来自串口通道的缓冲的字母将被丢弃。基本范例:该指令的基本范例说明如下。例1 VAR iodev channel2;Open “com2:”, channel2 Bin;ClearIOBuff channel2;WaitTime 0.1;相关到channel2的串行通道的输入缓冲器被清空。等待时间保证足够时间来完成清空操作。项目:ClearIOBuff IODeviceIODevice:数据类型:iodev将被清空缓冲器的串行通道的名称(相关)。程序执行:所有输入串行通道的缓冲器的字母被清除。下一个

36、读取指令将等待来自通道的新的指令。限制:该指令只能被串行通道使用。不等待操作完成的通知。在每一次使用中,推荐在指令后使用0.1秒的等待时间,来给操作足够的时间。错误处理:如果要在一个文件上使用该指令(清除文件),系统变量ERRNO将被设成ERR_FILEACC。该错误可以在错误处理器中处理。语法:ClearIOBuff IODevice :=<iodev 的变量(VAR)> ;相关信息:相关信息参看打开一个串行通道RAPID参考手册-RAPID概述,RAPID摘要部分-通讯1.15ClearPath清除当前路径用途:ClearPath清除当前运动路径层次上(基本层次或者StoreP

37、ath层次)的整个运动路径。运动路径是指在ClearPath执行的时候,从RAPID已经执行但是机器人没有完成的运动开始所有的运动段落。在ClearPath指令执行前机器人必须在停止点位置,或者用StopMove指令停止机器人。基本范例:该指令的基本范例说明如下。在下列程序例子中,机器人从初始位置到达p1点。在点px,信号dil将指示有效负载被丢掉。在陷阱程序gohome中,继续执行。机器人将在px停止运动(开始跳出),路径将被清除,机器人将移动到初始位置。错误将被提高到调用minicycle程序,并且整个用户定义的程序循环proc1,proc2将被再次从开始执行。例1 VAR intnum

38、drop_payload;CONST errnum ERR_DROP_LOAD:=-1;PROC minicycle( )BookErrNo ERR_DROP_LOAD;Proc1;ERROR (ERR_DROP_LOAD)RETRY;ENDPROCPROC proc1( )proc2;ENDPROCPROC proc2( )CONNECT drop_payload WITH gohome;IsignalDI Single, dil, 1, drop_payload;MoveL p1,v500,fine,gripper;.Idelete drop_payloadENDPROCTRAP goho

39、meStopMove Quick;ClearPath;Idelete drop_payload;MoveL home, v500, fine, gripper;RAISE ERR_DROP_LOAD;ERRORRAISE;ENDTROP如果正在运行相同的程序,但是在陷阱程序gohome中没有使用StopMove和ClearPath,在回到初始位置home之前机器人将继续运动到p1位置。如果编程时在MoveL home中使用飞点(zone)代替停止点(fine),在调用minicycle程序中的错误处理器的过程中,运动将会继续并且直到运动准备好。语法:ClearPath ;相关信息:相关信息参看

40、停止机器人运动StopMove停止机器人运动,第442页错误恢复RAPID参考手册-RAPID概述,RAPID摘要部分-错误恢复RAPID参考手册-RAPID概述,基本特性部分-错误恢复1.16ClearRawBytes清除原始字节数据的内容用途:ClearRawBytes用来把原始字节变量的所有内容设为0。基本范例:指令的基本范例说明如下。例1 VAR rawbytes raw_data;VAR num integer :=8VAR num float :=13.4;PackRawBytes integer, raw_data, 1 IntX :=DINT;PackRawBytes floa

41、t,raw_data, (RawBytesLen(raw_data)+1) Float4;ClearRawBytes raw_data FromIndex :=5;在前4个字节里,放入integer的数值(从索引1开始),从索引5开始的后4个字节里放入了float的数值。例子中的最后一个指令清除了Raw_data 的内容,从索引5开始,例如float将被清除,但是integer被保存在raw_data 中。当前Raw_data中有效字节的长度被设为4。项目:ClearRawbytes RawData FromIndex RawData:数据类型:原始字节RawData是将被清除的数据容器。 F

42、romIndex :数据类型:数字带有指定的 FromIndex ,将从 FromIndex 开始清除RawData的内容。一直到头的所有东西都被清除。如果没有指定 FromIndex ,从索引1开始的所有数据将被清除。程序执行:在指定的变量中,从索引1(缺省)开始或者从FromIndex开始的数据被复位到0。指定变量中有效字节的当前长度被设为0(缺省)或者如果FromIndex使用的话为(FromIndex-1)。语法:ClearRawBytes RawData :=<原始字节类型的变量(VAR)> FromIndex:=<数字类型的表达式(IN)> ; 相关信息:相

43、关信息参看原始字节的数据Rawbytes原始数据,第994页得到原始字节数据的长度RawBytesLen得到原始字节数据的长度,第806页复制原始字节数据的内容CopyRawBytes复制原始字节数据的内容,第58页将设备网标题打包进原始字节数据PackDNHeader将设备网标题打包进原始字节数据,第258页将数据打包进原始字节数据PackRawBytes将数据打包进原始字节数据,第261页写入原始字节数据WriteRawBytes写入原始字节数据,第604页读取原始字节数据ReadRawBytes读取原始字节数据,第319页从原始字节数据将数据拆包UnpackRawBytes从原始字节数据

44、中将数据拆包,第556页1.17ClkReset复位一个用来计时的时钟用途:ClkReset用来复位一个用来计时的停止监视功能的时钟。该指令在使用时钟指令之前使用,用来确保它归零。基本范例:该指令的基本范例说明如下。例1 CleReset Clock1;时钟Clock1 被复位。项目:ClkReset ClockClock:数据类型:时钟要复位的时钟的名称。程序执行:当时钟被复位,它被设为0。如果时钟正在运行,它将被停止然后复位。语法:ClkReset Clock := <时钟类型的变量(VAR)> ;相关信息:相关信息参看其他时钟指令RAPID参考手册-RAPID概述,RAPID

45、摘要部分-系统和时间1.18ClkStart开始一个用来计时的时钟用途:ClkStart用来开始一个用于计时的停止-监视功能的时钟。基本范例:该指令的基本范例说明如下。也可参看第43页的更多范例。例1 ClkStart Clock1时钟Clock1 开始计时。项目:ClkStart ClockClock:数据类型:时钟将要开始计时的时钟的名称。程序执行:当时钟开始计时,它将运行并且继续计秒直到它停止。当让它开始计时的程序停止的时候,时钟继续运行。但是,你想要计时的事件可能不再有效。例如,如果程序测量输入的等待时间,当程序停止的时候,输入已经被接收。在这种情况下,当程序停止的时候,程序将不能“看

46、到”事件的发生。当机器人电源断电的时候,只要备份电池保留包含时钟变量的程序,始终将继续运行。如果时钟正在运行,它可以被读取、停止或者复位。更多范例:该指令的更多范例说明如下。例1 VAR clock clock2;VAR num time;ClkReset clock2;ClkStart clock2;WaitUntil dil =1;ClkStop clock2;Time:=ClkRead(clock2);Dil变成1的等待时间被测量。错误处理:如果时钟运行了4,294,967秒(49天17个小时2分钟47秒),它将超载并且系统变量ERRNO被设成ERR_OVERFLOW。该错误可以在错误处

47、理器中处理。语法:ClkStart Clock := <时钟类型的变量(VAR)> ;相关信息:相关信息描述在其他时钟指令RAPID参考手册-RAPID概述,RAPID摘要部分-系统和时间1.19ClkStop停止一个用来计时的时钟用途:ClkStop用来停止一个用于计时的停止-监视功能的时钟。基本范例:该指令的基本范例说明如下。ClkStop Clock1时钟Clock1 停止计时。项目:ClkStop ClockClock:数据类型:时钟将要停止计时的时钟的名称。程序执行:当时钟停止计时,它将停止运行。如果时钟被停止,它可以被读取、再次开始或者复位。错误处理:如果时钟运行了4,

48、294,967秒(49天17个小时2分钟47秒),它将超载并且系统变量ERRNO被设成ERR_OVERFLOW。该错误可以在错误处理器中处理。语法:ClkStop Clock := <时钟类型的变量(VAR)> ;相关信息:相关信息参看其他时钟指令RAPID参考手册-RAPID概述,RAPID摘要部分-系统和时间更多例子ClkStart开始一个用来计时的时钟,第43页1.20Close关闭一个文件或者串行通道用途:Close用来关闭一个文件或者串行通道。基本范例:该指令的基本范例说明如下。例1 Close channel2;被channel2相关到的串行通道被关闭。项目:Close

49、 IODeviceIODevice:数据类型:iodev将要被关闭的文件或者串行通道的名称(相关)。程序执行:指定的文件或者串行通道被关闭并且在读或写之前必须重新打开。如果它已经被关闭,该指令被忽略。语法:Close IODevice := <iodev类型的变量(VAR)> ;相关信息:相关信息参看打开一个文件或者串行通道RAPID参考手册-RAPID概述,RAPID摘要部分-通讯1.21CloseDir关闭一个目录用途:CloseDir用来关闭一个目录,和OpenDir达到平衡。基本范例:该指令的基本范例说明如下。例1 PROC lsdir(string dirname)VAR

50、 dir directory;VAR string filename;OpenDir directory,dirname;WHILE ReadDir(directory,filename) DOTPWrite filename; ENDWHILECloseDir directory;ENDPEOC该例子打印出指定目录下所有文件或者子目录名称。项目:CloseDir DevDev:数据类型:dir一个相关到OpenDir指令取得的目录的变量。语法:CloseDir Dev:= <dir类型的变量(VAR)> ;相关信息:相关信息参看目录Dir文件目录结构,第938页制作一个目录Mak

51、eDir创建一个新的目录,第192页打开一个目录OpenDir打开一个目录,第256页读取一个目录ReadDir在一个目录中读取下一个入口,第810页删除一个目录RemoveDir删除一个目录,第322页删除一个文件RemoveFile删除一个文件,第324页重新命名一个文件RenameFile重新命名一个文件,第325页1.22comment注释用途:comment只是用来使程序容易理解。对程序的执行没有影响。基本范例:该指令的基本范例说明如下。例1 !Goto the position above palletMoveL p100, v500, z20, tool1;一个注释被插入程序,使程序更容易理解。项目:!CommentComment:文本字符串。任何文本。程序执行:执行该指令的时候不会发生什么。语法:(EBNF)!<字母> <newline>相关信息:相关信息参看注释中允许的字母RAPID参考手册-RAPID概述,基本特征部分-基本元素数据或者程序声明中的注释RAPID参考手册-RAPID概述,基本特征部分-基本元素1.23Compact IF如果满足一个条件,那么。(执行一个指令)用途:如果满足一个给定的条件,只有将

温馨提示

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

评论

0/150

提交评论