ABB机器人RAPID指令中文(8)

2019-04-14 16:38

CopyRawBytes不能用来从一个rawbytes变量中的一些数据复制到同一个rawbytes变量的其它部分。 语法:

CopyRawBytes [FromRawData ‘:=’ ] < rawbytes类型的变量(VAR)>’ , ‘ [FromIndex’ :=’ ] < num类型的表达式(IN)> ‘,’ [ToRawData’ :=’ ] < rawbytes类型的变量(VAR)>’ , ‘ [ToIndex’ :=’ ] < num类型的表达式(IN)> [‘\\’NoOfBytes’ :=’ < num类型的表达式(IN)> ]’;’ 相关信息: 相关信息 Rawbytes数据

获得rawbytes数据的长度 清除rawbytes数据的内容

把设备网的标题打包进rawbytes数据 把数据打包进rawbytes数据 写rawbytes数据 读rawbytes数据

从rawbytes数据解压数据

参看

第994页rawbytes—原始数据

第806页RawBytesLen—获得rawbytes数据的长度 第40页ClearRawBytes—清除rawbytes数据的内容

第258页PackDNHeader—把设备网标题打包进rawbytes数据 第261页PackRawBytes—把数据打包进rawbytes数据 第604页WriteRawBytes—写rawbytes数据 第319页ReadRawBytes—读rawbytes数据

第556页UnpackRawBytes—从rawbytes数据中解压数据

36

1.29.CorrClear—删除所有修正发生器

描述:

CorrClear用来删除所有连接的修正发生器。该指令用来删除所有之前由修正发生器提供的偏移。 基本范例: 该指令的基本范例说明如下: 例1 CorrClear;

该指令删除所有连接的修正发生器。 注意:

确保所有修正发生器(已连接的)在程序开始的时候都被删除的一个简单方法是在START事件routine中运行CorrClear。参看系统参数—标题:控制器 语法:

CorrClear ‘;’ 相关信息: 相关信息

连接到修正发生器 从修正发生器断开连接 写修正发生器 读取当前总偏移量 修正描述符

参看

第61页CorrCon—连接到一个修正发生器 第66页CorrDiscon—从修正发生器断开连接 第67页CorrWrite写修正发生器 第685页CorrRead—读取当前总偏移量 第934页corrdescr—修正发生器描述符

37

1.30.CorrCon—连接到一个修正发生器

用途:

CorrCon用来连接到一个修正发生器。 基本范例: 该指令的基本范例说明如下: 也可参照第61页更多范例。 例1 VAR corrdescr id;

CorrCon id;

参考的修正发生器符合变脸id的预定。 项目:

CorrCon Descr Descr: 数据类型:corrdescr 修正发生器的描述符。 更多范例: 该指令得更多范例说明如下: 路径坐标系统: 所有路径修正(路径上的偏移量)都被加入路径坐标系统。路径坐标系统按照以下说明定义: P=路径坐标系统 T=工具坐标系统

z 路径坐标X轴作为路径的正切值被给出。

z 路径坐标Y轴由工具坐标轴Z和路径坐标轴X交叉产生。 z 路径坐标轴Z由路径坐标轴X和路径坐标轴Y交叉产生。 应用范例: 用路径修正的一个应用实例是机器人拿着装有两个传感器的工具,监测到到工作对象的垂直和水平距离。下图说明了路径修正装置。

程序范例:

CONST num TARGET_DIST := 5; CONST num SCALE_FACTOR := 0.5; VAR intnum intno1; VAR corrdesc hori_id; VAR corrdesc vert_id; VAR pos total_offset; VAR signalai hori_sig; VAR signalai vert_sig; VAR pos write_offset;

PROC PathRoutine( ) ! 连接到修正发生器寻找水平和垂直方向。 CorrCon hori_id; CorrCon Vert_id;

38

