当前位置:文档之家› 东南大学信息科学与工程学院 基于FPGA的自动售货机控制系统

东南大学信息科学与工程学院 基于FPGA的自动售货机控制系统

数字系统课程设计

--基于FPGA的自动售货机

组长:师楠(04010512)

组员:徐璇(04010505)

一、设计要求:

功能描述:用于模拟自动售货机的工作过程,完成自动售货功能。

功能要求:

(1)售货机有两个进币孔,可以输入硬币和纸币,售货机有两个进币孔,一个是输入硬币,一个是输入纸币,硬币的识别范围是1 元的硬币,纸币的识别范围是5 元,10 元,20,50 元,100元。乘客可以连续多次投入钱币。

(2)顾客可以选择的商品种类有16 种,价格分别为1-16 元,顾客可以通过输入商品的编号来实现商品的选择。即有一个小键盘(0-9 按键)来完成,比如输入15 时要先输入1,再输入5。

(3)顾客选择完商品后,可以选择需要的数量。然后可以继续选择商品及其数量,每次可以选择最多三个商品。然后显示出所需金额。顾客此时可以投币,并且显示已经投币的总币值。当投币值达到或超过所需币值后,售货机出货,并扣除所需金额,并找出多余金额。在投币期间,顾客可以按取消键取消本次操作,钱币自动退出。

二、课题分析

1)进行购物时,顾客依次选择商品种类和对应的商品数量。一共有16种商品,编号分别为1-16,顾客通过(0-9按键)小键盘输入商品编号和对应的商品数量。若顾客继续选择商品则按下“继续购物”按钮,继续选择下一商品的种类和数量。最多可以选择三种商品,每种商品最多可选择三个。若在商品选择过程中顾客按下“取消”按钮,则回到初始化状态,顾客重新进行选择。

2)完成选择后,自动售货机显示所需金额,编号1-16的商品价格分别为1-16元。顾客根据所需金额继续投币,可以连续多次投入1元的硬币和5 元,10 元,20,50 元,100元的纸币。当投币总额大于所需金额时,自动售货机出货并找出

零钱。若在投币过程中顾客按下“取消”按钮,则自动售货机自动退出顾客已经投入的钱币。

3)根据按键的数值范围(0-9)和商品数量(1-3)的选择范围,设置三个端口,分别用于接收商品编号的个位(4位)、商品编号的十位(4位)、商品数量(2位)。若顾客在商品选择的过程中,选择了三种以上商品或三个以上的个数,则系统不对其作出反应。

4)附加功能:管理人员按下reset 按钮后,系统重置。默认每种商品机内存货15个,系统进入初始化状态后会自动显示商品剩余库存。

三、 系统运行流程:

开始

reset=1

Y

N

pre_state

initial_state

输入商品编号

输入次数小于3

输入商品数量

cancel=1

计算商品总额total_price

Y

N

Y

N

item_state

quantity_state

计算商品剩余库存并输出

continue=1

输出total_price

cancel=1

投币couter

change_out<=counter

counter>total_price

cancel=1

change_out<=counter

counter>total_price

cancel=1

change_out<=counter

计算找零额

输出货物、找零

N Y

N Y

N

Y

Y

N

Y

N

Y

N

quantity_state

money_state

compare_state

change_state finish_stat

四、程序调试

编译通过,如图所示:

五、波形仿真:

在创建的波形仿真文件中,添加所有输入输出端口进行仿真。时钟周期设定为10ns,测试系统的所有功能是否正常。

管理员将reset置1;

第一次:购买11号商品3件,投入三枚一员硬币,一张一百元纸币;

第二次:购买01号商品1件,continue,购买10号商品2件,continue,购买13号商品3件;投入一张五十纸币,一张十元纸币;

第三次:购买03号商品2件,cancel;

第四次:购买16号商品2件;投入一张五十纸币;cancel;

六、附源代码

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

----------*************************************---------------------- entity AUTOSELLER is --实体

port( --端口定义clk :in std_logic; --时钟

continue,cancel,reset :in std_logic; --继续购物、取消、复位coin :in std_logic; --投入硬币

cash :in std_logic_vector(4 downto 0); --投入纸币item0 :in std_logic_vector(3 downto 0); --选货个位item1 :in std_logic_vector(3 downto 0); --选货十位quantity :in std_logic_vector(1 downto 0); --货物数量

one_out :out std_logic_vector(4 downto 0);

--找钱

five_out :out std_logic_vector(4 downto 0);

ten_out :out std_logic_vector(4 downto 0);

twenty_out :out std_logic_vector(4 downto 0);

fifty_out :out std_logic_vector(4 downto 0);

hundred_out :out std_logic_vector(4 downto 0);

item0_out :out std_logic_vector(7 downto 0); --出货种类

item1_out :out std_logic_vector(7 downto 0);

item2_out :out std_logic_vector(7 downto 0);

quantity0_out :out std_logic_vector(1 downto 0); --出货数量

quantity1_out :out std_logic_vector(1 downto 0);

quantity2_out :out std_logic_vector(1 downto 0);

sum_out :out std_logic_vector(9 downto 0);

--商品总额累计输出

available1_out :out std_logic_vector(3 downto 0);

--输出库存

available2_out :out std_logic_vector(3 downto 0);

available3_out :out std_logic_vector(3 downto 0);

available4_out :out std_logic_vector(3 downto 0);

available5_out :out std_logic_vector(3 downto 0);

available6_out :out std_logic_vector(3 downto 0);

available7_out :out std_logic_vector(3 downto 0);

available8_out :out std_logic_vector(3 downto 0);

available9_out :out std_logic_vector(3 downto 0);

available10_out :out std_logic_vector(3 downto 0);

available11_out :out std_logic_vector(3 downto 0);

available12_out :out std_logic_vector(3 downto 0);

available13_out :out std_logic_vector(3 downto 0);

available14_out :out std_logic_vector(3 downto 0);

available15_out :out std_logic_vector(3 downto 0);

available16_out :out std_logic_vector(3 downto 0));

end AUTOSELLER;

------------*************************************----------------- architecture behave of AUTOSELLER is

signal price :std_logic_vector(7 downto 0); --单个商品价格signal counter :std_logic_vector(9 downto 0); --投币总额

signal total_price :std_logic_vector(9 downto 0); --商品总额累计shared variable number1 :std_logic_vector(3 downto 0); --暂存库存

shared variable number2 :std_logic_vector(3 downto 0);

shared variable number3 :std_logic_vector(3 downto 0);

shared variable number4 :std_logic_vector(3 downto 0);

shared variable number5 :std_logic_vector(3 downto 0);

