吳義滿
(鹽城衛(wèi)生職業(yè)技術學院 江蘇 鹽城 224001)
自動飲料機在日常生活中常見,比如戶外、商場、公交、地鐵等處常見的自動飲料機。自動飲料機系統(tǒng)的設計方法有許多種,例如可用中小規(guī)模集成電路組成自動飲料機系統(tǒng),也可以利用專用的芯片配以所需要的外圍電路組成特定功能自動飲料機系統(tǒng),還可以利用數(shù)字電路、FPGA、PLC、單片機和ARM來實現(xiàn)自動飲料機等等[1-5]。
而利用虛擬儀器技術labview設計的自動飲料機系統(tǒng),可以用來模擬真實的自動飲料機系統(tǒng)而進行工作。使用虛擬儀器技術,工程師可以利用圖形化開發(fā)軟件labview方便、高效的創(chuàng)建完全自定義的解決方案,以滿足靈活多變的需求趨勢。
該論文設計的自動飲料機系統(tǒng)是充分利用虛擬儀器labview技術獨特而強大的狀態(tài)機技術而完成的,省去傳統(tǒng)的編程語言繁瑣,且能做到更新維護非常方便。
主要功能是:自動飲料機,分別實現(xiàn):一是投錢,二是出貨,三是找零。
圖1 工作流程Fig.1 Work procedure
圖1 中直觀的表現(xiàn)了可樂機投入不同金額硬幣時的情況以及各個處理步驟的各個狀態(tài)和它們之間的轉換關系,根據投入硬幣的不同面值,對總金額進行計算,并對各種操作進行響應以完成一次購買。
Labview編程最大的特色圖形化的編程語言,外加十分豐富的函數(shù)庫,使程序設計非常簡單和直觀。該自動飲料機系統(tǒng)的程序設計就是充分利用labview豐富的函數(shù)庫里一些特殊的函數(shù)實現(xiàn)相應的功能,以及利用labview中狀態(tài)機技術實現(xiàn)整體編程思路。
圖2是Labview中的狀態(tài)機的經典模式圖
圖2 Labview中的狀態(tài)機Fig.2 State machine of labview
圖3 用的就是Labview中的狀態(tài)機的經典結構,最外層用的就是while循環(huán),里層是條件結構,只不多是多分支的條件結構。第三個部分是移位寄存器,把指令傳輸?shù)较乱粋€循環(huán)狀態(tài)判斷中。另外,在圖3所示的狀態(tài)中,提供了初始狀態(tài),每一狀態(tài)的執(zhí)行步驟及其切換到下一個狀態(tài)代碼等等。
圖4所示的狀態(tài)是自動飲料機前面板正在運行的狀態(tài)的界面。
運用虛擬儀器技術labview設計自動飲料機系統(tǒng),有自己獨特的技術特色。
2.4.1 狀態(tài)機的使用
圖3 整體程序框圖Fig.3 The whole program layout
圖4 自動飲料機界面Fig.4 The interface of automatic drink machines
經典的狀態(tài)機模式融合了while循環(huán)、條件結構和移位寄存器,使原本復雜的圖1工作流程圖編程變得思路清晰,結構簡單。其中條件結構是多分支的條件機構,移位寄存器是用的是兩個移位寄存器,一個是實行狀態(tài)指令的向下一個狀態(tài)轉移,另一個是累計投幣的金額,以判斷工作狀態(tài)。
2.4.2 轉換數(shù)組轉換
條件結構雖然能解決多狀態(tài)的選擇的問題,但從結構上來看不太直觀,管理不夠方便。可以把所有待選擇的狀態(tài)放入數(shù)組中,通過判斷子VI輸出不同的索引值,直接從數(shù)組中索引出下一個狀態(tài)到移位寄存器。如圖5所示。
圖5 轉換數(shù)組Fig.5 An array of conversion
此外,該自動飲料機系統(tǒng)還用了不少其它功能函數(shù)。從而使編程變得非常簡潔。
運行結果分析:實現(xiàn)了自動飲料機系統(tǒng)的三大功能——投幣、出貨和找零,符合設計預期。此外,該系統(tǒng)雖然只提供了一種飲料,要是想多幾種飲料且價格各不相同作選擇,只需要增加一個子VI用來選擇不同的飲料。
運用虛擬儀器技術labview[8-9]中的狀態(tài)機技術來設計自動飲料機系統(tǒng),思路清晰,編程、調試和增加功能十分簡單,非常適合大學生實踐創(chuàng)新項目和畢業(yè)設計項目,以及為相關的企業(yè)設計生產自助設備提供參考。
該文設計的自動售貨機運用狀態(tài)機技術的另一大好處,在于狀態(tài)機技術相比其它的技術,維護自動更新或增加功能更加方便簡潔。
該文只不過是典型狀態(tài)機技術的一個經典應用,其實labview中的狀態(tài)機技術應用非常廣泛[6-7]。自動售票器、自動取款機等都可以運用狀態(tài)機技術來設計。
故該系統(tǒng)的研制不管是對學習或儀器研發(fā),還是實際應用,具有一定的實際意義和理論價值。
[1]楊軼霞.PLC與計算機在自動售飲料機控制系統(tǒng)中的應用[J].新鄉(xiāng)學院學報:自然科學版,2011,28(1):59-61.YANG Yi-xia.Application of PLC and computer in the automatic machine of sale drink control system[J].Journal of Xinxiang University:Natural Science Edition,2011,28 (1):59-61.
[2]胡如龍.基于AVR單片機的全自動熱飲機控制器的設計[J].計算機測量與控制,2008(8):1110-1112.HU Ru-long.Design of the automatic machine of sale drink controller based on AVR computer[J].Computer Measurement&Control,2008(8):1110-1112.
[3]鄧娜娜,王鵬,楊子姜.基于ARM的自動售貨機主控制器的設計與開發(fā)[J].計算機軟件與應用,2012(5):260-261.DENG Na-na,WANG Peng,YANG Zi-jiang.Designing and developing ARM-based main controllerfor automated vending machine[J].Computer Applications and Software,2012(5):260-261.
[4]周澤鵬.基于ARM的自動售貨機控制器設計與實現(xiàn)[D].長沙:中南大學,2009.
[5]張建龍.一種新型自動售貨機控制系統(tǒng)研發(fā)[D].杭州:浙江工業(yè)大學,2009.
[6]余淑慧.利用LabVIEW狀態(tài)機結構實現(xiàn)數(shù)據讀取的通用化[J].機械,2012(2):21-22.YU Shu-hui.Achieve the universal of read program by using LabVIEW state machine structure[J].Machinery,2012(2):21-22.
[7]徐立翔.LabVIEW狀態(tài)機的研究及在運動控制中的應用[D].武漢:湖北工業(yè)大學,2012.
[8]雷剛,許勇.基于LabVIEW的發(fā)動機數(shù)據采集系統(tǒng)[J].現(xiàn)代電子技術,2012(14):140-142.LEI Gang,XU Yong.Engine data acquisition system based on LabVIEW[J].Modern Electronics Technique,2012(14):140-142.
[9]姚麗,劉東東.基于LabVIEW的數(shù)據采集與信號處理系統(tǒng)設計[J].電子科技,2012(5):79-81.YAO Li,LIU Dong-dong.Design of the data acquisition and signal processing system based on LabVIEW[J].Electronic Science and Technology,2012(5):79-81.