简介:ABB机器人变量类型转换功能 变量类型转换功能 ABB机器人维修不能直接从大类型向小类型变量转换。(例如:从INT到BYTE,或从DINT到WORD)。要完成此功能,可以使用特殊功能块实现。 广州ABB机器人维修 :作为一种规则,你可以用此功能将一种类型的变量转换成任……
变量类型转换功能
ABB机器人维修不能直接从“大类型”向“小类型”变量转换。(例如:从INT到BYTE,或从DINT到WORD)。要完成此功能,可以使用特殊功能块实现。
广州ABB机器人维修:作为一种规则,你可以用此功能将一种类型的变量转换成任何需要的类型变量。
句法:
1、BOOL_TO_变换
BOOL类型变量到不同类型的变换:对于数值类型变量,操作数为TRUE时,结果为1;操作数为FALSE时,结果为0。对字符串类型变量,其结果分别为‘TRUE’和‘FALSE’。
T中的示例:
i:=BOOL_TO_INT(TRUE);(*结果为
tr:=BOOL_TO_STRING(TRUE);(*结果为
t:=BOOL_TO_TIME(TRUE);(*结果为
tof:=BOOL_TO_TOD(TRUE);(*结果为
dat:=BOOL_TO_DATE(FALSE);(*结果为
dandt:=BOOL_TO_DT(TRUE);(*结果为
2、TO_BOOL–变换
ABB机器人维修,它类型变量到BOOL的转换:当操作数不为零时,结果为TRUE,当操作数为零时,结果为FALSE;当字符串变量的操作数为’TRUE’时,结果为真,否则,结果为假。
T中的示例:
:=BYTE_TO_BOOL(2#11010101);(*结果为
:=INT_TO_BOOL(0);(*结果为
:=TIME_TO_BOOL(T#5ms);(*结果为
:=STRING_TO_BOOL('TRUE');(*结果为
3、整型数类型之间的转换
整型数值类型到其它数值类型的转换:当从大类型向小类型转换时,存在丢失信息的危险。如果转换的数值超过其极限;则该数的第一个字节将被忽略。
T中的示例:
i:=INT_TO_SINT(4223);(*结果为
如果你将整数4223(十六进制为16#107f)作为SINT变量保存,其结果为127(十六进制为16#7f)。
IL中的示例:
4、REAL_TO-/LREAL_TO–转换
REAL或LREAL类型到其它数值类型的转换:数值将向上或向下取整并转换成新的数据类型。但变量类型STRING,BOOL,REAL和LREAL除外。当从大类型向小类型转换时,存在丢失信息的危险。
请注意:ABB机器人维修,当向字符串变量转换时,保留16个数据,如果(L)REAL数据有更多的数,则第十六个数将被取整。如果字符串的长度定义为短型,则从右端开始截取。
T中的示例:
i:=REAL_TO_INT(1.5);(*结果为
j:=REAL_TO_INT(1.4);(*结果为
IL中的示例:
5、TIME_TO-/TIME_OF_DAY–转换
TIME或TIME_OF_DAY类型到其它类型的转换:时间在内部以毫秒单位及DWORD方式处理(对于TIME_OF_DAY变量,用12:00AM起始)。该值将被转换。当从大类型向小类型转换时,存在丢失信息的危险。对于字符串类型变量,其结果为时间常数。
T中的示例:
tr:=TIME_TO_STRING(T#12ms);(*结果为
dw:=TIME_TO_DWORD(T#5m);(*结果为
i:=TOD_TO_SINT(TOD#00:00:00.012);(*结果为
6、DATE_TO-/DT_TO–转换
DATE或DATE_AND_TIME类型到其它类型的转换:时间在内部以1970.01.01开始所经过的时间,并以秒为单位及DWORD方式处理。该值将被转换。当从大类型向小类型转换时,存在丢失信息的危险。对于字符串类型变量,其结果为日期常数。
T中的示例:
:=DATE_TO_BOOL(D#1970-01-01);(*结果为
i:=DATE_TO_INT(D#1970-01-15);(*结果为
yt:=DT_TO_BYTE(DT#1970-01-15-05:05:05);(*结果为
tr:=DT_TO_STRING(DT#1998-02-13-14:20);(*结果为
7、STRING_TO–转换
TRING类型到其它类型的转换:字符串类型变量中必须包含有效的目标变量类型值,否则其转换结果为零。
T中的示例:
:=STRING_TO_BOOL('TRUE');(*结果为
w:=STRING_TO_WORD('abc34');(*结果为
t:=STRING_TO_TIME('T#127ms');(*结果为
8、TRUNC(取整
从REAL到INT类型转换。数值的所有部分都将被使用。当从大类型向小类型转换时,存在丢失信息的危险。
T中的示例:
i:=TRUNC(1.9);(*结果为
i:=TRUNC(-1.4);(*结果为
IL中的示例:
LD2.7
TRUNC
GE%MW8
文章来源,
工业机器人维修官网:www.zr-abb.com