案例3:组装作业建模仿真
3.1 流程描述
- 案例描述
某组装作业工序,对物料A、B进行组装作业,物料A到达系统的时间间隔服从均值为(5,15)的均匀分布。物料B到达系统的时间间隔服从均值为(3,6)的均匀分布。它们到达系统后分别暂存于各自的库存区域,每一次组装作业工序,从库存处取1个A,3个B进行组装,组装作业时间8分钟,组装完成后,放置到热处理工序,进行12分钟的预应力处理,完成后,由拆解工序,将处理好的装配件,再度拆解还原,拆解一个组装好的装配件耗时18分钟,拆解后的散件集中堆放在拆解库存。
- 仿真目标
建立上述组装作业工序的仿真模型,运行1天= 24*60 = 1440分钟,分析:
- 加工设备利用率;
- 观察物料装配与拆解前后的变化情况。
3.2 建模分析
- 本案例流程描述中,明确了两种物料的到达规律,因此使用“Active”类型的“Part”元素代表物料A、B。
- 使用“Assembly”类型的“Machine”元素代表装配作业工序,每次装配作业需要1个A和3个B,即该“Machine”元素的输入数量为4。使用“Pull_from”流程规则语句输入物料,一次只能从一个输入源输入一个物料,不能满足本案例一次从多个输入源输入物料的要求,因此在设计装配作业工序的物料输入流程代码时,选用“Match_any”流程规则语句,该语句的语法格式为:match_any = array(location1,qty1, location2, qty2, location3, qty3 …)。其中字符串“location”代表输入源名称,“qty”代表从该输入源输入物料的数量。本案例中location1即为物料A库存的名称,qty1 = 1,location2即为物料B的库存名称, qty2 = 3。
- 使用“De_assembly”类型的“Machine”元素代表拆解作业工序。
- 一般热处理工序作业,通常一次可以处理多个零件,而且零件随时到随时就可以开始处理,这里我们使用一个“Min”类型的“Buffer”元素表示热处理工序,这一类型的“Buffer”元素的功能就是,进入该“Buffer”元素的“Part”实例,驻留时间至少要满足“Min”值规定的门限值,才可以被下一道工序取走。
3.3 建模步骤
- 启动BHTC Simulation仿真系统,点击控制面板上的“新建模型”按钮,开始模型构建过程。
- 设施布局:
参考案例1、案例2的操作,使用设计模版创建出本案例中的建模元素:代表两种物料的PartA、PartB、以及它们到达系统后的库存BufferA、BufferB;代表“组装作业”和“拆解作业”的两个Machine元素,并分别给它们重命名为“组装”和“拆解”;代表热处理工序的BufferC,拆解后零件的库存BufferD。
在屏幕上对它们适当布局,并更新“组装”、“拆解”、“热处理”工序设备的图标,结果如下图所示:

- 参数定义:双击模型结构树上的Part元素节点,打开它的属性对话框,输入它们的流程参数。如下
| Part名称 | 到达间隔 | Push to 逻辑 |
| PartA | MM_System_Math_uniform(5, 15) | push_to = array(“MM_Model_BufferA”) |
| PartB | MM_System_Math_uniform(3, 6) | push_to = array(“MM_Model_BufferB”) |
双击模型结构树上的Buffer元素节点,打开它们的属性对话框,输入它的流程参数。如下
| Buffer名称 | 零件滞留模式 | 滞留时间阀值(分钟) |
| BufferA | Default | 无 |
| BufferB | Default | 无 |
| 热处理 | Min | 12 |
| BufferD | Default | 无 |
双击模型结构树上的Machine元素节点,打开它的属性对话框,输入它的流程参数。如下
| 工序 名称 | 输入数量 | 设备类型 | Pull from 逻辑 | Push to 逻辑 | 加工时间 |
| 组装 | 4 | Assembly | match_any = array(“MM_Model_BufferA”, 1, ” MM_Model_BufferB”, 3) | push_to = array(“MM_Model_热处理”) | 8 |
| 拆解 | 1 | De_assembly | pull_from = array(“MM_Model_热处理”) | push_to = array(“MM_Model_BufferD”) | 18 |
3.4 仿真运行
在控制面板的“仿真时长”输入框内输入“1440”,点击“运行模型”按钮,系统开始运行该模型的仿真运行至“1440”分钟单位后结束仿真。运行过程如下图所示:

从仿真动画过程可以看出,组装作业设备在现场物料满足要求时,就会一次性从BufferA中抓取1个零件,从BufferB中抓取3个零件开始组装作业,组装作业完成后,系统会记录装配件的构成信息,只把第一个物料(即物料A)作为装配件,输出到热处理工序,在拆解工序拆解该装配件时,输入的是装配件,拆解完成后把原本的构成零件都还原出来,堆放在BufferD中。
这样的组装、拆解逻辑在机械制造业中非常普遍。比如汽车白车身总装、动力总成组装等。通常是一个装配“基体”(或者是一个托盘)先进入第一个装配工位,随着输送链的移动,在后续的组装工序中,不断地往“基体”上安装零件。安装完成后,“基体”可以取下来,再次投入装配线循环使用。
