自動售貨機程序都不會編,還學(xué)什么PLC?
自動售貨機是商業(yè)自動化的常用設(shè)備,它不受時間、地點的限制,能節(jié)省人力、方便交易,更是一種全新的商業(yè)零售形式,又被稱為24小時營業(yè)的微型超市。各位工程師會不會很好奇,這機器如果用于PLC該如何設(shè)計程序呢?下面咱們一起來看看吧:
一、控制要求
? ?一臺飲料自動售貨機用于出售礦泉水、可樂和果汁3種飲料,分別售價2元、3元、5元。顧客可以投入1元、5元和10元三種紙幣,投幣后主頁面可以顯示對應(yīng)各金額紙幣投入的張數(shù),還能顯示累計投入金額。
? ?程序需要完成以下功能:初始化、投幣檢測、商品選擇、找零、退幣

二、運算分析
1、投幣檢測
? ? ???例如5元紙幣的模擬投幣。我們需要在按鈕接通一次的情況下,使用加法(ADD)統(tǒng)計5元紙幣的數(shù)量,然后使用乘法(MUL)計算5元紙幣投入的總額,其他1元/10元紙幣也是如此處理,最后將三個紙幣的總額依舊使用加法相加即可得出投入的總額:

(投幣運算)
2、商品選擇
? ? 我們可以直接使用加一指令(INC)和減一指令(DEC),當(dāng)按下一次商品對應(yīng)按鈕執(zhí)行一次+1或者-1來進(jìn)行對數(shù)量的調(diào)整。和投幣一樣,我們最后需要使用乘法和加法來完成對所選三種商品的價格總額的計算。

(商品選擇運算)
3、找零及出貨
? ? ?當(dāng)我們按下購買按鈕時,且投入的金額≥商品購買金額時,我們需要進(jìn)行找零和出貨操作。出貨操作很簡單,我們將商品庫存的基礎(chǔ)上減去購買的商品數(shù)量并輸出出貨動作即可。

(找零及出貨運算)
4、退幣
? ? 當(dāng)按下退幣按鈕時,以1元為例,使用減法將1元庫存紙幣減去1元累計投入的數(shù)量后,即視為退還成功,5元和10元也是同樣操作。

(退幣運算)
三、I/O分配表

??根據(jù)I/O分配表的分布,我們將三種紙幣的模擬投幣按鈕接在X0-X2三個端口中。三個按鈕中的一端分別接X0、X1、X2對應(yīng)三個紅點,按鈕的另一端全部接到公共端C即可。

? ? ?
? ??Y1和Y2是晶體管類型,公共端C需要接24V負(fù)極,然后將指示燈一端接Y點,因此,輸出端接線中紅點標(biāo)識所示,兩盞指示燈的另一端口接電源的24V正極即可。

四、編寫程序
第一步:系統(tǒng)初始化

第二步:投幣檢測

第三步:商品選擇

第四步:商品總額計算

第五步:商品購買及找零

第六步:點亮出貨及找零指示燈

第七步:數(shù)據(jù)清零

第八步:退幣操作

五、HMI 程序
第一步:觸摸屏主界面

第二步:數(shù)值顯示設(shè)置

第三步:按鈕設(shè)置

第四步:PLC控制畫面跳轉(zhuǎn)設(shè)置

第五步:畫面繼承設(shè)置

第六步:確認(rèn)按鈕設(shè)置

六、演示效果

七、章節(jié)小結(jié)與練習(xí)
看完上面的圖文描述,各位小伙伴是否對PLC的四則運算和傳送指令有更深入的了解呢?那么下面這幾個問題,你們知道答案嗎?評論區(qū)一起討論討論吧:
1、常規(guī)的運算指令相信大家已經(jīng)清楚使用并能夠掌握了,但是當(dāng)我們計算實數(shù)時,該怎樣編寫呢?請使用浮點運算指令:加(DEADD)減(DESUB)乘(DEMUL)除(DEDIV)試計算(2.5*0.5)+(1.25/0.25)- 0.25的結(jié)果;
2、運用轉(zhuǎn)換指令將英寸轉(zhuǎn)換成厘米,已知單位為英寸的長度保存在D200中,數(shù)據(jù)類型為整數(shù),1英寸=2.54厘米,要將最終單位厘米的結(jié)果保存在D210中,且結(jié)果為整數(shù)。(思考將浮點數(shù)轉(zhuǎn)為整數(shù)需要用到什么指令?怎樣編寫?)
私聊小編加入咱們7天PLC交流群,一起來看視頻課后習(xí)題講解吧!