shared variable number6 :std_logic_vector(3 downto 0);

shared variable number7 :std_logic_vector(3 downto 0);

shared variable number8 :std_logic_vector(3 downto 0);

shared variable number9 :std_logic_vector(3 downto 0);

shared variable number10 :std_logic_vector(3 downto 0);

shared variable number11 :std_logic_vector(3 downto 0);

shared variable number12 :std_logic_vector(3 downto 0);

shared variable number13 :std_logic_vector(3 downto 0);

shared variable number14 :std_logic_vector(3 downto 0);

shared variable number15 :std_logic_vector(3 downto 0);

shared variable number16 :std_logic_vector(3 downto 0);

type state_type is

(pre_state,initial_state,item_state,quantity_state,money_state,co mpare_state,change_state,finish_state); -- 定义一个类型state_type,且值为(……)

signal state :state_type;

begin

process(continue,clk,reset)

variable change :std_logic; --为1允许找钱

variable change_out :std_logic_vector(9 downto 0);

--找钱总额暂存

variable one_tmp :std_logic_vector(4 downto 0);--找钱数暂存

variable five_tmp :std_logic_vector(4 downto 0);

variable ten_tmp :std_logic_vector(4 downto 0);

variable twenty_tmp :std_logic_vector(4 downto 0);

variable fifty_tmp :std_logic_vector(4 downto 0);

variable hundred_tmp :std_logic_vector(4 downto 0);

variable n :integer range 0 to 2; --暂存选货次数variable itemout0,itemout1,itemout2:std_logic_vector(7 downto 0);

--种类暂存

variable quanout0,quanout1,quanout2:std_logic_vector(1 downto 0);

--货物数量暂存

variable cancel_tmp :std_logic; --取消暂存begin

