案例6:车间AGV运输系统仿真

6.1 流程描述
  • 案例描述

发动机曲轴生产工段以每小时30件的速度加工曲轴,曲轴的毛坯由铸造车间铸造后放在中转库,车间有一辆AGV负责从中转库运送曲轴毛坯至生产工段。车间的布局及相关设备的作业参数如下:

AGV车辆的停车位距离生产工段35m,距离中转库160m

中转库距生产工段180m。

AGV空载行驶速度30m/分钟,满载行驶速度8m/分钟

AGV一次运送12件毛坯件,装载一次耗时2.5分钟,卸载一次耗时3.5分钟。

AGV只有在曲轴生产工段毛坯件少于35件时才去中转库取件,否则停靠在停车位。

  • 仿真目标

试建立上述曲轴车间生产过程的仿真模型,运行1天= 24*60 = 1440分钟,分析车间AGV系统的配送能力。

  • 建模分析

在本案例流程描述中,曲轴生产工段只生产一种零件“曲轴”,没有其他的生产设备,因此我们可以在模型中直接创建一个“Machine”元素代表整个曲轴生产工段。并且“该生产工段以每小时30件的速度加工曲轴”,这说明加工一个曲轴耗时1/30小时,2分钟一个,即是代表“曲轴生产工段”的“Machine”元素的“加工时间”是2分钟。

中转库是存放曲轴毛坯零件的库区,流程中没有给出毛坯零件是如何到达的,这说明中转库中的零件随取随用,一直都有,可以创建一个“Passive”类型的Part元素代表中转库,即虽然流程描述中有“中转库”这一库存对象的存在,但在建模时,可以使用Part元素而非Buffer元素来表示它。在BHTC Simulation系统中,加工设备的取料“Pull from”逻辑不仅可以从模型中的Buffer元素节点中抓取物料,也可直接从Part元素节点抓取物料,如果是“Pull from Buffer”那么模型运行时,只有在Buffer元素实例中有物料,模型执行“Pull from Buffer”才能取得物料,而“Pull from Part”就没有这样的限制,只要后面的加工设备触发执行了“Pull from Part”取料逻辑,就一定可以抓取到Part元素代表的物料。

按照作业流程中对曲轴运输过程的描述,我们需要创建一个“Vehicle”车辆元素代表车间的AGV小车,三个“Track”轨道元素,其中“Track1”代表由中转库到曲轴生产工段之间的路径,“Track2”代表由曲轴生产工段到AGV停车位之间的路径,“Track3”代表由AGV停车位到中转库之间的路径,模型布局如下图所示:

  • 建模步骤
  1. 启动BHTC Simulation仿真系统,点击控制面板上的“新建模型”按钮,开始模型构建过程。
  2. 设施布局:

使用设计模版,创建出本案例中的代表曲轴中转库“Passive”类型的Part元素“中转库”、代表车间AGV运输小车的Vehicle元素“AGV”、以及AGV的三段路由路径Track1、Track2、Track3,代表曲轴加工工段Machine元素“Machine1”及其线边输入库存“Buffer1”并在屏幕上对它们适当布局,结果如上图所示。

继续点击设计模版上的“变量”图标创建一个代表曲轴加工工段线边库存数量的“Variable”变量元素“Num”,并将它显示在库存图标下面。

  1. 参数定义:

双击模型结构树上的代表曲轴加工工段的“Machine1”元素节点,打开它的属性对话框,输入它的流程参数。如下

设备 名称类型Pull from 逻辑加工时间Push to 逻辑
Machine1Productionpull_from = array(“Buffer1”)2push_to = array(“Ship”)

曲轴加工工段线边库存设备属性参数定义:双击模型结构树上的“Buffer1”元素节点,打开它的属性对话框,输入它的流程参数。如下

Buffer名称零件滞留模式库存容量Action on Input逻辑Action on Output逻辑
Buffer1Default1000Num = Num + 1Num = Num – 1

双击模型结构树上的“AGV”元素节点,打开它的属性对话框,输入它的流程参数。如下

车辆 名称数量容量空载速度满载速度Push to 逻辑
AGV112308push_to = array(“Track2”)

