西門子6ES7512-1DM03-0AB0簡介
西門子PLC轉換指令
轉換指令是指對操作數的類型進行轉換,包括數據的類型轉換、碼的類型轉換以及數據和碼之間的類型轉換。 |
一、數據類型轉換 |
(一)字節(jié)與整數 1、字節(jié)到整數 BTI,字節(jié)轉換為整數指令。使能輸入有效時,將字節(jié)輸入數據IN轉換成整數類型,并將結果送到OUT輸出。字節(jié)型是無符號的,所以沒有符號擴展。 指令格式: BTI IN, OUT 例: BTI VB0, AC0 2、整數到字節(jié) ITB,整數轉換字節(jié)指令。使能輸入有效時,將整數輸入數據IN轉換成字節(jié)類型,并將結果送到OUT輸出。輸入數據超出字節(jié)范圍(0~255)則產生溢出。 指令格式: ITB IN, OUT 例: ITB AC0, VB10 (二)整數與雙整數 1、雙整數到整數 DTI,雙整數轉換為整數指令。使能輸入有效時,將雙整數輸入數據IN轉換成整數類型,并將結果送到OUT輸出。輸入數據超出整數范圍則產生溢出。 指令格式: DTI IN, OUT 例: DTI AC0, VW20 2、整數到雙整數 ITD,整數轉換為雙整數指令。使能輸入有效時,將整數輸入數據IN轉換成雙整數類型(符號進行擴展),并將結果送到OUT輸出。 指令格式:ITD IN, OUT 例:ITD VW0, AC0 (三)雙整數與實數 1、實數到雙整數 ![]() ![]() 圖1 實數到雙整數 2、雙整數到實數 DTR,雙整數轉換實數指令。使能輸入有效時,將雙整數輸入數據IN轉換成實型,并將結果送到OUT輸出。 指令格式: DTR IN, OUT 例: DTR AC0, VD100 圖2 雙整數到實數 圖3 雙整數到實數 (四)整數與BCD碼 1、BCD碼到整數 BCDI,BCD碼轉換為整數指令。使能輸入有效時,將BCD碼輸入數據IN轉換成整數類型,并將結果送到OUT輸出。輸入數據IN的范圍為0~9999。 指令格式:BCDI OUT 例:BCDI AC0 ![]() 圖4 BCD碼到整數 2、整數到BCD碼 IBCD,整數轉換為BCD碼指令。使能輸入有效時,將整數輸入數據IN轉換成BCD碼類型,并將結果送到OUT輸出。輸入數據IN的范圍為0~9999。 指令格式:IBCD OUT 例:IBCD AC0 ![]() 圖5 整數到BCD碼 (五)程序實例 模擬量控制程序中的數據類型轉換。將模擬量輸入端采樣值由整數轉換為雙整數,然后由雙整數轉換為實數,再除以一個比例因子得到plc可以處理的范圍內的值。 圖6 程序實例 |
二、編碼和譯碼 |
1、編碼 ENCO,編碼指令。使能輸入有效時,將字型輸入數據IN的有效位(值為1的位)的位號輸出到OUT所的字節(jié)單元的低4位。即用半個字節(jié)來對一個字型數據16位中的1位有效位進行編碼。 指令格式: ENCO IN, OUT 例: ENCO AC0, VB0 以本指令為例,指令執(zhí)行情況如表所示。 圖7 編碼指令執(zhí)行結果 2、譯碼 DECO,譯碼指令。使能輸入有效時,將字節(jié)型輸入數據IN的低4位所表示的位號對OUT所的字單元的對應位置1,其他位置0。即對半個字節(jié)的編碼進行譯碼來選擇一個字型數據16位中的1位。 指令格式: DECO IN, OUT 例: DECO VB0, AC0 圖8 譯碼指令執(zhí)行結果 |
三、七段碼 |
SEG,七段碼指令 使能輸入有效時,將字節(jié)型輸入數據IN的低4位有效數字產生相應的七段碼,并將其輸出到OUT所的字節(jié)單元。 |
四、字符串轉換 |
1、指令種類 2、指令介紹 下面僅以ASCII碼轉換16進制指令為例說明字符串與其他數據類型之間的轉換。 ATH,ASCII碼轉換16進制指令: 指令盒中有3個操作數:IN,開始字符的字節(jié)地址,字節(jié)類型;LEN,字符串的長度,字節(jié)類型,最大長度為255;OUT,輸出目的開始字節(jié)地址,字節(jié)類型。使能輸入有效 時,把從IN開始的長度為LEN的ASCII碼轉換為16進制數,并將結果送到OUT開始的字節(jié)進行輸出。 3、程序實例 以上面的指令為例,條指令的執(zhí)行結果如表所示,程序如圖所示。 圖9 指令ATH執(zhí)行結果 圖10 程序實例 |