仓储控制系统(WCS)设计

先看一下已经在生产中使用的WCS界面
在这里插入图片描述
在这里插入图片描述
1:WCS功能介绍
WCS:即Warehouse Control System,仓库控制系统;对应的还有WMS:即Warehouse Management System,仓储管理系统;
WCS主要完成接收WMS系统产生的出入库等任务,分配给对应的执行机构,即PLC控制系统,并监控PLC执行过程和PLC系统状态,反馈任务结果给WMS系统。因为各个用户使用场景的差异,WCS具体到对应设备上时,功能也有增有减。后边以本次设备所在场景为例,描述WCS设计过程。

2:设备组成
该设备有6排货架,每个货架20列42层,总共5040个库位;
有3个巷道堆垛机,每个堆垛机可以操作左右两排货架;
堆垛机货叉上有左右两个货位,左货位只能存取左货架物料、右货位只能存取右货架物料;货叉同一时间只能操作一个货位的物料。
在6排货架的出口端有一个机械手,机械手负责把货叉上的物料放到出入口,或者从出入口放物料到货叉上。
出入口总共有两个。
设备总体用一个西门子1200的PLC控制。
在这里插入图片描述
在这里插入图片描述
3:业务流程
库位中存放的是物料盒,每个物料盒都有唯一编码;物料盒中的物料信息不需要管理。
用户要求的入库流程有两种:
入库流程1:
步骤1:用户扫描入库单号(入库单由MES系统生成)到仓储系统中;
步骤2:仓储系统通过单号到MES系统查询对应的需要入库的料盒号;
步骤3:用户确认执行入库;
步骤4:用户方物料盒到入库口;
步骤5:仓储系统扫码入库(扫码后料盒信息在待入库列表种,异常走异常流程),入库完毕后,反馈入库结果到MES系统
步骤6:料盒如果未入完,循环从步骤4执行;如果入完,点击确认完成。
入库流程2:
步骤1:用户方料盒到入库口;
步骤2:仓储系统扫码入库(扫码后料盒信息在待入库列表种,异常走异常流程),入库完毕后,反馈入库结果到MES系统。
用户要求出库流程:
步骤1:用户扫描出库单号(入库单由MES系统生成)到仓储系统中;
步骤2:仓储系统通过单号到MES系统查询对应的需要出库的料盒号;
步骤3:用户确认执行出库;
步骤4:仓储系统执行出库操作,反馈操作结果到MES系统
步骤5:如果所有料盒出库完成,执行步骤6,如果没有循环执行步骤4;
步骤6:用户确认出口的完成。

4:业务分析
考虑到用户操作方便和操作实时性,把出入库单据相关操作放在WCS中实现;在WMS中可查看、修改对应的单据信息。
设置一张任务表,每一个料盒的一次出、入库操作就生成一条记录,并记录执行过程中的详细信息。
例如:如果用户按入库流程1要入一个入库单,该单据中由10个物料盒子;用户扫码后,WCS在用单号MES系统查询对应的物料和信息,然后展示给用户,用户确认后生成10条入库任务;这10条入库任务单号一致;料盒入库时,更新任务表中对应料盒记录的状态。
设置一张库存表,记录当前库存。
设置库位表,记得当前库位可用状态、使用信息。

5:WCS和PLC通信协议
结合设备运行逻辑,为了提高设备运行效率,极限情况下,可用并行6个任务做出入库。

5.1 PLC状态区
WCS要给PLC分配任务,首先需要知道PLC当前状态;因此定义一个PLC状态区
PLC状态区由PLC写入,WCS读取,WCS不得写入。
DB块地址:520
字段功能定义如下
地址偏移 变量名 类型 功能描述
DBW0 Mode UINT 设备运行模式
0:初始化4:单机5:联机
DBW2 Fault UInt 0:正常,1:有故障
DBW4 Bar1 uint 入口 0:无触发,1:启动扫描
DBW6 Bar2 uint 出口 0:无触发,1:启动扫描
DBW8 Status1 uint 堆垛机1状态:1正常,2异常,0启动中
DBW10 Status2 uint 堆垛机2状态:1正常,2异常,0启动中
DBW12 Status3 uint 堆垛机3状态:1正常,2异常,0启动中
DBW14 Status4 uint 机械手状态:1正常,2异常,0启动中
DBW16 Alarm1 uint 告警详情
DBW18 Alarm2 uint 告警详情
DBW20 Alarm3 uint 告警详情

