PLC實(shí)現(xiàn)LED數(shù)碼管動態(tài)掃描數(shù)據(jù)顯示
摘要 根據(jù)PLC周期性掃描的特點(diǎn),介紹了一種利用少量PLC輸出點(diǎn)驅(qū)動兩組數(shù)碼管的方法,同時實(shí)現(xiàn)了在兩組數(shù)碼管上顯示變化的數(shù)據(jù),并介紹了軟、硬件設(shè)計(jì)實(shí)現(xiàn)的實(shí)例,在滿足工業(yè)控制要求的同時降低了成本。
關(guān)鍵詞 PLC;輸出點(diǎn);數(shù)碼管;動態(tài)掃描
PLC的數(shù)據(jù)顯示功能一直是困擾PLC使用的難題。在PLC的應(yīng)用中,經(jīng)常要監(jiān)測一些重要數(shù)據(jù),但PLC的數(shù)據(jù)顯示通常是使用外部顯示設(shè)備,如顯示屏或觸摸屏,而這些顯示設(shè)備的價格一般比較昂貴,對一些小型系統(tǒng)來說更浪費(fèi)。因此,如何顯示PLC的數(shù)據(jù),并盡可能做到高效率、高穩(wěn)定性、抗干擾能力強(qiáng)、硬件投資少,是許多設(shè)計(jì)中需要考慮的問題。筆者使用的西門子S7-200 PLC中有專門的指令控制LED數(shù)碼管顯示,SEG IN,OUT指令就是將IN端輸入字節(jié)的低4位確定的16進(jìn)制數(shù)自動轉(zhuǎn)換為相對應(yīng)的7段LED數(shù)碼管各段的代碼,并送到輸出字節(jié)OUT端顯示。若采用靜態(tài)LED數(shù)碼顯示,PLC顯示一位十進(jìn)制數(shù)據(jù)需要7個輸出點(diǎn)予以控制,如果要顯示n位數(shù)據(jù),則需要7n個輸出點(diǎn)。所以,使用這種方式對于顯示數(shù)據(jù)的位數(shù)較多時,需要大量的輸出點(diǎn),而PLC的價格是以輸入輸出點(diǎn)數(shù)來計(jì)算的,這直接導(dǎo)致硬件成本的上升,鑒于此種原因,尋找一種廉價的顯示技術(shù)就顯得尤為必要。提出借鑒單片機(jī)的LED數(shù)碼管動態(tài)掃捕顯示原理,結(jié)合PLC周期性掃捕的特點(diǎn),采用PLC直接輸出數(shù)字量驅(qū)動數(shù)碼管,將PLC開關(guān)量輸出分為兩部分,一部分用作數(shù)據(jù)輸出,另一部分用作控制數(shù)碼管公共端信號的輸出。利用人眼的余輝效應(yīng),循環(huán)點(diǎn)亮每個數(shù)碼管,本方法操作簡單、成本低廉。
1 設(shè)計(jì)實(shí)現(xiàn)
所謂動態(tài)掃描就是利用PLC周期性掃描的特點(diǎn),在編程時要做到每個周期只有一個數(shù)碼管能夠形成通電回路,從而得電點(diǎn)亮,因?yàn)橐粋€掃描周期的時間過短,只有幾十ms,所以人眼感覺每個數(shù)碼管都是均勻通電亮著的,同時沒有拖尾現(xiàn)象。
1.1 硬件設(shè)計(jì)
設(shè)計(jì)方法的硬件電路實(shí)現(xiàn)是一個起動按鈕SB1和一個停止按鈕SB2,兩個數(shù)碼管的a、b、c、d、e、f、g段分別連在一起,再與PLC的輸出端Q0.0~Q0.7通過限流電阻連接,兩個數(shù)碼管的公共端com1和com2分別通過三極管由PLC的輸出端Q1.0和Q1.1控制,其接線原理如圖1所示。
由PLC輸出端Q1.0和Q1.1的高低電平控制處于開關(guān)工作狀態(tài)的三極管,使數(shù)碼管com1和com2端循環(huán)與PLC公共端M導(dǎo)通輸出,分時選中不同的數(shù)碼管,由PLC輸出端Q0.0~Q0.7輸出相應(yīng)的數(shù)據(jù)再根據(jù)公共端信號使相應(yīng)的數(shù)碼管a、b、c、d、e、f、g段顯示。通過軟件編程可實(shí)現(xiàn)用一組起停按鈕控制兩組數(shù)碼管顯示相應(yīng)的數(shù)據(jù)。
1.2 軟件設(shè)計(jì)
通過兩個軟件設(shè)計(jì)實(shí)現(xiàn)同一硬件電路不同功能的實(shí)例來闡述設(shè)汁的軟件實(shí)現(xiàn)。
1.2.1 軟件設(shè)計(jì)實(shí)例1
此程序?qū)崿F(xiàn)0~99 s反復(fù)計(jì)數(shù)功能,按動SB1起動計(jì)數(shù),按動SB2使計(jì)數(shù)停在計(jì)數(shù)所停位置,再按動啟動按鈕重新從0開始計(jì)數(shù),計(jì)數(shù)到99后重新從0開始計(jì)數(shù)。該程序梯形圖如圖2所示。
以上軟件對特殊存儲器位SM0.5產(chǎn)生的1 s的時鐘脈沖計(jì)數(shù),使用PLC數(shù)據(jù)運(yùn)算、傳送、轉(zhuǎn)換的功能指令傳送、處理變化的計(jì)數(shù)數(shù)據(jù),然后用段譯碼SEG指令驅(qū)動7段數(shù)碼管,由兩個定時器分別產(chǎn)生周期為200 ms、相互反相的時鐘脈沖控制顯示變化的計(jì)數(shù)數(shù)據(jù)。
1.2.2 軟件設(shè)計(jì)實(shí)例2
此程序?qū)崿F(xiàn)50 s倒計(jì)時功能,按動SB1起動計(jì)時,按動SB2停止計(jì)時,同時數(shù)碼管熄滅,再按動啟動按鈕重新50 s倒計(jì)時,計(jì)時到0s時,數(shù)碼管自動熄滅。
2 結(jié)束語
設(shè)計(jì)主要是將一個兩位數(shù)分成兩組數(shù)據(jù)分別在十位和個位數(shù)碼管上顯示,程序采用循環(huán)控制方式,則一個掃描周期顯示一組數(shù)據(jù),即兩組數(shù)據(jù)循環(huán)顯示。假設(shè)程序掃描周期為100 ms,定時器定時100 ms,那么每組數(shù)據(jù)的更新周期為100×2=200 ms,這樣的顯示頻率足可以達(dá)到一般的工業(yè)控制要求,完全可以用作實(shí)時顯示。同樣,若顯示多組數(shù)據(jù),其數(shù)據(jù)線接法是一樣的,只需增加控制數(shù)碼管公共端信號的PLC輸出點(diǎn),PLC輸出點(diǎn)數(shù)為7+n,n為數(shù)碼管個數(shù);軟件稍加改動即可。筆者介紹的方法軟、硬件設(shè)計(jì)均在實(shí)驗(yàn)室調(diào)試成功,完全滿足設(shè)計(jì)要求,并且降低了硬件成本,取得了較好的效果。