双击模型结构树上的“Track2”元素节点,打开它的“通用”选项卡属性对话框,输入该选项卡下面的流程参数。如下

选项卡名称轨道容量轨道长度Push to 逻辑
通用140IF System_Buffer_Nparts(“Buffer1”) < 35 Then     push_to = array(“MM_Model_Track3”) END IF

Track2轨道就是小车停靠的停车位,模型开始运行时,AGV小车就被“Push to”到Track2轨道上待在轨道的末端,监控曲轴工段的线边库存,如表中的“Push to”逻辑所示,只要线边库存量少于35便被“Push to”下一段轨道,前往中转库取件。

双击模型结构树上的“Track3”元素节点,打开它的“通用”选项卡属性对话框,输入该选项卡下面的流程参数。如下

选项卡名称轨道容量轨道长度Push to 逻辑
通用1160      push_to = array(“MM_Model_Track1”)  

AGV小车在Track3轨道运行至末端时,即到达曲轴毛坯中转库,需要进行曲轴毛坯件的装载工作,将选项卡切换至“装载”选项卡,定义AGV小车的装载参数如下表所示:

选项卡名称装载时间装载数量装载目的地
装载2.512  MM_Model_中转库  

双击模型结构树上的“Track1”元素节点,打开它的“通用”选项卡属性对话框,输入该选项卡下面的流程参数。如下

选项卡名称轨道容量轨道长度Push to 逻辑
通用1180      push_to = array(“MM_Model_Track2”)  

AGV小车在Track1轨道运行至末端时,即到达曲轴加工工段,需要将运载的曲轴毛坯件卸载到曲轴工段的线边库存,将选项卡切换至“卸载”选项卡,定义AGV小车的卸载参数如下表所示:

选项卡名称卸载时间卸载数量卸载目的地
卸载3.5ALL  MM_Model_Buffer1  
  • 仿真运行

在控制面板的“仿真时长”输入框内输入“1440”,点击“运行模型”按钮,仿真结束后,勾选模型结构树上曲轴加工工段线边库存“Buffer1”节点、及曲轴加工设备“Machine1”节点,点击报表工具栏上相应的按钮,获得它们的统计信息如下:

库存名称Total inTotal outMax_LengthPart Type Now In
Buffer1480480110
设备名称等待零件时间占比加工零件时间占比输出阻塞时间占比等待人工时间占比复位时间占比故障时间占比已完成加工次数
Machine133.33366.6660000480

由Buffer1元素统计信息可知,在1天共计进入模型流程的有480个曲轴零件,且最大排队队长11个,即在当前的AGV配送能力下,曲轴加工工段线边库存量从未到达案例初始预计的“35个”水平,曲轴工段线边库存水平低,就会导致曲轴加工设备发生待料等待而停机的情况。进一步考察Machine1元素的统计信息,该设备的忙率仅为66.6%,33.3%的时间出现待料情况。通过仿真结果可知本案例中车间AGV配送系统能力不足。

接下来,我们改变模型系统的配送参数,双击模型结构树上AGV节点,打开它的属性对话框,将它的数量改为“2”,给原来车间增加一辆配送小车,相应地,双击模型结构树上的“Track1”、“Track2”、“Track3”节点将它们属性对话框中的轨道容量也改为“2”,重新运行仿真,结果如下:

库存名称Total inTotal outMax_LengthPart Type Now InPart TypePart Qty
Buffer1744703421中转库(曲轴)41
设备名称等待零件时间占比加工零件时间占比输出阻塞时间占比等待人工时间占比复位时间占比故障时间占比已完成加工次数
Machine12.44297.5570000702

由此看出,给车间增加了1辆AGV小车,显著提高了配送能力,线边库存升至41个,曲轴加工设备也达到了97%的利用率。当然也可以通过其他的办法提高AGV车辆的配送能力,比如提高运行速度、增加运量等等,可通过再次运行不同配置参数下的模型,获得定量化的结果,从而比较不同的系统改善方案。

6.2 案例小结

【小结1】

通过本案的学习了解和掌握Vehicle元素、Track元素的使用方法,以及如何使用它们的相互配合,设计物料配送系统模型。