!设定一个5赫兹的计时器中断。陷阱程序将读取传感器数值并计算路径修正值。 CONNECT intno1 WITH ReadSensors; Itimer\\singel 0.2, intno1 ! 计时器跟踪开始的位置。 MoveJ P10,v100,z10,tool1; !用垂直和水平方向运行MoveL。 MoveL p20,v100,z10,tool1\\Corr; ! 读取所有修正发生器增加的总的修正值。 Total_offset := CorrRead( ); ! 在示教器上写出垂直修正的总数。 TPWrite “垂直修正的总数是:”\\Num:=total_offset.z; ! 断开垂直方向上修正发生器的连接。谁拼修正将不受影响。 CorrDiscon vert_id; ! 只在水平中断方向上运行MoveL。 MoveL p30,v100,z10,tool1 \\Corr; ! 删除所有突出连接的修正发生器。

!在这种情况下,仅存的修正发生器就是水平方向的修正发生器。

CorrClear; !删除计时器中断。 IDelete intno1; ENDPROC

TRAP ReadSensors ! 计算水平修正值并进行修正。 Write_offset.x := 0; Write_offset.y := (hori_sig – TARGET_DIST) *SCALE_FACTOR; Write_offset.z :=0; CorrWrite hori_id, write_offset; ! 计算垂直修正值并进行修正。 Write_offset.x := 0; Write_offset.y := 0; Write_offset.z := (vert_sig – TARGET_DIST) *SCALE_FACTOR; CorrWrite vert_id, write_offset; ! 再次设定中断。 IDelete intno1; CONNECT intno1 WITH R诶的Sensors; ITimer\\singel 0.2, intno1; ENDTRAP 程序解释: 两个修正发生器用指令CorrCon连接。每一个修正发生器用一个独立的corrdesc类型的描述符(hori_id和vert_id)参考。 两个传感器每一个都用一个修正发生器。 设置了一个计时器中断以5赫兹的频率来调用陷阱程序ReadSensors。路径修正需要的偏移量在陷阱程序中计算并且通过指令CorrWrite被写到相应的修正发生器(由hori_id和vert_id参考)。所有的修正将会立即对路径起影响。当使用路径修正器的时候,MoveL指令必须使用可选项目Corr来编程。否则,将不会执行修正。 当第一个MoveL指令准备好的时候,用CorrRead功能来读取由所有连接的修正发生器提供的所有的修正的总数(路径修正总数)。总的垂直路径的修正的结果用TPWrite指令写到示教器上。

CorrDiscon将断开垂直修正(由描述符vert_id参考)的修正发生器。由该修正发生器添加的所有修正将从

39

总路径修正中删除。由水平修正的修正发生器添加的修正仍旧保留。 最后,CorrClear功能将删除所有保留的连接修正发生器和之前累加的修正。在这种情况下,只有水平修正的修正发生器将被删除。计时器中断也将由Idelete指令删除。 修正发生器: 下图说明了修正发生器。

X Y z 路径坐标轴

0 0 3 垂直修正发生器,带有它自身修正的总数

0 1 0 水平路径发生器,带有它则身修正的总数

- - - 没连接的修正发生器

- - - 没连接的修正发生器

- - - 没连接的修正发生器

0 1 3 由所有连接的修正发生器完成的所有修正的总数

限制: 最多可以同时连接5个修正发生器。连接的修正发生器控制器重启后不能幸存。 语法:

CorrCon [ Descr ‘ :=’ ] < corrdiscr类型的变量(VAR)> ‘;’ 相关信息: 相关信息 断开修正发生器 写入修正发生器 读取当前总偏移量 删除所有修正发生器 修正发生器描述符

参看

第66页CorrDiscon—断开修正发生器 第67页CorrWrite—写入修正发生器 第685页CorrRead—读取当前总偏移量 第60页CorrClear—删除所有修正发生器 第934页corrdescr—修正发生器描述符

40


ABB机器人RAPID指令中文(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:投标书 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: