陳 康
計數(shù)器是PLC編程系統(tǒng)中常用的編程元件。在三菱FX2N系列PLC中,計數(shù)器分為16位加計數(shù)器和32位加,減計數(shù)器兩種。32位加,減計數(shù)器共有35個,編號為C200~C234,由特殊輔助繼電器M8200~M8234設(shè)定計數(shù)狀態(tài)。當特殊輔助繼電器為ON時,對應(yīng)的計數(shù)器為減計數(shù)狀態(tài),計數(shù)器線圈接受一次上升沿信號,計數(shù)器當前值減一:反之為加計數(shù)狀態(tài)。這樣,在編程時不僅要注意計數(shù)信號的產(chǎn)生,還要注意與計數(shù)器相對應(yīng)的特殊輔助繼電器的狀態(tài),如何靈活地使用加/減計數(shù)器進行編程是PLC教學(xué)過程中的難點之一。
我們在教學(xué)中采取循序漸進的教學(xué)方法,以貼近生活的實例激發(fā)學(xué)生學(xué)習(xí)興趣,引導(dǎo)學(xué)生由簡入繁不斷完善控制要求,逐步完成程序。通過程序的編寫指導(dǎo)學(xué)生初步了解功能指令的基本使用方法并掌握定時器、計數(shù)器的綜合應(yīng)用。
一、自動售熱飲機控制程序的控制要求
一是可投入1元硬幣及0.5元硬幣,當累計投幣達3元時,足額指示燈L1亮,提示可以購買熱飲。此時,按下取飲料按鈕,交易成功,開始出飲料,同時足額指示燈閃爍,5秒鐘后,停止出飲料,足額指示燈熄滅,交易過程結(jié)束,系統(tǒng)恢復(fù)待機狀態(tài)。
二是若累計投幣超過三元,則足額指示燈熄滅,超萄指示燈亮,超額狀態(tài)下,取飲料按鈕無效,無法交易。
三是交易完成前,在不足額、足額、超額等狀態(tài)下均可退幣。
四是為調(diào)試程序方便,設(shè)置手動復(fù)位鍵。
退幣方式如下:
按1元退幣按鈕一次,1元面額硬幣退幣一次。
長按1元退幣按鈕3秒后,開始1元面額持續(xù)退幣,松于按鈕后,退幣停止。若余額不足1元,則退0.5元。
按0.5元退幣按鈕一次,0.5元面額硬幣退幣一次。
長按1元退幣按鈕3秒后,開始1元面額持續(xù)退幣,松于按鈕后,退幣停止。
*注:若要實現(xiàn)超額狀態(tài)下的購物,需要使用較復(fù)雜的功能指令來完成,故本程序暫不涉及,歡迎感興趣的讀者聯(lián)系交流。退幣部分只要求編寫計數(shù)環(huán)節(jié)即可,不必考慮輸出問題。
二、1/0分配及工作示意圖
三、編程過程
為簡化編程過程,從最基本的控制要求開始編寫,逐步完善程序,直到形成符合控制要求的控制程序。
1、實現(xiàn)雙面額投幣及足額顯示
使用計數(shù)器對投幣口的信號進行計數(shù),當累計達到3元時引發(fā)相應(yīng)的動作。由控制要求可知:若只投入0.5元硬幣,則投入6枚硬幣,即計數(shù)6時,達到足額;若只投入1元硬幣,則投入3枚硬幣,即計數(shù)3時即可達到足額。題目要求必須能夠?qū)崿F(xiàn)兩種硬幣的混投,所以我們只能使用一個計數(shù)器對兩個投幣口的信號進行計數(shù)。我們注意到只要使投入1元硬幣時產(chǎn)生2次計數(shù)信號即可實現(xiàn)足額時計數(shù)6,剛好與0.5元面額投幣相一致,所以,投幣部分程序如圖3。
圖3中,1元投幣口的上升沿與下降沿分別產(chǎn)生一個計數(shù)信號,即投幣一次計數(shù)2;0.5元投幣口每次投幣只產(chǎn)生一個計數(shù)信號,即投幣一次計數(shù)1,無論以何種次序投幣,當計數(shù)6時即表示投幣足額。另,一次投幣實現(xiàn)兩次計數(shù)也可用其他方式(如利用定時器及脈沖信號)實現(xiàn)(見圖4)。
足額時,足額指示燈顯示可通過下述程序?qū)崿F(xiàn):
足額時,計數(shù)器C200當前值=預(yù)設(shè)值,C200觸點動作,足額顯示Y2得電。
2、購買過程的程序?qū)崿F(xiàn)
足額狀態(tài)下方可購買,購買過程中,足額指示燈閃爍,交易完成后,計數(shù)器復(fù)位,系統(tǒng)恢復(fù)待機狀態(tài)。程序如圖5。
足額(Y2)得電狀態(tài)下,按下購買按鈕(X22),Y3得電,自鎖,開始購買。同時利用Y3常開觸點實現(xiàn)以下控制(1)對C200進行復(fù)位。(2)使定時器T3線圈得電開始計時(3)通過M8013(1秒時鐘脈沖)控制Y2閃爍。5秒鐘后,T3常閉觸電動作,Y3線圈失電,交易結(jié)束,系統(tǒng)恢復(fù)待機狀態(tài)。
3、超額的程序?qū)崿F(xiàn)
足額后繼續(xù)投幣將進入超額狀態(tài),超額狀態(tài)下,足額指示燈熄滅,超額指示燈亮,購買按鈕失效。程序如圖6所示。
使用比較指令DCMP對C200當前值和常數(shù)K6進行比較,比較結(jié)果用M6~M8表示。當C200)K6時,M6得電,M6常開觸點閉合,Y4線圈得電,超額指示燈亮,同時Y4常閉觸點斷開,Y2失電。
4、單枚退幣的程序?qū)崿F(xiàn)
與投幣類似,要求退1元面額硬幣時計數(shù)器當前值減2,退0.5元面額硬幣時計數(shù)器當前值減1,計數(shù)器當前值減為0后,退幣鍵失效。程序如圖7所示。
使用比較指令DCMP對C200當前值和常數(shù)KO進行比較,比較結(jié)果用MO表示。當C200>KO時MO得電,常開觸點閉合,保證減計數(shù)信號可傳送到C200線圈。
特殊輔助繼電器M8200使用X24、X25、M21的常開觸點控制,保證退幣時M8200處于得電狀態(tài),計數(shù)器C200減計數(shù)。M21常開觸點是為了保證M22下降沿時仍能減計數(shù)。
5、連續(xù)退幣的程序?qū)崿F(xiàn)
對上述單枚退幣程序稍作修改即可得連續(xù)退幣程序如圖8所示。
按下退幣按鈕超過3秒鐘,則開始自動退幣,松開按鈕或余額為0時,停止退幣。
以上分步對控制要求進行了程序?qū)崿F(xiàn),整合后完整程序如圖9所示。
本例雖與實際購物機控制功能仍有差距,但較為完善的表現(xiàn)了計數(shù)器指令與其他指令的綜合應(yīng)用,有助于學(xué)生深入理解本課題內(nèi)容。
(作者單位:山東省淄博市技術(shù)學(xué)院)