if(clk'event and clk='1')then

if reset='1' then

state<=pre_state;

end if;

case state is

------------*************pre_state***************---------------

when pre_state=>

number1:="1111";

number2:="1111";

number3:="1111";

number4:="1111";

number5:="1111";

number6:="1111";

number7:="1111";

number8:="1111";

number9:="1111";

number10:="1111";

number11:="1111";

number12:="1111";

number13:="1111";

number14:="1111";

number15:="1111";

number16:="1111";

state<=initial_state;

-----------**************initial_state****************--------------

when initial_state=>

item0_out<="00000000";

item1_out<="00000000";

item2_out<="00000000";

quantity0_out<="00";

quantity1_out<="00";

quantity2_out<="00";

one_out<="00000";

five_out<="00000";

ten_out<="00000";

twenty_out<="00000";

fifty_out<="00000";

hundred_out<="00000";

sum_out<="0000000000";

available1_out<=number1;

available2_out<=number2;

available3_out<=number3;

available4_out<=number4;

available5_out<=number5;

available6_out<=number6;

available7_out<=number7;

available8_out<=number8;

available9_out<=number9;

available10_out<=number10;

available11_out<=number11;

available12_out<=number12;

available13_out<=number13;

available14_out<=number14;

available15_out<=number15;

available16_out<=number16; total_price<="0000000000"; counter<="0000000000";

change:='0';

n:=0;

one_tmp:="00000";

five_tmp:="00000";

ten_tmp:="00000";

twenty_tmp:="00000";

fifty_tmp:="00000";

hundred_tmp:="00000";

itemout0:="00000000";

itemout1:="00000000";

itemout2:="00000000";

quanout0:="00";

quanout1:="00";

quanout2:="00";

cancel_tmp:='0';

state<=item_state;

----------************** item_state ****************-----------

when item_state=>

if n<3 then

case (item1&item0) is

when "00000001"=>price<="00000001";

when "00000010"=>price<="00000010";

when "00000011"=>price<="00000011";

when "00000101"=>price<="00000101";

when "00000110"=>price<="00000110";

when "00000111"=>price<="00000111";

when "00001000"=>price<="00001000";

when "00001001"=>price<="00001001";

when "00010000"=>price<="00001010";

when "00010001"=>price<="00001011";

when "00010010"=>price<="00001100";

when "00010011"=>price<="00001101";

when "00010100"=>price<="00001110";

when "00010101"=>price<="00001111";

when "00010110"=>price<="00010000";

when others=>null;

end case;

if (item1&item0)="00000000" then

state<=initial_state;

else case n is

when 0 => itemout0:= item1&item0;

when 1 => itemout1:= item1&item0;

when 2 => itemout2:= item1&item0;

when others=>null;

end case;

state<=quantity_state;

end if;

else state<=money_state;

end if;

-----------************ quantity_state ************------------

when quantity_state=>

if(cancel='1')then

state<=initial_state;

else

if quantity="00" then

change:='0';

change_out:="0000000000";

state<=initial_state;

else

total_price<=total_price+price*quantity;

case n is

when 0 => quanout0:= quantity;n:=n+1;

when 1 => quanout1:= quantity;n:=n+1;

when 2 => quanout2:= quantity;n:=n+1;

when others=>null;

end case;

case price is

when"00000001"=>number1:=number1-quantity;

when"00000010"=>number2:=number2-quantity;

when"00000011"=>number3:=number3-quantity;

when"00000100"=>number4:=number4-quantity; when"00000101"=>number5:=number5-quantity; when"00000110"=>number6:=number6-quantity; when"00000111"=>number7:=number7-quantity; when"00001000"=>number8:=number8-quantity; when"00001001"=>number9:=number9-quantity; when"00001010"=>number10:=number10-quantity; when"00001011"=>number11:=number11-quantity; when"00001100"=>number12:=number12-quantity; when"00001101"=>number13:=number13-quantity; when"00001110"=>number14:=number14-quantity; when"00001111"=>number15:=number15-quantity; when"00010000"=>number16:=number16-quantity; when others=>NULL;

end case;

available1_out<=number1;

available2_out<=number2;

available3_out<=number3;

available4_out<=number4;

available5_out<=number5;

available6_out<=number6;

available7_out<=number7;

available8_out<=number8;

available9_out<=number9;

available10_out<=number10;

available11_out<=number11;

available12_out<=number12;

available13_out<=number13;

available14_out<=number14;

available15_out<=number15;

available16_out<=number16;

if(continue='1')then state<=item_state;

else state<=money_state;

end if;

end if;

end if;

----------************ money_state ************-----------

when money_state=>

sum_out<=total_price;

if(cancel='1')then

cancel_tmp:='1';

change:='1';

change_out:=counter;

state<=change_state;

else

case cash&coin is

when "000001"=>counter<=counter+1;

when "000010"=>counter<=counter+5;

when "000100"=>counter<=counter+10;

when "001000"=>counter<=counter+20;

when "010000"=>counter<=counter+50;

when "100000"=>counter<=counter+100;

when others=>null;

end case;

state<=compare_state;

end if;

-----------************ compare_state ************------------

when compare_state=>

if(cancel='1')then

cancel_tmp:='1';

change:='1';

change_out:=counter;

state<=change_state;

else

if counter>=total_price then

change:='1';

change_out:=counter-total_price;

state<=change_state;

else state<=money_state;

end if;

end if;

----------************ change_state ************----------

when change_state=>

if(cancel='1')then

change:='1';

cancel_tmp:='1';

change_out:=counter;

end if;

if(change_out>=100) then

hundred_tmp:=hundred_tmp+1;

change_out:=change_out-100;

EDA课程设计 自动售货机控制系统(DOC)

电子课程设计 ——自动售货机控制系统的设计 学院:电子信息工程学院 专业、班级:通信131503班 姓名: 学号: 2013150303 指导老师:李斌 2 0 1 5 年 1 2 月

目录 绪论 (2) 一、设计任务与要求 (3) 二、总体框图 (3) 框图 (3) 设计思路 (3) 三、器件选择 (4) 四、功能模块 (4) 1、分频器模块 (4) 2、数码管显示模块 (5) 3、取货模块 (7) 五、总体设计电路图 (8) 1、总体设计电路原理图 (8) 2、管脚分配表 (9) 3、仿真图 (9) 六、心得体会 (10) 七、参考文献 (10)

自动售货机控制系统的设计 绪论 近年来,集成电路技术的迅猛发展,特别是可编程逻辑器件的高速发展,电子设计自动化EDA技术成为电子设计工程师的新宠。EDA技术以计算机为工具完成数字系统的逻辑综合、布局布线和设计仿真等工作。电路设计者只需要完成对系统功能的描述,就可以由计算机软件进行系统处理,最后得到设计结果,并且修改设计方案如同修改软件一样方便。利用EDA工具可以极大地提高设计效率。 本设计是一套结构简单,操作方便,性能可靠的自动饮料售卖机产品。自动饮料售卖机电路设计采用选择商品电路、投币累加电路、统计卖出商品电路等四个基本电路构成。自动售货机在接受投入钱币后,通过与商品价格比较,确定是否能够售出商品和把算出剩余的钱找回。当商品输出后售货机自动把上次卖出商品的价格和投入的钱币的总和清零,这时才可以进行下次交易。自动售货机还应满足商家查看销售商品的总和及使其清零,和控制该售货机进行整体复位。该售货机可以帮助商家更好的销售商品,并且节省人力,获得更大的利润自动饮料售卖机是能够根据投入的钱币自动取出饮料的机器,它是商业自动化的常用设备,不受时间、地点的限制,能节省人力、方便交易。现代的自动饮料售卖机的种类、结构和功能依出售的饮料种类而异。钱币装置是自动饮料售卖机的核心,其主要功能是确认投入钱币的真伪,分选钱币的种类,计算金额。如果投入的金额达到购买物品的数值即发出售货信号,并找出余钱。自动饮料售卖机自动输出顾客所要的商品。因此,自动售货机在商业,食品行业越来越普及,更方便消费者购买自己所需的商品。 自动售卖机是本世纪70年代在日本、欧美发展起来的高新技术现代应用产品,被称为24小时营业的微型超市,售货领域已扩展至小食品、小用品、香烟、电话卡、车票、邮票等。目前在40多个国家已经广泛使用,日本平均每23人一台,美国平均每40人一台,欧洲平均每60人一台。在邻国日本,70%份额的罐装饮料市场是通过自动售货机售出的;美国可口可乐公司拥有五十余万台饮料自动售货机分布在世界各地。通过自动售货机销售将成为商品零售业不可分割的重要组成部分。

自动售货机控制系统的设计

自动售货机控制系统的设 计 Revised by Jack on December 14,2020

课程设计题目:自动售货机控制系统的设计 目的与任务: (1)进一步掌握MAX+PLUSⅡ软件的使用方法; (2)会使用VHDL语言设计小型数字电路系统; (3)掌握应用MAX+PLUSⅡ软件设计电路的流程; (4)掌握自动售货机的设计方法; (5)会使用GW48实验系统。 内容和要求: 设计一个简易的自动售货机,它能够完成钱数处理、找零、显示、退币等功能。 (1)用3个键表示3种钱,再用3个键表示3种物品。 (2)用2个数码管显示输入的钱数,再用2个数码管显示所找的钱数,以元为单位。 (3)买东西时,先输入钱,用数码管显示钱数,再按物品键,若输入的钱数大于物品的价格,用数码管显示所找的钱数,并用发光二极管表示购买成功。 (4)若输入的钱数少于物品的价格,用数码管显示退出的钱数,并用发光二极管表示购买失败。

设计内容(原理图以及相关说明、调试过程、结果) 一、系统设计方案 根据系统要求,系统的组成框图如图1所示。 (1 NEW_CLK (a2)控制模块是这个系统的核心模块,它具有判断按键、计算输入钱数总和、计算找零、控制显示四个作用。它的工作原理是每当时钟上升沿到来时,判断哪个按键按下,若按下的是钱数键,则将钱数保存于中间信号COIN,若下次按下的仍是钱数键,COIN的值则加上相应的值并显示于数码管;当物品键按下时,则将COIN的值与物品价格进行比较,然后控制找零。 (3)由于钱数可能大于9,所以译码显示模块的作用就是将钱数译码后用两个数码管显示,这样方便观察。 根据各个功能模块的功能并进行整合,可得到一个完整的自动售货机系统的整体组装设计原理图,如图2所示。 图2 设计原理图 二、系统主要VHDL源程序 (1)分频器的源程序(外部时钟选用3MHz,实现3万分频) LIBRARY IEEE; USE CLKGEN IS PORT(CLK:IN STD_LOGIC; NEWCLK:OUT STD_LOGIC); END CLKGEN;

基于Verilog HDL的自动售货机设计

密级: NANCHANG UNIVERSITY 学士学位论文 THESIS OF BACHELOR (2012 —2016年) 题目基于Verilog HDL的自动售货机设计 学院:信息工程学院系电子信息工程系 专业班级: 学生姓名:学号: 指导教师:职称:教授 起讫日期:2016.3.14——2016.6.3

基于Verilog HDL的自动售货机设计 专业:电子信息工程学号:6100212164 学生姓名:田启泽指导教师:陶凌 摘要 自动售货机是商业自动化的常用设备,它不受地点和时间的限制,能够支持线上,线下多种支付方式,出货迅速,并且操作简单方便,因此受到了社会各群体的欢迎。现目前自动售货机多为单片机设计,常出现因功能单一不能满足顾客需求,性能不稳定带来各种售货出错等现象。 本文将论述采用EDA方法,以QuartusⅡ为软件开发平台,使用Verilog HDL语言设计,经过仿真后,在FPGA器件中实现自动售货机系统的详细流程。经过仿真验证设计可以实现投币计次,两种售价均为两元的商品选择,购物操作无条件取消,按键消抖,以及投币退币数量显示功能。硬件电路用一个按键电路实现投币功能,以led的点亮的数量指示投币的数量和商品出货情况,并以七段数码管显示退币的数量。 关键词:自动售货机;Verilog HDL;FPGA;EDA;Quartus Ⅱ

Design of Vending Machine Based on VHDL Abstract Vending machines are commonly used as commercial automated equipment, it is not restricted some trouble aspects,such as place,time and so on. It support online, offline payment methods, fast shipping, and easy operation, therefore has been welcomed by all social groups. Vending machines are currently a mostly single-chip design, often due to a single function can not meet customer needs, bring a variety of sales performance problems due to unstable capability. This article will discusses the selling process of the vending machine by using QuartusⅡas software development platform, with the EDA method and through Verilog HDL language designing, after simulating, complying vending machine system in FPGA devices. After simulation designed it can be achieved coin metering and selection of commodities both are priced at two yuan, unconditionally canceled, key debounce and coin-coin number display. Hardware circuit using a function key circuits replays coin-operated,the number of led lights indicates the number of shipments of goods and coin, and using seven-segment LED to displaythe number of coin return. Keywords: vending machine;Verilog HDL;FPGA;EDA;Quartus Ⅱ

《基于PLC控制的自动售货机》任务书

毕业设计任务书课题:自动售货机控制系统 学院: 专业: 指导老师: 学生班级: 学生姓名: 机电工程学院

一、课题内容及要求

二、毕业设计(论文)时间安排 2014年10月27日-2014年12月7日,毕业设计(论文)实际时间共6周 2013年12月8日-2013年12月15日,毕业答辩。 三、毕业设计(论文)的性质、目的和作用 毕业设计( 论文 ) 是教学计划的一个有机组成部分,是完成专业培养目标的最后一个重要的教学环节;是对学生学业水平和研究能力的综合检验;也是对学生在校期间,综合运用所学的基本知识、基本理论、基本技能和获得的分析问题、解决问题的能力,独立进行理论与实际结合的基本训练。这对于保证教学质量和保证合格毕业生的培养质量,具有重要意义。因此,为了更好的做好 2015届毕业设计( 论文) 的工作,现制定此计划与要求, 以确保毕业设计(论文)任务的顺利完成。 四、毕业设计(论文)对学生的要求 1.学生在教师指导下,可根据个人的特长和实际,参加毕业设计( 论文) 课题的选题,但要求提交教学系按实际情况统筹安排。 2.在教师指导下,拟定设计( 论文) 总体方案及进度计划。 3.学生应该独立进行设计或论文撰写,如果是几人合作,也应了解全过程。充分发挥自己的主观能动性,严肃认真,一丝不苟,按时完成毕业设计(论文)。 4.自觉遵守各项规章制度和劳动纪律,虚心接受教师的指导。 5.认真完成设计说明书或论文要求的文字材料,设计合理经济。 五、毕业设计说明书或论文的规范化要求 1、书写格式要求:A4打印,符合下列次序: (1)毕业设计(论文)题目; (2)目录; (3)内容摘要(200字); (4)引言; (5)正文; (6)参考文献(或资料); (7)附录心得。 2、文字要求:文字通顺,语言通畅,书写工整,无错别字,不准请他人代写。 3、毕业设计图纸要求:图面整洁,布局合理,线条粗细均匀,圆弧连接光滑,尺寸标注规范,文字注释必须使用工程字书写。 4、图标要求:所有曲线、图表、线路图、流程图、程序框图、示意图等不准徒手画,必须按国家标准或工程要求绘制。 5、分量要求:对于毕业设计,如果包括有软件系统,字数不少于4千;纯论文字数不少于7千字。 6、合作的毕业设计(论文),必须写出分工情况。心得必须单独书写,其字数应不少于7百汉字。 7.毕业论文要用统一文件夹装订,美观大方。 六、毕业设计(论文)答辩 1、在第16-17 周内进行。 2、答辩前两天,由学生写好答辩报告书面提纲。学生的答辩报告包括: (1)课题的任务、目的与意义; (2)所采用的原始资料或指导文献;

基于FPGA的自动售货机控制单元设计

图书分类号: 密级: 毕业设计(论文) 基于FPGA的自动售货机控制单元设计 学生学号 学生姓名 学院名称 专业名称 指导教师 年月日

摘要 近年来在随着我国各种大小商品市场快速发展以及城市化不同程度的不断提高,自动售货机已经越来越受到大中城市的青睐,自动售货机在这些大中城市中已经获得了越来越广泛的应用,因此自动售货机的快速发展已经得到了不断的提高和认可,同时自动售货机也极大地丰富了我国的商业产业的结构,是商业结构有了更加丰富的拓展,这样在商业结构中开辟了一种全新的自动自主销售和自动自主服务的时代。本文将结合大学期间所学的EDA技术实现自动售货机控制系统的设计,应用这种技术实现设计的自动售货机控制系统,将会有效的减小系统的开发周期,同时降低了很多开发成本,因此是一种可行的设计方案和趋势。 该设计在整体设计架构中主要包含两个部分:主要有硬件系统设计部分和FPGA内部电路的编程设计部分。在FPGA内部电路的编程设计部分主要采用硬件描述语言(Vhdl)对自动售货机的控制系统进行功能描述以及各状态之间的设计。该设计FPGA硬件部分主要是目前最通用的FPGA之一即ALTERA公司的FPGA芯片为设计目标器件。该设计中硬件系统设计是围绕系统设计所选合适的FPGA器件的硬件电路进行设计。本文中将详细介绍了基于FPGA的自动售货机的整体设计方案流程与工作原理及工作状态,在功能叙述中详细阐述了投币选择模块,物品选择模块,主控模块等模块的软件系统设计与实现,在前期设计完成之后对所设计的FPGA内部功能进行功能仿真验证,在确定设计正确无误之后进行下板子测试验证。 关键词FPGA ;EDA;自动售货机;VHDL

东南大学信息科学与工程学院 基于FPGA的自动售货机控制系统

数字系统课程设计 --基于FPGA的自动售货机 组长:师楠(04010512) 组员:徐璇(04010505)

一、设计要求: 功能描述:用于模拟自动售货机的工作过程,完成自动售货功能。 功能要求: (1)售货机有两个进币孔,可以输入硬币和纸币,售货机有两个进币孔,一个是输入硬币,一个是输入纸币,硬币的识别范围是1 元的硬币,纸币的识别范围是5 元,10 元,20,50 元,100元。乘客可以连续多次投入钱币。 (2)顾客可以选择的商品种类有16 种,价格分别为1-16 元,顾客可以通过输入商品的编号来实现商品的选择。即有一个小键盘(0-9 按键)来完成,比如输入15 时要先输入1,再输入5。 (3)顾客选择完商品后,可以选择需要的数量。然后可以继续选择商品及其数量,每次可以选择最多三个商品。然后显示出所需金额。顾客此时可以投币,并且显示已经投币的总币值。当投币值达到或超过所需币值后,售货机出货,并扣除所需金额,并找出多余金额。在投币期间,顾客可以按取消键取消本次操作,钱币自动退出。 二、课题分析 1)进行购物时,顾客依次选择商品种类和对应的商品数量。一共有16种商品,编号分别为1-16,顾客通过(0-9按键)小键盘输入商品编号和对应的商品数量。若顾客继续选择商品则按下“继续购物”按钮,继续选择下一商品的种类和数量。最多可以选择三种商品,每种商品最多可选择三个。若在商品选择过程中顾客按下“取消”按钮,则回到初始化状态,顾客重新进行选择。 2)完成选择后,自动售货机显示所需金额,编号1-16的商品价格分别为1-16元。顾客根据所需金额继续投币,可以连续多次投入1元的硬币和5 元,10 元,20,50 元,100元的纸币。当投币总额大于所需金额时,自动售货机出货并找出

