陜西西門子S7-1200PLC代理經(jīng)銷優(yōu)勢價(jià)格

西門子S7-200 PLC的ASCII碼與十六進(jìn)制數(shù)的互轉(zhuǎn)
鑒于信息交換的重要性及為統(tǒng)一文字符號的編碼標(biāo)準(zhǔn),使不同廠家、不同機(jī)型的計(jì)算機(jī)皆能使用同一套標(biāo)準(zhǔn)化的信息交換碼,美國標(biāo)準(zhǔn)局制定了ASCII碼(America Standard Code forInformation Interchange,美國信息交換標(biāo)準(zhǔn)碼)作為數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)碼。早期使用7個位來表示英文字母、數(shù)字0~9及其他符號,現(xiàn)在則使用8個位,共可表示256個不同的文字與符號,是目前各計(jì)算機(jī)系統(tǒng)中使用普遍也廣泛的英文標(biāo)準(zhǔn)碼。相對于ASCII碼,中文系統(tǒng)中使用廣泛的內(nèi)碼則為Big-5碼。ASCII碼與十六進(jìn)制數(shù)的互轉(zhuǎn)指令如圖3-87所示。

圖3-87 ASCII碼與十六進(jìn)制數(shù)的互轉(zhuǎn)指令
(a) ASCII碼轉(zhuǎn)換為十六進(jìn)制數(shù)指令;(b)十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼指令
(1) ASCII碼轉(zhuǎn)換為十六進(jìn)制數(shù)。ASCII碼轉(zhuǎn)換為十六進(jìn)制(Hex)數(shù)指令的梯形圖由助記符( ATH)、使能輸入端(EN)、ASCII碼起始字節(jié)(IN)、字符長度(Length,LEN)和十六進(jìn)制數(shù)的輸出端( OUT)構(gòu)成;其語句表由操作符(ATH)、ASCII碼起始字節(jié)地址(IN)、16進(jìn)制數(shù)輸出地址(OUT)和字符長度(LEN)構(gòu)成,如圖3-87 (a)所示。
ASCII碼轉(zhuǎn)換為十六進(jìn)制數(shù)指令可將ASCII碼轉(zhuǎn)換為十六進(jìn)制數(shù)。當(dāng)EN=1時(shí),把從IN開始、以LEN為長度的ASCII碼轉(zhuǎn)換成十六進(jìn)制數(shù),結(jié)果存放于以OUT為開始地址的單元中。
數(shù)據(jù)范圍:
1) ASCII起始字節(jié)地址IN:VB、IB、QB、MB、SMB、SB、LB、*VD、*AC、*LD。
2)十六進(jìn)制數(shù)OUT:VB、IB、QB、MB、SMB、SB、LB、*VD、*AC、*LD。
3)字符長度LEN:VB、IB、QB、MB、SMB、SB、AC、常數(shù)、LB、*VD、*AC、*LD。
【例3-31】圖3-88是一個ASCII碼轉(zhuǎn)換為十六進(jìn)制數(shù)指令編程的例子,當(dāng)I1.2 =1時(shí),以VB12為開始地址的連續(xù)3(LEN -3)個單元VB12、VB13、VB14中的ASCII碼字符串33、45、41被轉(zhuǎn)換成十六進(jìn)制數(shù)(3EAx),其中x表示VB25的“半字節(jié)”,即低四位的值未改變,結(jié)果存入以VB24為開始地址的連續(xù)單元中。把ASCII碼轉(zhuǎn)換成十六進(jìn)制數(shù)時(shí),是從高位到低位依次存到單元中的。

圖3-88 ASCII碼轉(zhuǎn)換為十六進(jìn)制數(shù)指令的工作原理
(2)十六進(jìn)制數(shù)轉(zhuǎn)換為ASCH碼。十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII指令的梯形圖由助記符( HTA)、使能輸入端(EN)、十六進(jìn)制數(shù)輸入端(IN)、數(shù)據(jù)長度(LEN)和ASCII輸出端( OUT)構(gòu)成;其語句表由操作碼(HTA)、十六進(jìn)制數(shù)輸入(IN)、ASCII碼輸出(OUT)和數(shù)據(jù)長度( LEN)構(gòu)成,如圖3-87 (b)所示。

