ABB機(jī)器人變量類型轉(zhuǎn)換功能
發(fā)布日期:2012-06-09 蘭生客服中心 瀏覽:7846
二、變量類型轉(zhuǎn)換功能
不能直接從“大類型”向“小類型”變量轉(zhuǎn)換。(例如:從INT到BYTE,或從DINT到WORD)。要完成此功能,可以使用特殊功能塊實(shí)現(xiàn)。作為一種規(guī)則,你可以用此功能將一種類型的變量轉(zhuǎn)換成任何需要的類型變量。
句法:
lt;elem.Tpy1>_TO_
1、BOOL_TO_變換
BOOL類型變量到不同類型的變換:對(duì)于數(shù)值類型變量,操作數(shù)為T(mén)RUE時(shí),結(jié)果為1;操作數(shù)為FALSE時(shí),結(jié)果為0。對(duì)字符串類型變量,其結(jié)果分別為‘TRUE’和‘FALSE’。
T中的示例:
i:=BOOL_TO_INT(TRUE);(*結(jié)果為1*)
tr:=BOOL_TO_STRING(TRUE);(*結(jié)果為'TRUE'*)
t:=BOOL_TO_TIME(TRUE);(*結(jié)果為T(mén)#1ms*)
tof:=BOOL_TO_TOD(TRUE);(*結(jié)果為T(mén)OD#00:00:00.001*)
dat:=BOOL_TO_DATE(FALSE);(*結(jié)果為D#1970-01-01*)
dandt:=BOOL_TO_DT(TRUE);(*結(jié)果為DT#1970-01-01-00:00:01*)
2、TO_BOOL–變換
它類型變量到BOOL的轉(zhuǎn)換:當(dāng)操作數(shù)不為零時(shí),結(jié)果為T(mén)RUE,當(dāng)操作數(shù)為零時(shí),結(jié)果為FALSE;當(dāng)字符串變量的操作數(shù)為’TRUE’時(shí),結(jié)果為真,否則,結(jié)果為假。
T中的示例:
:=BYTE_TO_BOOL(2#11010101);(*結(jié)果為T(mén)RUE*)
:=INT_TO_BOOL(0);(*結(jié)果為FALSE*)
:=TIME_TO_BOOL(T#5ms);(*結(jié)果為T(mén)RUE*)
:=STRING_TO_BOOL('TRUE');(*結(jié)果為T(mén)RUE*)
3、整型數(shù)類型之間的轉(zhuǎn)換
整型數(shù)值類型到其它數(shù)值類型的轉(zhuǎn)換:當(dāng)從大類型向小類型轉(zhuǎn)換時(shí),存在丟失信息的危險(xiǎn)。如果轉(zhuǎn)換的數(shù)值超過(guò)其極限;則該數(shù)的第一個(gè)字節(jié)將被忽略。
T中的示例:
i:=INT_TO_SINT(4223);(*結(jié)果為127*)
如果你將整數(shù)4223(十六進(jìn)制為16#107f)作為SINT變量保存,其結(jié)果為127(十六進(jìn)制為16#7f)。
IL中的示例:
LD2
INT_TO_REAL
MUL3.5
4、REAL_TO-/LREAL_TO–轉(zhuǎn)換
REAL或LREAL類型到其它數(shù)值類型的轉(zhuǎn)換:數(shù)值將向上或向下取整并轉(zhuǎn)換成新的數(shù)據(jù)類型。但變量類型STRING,BOOL,REAL和LREAL除外。當(dāng)從大類型向小類型轉(zhuǎn)換時(shí),存在丟失信息的危險(xiǎn)。
請(qǐng)注意:當(dāng)向字符串變量轉(zhuǎn)換時(shí),保留16個(gè)數(shù)據(jù),如果(L)REAL數(shù)據(jù)有更多的數(shù),則第十六個(gè)數(shù)將被取整。如果字符串的長(zhǎng)度定義為短型,則從右端開(kāi)始截取。
T中的示例:
i:=REAL_TO_INT(1.5);(*結(jié)果為2*)
j:=REAL_TO_INT(1.4);(*結(jié)果為1*)
IL中的示例:
LD2.7
REAL_TO_INT
GE%MW8
5、TIME_TO-/TIME_OF_DAY–轉(zhuǎn)換
TIME或TIME_OF_DAY類型到其它類型的轉(zhuǎn)換:時(shí)間在內(nèi)部以毫秒單位及DWORD方式處理(對(duì)于TIME_OF_DAY變量,用12:00AM起始)。該值將被轉(zhuǎn)換。當(dāng)從大類型向小類型轉(zhuǎn)換時(shí),存在丟失信息的危險(xiǎn)。對(duì)于字符串類型變量,其結(jié)果為時(shí)間常數(shù)。
T中的示例:
tr:=TIME_TO_STRING(T#12ms);(*結(jié)果為'T#12ms'*)
dw:=TIME_TO_DWORD(T#5m);(*結(jié)果為300000*)
i:=TOD_TO_SINT(TOD#00:00:00.012);(*結(jié)果為12*)
6、DATE_TO-/DT_TO–轉(zhuǎn)換
DATE或DATE_AND_TIME類型到其它類型的轉(zhuǎn)換:時(shí)間在內(nèi)部以1970.01.01開(kāi)始所經(jīng)過(guò)的時(shí)間,并以秒為單位及DWORD方式處理。該值將被轉(zhuǎn)換。當(dāng)從大類型向小類型轉(zhuǎn)換時(shí),存在丟失信息的危險(xiǎn)。對(duì)于字符串類型變量,其結(jié)果為日期常數(shù)。
T中的示例:
:=DATE_TO_BOOL(D#1970-01-01);(*結(jié)果為FALSE*)
i:=DATE_TO_INT(D#1970-01-15);(*結(jié)果為29952*)
yt:=DT_TO_BYTE(DT#1970-01-15-05:05:05);(*結(jié)果為129*)
tr:=DT_TO_STRING(DT#1998-02-13-14:20);(*結(jié)果為'DT#1998-02-13-14:20'*)
7、STRING_TO–轉(zhuǎn)換
TRING類型到其它類型的轉(zhuǎn)換:字符串類型變量中必須包含有效的目標(biāo)變量類型值,否則其轉(zhuǎn)換結(jié)果為零。
T中的示例:
:=STRING_TO_BOOL('TRUE');(*結(jié)果為T(mén)RUE*)
w:=STRING_TO_WORD('abc34');(*結(jié)果為0*)
t:=STRING_TO_TIME('T#127ms');(*結(jié)果為T(mén)#127ms*)
8、TRUNC(取整)
從REAL到INT類型轉(zhuǎn)換。數(shù)值的所有部分都將被使用。當(dāng)從大類型向小類型轉(zhuǎn)換時(shí),存在丟失信息的危險(xiǎn)。
T中的示例:
i:=TRUNC(1.9);(*結(jié)果為1*).
i:=TRUNC(-1.4);(*結(jié)果為1*).
IL中的示例:
LD2.7
TRUNC
GE%MW8
-
ABB機(jī)器人標(biāo)準(zhǔn)數(shù)據(jù)類型
一、標(biāo)準(zhǔn)數(shù)據(jù)類型 1、BOOLBOOL類型變量可取值TRUE和FALSE。保留8位內(nèi)存空間。 2、整型數(shù)據(jù)類型所有的整型數(shù)據(jù)類型為: BYTE 字節(jié) WORD 字 DWORD
2012-06-09 -
ABB機(jī)器人用戶定義的數(shù)據(jù)類型
三、用戶定義的數(shù)據(jù)類型 1、數(shù)組支持一維、二維和三維數(shù)組的成員數(shù)據(jù)類型。數(shù)組可在POU的聲明部分和全局變量表中定義。 語(yǔ)法: lt;數(shù)組名>:ARRAY[..,..]OF ll1,ll2為數(shù)組維數(shù)的下限標(biāo)識(shí),ul1和ul2
2012-06-09 -
ABB機(jī)器人編程方式
四、編程方式 1、指令表IL 指令表(IL)由一系列指令組成。每條指令都由一個(gè)新行開(kāi)始,包含一個(gè)操作符以及和操作符類型相關(guān)的一個(gè)或多個(gè)操作數(shù),并用逗號(hào)分開(kāi)。在指令前可以有標(biāo)號(hào),后接一個(gè)冒號(hào)。 注解必須在一行的最后,指令之間可以插入空行
2012-06-09 -
ABB機(jī)器人全部運(yùn)算符及功能
五、CoDeSys中全部運(yùn)算符及功能名 ST中操作符 IL中操作符 IL中的修飾符 意義 ‘ 字符串分界符(例如:’string1’) [..]
2012-06-25