轉(zhuǎn)換指令是指對操作數(shù)的類型進行轉(zhuǎn)換,包括數(shù)據(jù)的類型轉(zhuǎn)換、碼的類型轉(zhuǎn)換以及數(shù)據(jù)和碼之間的類型轉(zhuǎn)換。
一、數(shù)據(jù)類型轉(zhuǎn)換
(一)字節(jié)與整數(shù)
1、字節(jié)到整數(shù)
BTI,字節(jié)轉(zhuǎn)換為整數(shù)指令。使能輸入有效時,將字節(jié)輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。字節(jié)型是無符號的,所以沒有符號擴展。
使能流輸出ENO斷開的出錯條件:SM4.3(運行時間);0006(間接尋址)。
指令格式:BTIIN,OUT
例:BTIVB0,AC0
2、整數(shù)到字節(jié)
ITB,整數(shù)轉(zhuǎn)換字節(jié)指令。使能輸入有效時,將整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成字節(jié)類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)超出字節(jié)范圍(0~255)則產(chǎn)生溢出。
移位指令影響的特殊存儲器位:SM1.1(溢出)。
使能流輸出ENO斷開的出錯條件:SM1.1(溢出);SM4.3(運行時間);0006(間接尋址)。
指令格式:ITBIN,OUT
例:ITBAC0,VB10
(二)整數(shù)與雙整數(shù)
1、雙整數(shù)到整數(shù)
DTI,雙整數(shù)轉(zhuǎn)換為整數(shù)指令。使能輸入有效時,將雙整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)超出整數(shù)范圍則產(chǎn)生溢出。
移位指令影響的特殊存儲器位:SM1.1(溢出)。
使能流輸出ENO斷開的出錯條件:SM1.1(溢出);SM4.3(運行時間);0006(間接尋址)。
指令格式:DTIIN,OUT
例:DTIAC0,VW20
2、整數(shù)到雙整數(shù)
ITD,整數(shù)轉(zhuǎn)換為雙整數(shù)指令。使能輸入有效時,將整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成雙整數(shù)類型(符號進行擴展),并將結(jié)果送到OUT輸出。
使能流輸出ENO斷開的出錯條件:SM4.3(運行時間);0006(間接尋址)。
指令格式:ITDIN,OUT
例:ITDVW0,AC0
(三)雙整數(shù)與實數(shù)
1、實數(shù)到雙整數(shù)

2、雙整數(shù)到實數(shù)
DTR,雙整數(shù)轉(zhuǎn)換實數(shù)指令。使能輸入有效時,將雙整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成實型,并將結(jié)果送到OUT輸出。
使能流輸出ENO斷開的出錯條件:SM4.3(運行時間);0006(間接尋址)。
指令格式:DTRIN,OUT
例:DTRAC0,VD100

(四)整數(shù)與BCD碼
1、BCD碼到整數(shù)
BCDI,BCD碼轉(zhuǎn)換為整數(shù)指令。使能輸入有效時,將BCD碼輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)IN的范圍為0~9999。
指令格式:BCDIOUT
例:BCDIAC0

(五)程序?qū)嵗?/p>
模擬量控制程序中的數(shù)據(jù)類型轉(zhuǎn)換。將模擬量輸入端采樣值由整數(shù)轉(zhuǎn)換為雙整數(shù),然后由雙整數(shù)轉(zhuǎn)換為實數(shù),再除以一個比例因子得到PLC可以處理的范圍內(nèi)的值。

1、編碼
ENCO,編碼指令。使能輸入有效時,將字型輸入數(shù)據(jù)IN的低有效位(值為1的位)的位號輸出到OUT所的字節(jié)單元的低4位。即用半個字節(jié)來對一個字型數(shù)據(jù)16位中的1位有效位進行編碼。
使能流輸出ENO斷開的出錯條件:SM4.3(運行時間);0006(間接尋址)。
指令格式:ENCOIN,OUT
例:ENCOAC0,VB0
以本指令為例,指令執(zhí)行情況如表所示。

2、譯碼
DECO,譯碼指令。使能輸入有效時,將字節(jié)型輸入數(shù)據(jù)IN的低4位所表示的位號對OUT所的字單元的對應(yīng)位置1,其他位置0。即對半個字節(jié)的編碼進行譯碼來選擇一個字型數(shù)據(jù)16位中的1位。
使能流輸出ENO斷開的出錯條件:SM4.3(運行時間);0006(間接尋址)。
指令格式:DECOIN,OUT

SEG,七段碼指令
使能輸入有效時,將字節(jié)型輸入數(shù)據(jù)IN的低4位有效數(shù)字產(chǎn)生相應(yīng)的七段碼,并將其輸出到OUT所的字節(jié)單元。
四、字符串轉(zhuǎn)換
1、指令種類
◆ASCII碼轉(zhuǎn)換16進制指令
◆16進制到ASCII碼
◆整數(shù)到ASCII碼
◆雙整數(shù)到ASCII碼
◆實數(shù)到ASCII碼
2、指令介紹
下面僅以ASCII碼轉(zhuǎn)換16進制指令為例說明字符串與其他數(shù)據(jù)類型之間的轉(zhuǎn)換。
ATH,ASCII碼轉(zhuǎn)換16進制指令:
指令盒中有3個操作數(shù):IN,開始字符的字節(jié)地址,字節(jié)類型;LEN,字符串的長度,字節(jié)類型,大長度為255;OUT,輸出目的開始字節(jié)地址,字節(jié)類型。使能輸入有效時,把從IN開始的長度為LEN的ASCII碼轉(zhuǎn)換為16進制數(shù),并將結(jié)果送到OUT開始的字節(jié)進行輸出。
3、程序?qū)嵗?/p>
以上面的指令為例,條指令的執(zhí)行結(jié)果如表所示,程序如圖所示。
