周 敏,劉 彬
(太原工業學院自動化系,山西太原 030008)
LED電子顯示屏是隨著計算機及機關的微電子、光電子技術的迅猛發展而形成的一種新型信息顯示媒體。它利用發光二極管構成的點陣模塊或像素單元組成的可變面積的顯示屏幕,以可靠性高、使用壽命長、環境適應能力強、性能價格比高、使用成本低等特點,在短短十數年中,迅速成長為平板顯示的主流產品,在信息顯示領域得到了廣泛的應用[1]。
可編程控制器在控制自動化領域里也以其高可靠性及驅動設備簡便實用得到了廣泛應用,在這里設計了一個GE PAC為控制器的點陣顯示系統[2]。
LED點陣顯示屏由4個8×8的LED點陣塊組成,形成16×16的矩形點陣。使用PAC的32個輸出點,即%Q00001~%Q00016分別控制16行,%Q00017~%Q00032分別控制16列。當行與列均有輸出時,相應的點被點亮,如,當%Q00001為ON,%Q00017也為ON時,其對應第一行第一列的發光二極管LED1亮,PAC與點陣顯示屏的接線原理圖如圖1所示。

圖1 PAC與點陣的接線原理圖
點陣LED一般采用掃描式顯示[3],實際運用分為三種方式:(1)點掃描;(2)行掃描;(3)列掃描。若使用第一種方式,其掃描頻率必須大于16×64=1 024 Hz,周期小于1 ms即可。若使用第二和第三種方式,則頻率必須大于16×8=128 Hz,周期小于7.8 ms即可符合視覺暫留要求。
PAC與PLC一樣,其工作方式為掃描方式,其掃描周期一般最小可達1 ms,因此本系統采用行掃描顯示方式對點陣進行編程。
(1)PAC的工作及流程如圖2所示。

圖2 PAC工作流程
(2)PAC編程思路[4]
①采用動態顯示方式,首先在第一個掃描周期利用DATA-INIT-WORD指令將所要顯示的字符編碼輸入。如顯示“GEPAC”字樣(如圖3所示),則需在PAC程序中將字符編碼在第一個掃描周期時輸入編碼,編碼可采用16進制數表示,如表1所示,此編碼從第一位起,亮點為1,不亮為0,每16位為一個字,按字錄入,可采用2進制、10進制或16進制數錄入,本設計程序中采用16進制數進行錄入,并存于%R00001-%R00048中。

圖3 “GEPAC”字符點陣顯示示例

表1 “GEPAC”字符16進制編碼
②用FOR循環指令實現:每隔半秒鐘,將下一幀數據導入顯示區,顯示下一幀(動態顯示,左移一位),程序段如圖4所示。

圖4 采用FOR循環指令將下一幀數據導入顯示區程序段
③用循環移位ROL指令和轉鼓指令實現:每隔一個掃描周期將顯示區的字符編碼輸出,顯示下一行。實現下一行掃描。

圖5 轉鼓指令格式
(1)DRUM指令格式及其說明
如圖5所示,DRUM功能塊像機械轉鼓排序一樣。轉鼓排序器在一組預存的“樣本組”(??,最長為128個字)之間移步,將樣本按順序編號(也稱為“步”),選擇編號(或“步”)所對應的值并復制到一組16位離散的輸出Q對應的基準地址。
控制塊地址address(????)輸入是DRUM的參數塊的“起始步”也稱“激活步”,DRUM功能塊第一次被激活時,自動將“激活步”對應的樣本值輸出,并在每次S從OFF到ON跳變時,轉鼓排序器移動一步,并將“步”值寫入address中,稱作“活動步”。
DRUM功能塊一旦被激活并持續接收能流時,總是復制“活動步”——address中內容所對應的樣本位置中的值至Q。
在第一次掃描時,初始化“激活步”。
轉鼓排序器控制塊包含操作轉鼓排序器的必要信息,其中首地址address中存放為活動步位置,指定樣本組里復制進輸出存儲單元的元素位置,address+1中存放預設步位置,指定當復位信號R時ON時,復制進活動步輸出的一個樣本組元素位置。
(2)轉鼓指令中各操作數功能說明
S:當功能塊接收到能流,且S從OFF到ON跳變時,轉鼓排序器移動一步。當R激活,功能塊S無效。
R:當DRUM和R都接收到能流,DRUM復制控制塊address+1中的“預設步”到控制塊的“活動步”地址address里。
PTN:樣本字組的起始地址。
DT:暫停時間,若使用DT操作數,若使用,則必須使用DTO(停頓超時,當前步的暫停時間一到,DTO被置位。)操作數,反之亦然。DT操作數是存儲器的字長的起始地址。這里的長度就是步數。每個DT字對應一個PTN字。每個字的值表示對應轉鼓排序器對應步的停留時間,單位是0.1秒。給定步的停留時間一到,DTO位置位。如果暫停時間固定,轉鼓排序器要等停留時間到才能進入下一步。程序軟件不能自動生成字組,若使用,必須給DT提供足夠的內存空間。
Q:存儲器中一個字,對應當前活動步的PTN元素。
(3)轉鼓指令程序實現,如圖6所示。
程序中:
(1)%R00420-%R00424中分別存入16、1、0、0、0,表示DRUM的“激活步”為16,“預設步”為1,程序中當Q16為ON時,轉回復位至第1步,重新從第一行進行掃描。

圖6 移位指令和轉鼓指令實現每兩個掃描周期一次行掃描
(2)FOR循環指令中,采用間接尋址方式(@R00100)將下一幀字符編碼傳送至顯示區,用自加3指令將字符編碼分割為每次顯示16位。
轉鼓指令DRUM是GE PAC中特有的一個指令功能塊。論文使用DRUM指令,與其他指令配合,實現了LED點陣的動態顯示,編程方法新穎,思路巧妙,程序通用,只需要一次性輸入所要顯示的字符編碼,即可在LED顯示屏上進行動態顯示,而且不論顯示多少字符,均不影響顯示速度和掃描頻率。其不足之處在于目前還沒有各種字符的標準編碼,需要人工編碼。
[1]聞世玉.有關LED電子顯示屏的探討[J].金田,2013(02):322,343.
[2]吉順平,孫承志,路明.“可編程控制器及應用”創新教學方法研究[J].電氣電子教學學報,2008,30(4):10-12.
[3]周杰英,陳曉帆,王濤,等.點陣LED多功能動態顯示實驗系統設計[J].實驗室研究與探索,2010,29(9):36-40.
[4]董海兵.基于PLC和顯示控制屏的信息輪巡的顯示方法設計[J].制造業自動化,2008,30(1):83-87.
[5]郁漢琪,王華.可編程自動化控制器(PAC)技術及應用——基礎篇[M].北京:機械工業出版社,2010.