河南西門子S7-1200PLC模塊代理經(jīng)銷商

PLC譯碼指令(DECO)和編碼指令(ENCO)
(1)格式:譯碼指令(DECO)和編碼指令(ENCO)的梯形圖如圖6-45所示。

圖6-45 譯碼指令(DECO)和編碼指令(ENCO)的梯形圖
(2)功能:譯碼指令(DECO)的輸入數(shù)據(jù)IN是字節(jié)類型,輸出數(shù)據(jù)OUT是字類型。當(dāng)使能輸入有效時(shí),將字節(jié)型輸人數(shù)據(jù)的低四位所表示的大小(0~15),在OUT的字單元中所對(duì)應(yīng)的二進(jìn)制位置1,其他位均為0。
編碼指令( ENCO)輸入數(shù)據(jù)IN是字類型,輸出數(shù)據(jù)OUT是字節(jié)類型。當(dāng)使能輸入有效時(shí),將輸入字中為1的低位的位號(hào)(0~15)寫到OUT所的字節(jié)單元的低四位。
(1)格式:七段顯示譯碼指令的梯形圖如圖6-44所示。
圖6-44 七段顯示譯碼指令的梯形圖
(2)功能:當(dāng)使能輸入有效時(shí),將字節(jié)型輸入數(shù)據(jù)IN的低四位有效數(shù)字產(chǎn)生相應(yīng)的七段顯示碼,并將其輸出到OUT的單元。輸入/輸出如表6-2所示。
表6-2 七段顯示譯碼指令(SEG)的輸入和輸出關(guān)系

ASCII碼轉(zhuǎn)換指令包括ASCII碼轉(zhuǎn)換為16進(jìn)制數(shù)指令(ATH)、16進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼指令(HTA)、整數(shù)轉(zhuǎn)換為ASCII碼指令(ITA)、雙整數(shù)轉(zhuǎn)換為ASCII碼指令(DTA)和實(shí)數(shù)轉(zhuǎn)換為ASCII碼指令(RTA)。
(1)格式:ATH指令和HTA指令的梯形圖如圖6-40所示。在ATH指令中,IN是需要轉(zhuǎn)換字符的開始地址.輸入字符的編碼范圍為30~39H(對(duì)應(yīng)字符O~9)和41~46H(對(duì)應(yīng)字符A~F);LEN是轉(zhuǎn)換字符的長(zhǎng)度,ASCII碼字符串的大長(zhǎng)度為255個(gè)字符。在HTA指令中,IN是要轉(zhuǎn)換的16進(jìn)制數(shù)的開始地址,LEN是要轉(zhuǎn)換的16進(jìn)制數(shù)的長(zhǎng)度。

圖6-40 ATH指令和HTA指令的梯形圖

圖6-41 ITA指令、DTA指令和RTA指令的梯形圖

