摘 要:PLC設計的控制系統(tǒng)顯示界面比較單調,一般通過觀察控制柜上設置的指示燈或PLC本身的LED燈來了解控制儀的狀態(tài),對于像液位采集與控制之類的儀器儀表,這種顯示界面遠遠不夠。為了彌補PLC顯示界面的不足,可以采用LED光柱顯示器來擴展其顯示功能。通過實際調試運行,選用MAX7219來驅動光柱顯示器,與PLC之間采用串行方式通信,不僅占用PLC資源少,而且能滿足實時監(jiān)控的需要。
關鍵詞:光柱顯示;數(shù)碼驅動;PLC接口;MAX7219
中圖分類號:TN87 文獻標識碼:B 文章編號:1004373X(2008)1518103
Interface Technology of LED Light Beam Display and PLC
ZHANG Qun
(Leshan Vocational and Technical College,Leshan,614000,China)
Abstract:The display interface of PLC control system design is relatively monotonous.The state of the controller by observing the light of control cabinet or the LED lights of PLC.However,it is not far from enough for this display interface such as instrumentation of level acquisition.In order to compensate for the lack of PLC display interface,LED light beam display can be used to expand its display function. By means of practice debug,the chip MAX7219 is used to drive the light beam display and has serial communication with PLC.Not only occupying PLC′s resources are little,but also real-time monitoring necessaries are meeted.
Keywords:light beam display;digital drive;PLC interface;MAX7219
PLC不僅具有傳統(tǒng)繼電器控制系統(tǒng)的控制功能,而且能擴展輸入輸出模塊,特別是可以擴展一些智能控制模塊,構成不同的控制系統(tǒng),將模擬量輸入輸出控制和現(xiàn)代控制方法融為一體,實現(xiàn)智能控制、閉環(huán)控制、多控制功能一體的綜合控制?,F(xiàn)代PLC以集成度高、功能強、抗干擾能力強、組態(tài)靈活、工作穩(wěn)定受到普遍歡迎,在傳統(tǒng)工業(yè)的現(xiàn)代化改造中發(fā)揮越來越重要的作用。但PLC設計的控制系統(tǒng)顯示界面比較單調,一般通過觀察控制柜上設置的指示燈或PLC本身的LED燈來了解控制儀的狀態(tài),對于像液位采集與控制之類的儀器儀表,這種顯示界面遠遠不夠。為了彌補PLC顯示界面的不足,可以采用LED光柱顯示器或PC機顯示。本文提出了一種基于MAX7219的LED光柱顯示器與PLC的接口技術。
1 LED光柱顯示器簡介
LED光柱顯示器是由若干LED管芯按規(guī)定長度等距排列組成,因具有顯示醒目、直觀,亮度均勻,可靠性高以及成本低、抗振、耐沖擊、體積小、重量輕且具有連續(xù)顯示工業(yè)參數(shù)變化趨勢等特點已用于各種顯示調節(jié)儀表,作為過程量或控制量以及閥位的模擬指示。
LED光柱顯示器具有紅、綠、橙、黃等不同顏色,有共陰和共陽兩種類型。按所含發(fā)光二極管數(shù)有101線(或100線)、64線、51線等規(guī)格,其中一個LED(對101線、51線等產品)一般用于電源指示,也可以作其他用途或不用,而另外的LED一般組成×8或×10結構,采用行列掃描方式以節(jié)省資源。如100線有10×10結構和8×13結構,64線有8×8結構。本文選用64線的共陰接法的LED光柱顯示器。
2 MAX7219管腳和功能說明
MAX7219是MAXIM公司生產的串行輸入/輸出共陰極數(shù)碼管顯示驅動芯片,一片MAX7219可驅動8個7段(包括小數(shù)點共8段)數(shù)字LED或64線LED光柱顯示器。該芯片具有10 MHz傳輸率的三線串行接口可與任何微處理器相連,只需一個外接電阻即可設置所有LED的段電流。它的操作很簡單,PLC只需通過三個輸出端口就可以將相關的指令寫入MAX7219的內部指令和數(shù)據(jù)寄存器,同時它還允許用戶選擇多種譯碼方式和譯碼位。此外它還支持多片MAX7219串聯(lián)方式,這樣PLC就可以通過3根線(即串行數(shù)據(jù)線、串行時鐘線和芯片選通線)控制更多的LED顯示。
MAX7219引腳排列參見圖1。其中,SEG A~SEG G和SEG DP分別為LED數(shù)碼管七段驅動器線和小數(shù)點驅動器,供給顯示器電流,用于驅動LED光柱顯示器時則為每段中的8只發(fā)光二極管提供驅動電流;DIG0~DIG7為8位數(shù)字位或光柱顯示器的8段驅動線輸入,它從共陰極顯示器吸收電流。ISET為電流調節(jié)端,通過一只電阻與電源相連來調節(jié)最大段電流,以改變LED顯示亮度。DIN是串行數(shù)據(jù)輸入端,DOUT為串行數(shù)據(jù)輸出端,輸入到DIN的數(shù)據(jù)在16.5個時鐘周期后送到DOUT端,以便在級聯(lián)時傳送到下一片MAX7219。CLK最高頻率可達10 MHz,在輸入時鐘的每個上升沿均有一位數(shù)據(jù)由DIN端移入到內部寄存器中;選通端LOAD用來裝載數(shù)據(jù),在LOAD的上升沿,16位串行數(shù)據(jù)被鎖存到數(shù)據(jù)或控制寄存器中,LOAD必須在第16個時鐘上升沿的同時或之后、在下一個時鐘上升沿之前變高,否則數(shù)據(jù)將被丟失。每組數(shù)據(jù)為16 位二進制數(shù)據(jù)包,其格式如表1所示。
其中D15~D12位不用,可為任意值,通常全取1。D11~D8位為內部5個控制寄存器和8個LED顯示數(shù)據(jù)寄存器的地址,D7~D0位為控制寄存器的命令字或8個LED數(shù)碼管待顯示的數(shù)據(jù),因為控制寄存器與顯示數(shù)據(jù)寄存器獨立編址,所以可以通過程序對每個寄存器進行操作。一般情況下,程序先送控制命令,后向顯示寄存器送數(shù)據(jù),每16 位為一組,從高位地址字節(jié)最高位開始送,直到低位數(shù)據(jù)字節(jié)最后一位。MAX7219內部有14個可尋址的控制寄存器和數(shù)據(jù)寄存器,各寄存器的功能及地址如表2所示。
其中,地址F0H為空操作寄存器,允許數(shù)據(jù)從輸入到輸出直接通過,可用于設備串接。
地址F1H~F8H為顯示RAM區(qū),分別對應DIG0~DIG7引腳的8段LED顯示數(shù)據(jù)。
地址F9H為譯碼控制寄存器,譯碼方式寄存器可以對每個數(shù)據(jù)位進行設置,使其為B碼譯碼方式或不譯碼方式。寄存器中的每一位和一個數(shù)據(jù)位相對應。為“1”時,選擇B譯碼方式,為“0”選擇不譯碼方式。當用于驅動LED光柱顯示器時,應設置為不譯碼方式,此時,數(shù)據(jù)D7~D0分別對應每段光柱顯示器VD8~VD1發(fā)光二極管。
地址FAH為顯示亮度寄存器,通過對該寄存器的D3~D0位寫入不同的數(shù)值可實現(xiàn)對LED顯示亮度的控制(D7~D4不用,可為任意值),從×0H到×FH共16級可調。D3~D0的值越大,LED顯示越亮。在模擬控制方式時,調節(jié)V+與ISET端之間的外接電阻Rset的阻值可控制LED段電流的大小,達到硬件調節(jié)亮度的目的。
地址FBH為掃描段數(shù)寄存器,其D3~D0位數(shù)值設定為00H~07H(D7~D4不用,可為任意值),表示顯示器動態(tài)掃描段數(shù)為1~8。
地址FCH為待機模式控制寄存器,當其D0位為0時(D7~D1不用,可為任意值),MAX7219處于停機狀態(tài),掃描振蕩器停振,所有顯示器消隱,寄存器數(shù)據(jù)保持不變;當D0為1時,正常工作。
地址FFH為顯示測試寄存器,當其D0位為0時(D7~D1不用,可為任意值),正常工作;當D0為1時處于測試狀態(tài),全部LED顯示器的所有字段都以最大亮度接通顯示。
3 硬件組成
現(xiàn)以三菱公司小型PLC系列繼電器輸出型為例,LED光柱顯示器與PLC的接口電路如圖1所示。64線光柱顯示器構成8×8結構,由一片MAX7219驅動。因PLC輸出模塊已具有隔離PLC內部電路與外部執(zhí)行元件的作用,因此將PLC的Y0,Y1,Y2輸出點經(jīng)電平轉換后分別作為MAX7219的時鐘脈沖、裝載數(shù)據(jù)、串行數(shù)據(jù)的輸入端,連接到MAX7219的CLK,LOAD,DIN腳;MAX7219的SEG A~SEG F、SEG DP端分別連接到每段LED光柱顯示器對應的VD1~VD8發(fā)光二極管的陽極,DIG0~7分別接各段光柱顯示器的共陰極,以實現(xiàn)段選。電阻Rset值用于調節(jié)LED的亮度,Rset的最小值為9.53 kΩ。
4 驅動程序的設計
4.1 初始化
MAX7219按5個控制寄存器規(guī)定的方式對顯示的LED線數(shù)自動掃描顯示,所以在顯示程序之前,必須初始化5個控制寄存器。其參考設置見表3所示。
4.2 軟件設計
在PLC中,可以用16位的數(shù)據(jù)寄存器來存放16位的二進制數(shù)據(jù)包,其中高位字節(jié)存放地址字節(jié),低位字節(jié)存放低位命令或顯示的數(shù)字。例如,我們可以在PLC的數(shù)據(jù)存儲區(qū)中建立一個LED顯示緩沖區(qū),顯示緩沖區(qū)首地址為D0,末地址為D7,分別對應各顯示段的段碼和位地址,用程序控制數(shù)據(jù)以16位數(shù)據(jù)包的形式串行送入。假設PLC通過輸入模塊將工業(yè)現(xiàn)場的狀態(tài)信息讀入,通過用戶程序的運算與操作,欲使LED光柱顯示器有46線亮時,其顯示區(qū)的數(shù)據(jù)格式如表4所示。
MAX7219的控制寄存器和顯示寄存器均獨立編址,顯示程序實際上就是PLC在Y0(CLK),Y1(LOAD)時序的配合下不斷通過Y2(DIN)向MAX7219的相應控制寄存器和數(shù)據(jù)顯示寄存器寫入16位二進制數(shù)據(jù)包的過程。所以問題的關鍵在于編寫一個通用寫入子程序,將D0等的內容從高位到低位在Y0(CLK)的作用下依次移入移位寄存器,最后由Y1(LOAD)的上升沿鎖存到相應的內部控制寄存器和數(shù)據(jù)顯示寄存器中去。寫入子程序的梯形圖程序如圖2所示,PLC與MAX7219間串行通信工作流程圖如圖3所示。
5 結 語
基于MAX7219的LED光柱顯示器與PLC的接口電路,數(shù)碼顯示器驅動芯片MAX7219只占用可編程控制器的3個輸出點,通過芯片級聯(lián)可成倍增加擴展顯示LED的數(shù)量。應用時可利用PLC強大的編程能力,根據(jù)實際情況靈活編程,實現(xiàn)多線LED的顯示和功能控制,利用光柱顯示器色彩變化,還可達到顯示與警示相結合的目的。
參 考 文 獻
[1]施金良.可編程控制器[M].重慶: 重慶大學出版社,2005.
[2]姜永年.MAX7219及其與AT89C2051的串行應用[J].國外電子元器件,1996(12):19-23.
作者簡介 張 群 女,1968年出生,四川樂山人,樂山職業(yè)技術學院講師。主要研究方向為電子技術和過程控制方向的教學和研究。