1.CAST_TO:
语法:CAST_TO (Buffer, OFFSET,Var1<,…,Var10>)
元素 |
描述 |
||||||||
Buffer |
|
||||||||
OFFSET |
|
||||||||
Var1 .. .. Var10 |
|
案例说明:将$Axis_Act/10/3.14/TRUE/”F”写入Buffer[ ]
DEFCAST_TO_EXAMPLE()
DECLCHARBuffer[4096]
DECLINTOffset
Offset=0
CAST_TO(Buffer[],Offset,$Axis_Act,10,3.14,TRUE,”F”)
HALT
END
2. CAST_FROM:
语法:CAST_FROM(Buffer,OFFSET, Var1<,…,Var10>)
元素 |
描述 |
||||||||
Buffer |
|
||||||||
OFFSET |
|
||||||||
Var1 .. .. Var10 |
|
案例说明:
DEFCAST_TO_FROM_EXAMPLE()
DECLCHARBuffer[4096]
DECLINTOffset
DECLE6AXISVar1
DECLINTVar2
DECLREALVar3
DECLBOOLVar4
DECLCHARVar5
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).CAST指令可以处理简单数据类型(INT/REAL/BOOL/CHAR/ENUM)的数组;
(2).CAST指令不会检查数组中的元素是否初始化,随机值会被写入到未被初始化的元素中去;
(3).只有上表中序号7-13的结构体变量能用于CAST指令中;对于其他结构体变量,如需要使用CAST指令,则必须每一次处理一个元素;
(4).CAST_TO/CAST_FROM主要在做数据转时使用:数据高低字节转换(大小端问题 )、EthernetKRL字符串的处理等