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

库卡机器人-集成服务商

产品:39
联系我们
新闻分类
  • 暂无分类
站内搜索
首页 > 新闻中心 >库卡机器人编程之CAST指令解析——库卡机器人
新闻中心
库卡机器人编程之CAST指令解析——库卡机器人
发布时间:2023-05-11 浏览次数:293 返回列表
当说起CAST指令,估计绝大部分使用库卡机器人的技术员会感到陌生。此指令包含CAST_TO和CAST_FROM指令,主要再CREAD/CWRITE手册里有讲到。今天我们就来熟悉下这个两个指令:

1.CAST_TO:

CAST_TO指令将多个变量组合在一起并作为一个字符串缓存出现,简而言之,我们可以使用该指令将多个变量(zui多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[ ]

DEFCAST_TO_EXAMPLE()DECLCHARBuffer[4096]DECLINTOffsetOffset=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读取的变量,zui多10个变量值可从字符串缓存Buffer中读取;
2.待被读取的字符串缓存Buffer在使用CAST_FROM指令前,务必初始化赋值;
3.从字符串缓存Buffer读取的变量在Buffer所占字节数,取决于其本身的数据类型,如:
定义
说明
INT Var1
Var1写入缓存并占位4个字节;
BOOL Var2
Var2写入缓存并占位1个字节;
REAL Var3
Var3写入缓存并占位4个字节;

案例说明:

DEFCAST_TO_FROM_EXAMPLE()DECLCHARBuffer[4096]DECLINTOffsetDECLE6AXISVar1DECLINTVar2DECLREALVar3DECLBOOLVar4DECLCHARVar5Offset=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字符串的处理等





联系热线:18621383637 联系人:赵澜惠 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00库卡机器人-集成服务商

返回
顶部
Baidu
map