自动化立体仓库与管理系统探究

自动化立体仓库与管理系统探究

摘要:为了使企业对于仓库实现高效管理,减少人工失误,与企业级ERP系统实现对接逐渐实现无人工厂,基于Djan-go框架开发了自动化立体仓库与管理系统中的产品入库部分,并结合Bootstrap进行可视化页面的设计,并与虚拟下位机相连接实现实时监控与通讯。

关键词:立体仓库;自动化;Django;产品入库

自动化立体仓库主要是利用高层立体式货架放置货物[1],并利用自动化运输设备进行存取、管理和监督的一种存储方式。中国进入高速发展以来,在工业上主要表现为传统加工业的飞速进步,工业逐步向大规模、高集成、高速度的方向上发展;经济的发展带动市场的繁荣,其中商业、图书、码头运输、超市、物流等民用或者军用仓库更是不计其数。在此同时,愈发扩张的仓库需求与日益紧张的城市用地形成了新型的矛盾,为了缓解矛盾,仓库的高空性发展成了一个必然的趋势;同时,伴随着我国计算机控制技术的高速发展,这为我们建立自动化设备提供了理论与技术支持,一个新兴技术的出现,会极大地促进生产力的提高。因此,发展建立一个自动化、高空性的自动化立体仓库是目前的发展的必须,也是必然的趋势。自动化立体仓库具有着如下优点:①因其高层性所以单位用地面积可以存储更多货品[2];②立体货架仓储方式在存储过程中尽可能减小产品的损坏或地面潮湿带来的腐蚀;③自动化设备的使用可以提高入库的速度与准确性,有效衔接生产和库存,同时避免由于搬运货品造成的人员损伤;④存储高效率以及货架的高层性可以减少企业成本,提高经济效益。

1系统结构

该自动化立体仓库和管理系统主要由三大部分组成:多层货架、运输设备、计算机控制和通讯系统。从功能层面划分为3个层次:管理层、监控层、执行层,如图1所示。

2框架设计

本项目采用Django框架的MTV设计模式[2]:1)模型(Model):主要内容包括了所存储的数据的必要字段以及行为,一般来说,每一个模型对应一个单独的数据库;模型定义的类中的属性对应的是数据库里面的字段内容;模型与数据库形成一个映射关系(ORM);2)视图(View):视图功能,主要用来接收网络请求并返回一个网络响应;3)模板(Template):主要是以写HTML文件,作用是把视图里的数据用友好的界面展示给用户。除了以上三层以外,还需要一个URL分发器,作用是将一个个URL的页面请求分发给不同的视图处理,视图再调用相应的模型和模板。

3接口设计

3.1内部接口

利用Pycharm2020创建一个包含基本要素的Django框架,接着手工添加代码。创建的Django框架主要包括模型、视图和模板:1)在models.py中添加现有零件的相关属性实现代码如下:classproduct_t(models.Model):p_num=models.CharField(unique=True,max_length=20)#产品代码p_name=models.CharField(max_length=20)#产品名称p_type=models.CharField(max_length=15)#产品规格型号…def__str__(self):returnstr(self.p_num)2)在views.py里编写所要调用的函数功能,并最终返回输出到html上,代码如下所示:defchoose_product_in(request):product_list=product_t.objects.all()products=[邀‘p_num’:item.p_num,‘p_name’:item.p_name,‘p_type’:item.p_type,…妖foriteminproduct_list]context_dict=邀‘products’:products妖3)在urls.py中配置一个路径,如下所示:path(‘choose_product_in’,views.choose_product_in,name=’list_product_in’)4)构建一个html,模板代码如下所示:<tableclass=”tabletable-bordered”border=”1”cell-padding=”20”>…邀%forproductinproducts%妖<tr><td><ahref=”rango/add_in/邀邀product.p_num妖妖”>邀邀product.p_num妖妖</a></td><td>邀邀product.p_name妖妖</td><td>邀邀product.p_type妖妖</td><td>邀邀product.p_unit妖妖</td><td>邀邀product.p_abc妖妖</td></tr>邀%endfor%妖3.2外部接口本系统与下位机PLC端通过socket协议进行通讯,如下所示为监控端实现代码:importsocketimporttimeimportsysfromrango.modelsimporttask_tvar=task_t.objects.all()fromiteminvar:print(f’邀item.t_state妖’)phone=socket.socket()phone.bind((‘127.0.0.1’,4030))phone.listen(2)conn,address=phone.accept()print(f’下位机正常接入’:邀conn,address妖’)

4可视化界面设计

本系统通过调用开源Bootstrap框架为用户提供简洁清晰的网页界面,供用户进行相关信息条目的输入与提交。其中,入、出库表单和任务单的提交页面是整个项目的主要输入界面。如下图所示是入库阶段首先需要用户提供信息的输入界面,用户需要输入产品条码、入库单号及入库数量。如图2所示。生成入库单的过程中仅提供了与产品相关联的入库基本信息,源货位、目标货位和托盘条码等信息需再次填写,如图3所示。在入库单列表中,若id任务状态显示为0时,表示该入库单任务尚未执行,一旦任务表单提交,系统便实时向PLC反馈任务开始信号,任务状态显示为任务正在进行;当下位机完成入库操作后,由PLC实时反馈任务完成信号,修改任务状态为已完成,至此一次零件的完整入库过程结束。如图4所示。

5结束语

本文介绍了自动化立体仓库管理系统的组成和研究意义,并基于Django前端框架进行了总体设计、接口设计、运行设计,实现了产品入库的基本功能。测试表明,基于Django框架的立体库管理系统能够使企业更为高效地实现仓库管理,方便客户对货物进行远程管理与监督,有效地降低了企业经营的成本,为逐步地实现无人工厂管理、升级以及企业的数字化转型奠定了基础。

参考文献

[1]靖梦圆.基于PLC的自动化立体库控制设计分析[J].南方农机,2021,52(4):171-172

[2]ReinhardIrrgang.高架立体库与物流系统[J].现代制造,2021(3):18-20

[3]余斌.基于Django的用户信息管理系统[J].电脑知识与技术,2021,17(5):89-90

作者:茅政权 李英杰 袁睿笙 姚嘉 单位:上海大学机电工程与自动化学院