【PLC】西门子S7-1200 WINCC:立体车库
目录
1 工作流程
1.1 存车流程
1.2 取车流程
1.3 车位规划
1.4 功能需求
2 硬件系统
2.1 输入信号
2.2 输出信号
2.3 总体设计
2.4 地址分配
2.5 外部电路设计
3 软件系统
PLC程序设计:
硬件组态:
自诊断
自动操作页面设计:
手动操作页面设计:
4 仿真:
5 说明书:
1 工作流程
1.1 存车流程
用户选择存车,通过触摸屏或者管理员帮助获得目标车位,移动目标车位下方的所有车辆,形成目标车位的升降通道,目标载车板下降,用户存车完毕之后,目标载车板上升,车位复位,结束。
1.2 取车流程
用户选择取车,通过触摸屏或者管理员帮助验证取车凭码,获得取车目标车位,移动目标车位下方的所有车辆,形成目标车位的升降通道,目标载车板下降,用户取车完毕之后,目标载车板上升,车位复位,结束。
1.3 车位规划
车库结构为三层三列,为了后续更方便的分析控制流程,对每一个载车板的位置进行了编码。
表1 立体车库的位置坐标
第C层 |
(3,1) |
(3,2) |
(3,3) |
第B层 |
(2,1) |
(2,2) |
(2,3) |
第A层 |
(1,1) |
(1,2) |
(1,3) |
第1列 |
第2列 |
第3列 |
表2 载车板的位置坐标
第C层 |
301 |
302 |
303 |
第B层 |
201 |
空 |
203 |
第A层 |
101 |
空 |
103 |
第1列 |
第2列 |
第3列 |
本立体车库一共有9个停车位,其中包括7个有效车位和2个交换车位,顶层车位编号从左到右依次是301、302、303,中间层车位编号从左到右依次是201、空、203,底层车位编号从左到右依次是101、空、103。底层和中间层中间车位为空位。
1.4 功能需求
本升降横移式立体车库控制系统的核心功能是完成对小型轿车的存取。而控制系统的使用者主要是普通用户、操作员和管理员,使用权限不同,其功能需求也不同。
本升降横移式立体车库控制系统的功能可以分为四部分:
自动存取操作:对于普通用户来说,简单的操作控制是他们所需要的。因此,普通用户的功能需求是实现立体车库的自动存取操作,包括自动入库和自动提车。
手动控制操作:对于操作者来说,除了能够和普通用户一样实现立体车库的自动访问操作,也可以进行手动控制的立体车库,包括手动控制起重电动机,遍历电机、安全钩和每个停车位的安全变速杆。
无论在何种情况下,当出现故障、危险或用户误操作时,立体车库控制系统应能及时发现故障并发出声光报警提示,以避免事故的发生。
故障声光报警:无论在何种情况下,当出现故障、危险或用户误操作时,立体车库控制系统应能及时发现故障并发出声光报警提示,以避免事故的发生。
2 硬件系统
2.1 输入信号
因为我们需要实时的监控立体车库的运行状态,所以使用了传感器来实现我们的功能,如使用到限位开关(行程开关)来监控载车板是否越位、是否到达指定位置,安全挂钩是否动作完成等事宜。
首先,有7个载车板(存取车)启动按钮,选择存车或取车后,点击要存取的车位。若为存车,该车位绿灯灭,表示存车开始。若为取车,该车位红灯灭,表示取车开始。
201载车板(存取车启动)按钮 |
%I0.1 |
203载车板(存取车启动)按钮 |
%I0.2 |
301载车板(存取车启动)按钮 |
%I0.3 |
302载车板(存取车启动)按钮 |
%I0.4 |
303载车板(存取车启动)按钮 |
%I0.5 |
101载车板(存取车启动)按钮 |
%I9.7 |
103载车板(存取车启动)按钮 |
%I10.0 |
其次,有7个载车板(手动)上升或确认按钮,在存取车完成后,按下此按钮,载车板手动上升,若为存车完成,点亮该车位的红灯,表示有车,若为取车完成,点亮该车位的绿灯,表示无车。
101手动确认 |
%I9.3 |
103手动确认 |
%I9.6 |
201载车板(手动)上升启动按钮 |
%I0.6 |
203载车板(手动)上升启动按钮 |
%I0.7 |
301载车板(手动)上升启动按钮 |
%I1.0 |
302载车板(手动)上升启动按钮 |
%I1.1 |
303载车板(手动)上升启动按钮 |
%I1.2 |
其次,有16个控制载车板上下左右运动,以防止其到达指定位置后仍然运动的行程开关,若碰到此开关,表示载车板已经运动到指定位置。
101载车板 右移行程开关 |
%I1.3 |
101载车板 左移行程开关 |
%I1.4 |
103载车板 左移行程开关 |
%I1.5 |
103载车板 右移行程开关 |
%I1.6 |
201载车板 右移行程开关 |
%I1.7 |
201载车板 左移行程开关 |
%I2.0 |
203载车板 左移行程开关 |
%I2.1 |
203载车板 右移行程开关 |
%I2.2 |
201载车板 上移行程开关 |
%I2.3 |
203载车板 上移行程开关 |
%I2.4 |
301载车板 上移行程开关 |
%I2.5 |
302载车板 上移行程开关 |
%I2.6 |
303载车板 上移行程开关 |
%I2.7 |
201、301载车板 下移行程开关 |
%I3.0 |
302载车板 下移行程开关 |
%I3.1 |
203、303载车板 下移行程开关 |
%I3.2 |
其次,有7个安全挂钩行程开关,此开关两个记为一组,分别表示挂钩松开,可以进行载车板运动,以及挂钩挂住,载车板安全。
103载车板安全挂钩行程开关 |
%I9.5 |
101载车板安全挂钩行程开关 |
%I9.4 |
201载车板(安全挂钩)行程开关 |
%I3.3 |
203载车板(安全挂钩)行程开关 |
%I3.4 |
301载车板(安全挂钩)行程开关 |
%I3.5 |
302载车板(安全挂钩)行程开关 |
%I3.6 |
303载车板(安全挂钩)行程开关 |
%I3.7 |
其次,有18个手动开关,分别控制载车板的上下左右移动,在发生故障或人为手动操作时载车板执行动作。
101右(手动) |
%I4.0 |
101左(手动) |
%I4.1 |
103右(手动) |
%I4.2 |
103左(手动) |
%I4.3 |
201右(手动) |
%I4.4 |
201左(手动) |
%I4.5 |
201上(手动) |
%I4.6 |
201下(手动) |
%I4.7 |
203右(手动) |
%I5.0 |
203左(手动) |
%I5.1 |
203上(手动) |
%I5.2 |
203下(手动) |
%I5.3 |
301上(手动) |
%I5.4 |
301下(手动) |
%I5.5 |
302上(手动) |
%I5.6 |
302下(手动) |
%I5.7 |
303上(手动) |
%I6.0 |
303下(手动) |
%I6.1 |
最后,有3个输入,分别为用户一开始需要选择按下的存车开关或取车开关和出现故障时,管理员需要使用的切换手动、自动开关。
切换自动、手动 |
%I7.0 |
存车 |
%I8.7 |
取车 |
%I9.0 |
7个载车板(存取车)启动按钮 |
7个 |
7个载车板(手动)上升启动或确认按钮 |
7个 |
16个载车板上下左右移行程开关 |
16个 |
7个安全挂钩行程开关 |
7对(每对是一个输入点) |
18个手动开关 |
18个 |
3个剩余的输入 |
3个 |
2.2 输出信号
首先是18个载车板移动继电器,即升降或横移电机正转或反转而达到上升、下降、左右移动的目的。
201载车板下降继电器 |
%Q0.1 |
203载车板下降继电器 |
%Q0.2 |
301载车板下降继电器 |
%Q0.3 |
302载车板下降继电器 |
%Q0.4 |
303载车板下降继电器 |
%Q0.5 |
201载车板上升继电器 |
%Q0.6 |
203载车板上升继电器 |
%Q0.7 |
301载车板上升继电器 |
%Q1.0 |
302载车板上升继电器 |
%Q1.1 |
303载车板上升继电器 |
%Q1.2 |
101载车板右移继电器 |
%Q1.3 |
101载车板左移继电器 |
%Q1.4 |
103载车板左移继电器 |
%Q1.5 |
103载车板右移继电器 |
%Q1.6 |
201载车板右移继电器 |
%Q1.7 |
201载车板左移继电器 |
%Q2.0 |
203载车板左移继电器 |
%Q2.1 |
203载车板右移继电器 |
%Q2.2 |
其次,是7个安全挂钩动作的输出,一旦载车板开始离开其车位,安全挂钩动作,随后载车板移动,或复位回原车位,碰到载车板行程开关之后安全挂钩开始动作。
101载车板安全挂钩 |
%Q9.0 |
103载车板安全挂钩 |
%Q9.2 |
201载车板(安全挂钩)动作 |
%Q3.3 |
202载车板(安全挂钩)动作 |
%Q3.4 |
301载车板(安全挂钩)动作 |
%Q3.5 |
302载车板(安全挂钩)动作 |
%Q3.6 |
101红灯 |
%Q7.1 |
103红灯 |
%Q7.2 |
201红灯 |
%Q7.3 |
203红灯 |
%Q7.4 |
301红灯 |
%Q7.5 |
302红灯 |
%Q7.6 |
303红灯 |
%Q7.7 |
101绿灯 |
%Q8.0 |
103绿灯 |
%Q8.1 |
201绿灯 |
%Q8.2 |
203绿灯 |
%Q8.3 |
301绿灯 |
%Q8.4 |
302绿灯 |
%Q8.5 |
303绿灯 |
%Q8.6 |
18个载车板移动继电器 |
18个 |
7个载车板安全挂钩动作 |
7个 |
所有红绿灯 |
14个 |
2.3 总体设计
PLC控制:输入传感器的检测状态,得到触摸屏或上位机允许后再处理数据,输出执行指令。
所用开发环境 |
西门子软件TIA |
|
软件入口 |
STEP7 |
程序编写,硬件组态 |
WINCC |
画面设计、人机交互 |
收集来自行程开关等检测到的立体车库的信息,通过plc模块的分析,输出信号来控制执行模块,包括指示灯的亮灭,安全挂钩的状态以及电机的旋转等,并把数据通过以太网显示在触摸屏上。
系统硬件配置:我们选择稳定可靠的元器件,提高立体车库的安全性和可靠性。
PLC硬件配置:可编程逻辑控制器(PLC)20世纪70年代前达到数字集成电路的小规模。1970-1980年扩展,1980-1985年开始解决不同厂家之间通信难的问题,1985年之后通信协议逐渐标准化。
它是通过检测接近程度以及运动物体是否接近来实现对开关的闭合、断开的控制,以实现系统的动作变化,在本三层三列车库的设计中,限位开关主要用于保护载车板不会运动到车库的边缘,使其在可运行的安全范围内运行。
2.4 地址分配
对每个I/O地址都进行了手动装配,对输入和输出信号的地址均分别进行了有序的配置,得到了信号的分配表。
2.5 外部电路设计
此处主要对电机控制电路进行设计,主要是通过升降电机或者是横移电机的正反转来实现载车板的上下左右移动,整个装置共有4台横移电机,5台升降电机,所有低级都是交流异步电机。如图3.3所示:
3-7载车板上移:通过PLC输出的指令控制,3-7载车板升降电机继电器得电,使升降电机正转或停止。
3-7载车板下移:通过PLC输出的指令控制,3-7载车板升降电机继电器得电,使升降电机反转或停止。
1-4载车板右移:通过PLC输出的指令控制,1-4载车板升降电机继电器得电,使升降电机正转或停止。
1-4载车板左移:通过PLC输出的指令控制,1-4载车板升降电机继电器得电,使升降电机反转或停止。
3 软件系统
本控制系统程序的编制采用时间顺序和存取车的逻辑顺序,首先编程所有预先设计好的动作,根据用户或管理员的输入,判断内部车库的状态,从而自动,且有秩序着操作,有大量的中间单元用来记忆信息,互锁或者自锁
PLC程序设计:
本程序使用博图V15.1软件进行设计,编程且仿真。
硬件组态:
打开TIA Portal V15.1软件,创建新项目,选择设备与网络,添加新设备,首先是控制器,选择SIMATIC S7-1200中CPU1214 DC/DC/DC 编号为6ES7 214-1AG40-0XB0,然后添加6个数字量DI/DQ,DI 8/DQ 8*24DC 编号为6ES7 223-113H32-OXB0。
自诊断
系统内部自动进行的查询行程开关传感器的信号。
系统首先查询传感器信号,然后判断检测到的信号是否和车库状态一致,如果一致,就置位“正常运行”标志位,如果不一致,就自动提出故障类型并发出报警,并复位“正常运行”标志位,最后,结束。
复位:
系统内部自动进行的,在所有操作完成后,断电,再通电时,建立新的初始状态。开始后,断电,再通电,判断载车板是否运行正常,如果运行正常,从上到下自动依次一层一层置位初始值,如果运行不正常,就重复上一步骤,直至所有车位都复位成功,结束。
存取车流程:
存取车时,根据行程开关等传感器所传递的信号,来判断下降通道是否有空位,若下降通道都是空位,载车板下降们进行存取车操作,若无空位,则根据存取车的车位来左右移动下层载车板腾出下降通道,再进行相应的操作。
通过七个中间继电器的使用,依次使101载车板右移,然后挂钩动作,201载车板下降,停取车,201载车板上升挂钩动作,101载车板左移,最后完成201车位上车的存取。
如图4.6,通过7个中间继电器的使用,依次使103载车板左移,挂钩动作,203载车板下降,停取车,203载车板上移,挂钩动作,103载车板右移,最后使203车位上车完成存取操作。
如图4.7,通过7个中间继电器的引用,依次执行101、201载车板右移,挂钩动作,301载车板下降,停取车,301载车板上升,挂钩动作,101、201载车板左移,最后使301车位上车存取完成。
如图4.8,通过5个中间继电器的引用,依次执行挂钩动作,302载车板下降,停取车,302载车板上升,挂钩动作,最后使302车位上车存取完成。
通过7个中间继电器的引用,依次执行103、2033载车板左移,挂钩动作,303载车板下降,停取车,303载车板上升,挂钩动作,103、203载车板右移,最后使303车位上车存取完成。
如上图所示,Totally Integrated Automation Portal V15.1是主程序,打开此软件,选择STEP 7 Professional V15.1在其中用进行梯形图语言的编程,完毕后,选择WinCC Professional V15.1在其中进行监控页面的编程。第二个软件是模拟PLC进行梯形图编程,第三个软件是模拟触摸屏进行监控界面编程,第四个软件是仿真软件,使第二个以及第三个软件生效。
梯形图比较方便快捷,能够快速掌握,并且能够很容易地对控制程序进行添加、修改等操作。确定了编程工具后,根据本系统的控制要求,确定出PLC所需的所有程序块。
当PLC通电后,在没有其他指令情况下,将一直循环扫描MAIN程序[OB1],[OB1]可以调用[FB]程序,当被调用时,将执行完子程序所有指令条之后才会返回主程序,程序中FB有手动控制[FB2]、故障报警[FB3]、自动控制[FB4],在功能块FB中可以调用FC,FC有手动操作[FC1]、101载车板存取车[FC9]、103载车板存取车[FC8]、201载车板存取车[FC2]、203载车板存取车[FC3]、301载车板存取车[FC4]、302载车板存取车[FC5]、303载车板存取车[FC6]。
添加新设备,选择SIMATIC精简系列面板中的KTP700 basic显示屏,订单号和版本如上图所示,然后将显示屏和PLC连接起来,并在此显示屏上进行监控程序的编写。
图5.2 连接PLC和HMI
如图所示,将PLC和触摸屏连接在一起。
图5.3 总体设计
如图所示,一共设计两个画面,一个是自动画面,一个是手动画面,系统初始状态时候,显示的是自动画面,如果要跳转到手动画面,按下设计好的手动和自动切换按键。且自动画面为根画面,手动画面是新建画面。
自动操作页面设计:
在程序中,设置为有车时亮红灯,无车时亮绿灯,首先选择动画中的显示,添加新动画,选择外观,其次对变量进行选择,最后0为断电,1为通电,0时,背景色和边框颜色均为黑色,不闪烁。1时,背景色为红色,边框颜色为黑色,且闪烁
如上图,设置完毕自动控制页面所有的变量,同样的道理,设置手动控制页面。
手动操作页面设计:
最终得到手动操作界面,如图所示,当管理员进行手动操作时候,首先按下自动和手动切换按键,然后就可以用触摸屏对车库状态和车位位置进行手动调整。
4 仿真:
启动仿真,首先确定设备与网络连接成功,启动仿真后将禁用所有其他的在线接口,选择确定。注意PLC和HMI要分别进行仿真。
选择接口和子网的连接为PN/IE1,搜索目标设备,最终找到模拟的PLC设备,当扫描与信息检索完成后,下载程序到PLC设备中。
如图是未组态的PLC[SIM-1200],然后将HMI也仿真之后,再点击RUN。
下载前要检查,首先是PLC下载准备就绪,再检查仿真模块,将在仿真PLC上执行加载操作。再检查设备组态,删除并替换目标中的系统数据,下载组态到设备中,再检查软件,将软件一致性下载到设备中,最后检查文本库,将所有警报文本和文本列表文本下载到设备中,并得到下图的效果。
如图是对HMI也进行了仿真。
如图是将PLC和HMI都进行了仿真的截图,验证了程序的正确性。
5 说明书:
用户存车:车主在进入停车场后,用户首先按下存车按键,然后按下车位号,等待载车板下降到底层之后,首先将车停在载车板中,等完成操作后,离开电梯区域,再按下确认或载车板上升按键,完成操作。此时,界面会亮红灯显示出当前车位车位被占用的状态,载车板将车运送到相应的位置,存车过程结束。
用户取车:车主在进入停车场后,用户首先按下取车按键,然后按下车位号,等待载车板下降到底层之后,将车开出载车板,等完成操作后,离开电梯区域,再按下确认或载车板上升按键,完成操作。此时,界面会亮率灯显示出当前车位车位没有被占用的状态,载车板将车运送到相应的位置,取车过程结束。
如果出现故障,管理员按下手动自动切换按键,然后根据用户需求,按下相应的载车板移动操作。
【PLC】西门子S7-1200 WINCC:立体车库相关推荐
- PLC实验—西门子S7 1200读取旋转编码器数据并计算电机转速
PLC实验-西门子S7 1200读取旋转编码器数据并计算电机转速 注意PTO控制步进电机实验博途软件需要V14版本,不然没有PTO功能块 软件的下载请点击下方百度网盘的链接 链接:https://pa ...
- PLC实验—西门子S7 1200 PID控制步进电机转速
PLC实验-西门子S7 1200 PID控制步进电机转速 严格讲并不是PID控制,因为并不是并不研究这个方向,研二又比较忙,时间限制只加了比例系数 这里只是抛砖引玉,希望大家可以进一步完善补充 思路 ...
- 基于s7—1200的电梯控制,wincc hmi动画仿真,带PLC源代码
基于s7-1200的电梯控制,wincc hmi动画仿真,带PLC源代码,hmi源代码,图纸,IO地址分配id=639682504507&
- 西门子plc s-7 1200驱动伺服电机方法
西门子plc s-7 1200驱动伺服电机方法 前言 完整设备连接 驱动实际接线图 程序编写 新建项目 添加工艺对象 配置工艺对象 程序编写 启动方法 选择工作模式 前言 其实,伺服电机还用另外两种工 ...
- 西门子S7系列PLC以太网通讯处理器MPI-131
基本说明:MPI-131用于西门子 SIMATIC S7 系列 PLC(包括 S7-200. S7-300. S7-400).西门子数控机床(840D,840DSL等)的以太网通讯,支持以太网编程下载 ...
- 西门子S7系列PLC安全防护研究
近年来,随着中国制造的不断崛起,工业控制系统已成为国家关键基础设施的重中之重,工控系统的安全问题也随之而来.工控产品的多样化,造成了工控系统网络通讯协议不同,大量的工控系统采用私有协议,从而导致协议存 ...
- C#使用西门子S7 协议读写PLC DB块
教大家使用C#如何方便快速的读写西门子DB块的值,实现上位机跟plc进行通讯的流程 使用的西门子PLC型号,S7 1200 1.Nuget 安装s7 驱动包 2.西门子plc定义一个db块,这个是我们 ...
- S7netplus通信开发及西门子S7 PLC设置
S7netplus通信开发及西门子S7 PLC设置 PLC设置及S7netplus通信开发 TIA Portal(Totally Integrated Automation)的安装与修复 1.安装 2 ...
- labview控制 西门子S7-1200 1214 dcdcdcplc 程序
labview控制 西门子S7-1200 1214 dcdcdcplc 程序 plc只需要设置连接机制与IP即可 通讯为TCP/IP协议 YID:7320649697140387工控物联网
- 西门子PLC S7-200SMART如何与WINCC通讯?
西门子PLC S7-200SMART如何与WINCC通讯? 虽然同样是西门子家族,S7-200SMART是低端系列,与血统纯正的高端300.400.1200.1500之间有一道墙:200SMART的触 ...
最新文章
- IOS开发—Using UIGestureRecognizer with Swift Tutoria
- 关于赠书《VS Code》断货延迟的通知!
- 后台开发经典书籍--unix环境高级编程
- java清空redis缓存数据库_java相关:Spring Cache手动清理Redis缓存
- fatal error: alsa/asoundlib.h: 没有那个文件或目录错误解决办法
- python——opencv入门(一)
- 用汇编写系统服务程序
- 【Kafka】kafka消费报错 no brokers found in zk
- 涉众分析与硬数据采样(第六章)
- Qt同时加载多个项目
- mysql datetime默认时间_Mysql中datetime默认值问题
- 蚁群算法原理介绍,算法框架以及代码实现
- 【HighCharts系列教程】七、导出属性——exporting
- 邮箱批量登陆工具测试版
- android studio 使用lint工具优化app时全过程记录
- Eric6与pyqt5学习笔记 6【实战2 window伪文本编辑器】【纯eric6操作】
- android9壁纸存放路径,Android基础入门教程——10.9 WallpaperManager(壁纸管理器)
- XMind导入Markdown(利用Typora导出opml)
- 关于position:fixed;的居中问题
- wepy小程序(多张卡片)合成动画