【应用】西门子1200PLC 之 自动售货机

西门子1200PLC来完成应用案例:自动售货机


前言

本篇文章主要写一下,自动售货机程序的实现。


装配流水线(传送带)

1.控制要求自动售货机可投1元、2元、5元钱币。当投入的钱币总值等于或超过6元时,可乐按钮指示灯亮;当投入的钱币总值等于或超过8元时,可乐、咖啡按钮指示灯都亮。当可乐按钮指示灯亮时,按可乐按钮,则可乐排出10秒后,自动停止,可乐排出时,相应的指示灯闪烁。当咖啡按钮指示灯亮时,动作同上。停止后,若投入的硬币总值超过按钮所需钱数(可乐6元,咖啡8元)退币指示灯亮。

2.解题思路 
先整理自己的思绪,一步一步进行编程,先添加每个投币的程序,并将投币总额赋给一个总值,在根据投币总额进行相应商品购买指示灯的亮灭,之后添加购买程序,以及购买后出口指示灯的闪烁程序,并使用接通延时定时器来控制出口灯的熄灭以及退币指示灯亮,最后使用复位按键将程序复位。


I/o分配

输入 输出
1元投币口 s3 咖啡出口K1
2元投币口s2 可乐出口K2

5元投币口s1

<
自动售货机是完成无人自动售货,集光、机、电一体化的商业自动化设备。自动售货机不受任何场地限制,方便快捷,可以每天24h售货,因此深受上班族的欢迎,很多城市公共场所里面都放置有自动售货机,出售的商品五花八门,从饮料、零食、香烟、糖果,到牙刷、方便面、自动照相机。近年来,我国的自动售货机行业突飞猛进:在汽车总站、商厦、医院、小区、学校等地区纷纷涌现出自动售货机的踪迹。这种方便快捷的购物方式越来越受人们青睐,同时也是现代化城市配套设施的需求。传统的自动售货机控制采用单片机作为控制核心,这样不仅会在输入输出接口上做大量的工作,而且系统的抗干扰性也比较差、可编程控制器(PLC)是综合了计算机技术、自动控制技术和通讯技术而发展起来的一种新型的工业控制装置,它具有可靠性高、编程简单、维护方便等优点,已在工业控制领域得到广泛地应用、因为自动售货机作为社会上完成商品零售和综合服务的独立设施,要求它的结构必需可靠、稳定和执行效率高。本文就详细的介绍介绍了自动售货机的结构组成,简述利用可编程控制器(PLC)控制的自动售货机控制系统的控制原理,最后给出了该控制的软硬件设计,并编写了程序总框图和一个具体的梯形图,经实践验证该控制系统是可行的。
### 西门子S7-1200 PLC自动售货机仿真实现方案 #### 1. 系统概述 西门子S7-1200 PLC 是一种功能强大的小型控制器,适用于中小型自动化项目。在自动售货机的设计中,可以通过 S7-1200 PLC 和 WinCC 组态软件来实现系统的逻辑控制和人机交互界面开发。 为了实现自动售货机的仿真,需要完成以下几个方面的工作:硬件配置、I/O 分配、梯形图程序编写、组态画面设计以及系统调试[^1]。 --- #### 2. 硬件配置与 I/O 分配 在硬件配置阶段,需明确自动售货机所需的输入/输出设备及其对应的地址分配: - **输入信号 (DI)**: - 投币检测传感器 - 商品选择按钮 - 售罄状态反馈开关 - **输出信号 (DO)**: - 控制商品掉落电机 - 显示屏指示灯驱动 - 找零装置动作触发 具体的 IO 地址可以根据实际需求定义,例如 DI0-DI3 表示投币金额的不同面额;QW0-QW2 对应三个不同种类的商品掉落指令等。 --- #### 3. 梯形图程序设计 以下是基于 S7-1200 的典型梯形图逻辑结构片段,用于处理基本交易过程中的条件判断与执行操作: ```ladder // 定义变量区 NETWORK: LD M0.0 // 用户按下购买键标志位 AND MW4 >= MD8 // 判断投入总金额是否大于等于当前选中物品价格 OUT Q0.0 // 如果满足则启动对应通道取物机构继电器闭合 NETWORK: LD NOT(M0.0) OR MW4 < MD8 SET RST_MONEY_RETURN // 不足钱数或者取消订单时开启退币流程 ``` 上述代码展示了简单的买卖逻辑框架的一部分,其中涉及到了布尔运算符的应用以及寄存器数值比较等功能块调用。 --- #### 4. HMI 组态与动画设置 利用 TIA Portal 中集成的 WinCC Flexible 工具创建触摸屏界面,可以直观显示库存情况、货币余额等内容,并允许顾客通过触控方式进行选项确认。此外还需加入动态效果比如高亮提示所选类别区域或是更新剩余资金数额变化展示等等[^2]。 完成后记得保存整个工程文件以便后续加载至真实物理设备当中去运行测试[^4]。 --- #### 5. 网络通信部分 如果计划让多台机器联网协作,则需要用到 Ethernet/IP 协议栈下的 OPC UA 或者 Modbus TCP 来建立远程访问路径。这里推荐选用 Siemens 提供的标准库函数——`S7.Net Plus` ,它能够无缝衔接 .NET Framework 平台上构建的服务端应用从而获取目标节点内部存储单元最新读写值[^3]。 --- #### 6. 测试验证环节 最后一步便是依据既定业务规则反复演练直至无误为止 。这期间可能涉及到调整某些参数阈值范围或者是修正潜在错误分支走向等问题解决措施实施到位之后才算真正意义上达成预期目的。 --- ###
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值