ITA指令、DTA指令和RTA指令的梯形圖如圖6-41所示。在ITA和DTA指令中,FMT是字節(jié)型格式操作數(shù),用于轉(zhuǎn)換格式。FMT的高四位(D7D6D5D4)必須為零;第四位(D3)用于設(shè)置小數(shù)點(diǎn)的顯示方式,當(dāng)設(shè)定為O時(shí)小數(shù)點(diǎn)用圓點(diǎn)表示,當(dāng)設(shè)定為1時(shí)小數(shù)點(diǎn)用逗號(hào)表示;低三位(D2D1D0)的有效取值范圍是0~5,取0時(shí)表示沒(méi)有小數(shù)位數(shù),取1~5時(shí)分別表示1~5位小數(shù)位數(shù)。在RTA指令中,FMT的高四位(D7D6D5D4)用于輸出緩沖器的大小,有效取值范圍是3~15;第四位(D3)用于設(shè)置小數(shù)點(diǎn)的顯示方式,當(dāng)設(shè)定為0時(shí)小數(shù)點(diǎn)用點(diǎn)表示,當(dāng)設(shè)定為1時(shí)小數(shù)點(diǎn)用逗號(hào)表示;低三位( D2D1D0)的有效取值范圍是0~5,取0時(shí)表示沒(méi)有小數(shù)位數(shù),取1~5時(shí)分別表示1~5位小數(shù)位數(shù)。
(2)功能:當(dāng)使能輸入有效時(shí),ATH指令將從IN字符開始,長(zhǎng)度為LEN的ASCII碼字符串轉(zhuǎn)換成從OUT開始的十六進(jìn)制數(shù)。當(dāng)使能輸入有效時(shí),HTA指令將從IN字符開始,長(zhǎng)度為LEN的十六進(jìn)制數(shù)轉(zhuǎn)換成從OUT開始的ASCII碼字符串。
整數(shù)到ASCII碼轉(zhuǎn)換指令(ITA),當(dāng)使能輸入有效時(shí),把輸入端(IN)的整數(shù)轉(zhuǎn)換成一個(gè)ASCII碼字符串。轉(zhuǎn)換結(jié)果存放在OUT的連續(xù)8個(gè)字節(jié)中,ASCII碼字符串始終是8個(gè)字符,高位存放在OUT中,低位存放在OUT+7地址單元中。正值不帶符號(hào)寫入輸出緩沖區(qū)中,負(fù)值帶負(fù)號(hào)寫入輸出緩沖區(qū)中。
雙整數(shù)到ASCII碼轉(zhuǎn)換指令(DTA),是把輸入端(IN)的整數(shù)轉(zhuǎn)換成一個(gè)ASCII碼字符串。轉(zhuǎn)換結(jié)果存放在OUT的連續(xù)12個(gè)字節(jié)中,ASCII碼字符串始終是12個(gè)字符,轉(zhuǎn)換結(jié)果高位存放在OUT中,低位存放在OUT+11地址單元中。正值不帶符號(hào)寫入輸出緩沖區(qū),負(fù)值帶負(fù)號(hào)寫入輸出緩沖區(qū)。
實(shí)數(shù)到ASCII碼轉(zhuǎn)換指令(RTA),是把輸入端(IN)的實(shí)數(shù)轉(zhuǎn)換成一個(gè)ASCII碼字符串。轉(zhuǎn)換結(jié)果放在OUT的連續(xù)3~15個(gè)字節(jié)中,高位存放在OUT中,低位存放在OUT+14地址單元中。正值不帶符號(hào)寫入輸出緩沖區(qū)中,負(fù)值帶負(fù)號(hào)寫入輸出緩沖區(qū)中。S7-200 CPU采用的浮點(diǎn)數(shù)格式大支持7位有符號(hào)數(shù),不能顯示大于7位的有符號(hào)數(shù)。
【例6-7】編寫一個(gè)將VD100中存儲(chǔ)的ASCII碼轉(zhuǎn)換成十六進(jìn)制數(shù)的程序。已知(VB100)=33,(VB101)=32,(VB102) =41,(VB103) =45。
解設(shè)計(jì)的程序如圖6-42所示。

圖6-42 梯形圖程序
在PLC內(nèi)存中,ASCII字符是以編碼方式存儲(chǔ)的。圖6-42的程序運(yùn)行結(jié)果是:(VB200) =32,(VB201)=AE。

【例6-8】整數(shù)到ASCII碼轉(zhuǎn)換指令(ITA)應(yīng)用舉例,梯形圖如圖6-43所示。假定VW2的內(nèi)容是12345,則執(zhí)行ITA指令后,(VB10) =20(空格字符‘’),(VB11)=20,(VB12)=31(字符‘1’),(VB13)=32(字符‘2’),(VB14)=2C(字符‘,’),(VB15)=33(字符‘3’),(VB16) =34(字符‘4’),(VB17) =35(字符‘5’)。
說(shuō)明:在圖6-43中,轉(zhuǎn)換格式操作數(shù)16# 0B表示有3位小數(shù),小數(shù)點(diǎn)用逗號(hào)表示;不足8個(gè)ASCII字符的部分用空格(ASCII編碼為20H)*。

圖6-43 梯形圖程序
河南西門子S7-1200PLC模塊代理經(jīng)銷商