自动化立体仓库 (AS/RS) 系统是基于现代信息技术、控制技术及计算机通讯技术等而发展起来的综合应用系统, 是现代物流观念与现代计算机及自动控制技术相结合的产物[1]。自动化立体仓库系统由高层货架、托盘、巷道堆垛机、出入库输送系统、控制系统、计算机管理与监控系统、以及条码扫描仪、AGV小车等多种硬件和多个应用软件系统组成的协同工作的自动化系统。
相对于普通仓库, 立体仓库结构复杂, 控制信息多, 监控实时性强。本系统中的监控系统与管理系统我们采用PC机实现, 而控制系统通过目前应用广泛的PLC来完成。监控系统与管理系统之间主要通过数据库方式共享仓储数据, 实现数据交互;而监控系统与PLC通过PROFIBUS-DP总线方式实现数据通讯, 实现设备运行监控、操作和故障报警[2]。
该小型立体仓库有一个巷道, 2行10列5层货架, 共100个仓位, 如图1所示。
系统控制方式包括手动和自动两种, 手动方式下, 用户通过控制柜上的触摸屏直接控制堆垛机动作;自动方式下, 入库时, 货物经输送系统输送至入口, 进行条码扫描, 管理系统获取到货物信息后根据一定的原则分配货位, 形成入库任务;出库时, 管理系统根据一定的原则选择出库货物, 然后生成出库任务。监控系统获取出/入库作业任务后进行一定的处理并下发给PLC, PLC控制巷道堆垛机将货物输送至对应货位或出口。
该立体库系统结构分为计算机管理系统、监控系统和控制系统三个层次, 结构图如图2所示。
小型自动化仓库的计算机管理系统采用数据库技术、界面设计技术、中间服务层技术等关键技术进行设计和开发。管理系统结构图如图3所示, 主要功能有系统管理、数据维护、出入库管理、库存管理、查询及报表统计、与监控系统数据交互等, 其中的数据维护保护货物数据和仓位信息数据维护等。出入库管理通过对出入库货物的货位进行优化分配, 达到减少作业时间, 提升工作效率的目的[3]。货物分配原则通常有就近、先入先出、货架受力均匀、分类存放等几个原则, 出入库任务是个多目标耦合策略, 解决方法主要有加权法和基于算法的多目标优化法, 在此, 考虑到效率问题, 采用加权法进行出入库货物分配或选择。
管理系统软件采用C#.net开发, C#具有语法简洁、具有面向对象的语言所应有的一切特性、灵活安全等特点, 在增强了开发者的效率的同时也保持了开发者所需要的强大性和灵活性。
自动化立体仓库监控系统一方面接收管理系统下达的出入库等作业任务, 经任务分解和对设备指令队列进行优化组合后, 将指令下达给PLC, 完成相应的作业任务, 另一方面接收执行设备上传的状态信息, 并反馈给管理系统, 实现设备运行监控和故障报警等。
作为自动化立体仓库系统的重要组成部分, 监控系统在管理系统和控制系统之间架起了沟通的桥梁。监控系统基于组态王平台进行开发和设计[4], 组态王软件是一个开放型的通用工业监控软件, 它融过程控制设计、现场操作以及工厂资源管理于一体, 将一个企业内部的各种生产系统和应用以及信息交流汇集在一起, 实现最优化管理。
PLC接收监控层的任务信息, 控制巷道堆垛机以及各输送设备执行各种动作, 实现对货物的出入库操作, 考虑到S7-200系列PLC的广泛的适用范围, 极高的性价比, 在这里我们选用西门子S7-200系列CPU224;通讯模块为西门子EM-277, S7-200中PLC程序设计用STEP7编写。
该自动化立体仓库系统运行中的数据通讯主要包括监控系统与管理系统之间以及监控系统与PLC之间的数据交互。组态王与第三方数据交换的方式, 是基于Windows程序之间交换数据的技术、协议或标准, 实现组态软件与第三方软件程序间的数据交换, 目前所支持的和最常见的是动态数据交换 (DDE, Dynamic data exchange) 、开放式数据库互连 (Open Database Connectivity, ODBC) 、OPC等三种标准。
监控系统与管理系统之间的作业任务数据通过数据库方式进行交互, 管理系统将入库或出库操作形成相应的作业任务后存入指定的数据库表;监控系统通过ODBC连接数据库, 定时读取数据库表获取作业任务, 并将任务执行情况以及设备运行状况写入相应的数据库表。
组态王的SQL访问功能实现与外部数据库之间的数据传输, 包括SQL访问管理器和相关的SQL函数。SQL访问管理器用来建立数据库字段和组态王变量之间的联系, 包括表格模板和记录体两部分。本系统通过记录体建立数据库中字段和组态王变量之间的联系, 记录体中字段的顺序和数据库中表中的字段顺序保持一致, 通过记录体直接操作数据库中的数据。
DDE是Microsoft Windows运行环境下的一个显著特性。通过动态数据交换协议, 应用程序之间可以进行各种类型的数据交换。DDE是进程间通讯的方法, 包括进程之间和同步事件之间的数据传递。DDE使用共享内存来实现进程之间的数据交换以及使用DDE协议获得传递数据的同步。管理系统与监控系统之间采用DDE交互条码扫描信息, 监控系统可以方便及时的获取货物的条码信息。
本系统中的PLC选用了, 监控系统与PLC之间通过PROFIBUS-DP方式实现数据通讯。PROFIBUS-DP协议是专为自动控制系统和设备级分散I/O之间通讯设计的协议标准, 主要用于分布式控制系统数据传输。S7-200可以通过增加EM277扩展模块的方法支持PROFIBUS-DP协议, S7-200PLC配置为PROFIBUS-DP协议方式时组态王不再提供直接的DP驱动, PC机上需要扩展一块CP5611通讯卡, 然后用一根PROFIBUS-DP通讯电缆将CP5611卡与EM277相连[3]。
组态王与S7-200 PLC之间采用PROFIBUS-DP协议方式通讯时需要通过OPC方式来实现。组态王充分利用了OPC服务器的强大性能, 为工程人员提供方便高效的数据访问能力。组态王作为OPC客户端可以同时挂接多个OPC服务器, 每个OPC服务器都被看作一个外部设备, 工程人员可以定义、增加或删除它, 如同一个PLC或仪表设备一样。同时, 组态王本身也可以充当OPC服务器, 向其他符合OPC规范的厂商的控制系统提供数据。
本系统采用组态王作为OPC客户端, 西门子提供OPCServer, 作为OPC的服务器。使用OPC服务器之前, 先在组态王中建立OPC服务器设备。在组态王工程浏览器的“设备”项目中选中“OPC服务器”, 工程浏览器的右侧内容区显示当前工程中定义的OPC设备和“新建OPC”图标。双击“新建”图标, 组态王开始自动搜索当前的计算机系统中已经安装的所有OPC服务器, 然后弹出“查看OPC服务器”对话框, 如图4所示, 在OPC服务器列表中选择“S7200 OPCServer”。
本文对自动化立体仓库系统的结构及各组成部分的功能、实现方式等进行了介绍, 该系统采用了较为合理的分层结构, 监控系统与管理系统之间通过数据库方式实现数据交互, 与PLC之间通过PROFIBUS-DP总线方式实现数据通讯。实践证明, 该系统操作方便, 运行可靠、稳定。
标签:
上一篇: 基于VC的立体仓库管理系统开发与应用