您好!欢迎光临工博士商城

库卡KUKA机器人专营

产品:7    
联系我们
新闻分类
  • 暂无分类
站内搜索
 
友情链接
  • 暂无链接
首页 > 新闻中心 > 库卡机器人编程之CAST指令
新闻中心
库卡机器人编程之CAST指令
发布时间:2020-01-19        浏览次数:1420        返回列表
 库卡机器人编程之CAST指令

声明:本媒体部分图片、文章来源于网络
版权归原作者所有,如有侵权,请与我联系删除。

       当说起CAST指令,估计绝大部分使用库卡机器人的技术员会感到陌生。此指令包含CAST_TO和CAST_FROM指令,主要再CREAD/CWRITE手册里有讲到。今天我们就来熟悉下这个两个指令:

1.CAST_TO:

CAST_TO指令将多个变量组合在一起并作为一个字符串缓存出现,简而言之,我们可以使用该指令将多个变量(*多10个)一起写入一个字符串缓存里。

语法:  CAST_TO (Buffer, OFFSET, Var1 <, ,Var10>)

元素

描述

Buffer

1.类型:CHAR数组(字符串)
2.Buffer作为变量Var1…Var10写入的字符串缓存

OFFSET

1.类型:INT
2.OFFSET是指变量在字符串缓存Buffer中开始被写入的起始字节位置。其取值从0开始。例如:
 -OFFSET=0 :变量写入是从第1个字节开始;
 -OFFSET=2 :变量写入是从第3个字节开始,字节1/2的位置会被忽略;

   

 

  Var1

..

..

Var10

 

 

1.待被写入字符串缓存Buffer中的变量,*多10个变量可被写入字符串缓存Buffer中;
2.待被写入字符串缓存Buffer中的变量在使用CAST_TO指令前,务必初始化赋值;
3.被写入字符串缓存Buffer的变量在Buffer所占字节数,取决于其本身的数据类型,如:
定义
说明
INT    Var1
Var1写入缓存并占位4个字节;
BOOL  Var2
Var2写入缓存并占位1个字节;
REAL  Var3
Var3写入缓存并占位4个字节;

总结说明:

(1).CAST_TO指令的功能是将多个变量值写入一个字符串变量里;

(2).CAST_TO指令中变量的变换:变量值->二进制->Hex-ASCII->高低位互换->Hex-ASCII->写入Buffer

案例说明$Axis_Act/10/3.14/TRUE/”F”写入Buffer[ ]  

  •  
  •  
  •  
  •  
  •  
  •  
  •  
DEF CAST_TO_EXAMPLE() DECLCHAR Buffer[4096]DECLINT OffsetOffset=0CAST_TO(Buffer[],Offset,$Axis_Act,10,3.14,TRUE,”F”)HALTEND

 2. CAST_FROM:

       CAST_FROM指令将一个字符串缓存数据分解成多个单一变量,简而言之,按数据类型从字符串变量中获取各变量的值;

语法: CAST_FROM(Buffer,OFFSET, Var1<,…,Var10>)

元素

描述

Buffer

1.类型:CHAR数组(字符串)
2.Buffer作为变量Var1…Var10数据存储的字符串缓存

OFFSET

1.类型:INT
2.OFFSET是指变量在字符串缓存Buffer中开始被读取的起始字节位置。其取值从0开始。例如:
 -OFFSET=0 :变量读取是从第1个字节开始;
 -OFFSET=2 :变量读取是从第3个字节开始,字节1/2的位置会被忽略;

   Var1

..

..

Var10

 

 

1.从字符串缓存Buffer读取的变量,*多10个变量值可从字符串缓存Buffer中读取;
2.待被读取的字符串缓存Buffer在使用CAST_FROM指令前,务必初始化赋值;
3.从字符串缓存Buffer读取的变量在Buffer所占字节数,取决于其本身的数据类型,如:
定义
说明
INT    Var1
Var1写入缓存并占位4个字节;
BOOL  Var2
Var2写入缓存并占位1个字节;
REAL  Var3
Var3写入缓存并占位4个字节;

案例说明:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
DEF CAST_TO_FROM_EXAMPLE()DECLCHAR Buffer[4096]DECLINT OffsetDECLE6AXIS Var1DECLINT Var2DECLREAL Var3DECLBOOL Var4DECLCHAR Var5Offset=0CAST_TO(Buffer[],Offset,$Axis_Act,10,3.14,TRUE,”F”)HALTOffset=0CAST_FROM(Buffer[],Offset,Var1)HALTOffset=48CAST_FROM(Buffer[],Offset,Var2)HALTOffset=52CAST_FROM(Buffer[],Offset,Var3)HALTOffset=56CAST_FROM(Buffer[],Offset,Var4)HALTOffset=57CAST_FROM(Buffer[],Offset,Var4)HALTEND

总结说明:

(1).CAST_FROM指令的功能是从一个字符串变量读取各个变量的值;

(2).CAST_FROM指令中变量的变换:字符串->Hex-ASCII->高低位互换->Hex-ASCII->二进制->分配各变量

3. CAST指令所允许的数据类型及占位:

序号

数据类型

占位

1
INT
4 字节
2
REAL
4 字节
3
BOOL
1 字节
4
CHAR
1 字节
5
ENUM
4 字节
6
SIGNALS
1 字节
7
FRAME
6*REAL=24 字节
8
POS
6*REAL+2*INT=32 字节
9
AXIS
6*REAL=24 字节
10
E3POS
6*REAL+2*INT+3*REAL=44 字节
11
E3AXIS
6*REAL +3*REAL=36 字节
12
E6POS
6*REAL+2*INT+6*REAL=56 字节
13
E6AXIS
6*REAL +6*REAL=48 字节

总结说明:

(1).CAST指令可以处理简单数据类型(INT/REAL/BOOL/CHAR/ENUM)的数组;

(2).CAST指令不会检查数组中的元素是否初始化,随机值会被写入到未被初始化的元素中去;

(3).只有上表中序号7-13的结构体变量能用于CAST指令中;对于其他结构体变量,如需要使用CAST指令,则必须每一次处理一个元素;

(4).CAST_TO/CAST_FROM主要在做数据转时使用:数据高低字节转换(大小端问题 )、EthernetKRL字符串的处理等。


更多资讯:库卡机器人代理



 

联系热线:18616260662 联系人:王青慧 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 库卡KUKA机器人专营

返回
顶部