3. 物流定义

这一阶段的建模任务就是在工厂系统模型中,建立物料在工位之间流转的控制逻辑与模型表达。实际工厂系统运行的控制模式,可有多种物料配送方式。在“推式”生产系统控制模式下,工位间物料的转运,多采用集中配送的方式。这常见于汽车、消费电子等离散制造业。在这种配送模式下,物流工具,多采用物流拖车,拖车有固定的配送线路,按照由车间作业计划确定的配送频次,循环往复、连续不断的进行工位间的物料配送与转运。在“拉式”生产系统控制模式下,当前工位物料的生产与转运,由下一流程工位的“取用”而驱动,无论是物料生产还是转运,皆呈现出一种“间歇式”运行状态,物流工具,多采用单次、批量运送的叉车类型的物流车辆。

由此可以看出,在具体的工厂统建模案例中,如何对物料在工位间的转运是非常灵活和多变的。在本章第2节的工位配盘定义中,虽然明确了工位配盘物料的构成、打包形式和转运目的地,但却不能事先指定这些打包好的配盘物料是以何种方式(叉车、物流拖车)运往配送目的地,因物料转运过程的建模,只能根据实际工厂系统的物流安排进行模型表达,为了在物流建模过程中能够继续引用工位配盘中定义的物流信息,进行物料转运过程的建模,BHTC Simulation为物流包裹(package也是一种Part元素)提供了一系列固有属性:

  • source_ID:物流包裹package出发的工位序号
  • peipan_ID:物流包裹配盘作业序号
  • peipan_destID:物流包裹转运的目的地工位序号
  • package_Type:物流包裹的打包类型
  • package_Dest:物流包裹package目的地全称。即该包裹目的地工位内建元素“input_Buf”的全称。

有了这属性信息,可方便灵活地,根据实际的物流安排,建立各种类型的物流模型。比如采用叉车将一个“拉式”工位中打包好的物料运送到它的目的地工位,建模过程如下图所示:

首先,在原来模型结构上建立代表向外转运物料的设备元素“Send”、表示发运目的地的字符串变量“dest_Name”以及使用“Labor”元素表示物流叉车“Fork1”。

在“Send”元素流程逻辑的“Pull from”按钮下的代码框中输入如下代码:

pull_from = array(“package_Buf”)

在“Send”元素动作逻辑定义的“Action on input”按钮下的代码框中输入如下代码:

dest_Name = System_get_attr(“package_Dest”)

当仿真进行时,每当“Send”元素从工位的物流包裹库存“package_Buf”抓取到一个物流包裹时,系统随即执行“Action On Input”按钮下动作逻辑代码。即可获取当前这个物流包裹的目的地名称,并把它赋值给模型中的字符串变量“dest_Name”,然后在“Send”元素的流程逻辑的“Push to”按钮下的代码框中输入如下代码:

push_to = array(dest_Name)

进一步,在“Send”元素的通用选项卡中定义其向外输出物料时使用叉车元素“Fork1”。经过上述模型定义后,在模型的仿真运行过程阶段,工位的外运设备元素“Send”,就会实时地从物流包裹库存“package_Buf”抓取已打包好的物流包裹,并根据物流包裹上作为Part固有属性使用的目的地信息,呼叫叉车把它们运往各自不同的目的地,从而完成工位间的物料的转运工作。