基于PLC的饮料自动售货机控制系统设计

基于PLC的饮料自动售货机控制系 统设计 本文将介绍一种基于PLC的饮料自动售货机控制系统设计方案,该方案可实现准确的货品计数、货币识别和交易记录等功能,提高了自动售货机业务的竞争力和利润。 一、设备概述 饮料自动售货机是一种非常便捷的自助购物设备,安装在各种公共场所,如办公室、学校、车站和商场等。该设备使用PLC控制技术,实现自动售卖饮料、咖啡和小食品等功能,并提供货品计数、货币识别、交易记录和库存管理等功能。 二、控制系统设计 该系统的控制器采用PLC(可编程逻辑控制器)控制器,用于控制饮料自动售货机的各种功能。PLC控制器由以下部分组成: 1. 控制器:PLC控制器是控制系统的核心部分,它控制整个系统的操作,并收集货币和交易数据。 2. 电源:电源用于为PLC控制器提供电力,以保证系统可靠运行。 3. 输入设备:控制器使用输入设备接收并处理客户的指令,如按键和扫描枪等。

4. 输出设备:输出设备用于向客户传递信息,如显示屏、取货口和货币输入口等。 5. 传感器:传感器用来检测货品状态(如库存量和货品 位置),并向PLC控制器发送信息。 6. 交易控制器:交易控制器用于处理货品交易,包括货 币识别、验钞、找零、交易记录等功能。 7. 库存控制器:库存控制器用于管理货品库存,包括货 物加减和盘点等功能。 三、系统工作原理 当客户选择购买饮料时,他们选择希望购买的饮料和货币的面额。顾客付款后,控制器通过交易控制器检测货币面额,然后使用标准计算公式计算找零。客户选择的饮料被送入取货口,同时控制器通过传感器更新库存状态。交易数据还收集到控制器和用于报告的记录器。 四、优点和特点 PLC控制的饮料自动售货机相对于传统的自动售货机具有 多种优势和特点。以下是一些优点: 1. 提高效率:自动售货机减少了客户购物时浪费的时间,特别是在繁忙的班次和场所。 2. 准确性:PLC控制器可准确地识别货币和交易记录, 避免了误差和交易纠纷。

