摘 要: 本文針對PLC教學需要,通過對自動售貨機總體設計要求分析,詳細介紹了自動售貨機硬件和軟件的設計,編寫了系統程序總框圖和梯形圖,并對每個模塊用到的指令及注意事項進行分析介紹,經實際教學應用,積累了寶貴的經驗,在教學方面具有較好的實用價值。
關鍵詞: PLC 自動售貨機 程序設計 實踐教學
一、引言
PLC是一門實踐性很強的專業課程。而專業課程的內容應該來源于生活的、具體工作實際的、理論與實踐一體化的綜合性學習任務。基于上述要求,PLC的實踐教學環節就不應停留在簡單的驗證性實驗上,還應對學生提出更高的要求,發揮學生的獨立思維、創新設計能力。
自動售貨機是能根據投入的錢幣自動付貨的機器。目前國內自動售貨機市場已逐步從沿海經濟發達地區和各大中城市向內陸和次發達地區延伸,市場潛力無限。由于PLC具有可靠性高、適應范圍廣、抗干擾能力強,編程方便等特點,根據自動售貨機的設計要求,可使用PLC來作為其控制裝置。自動售貨機的系統設計包括硬件設計和軟件設計。硬件設計系統包括機型的選擇和I/O點數的配置等。軟件設計系統主要包括計幣系統、比較系統、選擇系統、飲料供應系統、退幣系統和復位系統等。自動售貨機系統是一個綜合性較強的設計,通過設計此系統可提高學生的綜合能力。
二、基于PLC的自動售貨機系統設計
1.要求
(1)實驗目的
學習用可編程控制器控制一個模擬的自動售貨機系統,同時學會用PLC解決實際生活問題。要求熟練掌握各種基本指令,各種編程思想,熟悉一些常用的特殊指令,如本次實驗用到的M8013,加法指令,比較指令,減法指令等。
(2)實驗內容
自動售貨機可以投入1元,5元,10元硬幣,當投入的硬幣總值等于或者超過12元時,汽水按鈕指示燈L1亮;當投入的硬幣總值等于或超過15元時,汽水指示燈L1、咖啡指示燈L0都亮。當汽水按鈕指示燈L1亮時,按下汽水按鈕,則汽水排出5秒后自動停止;汽水排出時,相應指示燈L1閃爍。當咖啡按鈕指示燈L0亮時,動作同上。若投入的硬幣總值超過按鈕所需錢數(汽水12元,咖啡15元)找錢指示燈L7亮。
2.硬件設計
(1)機型選擇
本系統是一個小型集中控制系統。PLC的選型主要取決于系統的輸入輸出信號的數量,以及用戶程序長短和相關的功能。根據系統的控制要求,I/O點數在20個左右,但考慮到以后系統的擴展,選擇了三菱公司的FX1N-40MR可編程控制器機型,其中輸入24點,輸出16點。
(2)I/O點數配置
在選擇好PLC的機型后,就可以進行該控制系統的硬件接口設計了。根據控制系統的要求,以及編程簡單、檢查方便及接線容易等因素,給出的I/O地址分配表如下:
I/O(輸入輸出)地址分配表
3.軟件設計
在軟件設計前先把流程圖畫出,這樣編程思路清晰,且分塊設計,易于編程及調試。
(1)系統程序流程圖
根據要求繪出大致的流程圖如下:
(2)模塊化設計
由于本設計主要用于課堂教學的使用,因此和現實中的自動售貨機還有一定的差距。根據上述流程圖,采用模塊化設計,大致可分為以下幾個模塊:計幣系統、比較系統、選擇系統、飲料供應系統、退幣系統和復位系統等。
①計幣系統:當顧客投幣買飲料時,投入的錢幣經過傳感器,記錄1元、5元和10元的個數并進行累加,并把最終的結果放在某個數據寄存器中(本例采用D0)。在此模塊設計中,主要涉及的指令有加法指令,在應用時要提醒學生注意脈沖指令及連續指令的用法區別。PLC編程梯形圖如下(圖3):
②比較系統:當投幣結束后,系統就把數據寄存器D0中的錢幣總值同各種飲料的價格進行比較,如果錢幣總值大于等于12元且又小于15元,則汽水指示燈亮;若錢幣總值大于等于15元,此時汽水指示燈和咖啡指示燈全亮。此模塊設計主要涉及的是比較指令,而比較指令包括了CMP和ZCP兩條。兩條指令在此均可應用,只不過用的時候注意區間段點的不同。下列梯形圖中采用的是CMP指令。(圖4)
③選擇系統:比較完價格之后,此時可以選擇買哪種飲料,若按下汽水選擇按鈕,在出汽水的同時相應的指示燈閃爍(此處可用特殊輔助繼電器M8013來實現)。當飲料供應完畢,閃爍燈也停止。設計此模塊時應提醒學生注意幾個特殊輔助繼電器的來歷、用法,以及互鎖的使用。PLC編程梯形圖如下(圖5、圖6)。
在設計閃爍部分時,比較方便的就是應用特殊輔助繼電器M8013,可以產生一秒的時間脈沖。
④飲料供應系統:當按下飲料選擇按鈕時,相應的電機Y0或Y1啟動,在飲料輸出5秒后電機停止。此處的設計注意自鎖的使用以及如何使電機停止,本例采用定時器停止飲料供應,而對于指示燈的熄滅則采用了輔助繼電器M5來實現。編程梯形圖如下(圖7、圖8、圖9)。
⑤退幣系統:當顧客購完飲料后,將投幣的總值與購買飲料的價格比較,如顧客購買的是汽水,則將投幣的總值先減去12元,所剩余的錢幣值存在數據寄存器D1中,再將D1中的值與0進行比較,若大于0,說明需要退幣,此時系統找錢指示燈會亮,并且找錢5秒完畢之后指示燈熄滅,否則指示燈不亮,即不需要找錢。設計此模塊應用到的指令為減法指令和比較指令。應提醒學生注意脈沖指令的使用及指令的復位。具體PLC編程梯形圖如下(圖10、圖11)。
⑥復位系統:若系統有故障時可以按下復位按鈕X5對數據寄存器D0和D1進行清零,除此之外在初始狀態和找錢結束之后D0和D1的值也應該清零。編程梯形圖如下(圖12)。
⑦改進與擴展:在設計自動售貨機系統時,還可以根據實際情況對此系統進行改進和擴展,增加學生的獨立編程能力及創新能力。如本系統設計要求為售賣兩種飲料,在此基礎上可增加銷售多種飲料的情況,還可以增加聯機聯網報警系統及識別假幣系統,等等。
三、程序調試運行及教學
經過仿真調試及在實驗平臺上運行,系統運行穩定,達到了實驗及教學要求。通過對09電信1班,09電信2班及10高壓班的教學訓練,學生對PLC的編程及自動售貨機的控制有較深的了解。
四、結語
此次設計的自動售貨機系統硬件電路簡潔,軟件設計簡單,系統運行穩定可靠,維修方便而且功能擴展容易,基本上反映了自動售貨機的結構和使用功能,效果直觀、可操作性好,在教學上給學生提供了良好的學習平臺,具有實用和推廣價值。
參考文獻:
[1]王也仿.可編程控制器應用技術[M].北京:機械工業出版社,2001.
[2]林若波,廖興展,方宋杰.基于PLC控制的自動售貨機系統設計[J].齊齊哈爾大學學報,2011,(1):19-23.
[3]