四川自貢市高級(jí)技工學(xué)校 四川 自貢 643000
自動(dòng)售貨機(jī)(Vending Machine)起源于公元前215年的古埃及,當(dāng)時(shí)用于人們?cè)谏駨R里用金幣購(gòu)買(mǎi)圣水。19世紀(jì)70年代,自動(dòng)售貨機(jī)在美國(guó)、日本迅猛發(fā)展,如今已成為世界上最大的現(xiàn)金交易市場(chǎng)。作為一種前衛(wèi)的零售方式,自動(dòng)售貨機(jī)已在45個(gè)國(guó)家廣泛普及。據(jù)統(tǒng)計(jì),全世界每年通過(guò)自動(dòng)售貨機(jī)銷(xiāo)售商品的總額已達(dá)2000億美元。
S7—200的用戶(hù)程序中包括了位邏輯、計(jì)數(shù)器、定時(shí)器、復(fù)雜數(shù)學(xué)運(yùn)算以及與其它智能模塊通訊等指令內(nèi)容[1],從而使它能夠監(jiān)視輸入狀態(tài),改變輸出狀態(tài)以達(dá)到控制目的。緊湊的結(jié)構(gòu)、靈活的配置和強(qiáng)大的指令集使S7—200成為各種控制應(yīng)用的理想解決方案。它集成24輸入/16輸出共40個(gè)數(shù)字量I/O點(diǎn),有I/O擴(kuò)展能力。擁有10KB字節(jié)程序和數(shù)據(jù)存儲(chǔ)空間,4個(gè)獨(dú)立的30kHz高速計(jì)數(shù)器,2路獨(dú)立的20kHz高速脈沖輸出以及1個(gè)RS485通訊/編程口,具有PPI通訊協(xié)議、MPI通訊協(xié)議和自由方式通訊能力。非常適合于小點(diǎn)數(shù)控制的微型控制器。
售貨機(jī)的基本功能是對(duì)投入的貨幣進(jìn)行運(yùn)算,并根據(jù)貨幣數(shù)值判斷是否能夠購(gòu)買(mǎi)某種商品交易。由此看來(lái),售貨機(jī)一次交易要涉及加法運(yùn)算、減法運(yùn)算以及在退幣時(shí)的除法運(yùn)算,這是它的內(nèi)部功能。還要有貨幣識(shí)別系統(tǒng)和貨幣的傳動(dòng)來(lái)實(shí)現(xiàn)完整的銷(xiāo)售、退幣功能。
自動(dòng)售貨機(jī)PLC控制的工作要求
a.此售貨機(jī)可投入1元、5元、10元錢(qián)幣。
b.所售飲料標(biāo)價(jià):汽水——12元 花茶——15元 咖啡——20元
c.當(dāng)投入的硬幣和紙幣總價(jià)值超過(guò)所購(gòu)飲料的標(biāo)價(jià)時(shí),所有可購(gòu)買(mǎi)飲料的指示燈均亮,作可購(gòu)買(mǎi)提示。
d.當(dāng)飲料的按鈕指示燈亮?xí)r,才可以按下需要購(gòu)買(mǎi)飲料的按鈕,購(gòu)買(mǎi)相應(yīng)的飲料。
e.購(gòu)買(mǎi)飲料后,系統(tǒng)自動(dòng)計(jì)算剩余金額,并根據(jù)剩余金額提示是否還能繼續(xù)購(gòu)買(mǎi)飲料及可購(gòu)買(mǎi)飲料的品種(相應(yīng)指示燈亮)。
f.若投入的硬幣或紙幣總價(jià)值超過(guò)所消費(fèi)的金額時(shí),找余指示燈亮,按下退幣按鈕,就可以退出多余的錢(qián)。

圖1 自動(dòng)售貨機(jī)PLC控制電路原理圖

表1 自動(dòng)售貨機(jī)PLC控制信號(hào)端口

I0.5 汽水按鈕 Q0.5 咖啡輸出燈I0.6 花茶按鈕 Q0.6 退幣指示燈I0.7 咖啡按鈕 Q0.7 十元輸出口I1.0 退幣按鈕 Q1.0 一元輸出口
根據(jù)硬件設(shè)計(jì)中的口線分配情況,編寫(xiě)程序,采用模塊化的方式進(jìn)行編寫(xiě),整個(gè)程序由主程序和子程序組成,主程序只完成了系統(tǒng)的初始化和飲料選擇部分,其他程序都是在相應(yīng)的中斷服務(wù)子程序中完成的。本程序選擇存VD100為錢(qián)幣總金額的儲(chǔ)區(qū)域,初始化部分就是按下啟動(dòng)按鈕I0.0,VD100就清零,并進(jìn)入投幣系統(tǒng)。
當(dāng)有顧客要購(gòu)買(mǎi)飲料時(shí),按下啟動(dòng)按鈕,啟動(dòng)自動(dòng)售貨機(jī),然后投入一定數(shù)量的貨幣,但貨幣的面值只能是1元、5元和10元的,否則不能被識(shí)別,可重復(fù)多次投入貨幣,直道顧客按下選擇按鈕,可根據(jù)指示燈亮的情況購(gòu)買(mǎi)對(duì)應(yīng)的飲料,飲料輸出后,可選擇退幣或繼續(xù)購(gòu)買(mǎi)。
整個(gè)程序用PLC語(yǔ)言編寫(xiě),使用模塊化的設(shè)計(jì)方法,把各個(gè)模塊相關(guān)的程序放在一個(gè)子程序中,便于分塊調(diào)試和管理,縮短了調(diào)試周期,增加了程序的可移植性和可裁剪性。