基于触摸屏的自动售货机控制系统设计

基于触摸屏的自动售货机控制系统设计 作者:李远冯若愚 来源:《科技视界》2014年第16期 【摘要】本文介绍了自动售货机的基本原理以及工作流程,对可编程控制器与触摸屏技术应用于自动售货机的设计思路作了介绍,详细阐述了系统的硬件组成和软件设计。24小时无人售货的系统可以更省力,运营时需要的资本少、面积小,有吸引人们购买好奇心的自身性能,可以很好的解决人工费用上升的问题等各项优点。 【关键词】自动售货机;PLC;触摸屏;通信 0 引言 随着商业自动化程度的提高,自动售货机这种新兴售货终端应运而生。自动售货机是一种全新的商业零售形式,它不受时间、地点的限制,能节省人力、方便交易。现代自动售货机的种类、结构和功能依出售的物品而异,主要有食品、饮料、香烟、邮票、车票、日用品等自动售货机。进入21世纪时,自动售货机也将进一步向节省资源和能源以及高功能化的方向发展。 1 系统设计要求 此设计为基于触摸屏的自动售货机控制系统。 (1)此售货机可以自动出售汽水和咖啡,汽水售价7元/杯;咖啡售价9元/杯,购物时需要投入1元、2元或5元硬币。 (2)当投入的硬币总值超过7元时,汽水指示灯亮;又当投入的硬币总值超过9元时,汽水及咖啡指示灯都亮。 (3)当汽水指示灯亮时,按汽水按钮,则汽水阀门打开流出汽水,10秒后自动停止,这段时间内,汽水指示灯闪烁。 (4)当汽水、咖啡指示灯都亮时,若按汽水按钮,则汽水阀门打开,10秒后自动停止,汽水流出的时候,汽水指示灯闪烁;若按咖啡按钮,则咖啡阀门打开,10秒后自动停止,咖啡流出的时候,咖啡指示灯闪烁。 2 设计方案 2.1 硬件设计

