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

库卡工业机器人配件专营店

产品:104    

咨询热线:18717873382

您当前的位置:首页 » 新闻中心 » 库卡机器人编程之CAST指令——库卡机器人配件
产品分类
新闻中心
库卡机器人编程之CAST指令——库卡机器人配件
发布时间:2020-06-22        浏览次数:300        返回列表
 当说起CAST指令,估计绝大部分使用库卡机器人的技术员会感到陌生。此指令包含CAST_TO和CAST_FROM指令,主要再CREAD/CWRITE手册里有讲到。今天我们就来熟悉下这个两个指令:

important; overflow-wrap: break-word !important;">1.CAST_TO:

important; overflow-wrap: break-word !important;">CAST_TO指令将多个变量组合在一起并作为一个字符串缓存出现,简而言之,我们可以使用该指令将多个变量(***多10个)一起写入一个字符串缓存里。

important; overflow-wrap: break-word !important;">语法:  CAST_TO (Buffer, OFFSET, Var1 <, ,Var10>)

important; overflow-wrap: break-word !important;">

元素

描述

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个字节;

important; overflow-wrap: break-word !important;">总结说明:
important; overflow-wrap: break-word !important;">(1).CAST_TO指令的功能是将多个变量值写入一个字符串变量里;
important; overflow-wrap: break-word !important;">(2).CAST_TO指令中变量的变换:变量值->二进制->Hex-ASCII->高低位互换->Hex-ASCII->写入Buffer

important; overflow-wrap: break-word !important;">案例说明$Axis_Act/10/3.14/TRUE/”F”写入Buffer[ ]  

important; overflow-wrap: break-word !important;">
  •  
  •  
  •  
  •  
  •  
  •  
  •  
important; overflow-wrap: break-word !important;">DEF CAST_TO_EXAMPLE()important; overflow-wrap: break-word !important;">DECLCHAR Buffer[4096]important; overflow-wrap: break-word !important;">DECLINT Offsetimportant; overflow-wrap: break-word !important;">Offset=0important; overflow-wrap: break-word !important;">CAST_TO(Buffer[],Offset,$Axis_Act,10,3.14,TRUE,”F”)important; overflow-wrap: break-word !important;">HALTimportant; overflow-wrap: break-word !important;">END

important; overflow-wrap: break-word !important;"> 2. CAST_FROM:

important; overflow-wrap: break-word !important;">CAST_FROM指令将一个字符串缓存数据分解成多个单一变量,简而言之,按数据类型从字符串变量中获取各变量的值;

important; overflow-wrap: break-word !important;">语法: CAST_FROM(Buffer,OFFSET, Var1<,…,Var10>)

important; overflow-wrap: break-word !important;">

元素

描述

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个字节;

important; overflow-wrap: break-word !important;">案例说明:

important; overflow-wrap: break-word !important;">
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
important; overflow-wrap: break-word !important;">DEF CAST_TO_FROM_EXAMPLE()important; overflow-wrap: break-word !important;">DECLCHAR Buffer[4096]important; overflow-wrap: break-word !important;">DECLINT Offsetimportant; overflow-wrap: break-word !important;">DECLE6AXIS Var1important; overflow-wrap: break-word !important;">DECLINT Var2important; overflow-wrap: break-word !important;">DECLREAL Var3important; overflow-wrap: break-word !important;">DECLBOOL Var4important; overflow-wrap: break-word !important;">DECLCHAR Var5important; overflow-wrap: break-word !important;">Offset=0important; overflow-wrap: break-word !important;">CAST_TO(Buffer[],Offset,$Axis_Act,10,3.14,TRUE,”F”)important; overflow-wrap: break-word !important;">HALTimportant; overflow-wrap: break-word !important;">Offset=0important; overflow-wrap: break-word !important;">CAST_FROM(Buffer[],Offset,Var1)important; overflow-wrap: break-word !important;">HALTimportant; overflow-wrap: break-word !important;">Offset=48important; overflow-wrap: break-word !important;">CAST_FROM(Buffer[],Offset,Var2)important; overflow-wrap: break-word !important;">HALTimportant; overflow-wrap: break-word !important;">Offset=52important; overflow-wrap: break-word !important;">CAST_FROM(Buffer[],Offset,Var3)important; overflow-wrap: break-word !important;">HALTimportant; overflow-wrap: break-word !important;">Offset=56important; overflow-wrap: break-word !important;">CAST_FROM(Buffer[],Offset,Var4)important; overflow-wrap: break-word !important;">HALTimportant; overflow-wrap: break-word !important;">Offset=57important; overflow-wrap: break-word !important;">CAST_FROM(Buffer[],Offset,Var4)important; overflow-wrap: break-word !important;">HALTimportant; overflow-wrap: break-word !important;">END

important; overflow-wrap: break-word !important;">总结说明:

important; overflow-wrap: break-word !important;">(1).CAST_FROM指令的功能是从一个字符串变量读取各个变量的值;

important; overflow-wrap: break-word !important;">(2).CAST_FROM指令中变量的变换:字符串->Hex-ASCII->高低位互换->Hex-ASCII->二进制->分配各变量

important; overflow-wrap: break-word !important;">3. CAST指令所允许的数据类型及占位:
important; overflow-wrap: break-word !important;">

序号

数据类型

占位

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 字节

important; overflow-wrap: break-word !important;">总结说明:

important; overflow-wrap: break-word !important;">(1).CAST指令可以处理简单数据类型(INT/REAL/BOOL/CHAR/ENUM)的数组;

important; overflow-wrap: break-word !important;">(2).CAST指令不会检查数组中的元素是否初始化,随机值会被写入到未被初始化的元素中去;

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

important; overflow-wrap: break-word !important;">(4).CAST_TO/CAST_FROM主要在做数据转时使用:数据高低字节转换(大小端问题 )、EthernetKRL字符串的处理等





更多库卡机器人配件咨询请点击:http://www.kuka-peijians.gongboshi.com/


 

联系热线:18717873382   联系人:郑凯旋 联系地址:上海市宝山区富联一路98弄6号

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