十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼指令可將十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼。當(dāng)EN=1時(shí),把從IN開始、以LEN為長度的十六進(jìn)制數(shù)轉(zhuǎn)換成ASCII碼,存于以OUT為起始地址的連續(xù)單元中。LEN的取值范圍為0~255;十六進(jìn)制數(shù)(0~F)對應(yīng)的合法的ASCII碼字符為:30~39和41~46。指令影響的特殊存儲器標(biāo)志位:SMl.7(非法ASCII碼)。
數(shù)據(jù)范圍:
1)十六進(jìn)制數(shù)IN:VB、IB、QB、MB、SMB、LB、*VD、*AC、*LD。
2) ASCII碼OUT: VB、IB、QB、MB、SMB、LB、*VD、*AC、*LD。
3)字符長度LEN:VB、IB、QB、MB、SMB、LB、AC、常數(shù)、*VD、*AC、*LD。
【例3-32】 圖3-89給出了一個十六進(jìn)制轉(zhuǎn)換為ASCII指令編裎的例子,當(dāng)I1.2 =1時(shí),以VB12為開始地址的連續(xù)2(LEN =2)個單元VB12、VB13字節(jié)中的十六進(jìn)制數(shù)(43、65)被轉(zhuǎn)換成ASCII碼(34、33、36、35),結(jié)果存入以VB24為開始地址的連續(xù)單元VB24、VB25、VB26、VB27中。

圖3-89 十六進(jìn)制轉(zhuǎn)換為ASCII碼指令的工作原理
段碼指令的梯形圖由助記符( Segment,SEG)、使能輸入端(EN)、字節(jié)數(shù)據(jù)輸入端(IN)和段碼輸出端(OUT)構(gòu)成;其語句表由操作碼( SEG)、字節(jié)數(shù)據(jù)輸入(IN)和段碼輸出(OUT)構(gòu)成,如圖3-85 (a)所示。
圖3-85 段碼指令與LED數(shù)碼顯示器

(a)段碼指令;(b) LED數(shù)碼顯示器
段碼指令可以將字節(jié)數(shù)據(jù)轉(zhuǎn)換成七段段碼輸出,當(dāng)轉(zhuǎn)換允許時(shí),把輸入字節(jié)數(shù)據(jù)IN低四位的有效值轉(zhuǎn)換成七段顯示碼,結(jié)果傳送到OUT中。
數(shù)據(jù)范圍:
1)字節(jié)數(shù)據(jù)IN:VB、IB、QB、MB、SMB、SB、AC、LB、常數(shù)、*VD、*AC、*LD。
2)段碼數(shù)據(jù)OUT: VB、IB、QB、MB、SMB、SB、AC、LB、*VD、*AC、*LD。
通常使用的LED是由7個發(fā)光二極管排列成的,七段LED的陽極連在一起稱為共陽極接法,而陰極接在一起的稱為共陰極接法。每段LED的筆畫分別稱為a、b、c、d、e、f、g,另外有一段構(gòu)成小數(shù)點(diǎn),如圖3-85 (b)所示。每個七段顯示碼占用一個字節(jié),用它顯示一個字符,如74LS48或CD4511可以把8421編碼的十進(jìn)制譯成七段a、b、c、d、e、f、g輸出,用以驅(qū)動共陰極LED。LED數(shù)碼顯示器共陰極和共陽極段碼見表3-15。
表3-15 LED數(shù)碼顯示器共陰極和共陽極段碼
【例3-30】 圖3-86是一個段碼指令編程的例子,當(dāng)I1.2 =1時(shí)啟動段碼指令,VB12中的數(shù)值(0~15)被譯成點(diǎn)亮七段顯示器的數(shù)據(jù),利用這個數(shù)據(jù)可以驅(qū)動七段顯示器。如圖中原VB12中的內(nèi)容為05,執(zhí)行段碼指令以后,在OUT單元(AC3)中被譯成0110 1101 (6D),該信號可以使七段顯示器點(diǎn)亮“5”。

圖3-86 段碼指令的工作原理

陜西西門子S7-1200PLC代理經(jīng)銷優(yōu)勢價(jià)格