本系统根据实际控制要求所需的端子数选择PLC为三菱FX2N-24MR型。它是输入12点输出12点型,属于微型PLC,它体积小,重量轻,使用寿命长,编程和维护方便,故障率低。 自动售货机汽水喝咖啡的出口由电磁阀控制,Y2、Y3接电磁阀,Y0、Y1接汽水和咖啡的指示灯,I/O接线图见图1。 自动售货机I/O接线 2.2 软件设计 选择其中一个购买程序为例,如图2所示。 当M110闭合并且咖啡出口关闭时,如果按下“购买汽水键”M103,则汽水出口Y2得电流出汽水,同时T2开始计时,当T2计够10秒时T2动作断开Y2的自锁,停止流出汽水。购买咖啡也是同样的原理。 2.3 触摸屏画面设计与仿真调试 基于本设计的控制要求和仿真调试,本自动售货机选用的触摸屏是三菱公司A960 颜色为256色,它与电脑及PLC 通信基于RS-232通信协议。绘制触摸屏画面的软件选用GT Designer2,此软件是针对与FX系列触摸屏画面绘制的汉化软件,使用简单,易于操作。本售货机触摸屏画面设计为基本画面3个,分别为首页欢迎屏、投币购买页、统计页面;窗口画面3个,分别为汽水购买画面、咖啡购买画面、余额不足报警画面。 自动售货机购买程序 自动售货机投币购买画面 3 结束语 本设计自动售货机能很好的满足自动售货的要求,设计采用模块化设计思路,提高设计效率,节省时间。操作界面简单明了,操作简单,过程可观看,能实现触摸操作,在很大程度上方便了消费者的要求。并且具有销售统计功能,方便管理员掌握销售情况,能实现自动售货在很大程度上减轻了人力投入。不足之处是钱币识别需要外部钱币识别模块,1元2元5元需要分别对应投入才有效,PLC本身不能识别钱币真伪。需要改进的地方是,把投币口合并为一个,并可以识别其他面值的钱币。 【参考文献】

自动售货机的PLC 控制系统设计

自动售货机的PLC 控制系统设计 作者:袁书寒等 来源:《广东蚕业》 2017年第3期 袁书寒赵娟 (荆楚理工学院电子信息工程学院湖北荆门448200) 摘要自动售货机是一种便民设备,在其控制上选用PLC安全可靠。自动售货机的控制分 为计币、累加、比较、选择、计算,退币和显示等部分所组成。各个通过转换开关进行相互切换,切换之后继续按照以前步骤进行命令执行。PLC通过输出驱动中间继电器,并接通电磁阀。 关键词自动售货机;PLC电气接线图;电磁阀;中间继电器;数码显示管 中图分类号:TH692.62文献标识码:B 文章编号:2095-1205(2017)03-37-01 1总体设计思路 该设计中自动售货机是对投入钱币的数目进计算后,由运算结果做出判断的。自动售货系 统可识别1 元、5 元、10 元三种钱币,采用六个按钮进行模拟。当投入的币数不小于商品价 格时且柜机里该商品时,指示灯亮,意为可购售,货物通过指示灯的亮与灭表示有与无。该部 分用到了比较指令和加法指令。同时还有显示、找零、出货等功能。当余额大于零时,过5S自动进行找零工作,每次找一个一元硬币。 2硬件设计 本设计I/O口分配为1 元投币感应器代号ST1,输入编号为X0;5元投币感应器代号ST2,输入编号为X1;10元投币感应器代号ST3,输入编号为X2;咖啡按钮代号SB1,输入编号为X3;汽水按钮代号SB2,输入编号为X4;复位按钮代号SB3,输入编号为X5;咖啡出口代号YV1, 输出编号为Y0;汽水出口代号YV2,输出编号为Y1;汽水指示灯代号HL1,输出编号为Y2;咖 啡指示灯代号HL2,输出编号为Y3;找钱指示灯代号HL3,输出编号为Y4;找钱出口代号HL4,输出编号为Y5;数码显示管代号HL5,输出编号为Y11-Y17。 中间继电器分配为启动M0;投币M1-M3;比较结果M4-M9,M12-M14;减去汽水价格M10; 减去咖啡价格M11;找零延时M15-M16;数码显示管十位输出M51-M57,M101-M130;数码显示管 个位输出M131-M160;数码显示管个位,十位交替输出延时M50,M60。 该系统实现了一小型集中控制功能,输入/输出点数为19 个左右,主要采用三菱FX1n- 40MR,其中I 点为5 点,O点为14 点,采用输出型PLC继电器。其中饮料按钮、指示按钮和 饮料出口按钮均为开关量。 3软件设计 自动售货机PLC系统设计包括货币计数、数据比较、商品选择、商品供应、余额计算、找零、数码显示等部分的程序设计。 当有顾客购买饮料时,货币计数部分经通过光传感器感应感应是否投入硬币,并驱动硬币 识别器识别硬币。在投币后,数据比较部分将D1中钱币数量与购买商品价格作比较。数据比较结束后,开始进行商品的选择供应。按下长亮的选择按钮,对应的电磁阀(Y0 或Y1 )起动,

基于PLC的自动售货机控制系统的设计

基于PLC的自动售货机控制系统的设计 随着科技的不断发展,自动售货机得以广泛应用于日常生活中。自动售货机控制系统的设计对于自动售货机的稳定运行和高效营业至关重要。PLC技术能够提供一个高效的解决方案,本 文将详细介绍基于PLC的自动售货机控制系统的设计。 一、需求分析 在开始设计控制系统前,我们需要先对自动售货机进行需求分析,以确定控制系统的具体需求。 1. 货品选择功能:控制系统需要根据用户选择的货品类型来带动货道机构,将相应的货品送到出货口。 2. 货品库存监控:控制系统需要对货品的库存进行监控,当库存低于预设值时,需要进行补货操作。 3. 支付功能:用户需要使用制定好的货币进行支付,支付成功后,才能取出购买的货物。 4. 数据统计:控制系统需要统计每种货品的销售情况,方便经营者对售货机的经营情况进行分析。 二、PLC控制系统设计 1. 系统硬件设计

PLC控制系统需要包括以下硬件组成: 1)PLC主控板:作为控制系统核心控制板,需要连接所有的硬件组件。 2)选择模块:根据用户选择的货品类型来进行控制。 3)货道机构:负责将货品送到出货口。 4)支付模块:用于支付功能实现,收集用户支付信息。 5)货币识别器:检测用户支付的货币是否正确。 6)显示器:显示用户选择、支付及出货的相关信息。 7)传感器:监控货道库存及支付状态。 2. 系统软件设计 PLC控制系统需要使用LAD或ST程序语言进行编程,下面是系统软件的设计流程: 1)货品选择功能: 当用户选择货品时,选择模块将收集用户选择的货品信息传输给PLC主控板。然后PLC主控板会控制货道机构运作,将所选货品送到出货口。货道机构的控制需要采用步进电机进行,PLC主控板发送指令控制步进电机的运转。

基于PLC的自动售货机控制系统设计

