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

KUKA机器人销售服务

产品:80    
联系我们
库卡机器人联系方式
  • 联系人:王青慧
  • 电话:18616260662
  • 邮件:wqh@gongboshi.com
  • 手机:18616260662(微信同号)
新闻分类
  • 暂无分类
KUKA机器人友情链接
首页 > 库卡机器人新闻中心 > 库卡机器人编程之CAST指令
库卡机器人新闻中心
库卡机器人编程之CAST指令
发布时间:2021-05-14        浏览次数:1110        返回列表
工博士机器人技术有限公司作为智能工厂服务商,从智能制造解决方案的提供,到工业电气产品的一站式采购,从智能制造培训到专业维护保养,围绕设备的智能升级改造、生产加工、设备保障、技能培训等多个方面,实现生产的智能、高效、环保和安全。

主营ABB库卡KUKA安川YASKAWA发那科FANUC欧地希OTC川崎Kawasaki遨博AUBO现代HYUNDAI电装DENSO欧姆龙OMRON爱普生EPSON等进口机器人项目集成、机器人代理、机器人配件、机器人售后维保、机器人培训一站式服务。

地址:上海市嘉定区博园路1333号1栋7层(王工:18616566200)
--------------------------------------------------------------------------------------------------    

当说起CAST指令,估计绝大部分使用库卡机器人的技术员会感到陌生。此指令包含CAST_TOCAST_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 Offset

Offset=0

CAST_TO(Buffer[],Offset,$Axis_Act,10,3.14,TRUE,”F”)

HALT

END

 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 Offset

DECLE6AXIS Var1

DECLINT Var2

DECLREAL Var3

DECLBOOL Var4

DECLCHAR Var5

Offset=0

CAST_TO(Buffer[],Offset,$Axis_Act,10,3.14,TRUE,”F”)

HALT

Offset=0

CAST_FROM(Buffer[],Offset,Var1)

HALT

Offset=48

CAST_FROM(Buffer[],Offset,Var2)

HALT

Offset=52

CAST_FROM(Buffer[],Offset,Var3)

HALT

Offset=56

CAST_FROM(Buffer[],Offset,Var4)

HALT

Offset=57

CAST_FROM(Buffer[],Offset,Var4)

HALT

END

总结说明:

(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机器人销售服务

返回
顶部