李 俊
(臨汾職業(yè)技術(shù)學(xué)院,山西 臨汾 041000)
七段數(shù)碼管在PLC編程中經(jīng)常使用,如在實現(xiàn)四位或六位搶答器電路設(shè)計時,就需要用到七段數(shù)碼管進(jìn)行臺號的顯示;再比如十字路口紅綠燈程序的編寫過程中也要用到七段數(shù)碼管進(jìn)行倒計時的顯示。本文就同一個控制要求采用不同的方法去實現(xiàn)數(shù)碼顯示,并對比各種編程方法的使用特點。
圖1 七段數(shù)碼管的數(shù)顯外形
基本指令是以觸點、線圈、定時器、置位指令、復(fù)位指令等作為梯形圖的組成部分來進(jìn)行程序編寫的編程方法。在用基本指令實現(xiàn)七段數(shù)碼顯示時,將每一個發(fā)光二極管作為一個輸出,用線圈表示來進(jìn)行程序的編寫。首先需要列寫控制要求中所有的I/O地址,并填寫到表1中。然后統(tǒng)計出每一段發(fā)光二極管點亮所對應(yīng)的輸入端的全部情況,并將其在梯形圖中并聯(lián)用于驅(qū)動對應(yīng)的線圈,這樣就可以得到用基本指令編寫的梯形圖。圖2為用基本指令實現(xiàn)a段和b段發(fā)光二極管發(fā)光的梯形圖。
表1 I/O地址分配表
圖2中,網(wǎng)絡(luò)1:統(tǒng)計SB1按鍵按壓的次數(shù);網(wǎng)絡(luò)2:SB2鍵驅(qū)動輔助繼電器M0.0并自鎖;網(wǎng)絡(luò)3:a段發(fā)光二極管的控制程序;網(wǎng)絡(luò)4:b段發(fā)光二極管的控制程序。
圖2 基本指令實現(xiàn)a段和b段發(fā)光二極管發(fā)光的梯形圖
采用基本指令對七段數(shù)碼管進(jìn)行程序編寫比較適合S7-200編程的初學(xué)者,其特點是容易理解,無論是想顯示數(shù)字還是特殊的英文字母,程序中所需的輸出線圈的網(wǎng)絡(luò)最多只有7個,只是在輸出線圈前端所加的控制條件不同而已,且輸出端口I/O地址隨機(jī)不受約束。
傳送指令用于存儲區(qū)之間或存儲區(qū)與過程輸入、輸出之間交換數(shù)據(jù),分為數(shù)據(jù)傳送指令和數(shù)據(jù)塊傳送指令。數(shù)據(jù)傳送指令又包括一次傳送8位的字節(jié)傳送指令MOV-B、一次傳送16位的字傳送指令MOV-W、一次傳送32位的雙字傳送指令MOV-D和實數(shù)傳送指令MOV-R。對于七段數(shù)碼顯示而言,我們選擇的是字節(jié)傳送指令MOV-B,其梯形圖格式如圖3所示,功能是:當(dāng)EN使能輸入端有有效信號輸入時,MOV-B指令會把IN輸入端的數(shù)據(jù)傳送給OUT輸出端所指定的地址,此時目標(biāo)地址中的相應(yīng)位就會有對應(yīng)的輸出,同時ENO使能輸出端存在有效信號。其中IN輸入端輸入的數(shù)字可以是十進(jìn)制數(shù)(此時不需標(biāo)注進(jìn)制符號),也可以是二進(jìn)制(需標(biāo)注“2#”)和十六進(jìn)制(需標(biāo)注“16#”)。
圖3 字節(jié)傳送指令的梯形圖
當(dāng)我們選擇使用傳送指令來實現(xiàn)七段數(shù)碼顯示時,首先確定其I/O地址中的輸出必須是一個整字節(jié),并列寫出要顯示的符號與對應(yīng)位的數(shù)值關(guān)系,即真值表,如表2所示。
表2 真值表
圖4 顯示數(shù)字“”的三種傳送進(jìn)制數(shù)的梯形圖
圖5 傳送指令實現(xiàn)數(shù)碼顯示“”、“”、“”、“”的梯形圖
SEG指令是專門進(jìn)行數(shù)字顯示的指令,其梯形圖如圖6所示。
圖6 SEG指令的梯形圖
圖7 SEG指令實現(xiàn)數(shù)碼顯示“”、“”、“”、“”的梯形圖
七段數(shù)碼顯示在PLC編程控制中經(jīng)常使用,根據(jù)控制要求可以選擇適當(dāng)?shù)姆绞饺ミM(jìn)行程序的編寫,盡可能使程序簡單有效,降低程序所占內(nèi)存,提高反應(yīng)速度和可靠性。在日常的實訓(xùn)中應(yīng)多加練習(xí),盡量嘗試多種方法去實現(xiàn)以便今后能更加靈活的使用。