python工业互联网应用实战2—从需求开始

前言:随着国家工业2025战略的推进,工业互联网生长将会提速,将迎来一个新的生长时期,越来越多的企业最先逐步的把产线自动化,去年年底投产的小米亦庄的智能工厂就是一个热议的新闻。小米/华为智能工厂只能说是中国制造2025的一个代表,产业转型和制造升级,笔者从事的企业领域就越到越来越多的(制造)企业最先偷偷的自动化/智能化。这里一定有国家政策推动的大靠山,同时,也有着企业自身不停提高生产率的“刚需”。

  本序列我们也从一个需求问题最先;然后,拆解需求(问题);其次,解决拆解需求(问题)的点;再次,通过的不停手艺试探和迭代历程找到一个个合理的解决需求的方式和手段,最终,完成了这个需求(问题)的项目实战。我们会在文中形貌演化历程、方式论、历程保证机制和适用的工具等,最终带着人人完成这样一个现实项目需求的项目历程项目涉及的Django的多基础知识请人人阅读笔者早期的《Python开发入门与实战系列》。

  本文的历程接纳python3.6和django2.1版本

项目需求:这是一个简版物流自动化堆栈实例,堆栈控制系统(以下简称WCS)需要调剂AGV小车运送一个实托盘(搬运单元)从1楼入库站台经由提升机搬运到2楼指定的堆栈货位。 

1.需求剖析

  堆栈控制系统(以下简称WCS)需要调剂AGV小车运送一个实托盘(搬运单元)从1楼入库站台经由提升机搬运到2楼指定的堆栈货位。这句简要形貌常常是我们在项目URS看到的需求形貌,接下来我们需要对拿到的需求举行剖析,形成一个个可器量的开发功效点。

1.1.用例说明

  需求用例说明文档能够很好的对需求举行详细的剖析,主要的包罗内容包罗:前置条件、事宜流程和后置条件(执行效果)用例形貌如下表,通过用例剖析我们能够很好的掌握需求的详细事宜执行流程,并通过文档清晰的形貌出来,便于后期设计编码时作为开发设计职员的指导。

  经由团队头脑风暴讨论,人人基本上杀青了如下表的需求用例说明,我们把这个调剂装备的搬运历程设计成一个序列顺序执行的步骤(子义务),这些子义务对应着装备的执行剖析动作。

用例编码

1.1

执行角色

WCS

用例名称

托盘入库用例

前提条件

  1. WMS已完成义务货位的分配,义务焦点信息:托盘条码、源地址、目的地址;
  2. AGV不能跨楼层作业,1楼与2楼分别是差别的AGV小车执行义务;

需求形貌

1 WCS剖析搬运义务成3个装备作业

2 调剂AGV入库站台搬运托盘到提升机1楼门口工位;

3 调剂提升机到1楼并打开廊门

4 调剂AGV提升机1楼门口工位到提升机并卸货,返回提升机门口工位;

5 调剂提升机1楼提升到2楼并开门;

6 调剂AGV进入提升机并载货搬运到2楼门口工位;

7 调剂提升机关门;

8 调剂AGV从2楼门口工位搬运到库存货位。

备选历程

 

扩展历程

 

 

原始需求形貌

参见 《XXX URS》

特殊需求

后置条件

WCS调剂相关装备完成实托盘从入库站台搬运到库存货位,反馈效果给WMS 

2. 需求功效点

  从上面的用例说明的需求形貌事宜流程来看,我们需要先把这一趟搬运义务剖析成装备子义务,并串行的方式顺序下到达装备执行,义务清单如下表:

序号

作业形貌

GitHub 热点速览 Vol.24:程序员自我增值,优雅赚零花钱

执行装备

1

调剂AGV入库站台搬运托盘到提升机1楼门口工位

1AGV

2

调剂提升机到1楼并打开门

提升机

3

调剂AGV提升机1楼门口工位到提升机并卸货,返回提升机门口工位

1AGV

4

调剂提升机1楼提升到2楼并开门

提升机

5

调剂AGV进入提升机并载货搬运到2楼门口工位

2AGV

6

调剂提升机关门

提升机

7

调剂AGV从2楼门口工位搬运到库存货位

2AGV

  也就是说这一趟搬运义务,WCS需要剖析成7个装备作业子义务,并顺序下达给响应的执行装备执行,最终完成义务的执行(当前的义务划分粒度现实对接AGV和提升机厂家来说会有调整,最终以上步骤会依赖与现实对接的情形,然则主流程不会有太大转变)。 

   经由剖析从1楼入库站台运送托盘到二楼某个指定货位这样一个义务,系统需要剖析成7个子义务,下达给装备顺序执行。系统流动图如下:

3. 流动图

  经由剖析从1楼入库站台运送托盘到2楼某个指定货位这样一个义务,系统需要剖析成7个子义务,下达给装备顺序执行。我们还可以通过UML流动图来进一步详细的形貌作业的执行顺序如下图: 

python工业互联网应用实战2—从需求开始

    从图中我们可以看出来一次入库义务,系统剖析为7个装备子义务(作业)来执行完整的托盘入库流程,只有所有子义务(作业)执行完成,托盘的入库才算完成。

 4. 功效模块

  对于这样一个看似简朴的需求来说,包罗两大主要功效模块

    1. 义务剖析:依据物理装备处置义务的条件,对义务举行剖析,义务剖析的粒度是装备能够识别并执行(动作)
    2. 义务调剂:义务调剂就是根据顺序执行的逻辑,把义务顺序和逐一下达给装备 

  这里也有几个基本逻辑就是,装备在某一个时间点上只能执行一个子义务,只有这个义务执行完毕后方能下达新的子义务。多重义务逻辑只会导致装备无法完成义务(不知道到底该执行谁人动作)。

 4.1. 实体关系

  我们从上面需求剖析整理当前至少包罗2个实体,包罗的属性(字段)如下: 

1义务

义务ID,义务号,源地址(从哪儿),目的地址(到哪儿),最先时间,竣事时间,状态 

2子义务:

子义务ID,义务ID,源地址(从哪儿 上一个子义务的目的地址), 目的地址(到哪儿 下一个子义务的源地址), 执行机构,最先时间,竣事时间,状态

5. 小节

  本章我们从一个需求问题最先,然后经由需求剖析,把需求问题剖析为功效点和数据实体,实体是下一步我们设计表或ORM model的基础原型,上面的实体只是一个开端的需求剖析主要字段要求,实体属性(字段)会设计时会增添特定的其它属性(字段)。 下一章节我们将描绘若何把这个需求逐步演化到模子设计。

 

 

原创文章,作者:admin,如若转载,请注明出处:https://www.2lxm.com/archives/16390.html