上海瓦得软件系统有限公司200137
摘要:在我们的日常生活中,地铁站、火车站、飞机场、学生寝室、教学楼等公共场所随处可见自动售货机,本研究旨在于针对自动售货机收货方式现状进行设计,方便人们日常购买所需水果。具有测量、显示、控制等多种功能。
关键词:水果;自动售货机;PLC
1引言
本设计考虑到水果的保存方法以及运输损耗,设计了一款既能考虑到经济成本又能考虑到水果质量的水果运输机械结构。使用相对经济的西门子S7-200 CPU 226型号PLC控制电机旋转传递水果,同时使用热电阻Pt100型号传感器实时观察水果存储室的温度并使用EM235拓展模块使设计中的数字量与模拟量可以相互转换以达到控制温度的目的。考虑到各个设备、元件的功能及性价比,各部分均采用了最为合适的元件,使得所设计的系统具有了外接电路简单、系统功能完善、工作人员操作便捷等优点。
2水果自动售货机运行流程设计
2.1水果掉落条件
在接受到顾客购买水果的信号后,与要购买的水果相对应电磁阀和电机同时运作,与之相应的一个水果通过运行通道滑落到顾客取货的区域。顾客购买水果的流程图如图2-1所示。
图2-1 顾客购买水果流程图
因此,水果能从存储区通过水果运行通道掉落到顾客取货区的条件有:
1.该单价下的水果还有库存
2.顾客已投币的情况下,剩余金额大于或等于该单价下的水果
3.顾客购买了该单价下的水果
2.2水果保存方案
在本设计中,为了达到水果保鲜的效果,采用压缩机对水果存储室内的空间进行降温。在使用过程中,压缩机会将其内部气态的制冷剂压缩为高温高压的气态,并将这些经过压缩的气态制冷剂传送到室外机冷凝器,由于液化过程会释放出大量的热能,这些气态的制冷剂在冷凝器的工作下经冷却变成了高温高压的液态制冷剂,从冷凝器中转变完的液态制冷剂经过节流部件节流降压,又由于液体的汽化过程会吸收大量的热能,在需要温度低的空间里吸收了大量的热转变为了低温低压的液体较多的气液混合体进而变成气态,然后再回到外部的压缩机继续进行压缩放热,不断地循环,即能达到制冷的效果。
压缩机工作需要一定的条件,我们在设计中需要对压缩机进行控制使得水果存储室的温度可以保持在一个区间内,压缩机的工作流程图如图3-2所示。
图2-2 压缩机制冷流程图
水果的保鲜温度控制在4-6℃时是保存时间最久的温度,此温度下的水果比常温下的水果保存时间普遍延长3-5天,并且由于有温度区间,压缩机不会频繁的启动或关闭,能尽可能地延长压缩机及整个系统的使用寿命。
3 硬件设计
3.1 PLC模块设计
3.1.1 PLC的选型
在自动售货机监控系统的设计中,选择合适的PLC和扩展模块是确保系统高效运行的关键。考虑到成本、控制需求以及售货机的运行方式,我们选择了西门子公司S7-200系列的PLC。特别是S7-200 CPU226型号,这款PLC提供了24路数字量输入和16路数字量输出,支持多路的PID控制算法,满足自动售货机复杂的控制需求。其可扩展性允许我们根据实际需要接入多个模块,如模拟量拓展模块EM235,用于处理模拟信号。
3.1.2拓展模块的选型
EM235模拟量拓展模块具有12位的A/D转换器,能够处理多种输入、输出范围,如0-10V电压或4-20mA电流。在本设计中,它主要用于转换Pt100热电阻传感器传递的温度信号,这些传感器能够测量-40℃至200℃的温度范围,确保售货机内部温度得到实时监控。
3.3温度传感器
Pt100热电阻传感器是温度测量的关键部件,其量程覆盖了0℃至200℃,足以覆盖不同地区售货机内部可能出现的温度范围。这种传感器利用电阻值随温度变化的特性进行温度测量,具有高精度和稳定性,确保温度数据准确可靠。
3.4系统I/O分配
本系统使用的是西门子S7-200 CPU 226型号PLC,该型号PLC具有24路数字量输入与16路数字量输出。同时接入模拟量拓展模块EM235,为系统提供4路模拟量输入与1路模拟量输出。本系统I/O点分配如表3-1与表3-2所示。
表3-1 系统输入点分配表
元件名称 | 元件代号 | 输入点代号 |
2元苹果 | SB1 | I0.0 |
3元苹果 | SB2 | I0.1 |
3元橙子 | SB3 | I0.2 |
4元橙子 | SB4 | I0.3 |
2元橘子 | SB5 | I0.4 |
3元橘子 | SB6 | I0.5 |
3元梨 | SB7 | I0.6 |
4元梨 | SB8 | I0.7 |
初始化 | I1.0 | |
货币识别 | I1.1 | |
退币按键 | I1.2 | |
预警信号 | I1.3 | |
预警检测 | I1.4 | |
温度传感器 | RA |
表3-2 系统输出点分配表
元件名称 | 元件代号 | 输出点代号 |
2元苹果旋转 | KM1 | Q0.0 |
3元苹果旋转 | KM2 | Q0.1 |
3元橙子旋转 | KM3 | Q0.2 |
4元橙子旋转 | KM4 | Q0.3 |
2元橘子旋转 | KM5 | Q0.4 |
3元橘子旋转 | KM6 | Q0.5 |
3元梨旋转 | KM7 | Q0.6 |
4元梨旋转 | KM8 | Q0.7 |
制冷电机 | KM9 | Q1.0 |
苹果指示灯 | Q1.1 | |
橙子指示灯 | Q1.2 | |
橘子指示灯 | Q1.3 | |
梨指示灯 | Q1.4 | |
警示灯 | Q1.5 | |
蜂鸣器 | Q1.6 |
3.5电磁阀
电磁阀BS-2055用于控制自动售货机中水果的掉落。它体积小,适应售货机内部空间;反应灵敏,确保水果精确掉落;防水防潮,适用于-50℃至150℃的环境。通过控制电磁阀的开启与关闭,实现了水果的自动分配,确保了售货机运行的顺畅与高效。
4软件设计
4.1显示屏模拟初始化
常见的自动售货机在没有使用的时候是自动播放媒体广告的,而在模拟显示屏过程时默认直接显示主界面。在本次设计中,该水果自动售货机的主界面如图4-1所示。
图4-1 显示屏主界面
在程序初始化过程中,除温度变量设定为常温25℃,1元零钱余量设定为20,密码默认设定为123456,各变量的值均设定为“0”,各商品库存需经过管理员手动输入,具体程序如下。
1.进入程序
apple1.pv=0;
apple2.pv=0;
orange1.pv=0;
orange2.pv=0;
orange3.pv=0;
orange4.pv=0;
pea1.pv=0;
pea2.pv=0;
run.pv=0;
ues.pv=0;
all.pv=0;
have.pv=0;
fifty.pv=0;
twenty.pv=0;
ten.pv=0;
five.pv=0;
one.pv=20;
money.pv=0;
temperature.pv=25;
bei.pv=0;
write.pv=0;//对所有参数进行初始化
right.pv=123456;//设置管理员密码
if temperature.pv>6 then temperature.pv=temperature.pv-1 endif
//模拟压缩机运行降温
2.程序运行周期执行
have.pv=all.pv-ues.pv;//余额=投入金额-使用金额
if have.pv<=0 then run.pv=0 endif;//当余额小于等于0时无法购买
temperature.pv=temperature.pv+0.2;//有温差时温度会不断升高
4.2管理员操作模块
作为一种新型的水果自动售货机,能够通过管理员模式对所售商品进行添加或更改是非常重要的。管理员可通过输入密码进入管理员操作模块。设定方式如图3-2所示。
图4-2 进入管理员密码界面动画连接
在模拟过程中,如想进入管理员模式,点击主界面中下部的“管理员模式”,会自动跳出密码输入窗口,即点击“管理员模式”会出现如图3-3所示的密码输入,通过键盘输入正确的密码即可进入管理员操作模块。
图4-3 管理员模块密码输入界面
在管理员操作模块中,由于一开始就设计了输入密码的部分(设定默认123456),所以顾客无法对后台进行修改设置。如果误点,点击“取消”键即可回到主界面。管理员通过键盘输入输入密码,只有在输入密码正确后“确认键”才会显示出来,管理员才可进入水果信息界面,可添加剩余水果数量。如图4-4所示。
图4-4 管理员更改界面
在管理员进入界面之后,界面在各水果单价下“剩余:”后显示所售水果的余量,管理员点击“补充:”后的区域可对该单价下的水果进行补充,所输入的数字会与之前的剩余量相加成为新的剩余量。例如点击单价两元的苹果下的补充区域,输入显示更改的变量为:bei.pv,该处程序为:
apple1.pv=apple1.pv+bei.pv;
bei.pv=0;//在利用完该变量后,该变量清零
点击“返回主界面”则可以返回到如图2-1所示的显示屏主界面的页面,既可点击“管理员模式”重新输入密码后进行操作,又可以点击“我要购买”购买商品。
4.3顾客购买模块
在显示屏主界面点击“我要购买”按键后,界面显示如图3-5所示。
当顾客想要购买水果时需先进行投币,若没有投币则无法购买水果,水果下的按键显示为红色,系统确认货币真假以及币值后会在界面左下角显示剩余金额。
在模拟过程中顾客支付货币的途径默认为真币并在界面右下角显示有不同面额的按钮。如图3-6所示。
图4-5 顾客购买界面
图4-6 界面右下角投币系统
当点击“50元”按钮时,该处的后台程序为:
all.pv=all.pv+50;//顾客拥有的钱+50
fifty.pv=fifty.pv+1;//50元纸币库存+1
run.pv=1;//给自动售货机购买系统一个可以购买的信号
同理,分别点击“20元”、“10元”、“5元”,可以对“all.pv”有不同数值上的增加,同时对它们自己的纸币库存+1。
投入纸币后,界面左下角会显示当前剩余货币金额,顾客点击相应单价的水果时剩余金额会减掉相应数字,只有当剩余金额大于相应价格水果且该水果有库存时按键才会变为绿色。点击“确认购买并退币”按键,剩余货币归0,顾客可在取币口取回剩余货币,显示屏返回主界面。
以顾客购买2元苹果为例,在模拟过程中点击苹果下的“2元”键,可购买的条件如图4-7所示。可购买该单价下的水果条件为:
1.顾客已投币
2.如果之前已购买完水果,剩下的余额要大于该单价
3.该单价下的水果有库存
图4-7 2元苹果可购买条件
左键动作下的控制程序为:
if
apple.pv>0&&have.pv>=2&&run.pv==1 //判断2元苹果是否可购买
then
apple1.pv=apple1.pv-1;//2元苹果库存-1
ues.pv=ues.pv+2;//已使用金额+2
money.pv=money.pv+2;//总收入+2
endif
同理,其他几种单价的水果的购买条件类似,知识数据库中的名称与地址不同,在程序中对金额的改变不同。
在购买结束后点击“确认购买并退币”键,剩余金额会清零,所有单价下的水果购买键都会转化为红色,并跳转回主界面。该键所对应的程序为:
while have.pv>=50 do have.pv=have.pv-20; fifty.pv=fifty.pv-1;endwhile
while have.pv>=20 do have.pv=have.pv-20; twenty.pv=twenty.pv-1; endwhile
while have.pv>=10 do have.pv=have.pv-10;ten.pv=ten.pv-1; endwhile
while have.pv>=5 do have.pv=have.pv-5;five.pv=five.pv-1; endwhile
while have.pv>=1 do have.pv=have.pv-1;one.pv=one.pv-1; endwhile
all.pv=0;
ues.pv=0;
run.pv=0;
4.4温度控制模块
温度控制模块独立于前面几个模块。由于压缩机在水果自动售货机的内部,监测存储室温度的Pt100热电阻传感器在水果存储室中,我们无法从外部观测到存储室内部温度,所以为了观察压缩机是否工作或是否故障,可在显示屏的上方放一个LED显示屏,能随时显示存储室实时温度,并设置一个报警器,当存储室温度低于0℃或高于10℃时,报警器报警。
温度控制模块在显示屏的右上部分,在该系统的核心程序中程序初始化程序为:
if temperature.pv>6 then temperature.pv=temperature.pv-1 endif
在压缩机运行的实际操作中对应的是当温度高于6℃时,压缩机进行工作,降低水果存储室的温度。
5结论
本次设计将PLC技术、数字电子技术、传感器技术等知识综合运用,完成了以S7-200CPU 226型号PLC为核心控制器的水果自动售货机系统的设计,主要实现了对自动售货机中水果存储区温度的实时测量、顾客对水果进行购买支付后水果的运行方式,使其能实现水果自动售货机的基本功能,保证了水果的质量,基本达到了任务书的要求。较为详细的地介绍了各个模块的硬件组成以及电路设计。利用C语言进行编程,在Force Control中实现了该系统的模拟,通过PLC语言,完成了系统软件的设计。
参考文献
[1]陈金宝.基于PLC的水果自动售货机设计[J].电子世界,2020,(20):114-115+120.
[2]金薇.基于PLC的自动售货机控制系统设计[J].中国新技术新产品,2020,(14):15-16.
作者简介:徐骏,1978.11.29,上海瓦得软件系统有限公司,邮编:200137,副总经理,上海人,硕士学历,研究方向:计算机软件开发
- 1 -