5.2 PLC任务反馈区
PLC任务反馈区由PLC写入,WCS读取,WCS不得写入。
任务反馈区的内容格式都一样,区别时DB块地址不一样。
任务1反馈区的DB块地址:500
任务2反馈区的DB块地址:521
任务3反馈区的DB块地址:530
任务4反馈区的DB块地址:540
任务5反馈区的DB块地址:560
任务6反馈区的DB块地址:570
字段功能定义如下
地址偏移 变量名 类型 功能描述
DBW0 TaskID DInt 任务号
DBW4 Status UInt 0:初始化,1:空闲,2:任务进行中,3:任务完成
DBW6 result UInt 执行结果
1完成
2请求重复发送之前命令,该请求PLC保障之前有执行中的命令
3满入
4空取
5未知错误
6系统取消
7手动强制完成
DBW8 Site UInt 托盘位置,因为是多任务,需要根据这个判断是否下发任务
10:在出入口
15:在机械手和出入口交互中
20:机械手上
25:在机械手和货叉交互中
30:在货叉上
35:在货叉和库位交互中
40:在库位中
DBW10 Fault UInt 0:正常,1:有故障
DBW12 Alarm1 uint 告警详情
DBW14 Alarm2 uint 告警详情
DBW16 Alarm3 uint 告警详情

5.3:WCS状态区
WCS状态区由WCS写入,PLC读取,PLC不得写入该区域
DB块地址:525
字段功能定义如下
地址偏移 变量名 类型 功能描述
DBW0 Mode UINT
DBW2 Fault UInt 0:正常,1:有故障
DBW4 Bar1 uint 入口 0:正常,2:扫码失败;1:扫描成功
DBW6 Bar2 uint 出口 0:正常,2:扫码识别;1:扫描成功

5.4:WCS任务区
WCS任务区由WCS写入,PLC读取,PLC不得写入该区域
该应用中最多有6个任务,因此创建6个任务区各个任务区的内容都一致,区别时各个任务区的DB块地址不一样。
任务1的DB块地址:501
任务2的DB块地址:522
任务3的DB块地址:531
任务4的DB块地址:541
任务5的DB块地址:561
任务6的DB块地址:571
字段功能定义如下
地址偏移 变量名 类型 功能描述
DBD0 TaskID DInt 任务号
DBW4 Act UInt 0:无动作,1:入库;2:出库;3:重入库;5:任务取消
DBW6 Flag1 UInt
DBW8 Flag2 UInt
DBW10 Source_Row UInt 源排数(1:1排,2:2排)(源是从哪取出)
DBW12 Source_Column UInt 源列数
DBW14 Source_Layer UInt 源层数
DBW16 Goal_Row UInt 目标排数(1:1排,2:2排)(目标是放在哪里)
DBW18 Goal_Column UInt 目标列数
DBW20 Goal_Layer UInt 目标层数

6:编程实现
开发语言选用C#,WCS前台界面用wpf
考虑到网络部署和开发成本,本次直接用西门子S7协议。

7:设备调试界面
为了节约成本,PLC调试触摸屏在WCS中专门做界面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 14
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
仓库控制系统(WCS)是一种用于管理和优化仓库操作的软件系统。它起到了连接仓库管理系统(WMS)和自动化设备的桥梁作用。WCS的开发教程可以按照以下步骤进行: 第一步,需求分析:了解用户对仓库控制系统的需求,包括仓储设备类型、作业流程、性能指标等。根据需求分析,确定开发的重点和目标。 第二步,架构设计:根据需求分析结果,设计WCS的整体架构,包括系统组成、数据流程、通信协议等。确保系统的稳定性和可扩展性。 第三步,功能设计:根据需求,设计具体的功能模块,包括设备调度、路径规划、库存管理等。为每个功能模块编写详细的需求规格,并与用户确认。 第四步,软件开发:根据功能设计,进行软件编码和开发。采用合适的开发工具和技术,如C++、Java等。根据需求规格编写相应的代码,并进行测试和调试。 第五步,硬件集成:将开发好的软件系统与自动化设备进行集成。确保软硬件之间的通信正常,并进行功能测试和性能优化。 第六步,系统测试:对整个WCS进行系统集成测试和性能测试,模拟真实的仓库环境,验证系统的功能和性能是否满足用户要求。 第七步,部署上线:根据测试结果,对WCS进行相应的修改和优化,最终将系统部署上线。确保系统的稳定性和可靠性。 第八步,运维维护:上线后,对WCS进行日常运维和维护,包括故障处理、性能监控、数据备份等,保证系统的正常运行。 总结来说,WCS的开发教程包括需求分析、架构设计、功能设计、软件开发、硬件集成、系统测试、部署上线和运维维护等步骤。通过以上步骤的实施,可以有效地开发出满足用户需求的仓库控制系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cetclyb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值