基于PLC的自动售货机控制系统设计 Abstract In recent years, vending machines have become more and more popular due to their convenience and efficiency in providing goods and services. To improve the control and management of vending machines, a new system using programmable logic controller (PLC) technology was designed and implemented. This paper presents the design of a PLC-based vending machine control system, including hardware and software implementation, system architecture, and control algorithms. The proposed system can ensure the accuracy of product dispensing, detect and prevent fraud, and provide real-time monitoring and control of the vending machine's operation. Additionally, the system can be easily integrated with other devices such as payment systems and inventory management tools, to improve overall efficiency and reduce maintenance costs. The experimental results demonstrate the effectiveness and reliability of the proposed system, which has great potential in future vending machine applications. Keywords: vending machine, PLC, control system, hardware design, software implementation Introduction Vending machines have become ubiquitous in our modern society, providing convenient access to a wide range of products and services. Such machines are widely used in public places like airports, train stations, shopping malls, and schools. Apart from providing customers with 24/7 self-service convenience, vending machine operations can be

基于PLC的自动售货机控制系统设计开题报告

基于PLC的自动售货机控制系统设计开题报告开题报告 一、选题背景与意义 近年来,随着科技的发展和生活水平的提高,自动售货机在我们的日 常生活中越来越普遍。自动售货机可以提供各种各样的商品,如饮料、零食、药品等,为人们提供了便利。为了提高自动售货机的稳定性和可靠性,采用PLC(可编程逻辑控制器)作为控制系统是一个非常有效的方法。本 文拟设计一种基于PLC的自动售货机控制系统,旨在提高售货机的操作功能、稳定性和安全性。 二、研究目标与内容 研究目标:设计一种基于PLC的自动售货机控制系统,实现售货机的 自动化控制和智能化管理。 研究内容: 1.分析自动售货机的工作原理和现有控制系统的缺点; 2.了解PLC的基本工作原理和功能; 3.设计基于PLC的自动售货机控制系统,包括硬件和软件设计; 4.进行实验验证,评估系统的性能和稳定性。 三、研究方法与技术路线 研究方法:文献调研、理论分析、实验研究; 技术路线:

1.调研自动售货机的工作原理和现有控制系统的优缺点; 2.学习PLC的基本原理和功能; 3.设计PLC的硬件系统,包括传感器、执行器和控制器等; 4.设计PLC的软件系统,实现自动售货机的自动化控制和智能化管理; 5.进行实验验证,优化系统性能。 四、可行性分析 本项目的可行性得到以下方面的支持: 1.自动售货机市场需求大,有稳定的市场基础; 2.PLC技术成熟,应用广泛,有较高的可靠性和稳定性; 3.进行过类似研究的学者和企业已经取得了一定的成果,提供了经验 和技术支持。 五、预期成果与创新点 预期成果: 1.设计一种基于PLC的自动售货机控制系统; 2.实现自动售货机的自动化控制和智能化管理。 创新点: 1.采用PLC作为控制系统,提高售货机的稳定性和可靠性; 2.设计智能化管理系统,提供数据统计和分析功能,方便商家进行销 售和库存管理。

基于PLC的自动售货机控制系统的设计

基于 PLC 的自动售货机控制系统的设计 一、引言 随着时代的发展和社会的进步,自动售货机已经成为了人们生活中不可缺少的一部分。随着自动化技术的不断发展,自动售货机控制系统也变得越来越智能化和高效化。本文将详细阐述基于 PLC 的自动售货机控制系统的设计,为读者提供参考和学习。 二、系统设计 2.1 系统结构 基于 PLC 的自动售货机控制系统主要包括以下硬件设备和软件模块: 2.1.1 硬件设备 •PLC 控制器:负责控制自动售货机开关、货道电机等各种设备。 •人机界面:提供人机交互接口,允许用户进行商品选择、支付、取货等操作。 •电子货道:存放商品,并允许人机交互。 •支付模块:负责处理用户支付过程。 2.1.2 软件模块 •自动售货机控制程序:运行在 PLC 控制器上,控制整个自动售货机的各种操作。 •用户界面程序:运行在人机界面上,允许用户进行商品选择、支付、取货等操作。 •支付处理程序:运行在支付模块上,处理用户支付过程并将结果反馈给 PLC 控制器。 2.2 系统流程 基于 PLC 的自动售货机控制系统流程如下: 1.用户选择所需商品,将其编号通过人机界面输入。 –如选择商品已下架或售完,则提示“暂无库存”。 2.PLC 控制器接收到用户选择的商品编号后,控制电子货道电机将商品 推出。 –如检测到商品卡住或堵住货道,则提示“商品推出失败”。 3.用户支付,选择支付方式,支付完成后,支付模块返回支付结果给 PLC 控制器。

–如支付超时或支付失败,则提示“支付失败”。 4.PLC 控制器收到支付结果后,释放商品或者提示“取货失败”。 5.用户取走商品,结束交易。 2.3 主要功能 基于 PLC 的自动售货机控制系统的主要功能包括: 1.商品的选择、展示、出货、库存管理等。 2.支付功能的实现,包括多种支付方式,如现金、刷卡、二维码等。 3.售货机状态监测与维护,包括货道状态、电机故障等。 三、技术方案 3.1 硬件方案 基于 PLC 的自动售货机控制系统,需要一台 PLC 控制器和一个人机界面来实现用户交互。 PLC 控制器需要搭载实时操作系统,并提供 IO 端口、串口等接口,以 便与其他硬件设备通信。人机界面可以使用显示屏、按键等设备,以提供方便的用户操作界面。 3.2 软件方案 基于 PLC 的自动售货机控制系统,主要需要开发以下三个程序: 1.控制程序:运行在 PLC 控制器上,包括商品控制、货道控制、电机 控制等。 2.人机交互程序:运行在人机界面上,提供用户操作界面。 3.支付处理程序:运行在支付模块上,处理用户支付过程。 这三个程序需要紧密协作,共同实现自动售货机的各种操作。 四、 基于 PLC 的自动售货机控制系统,实现了商品的选择、展示、出货和库存管理 等核心功能,同时支持多种支付方式,大大提高了售货机的效率和便利性。作者相信,基于本文介绍的技术方案,可以高效地实现一个智能化的自动售货机控制系统。

基于FPGA的自动售货机设计

目录 摘要......................................................................................................................................... II ABSTRACT................................................................................................................................ I II 第一章引言 (1) 1.1自动售货机的简介 (1) 1.2本课题研究的背景及意义 (1) 1.3 设计方案 (1) 第二章 FPGA自动售货机系统设计 (2) 2.1 自动售货机的工作原理 (2) 2.2 自动售货机的系统框图设计 (2) 2.3 具体的实施方案 (3) 第三章芯片的选择和介绍 (4) 3.1 芯片选择 (4) 3.2 CycloneⅡ系列器件概述 (4) 3.3 CycloneⅡ系列器件的下载设计 (4) 第四章自动售货机的硬件电路设计 (6) 4.1 Altium Designer 6.0 简述 (6) 4.2 FPGA芯片主模块电路设计 (6) 4.2.1电源电路 (6) 4.2.2 时钟信号电路 (7) 4.2.3 下载配置电路 (8) 4.2.4 I/O端口引出电路 (8) 4.3外围电路 (9) 4.3.1 开关按键电路 (9) 4.3.2 显示模块电路设计 (10) 4.3.3外围电路端口电路 (11) 4.4 硬件电路的总原理图和PCB图 (12) 4.4.1 FPGA芯片主模块总原理图和PCB图 (12) 4.4.2 外围电路总原理图和PCB图 (12) 第五章硬件电路的调试 (13) 5.1 电路板的测试 (13)

