簡介: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
文章來源,
工業機器人維修官網:m.qhdjznet.com