基于plc的自动售货机控制系统设计

安徽机电职业技术学院毕业论文 自动售货机设计 系部电气工程系 专业机电一体化 班级机电3143班 姓名高志超 学号 1302143162 指导老师曾劲松、赵晓莹 2016~ 2017学年第一学期

目录 1、绪论....................................................... - 1 - 1.1、设计背景............................................... - 1 - 1.2、应用前景............................................... - 1 - 1.3、设计的目的和意义....................................... - 2 - 2、总体设计方案............................................... - 2 - 2.1、总体设计思路........................................... - 2 - 2.2、PLC总体设计流程 ....................................... - 3 - 3、硬件设计................................................... - 3 - 3.1、I/O地址分配 ........................................... - 4 - 3.2、中间继电器分配......................................... - 4 - 3.3、整体系统工作流程....................................... - 5 - 3.4、硬件接线图............................................. - 6 - 3.5、实物接线图............................................. - 7 - 4、软件设计................................................... - 7 - 5、程序调试.................................................. - 18 - 6、结论...................................................... - 19 - 参考文献..................................................... - 19 -

基于PLC的自动售货机控制系统的设计论文

毕业论文(设计) 基于PLC的自动售货机控制 系统的设计 The Design of Vending Machines Control System Based on PLC

工业职业技术学院 毕业设计(论文)任务书 课题名称基于PLC的自动售货机控制系统的设计 课题性质工程设计类 班级电气自动化092班 一.选题意义与背景 自动售货机是可完成无人自动售货,集光、机、电一体化的商业自动化设备。自动售货机不受任何场地限制,方便快捷,可以每天24h售货,因此深受上班族的欢迎。随着科技发展和市场繁荣,很多城市的公共场所里面都放置有自动售货机,出售的商品五花八门,从饮料、零食、香烟、糖果,到牙刷、方便面、自动照相机。近年来,我国的自动售货机行业突飞猛进:在汽车总站、商厦、医院、小区、学校等地区纷纷涌现出自动售货机的踪迹。这种方便快捷的购物方式越来越受到人们的青睐,同时也是现代化城市配套设施的需求。在人口集中的学校、车站、医院等地方,瓶装的饮料造成大量资金与产品的浪费,本课题就研究用PLC实现散装饮料的自动销售,要求给出自动售货机控制系统的硬件电路设计和软件设计。二.毕业设计(论文)主要容:

合理选择PLC类型,设计自动售货机控制系统。具体要求如下: 1、画出售货机控制流程图; 2、合理分配PLC的I/O接口; 3、画出相应的售货机连接线路图; 4、编写控制程序并进行仿真调试。 ●售货机可投入不同币种。 ●投入总币数进行等级划分,并通过不同的按钮指示灯指示。 ●当货物排出后延时指示灯灭。 ●钱币多通过找币系统找币。 ●系统运行状态应有指示。 四.毕业设计(论文)结束应提交的材料: 1、毕业论文。 2、仿真运行系统程序。 指导教师教研室主任 年月日年月日 论文真实性承诺与指导教师声明 学生论文真实性承诺 本人重声明:所提交的作品是本人在指导教师的指导下,独立进行研究工作所取得的成果,容真实可靠,不存在抄袭、造假等学术不端行为。除文中已经注明引用的容外,本论文不含其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。如被发现论文中存在抄袭、造假等学

毕业设计基于PLC的自动售货机控制系统设计毕业论文

随着科技的不断发展,PLC在工程中的应用大家有目共睹,PLC在各个领域已占得一席之地,并将有更好的发展。我国人口数量庞大,自动售货机在人们的生活中扮演越来越重要的角色,从长远来看其具有广阔的发展空间。本次设计的自动售货机为饮料自动售货机,贩卖的商品性质明确,适于放置在短时间人口流动比较大的地方,比如餐厅。首先通过与单片机和液压等控制的对比,确定采用PLC来控制自动售货机,然后分析自动售货机的结构和工作原理,明白自动售货机的贩卖过程,以便为硬件的选择做准备。通过自动售货机的功能分析作出硬件框图,根据硬件框图选择所需要的PLC、货币识别器、电动机和接触器。根据I/O分配表对PLC选型,并画出外部接线图。根据控制系统流程图编写符合自动售货机功能的程序。如果购物后有剩余金额,则可按退币按钮退币。梯形图的编写通过GX Developer来完成,完成梯形图后可以在三菱PLC仿真软件 GX Simulator 6c进行调试和仿真。最后用MCGS作出组态效果。组态仿真图中自动售货机包括按钮、指示灯、投币口、取物口、退币口等部分。 关键词:自动售货机; PLC;梯形图; MCGS ABSTRACT

With the development of science and technology, the application of PLC in engineering everybody be obvious to people, PLC has occupied a space for one person in every field, and will have a better development. Because of the large number of population, the vending machine is playing a more and more important role in people's life, in the long run it has broad space for development. The design of the automatic vending machine for beverage vending machine, the nature of the goods sold in the clear, adapted to be placed in a short time population flow of relatively large areas, such as restaurant. First, by comparing with the single chip microcomputer and hydraulic control, and adopt PLC to control the vending machine, then analyzes the structure and working principle of automatic vending machines selling process, understand the vending machine, to prepare for the selection of hardware. Through vending machine function analysis to make the hardware block diagram, according to the hardware block diagram, select the desired PLC currency recognizer, motor and contactor. According to the I/O distribution list on the PLC selection, and draw the external wiring diagram. According to the flow chart of control system prepared with vending machine program. If the shopping after the remaining amount, then press the coin button coin. Trapezoidal chart compilation done by GX Developer, complete ladder diagram can be debugged and simulated in Mitsubishi PLC simulation software GX Simulator 6c. Finally, MCGS made the configuration effect. Configuration simulation diagram of the vending machine comprises a button, indicator light, the slot, fetching port, a coin refund part. Keywords: vending machine; PLC; ladder diagram; MCGS 目录

相关主题
文本预览
相关文档 最新文档