PLANT SIMULATION 16 · LEARNING NOTE
项目教程:多品种机加工 FMS
本页目录
完成结果
你将建立一个包含 3 种零件、3 台可替代 CNC、检测工位、返工、托盘缓冲和 AGV 搬运的 FMS 模型,并回答:达到 420 件/班需要几台 CNC、几台 AGV、什么缓冲容量和哪种派工规则?
第一遍用简化搬运模型完成逻辑;第二遍再用 Transporter/Track 或可用物流对象建立详细物流。这样能把制造路由问题和物流问题分开验证。
1. 研究定义
目标
在 7.5 小时净生产班次、产品组合 A:B:C = 5:3:2 的条件下:
- 良品产量达到 420 件/班;
- 订单准时完成率不低于 95%;
- 平均 WIP 不高于 35 件;
- 不以单台设备长期超过合理负荷或大量换型为代价;
- 在满足目标的方案中优先选择投资较低者。
这些数字是练习用假设,不是行业标准。
边界
模型从毛坯进入 FMS 开始,到合格件离开检测工位结束。原材料仓库、刀具寿命、详细机器人轨迹和成品包装暂不建模;如果实验表明它们可能改变结论,再扩展。
2. 概念流程
订单/毛坯
↓
托盘装载 → 输入缓冲 → 选择可用设备 → CNC1 / CNC2 / CNC3
↑ ↓
└── 返工 ← 检测
↓合格
卸载/成品
产品路线:
| 产品 | 比例 | 工序 10 | 工序 20 | 检测 | 返工目的地 |
|---|---|---|---|---|---|
| A | 50% | 车削 | — | 必须 | 原加工设备组 |
| B | 30% | 铣削 | — | 必须 | 原加工设备组 |
| C | 20% | 车削 | 铣削 | 必须 | 失败的工序组 |
3. 最小模型
对象建议
| 业务对象 | 初始 Plant Simulation 表达 |
|---|---|
| 毛坯到达 | Source |
| 零件 | 3 个 MU 类或一个带 ProductType 属性的
MU |
| 输入/工序间等待 | Buffer |
| CNC 设备组 | 3 个 SingleProc,后续封装为子 Frame |
| 检测 | SingleProc |
| 良品离开 | Drain |
| 路由/数据 | TableFile + Method/出口控制 |
| 仿真控制 | EventController |
| 结果 | 统计属性、Chart、结果表 |
第一次参数
先关闭故障、换型和质量随机性,使用固定时间:
| 工序 | A | B | C | 单位 |
|---|---|---|---|---|
| 车削 | 150 | — | 180 | 秒/件 |
| 铣削 | — | 210 | 240 | 秒/件 |
| 检测 | 30 | 35 | 45 | 秒/件 |
建立 Source、输入 Buffer、三台 SingleProc、检测和 Drain。先让每种产品固定去一台指定设备,确认数量与时间守恒。
最小模型验收
运行 100 个预先确定顺序的零件,逐项检查:
- A/B/C 数量是否为 50/30/20;
- C 是否确实完成两道加工;
- Drain 数量是否等于 Source 数量;
- 每台设备 Working 时间是否等于其加工件数 × 固定加工时间;
- 系统结束时 WIP 是否为 0。
任何一项不成立,都不要加入下一层复杂度。
4. 表驱动路由
不要把每个产品规则散落在多个 Method 中。建立
ProductRouting 表,建议字段:
| ProductType | OpNo | ResourceGroup | ProcTime_s | EligibleMachines | Priority |
|---|---|---|---|---|---|
| A | 10 | TURN | 150 | CNC1,CNC2 | 2 |
| A | 90 | INSPECT | 30 | CMM1 | 2 |
| B | 10 | MILL | 210 | CNC2,CNC3 | 2 |
| C | 10 | TURN | 180 | CNC1,CNC2 | 1 |
| C | 20 | MILL | 240 | CNC2,CNC3 | 1 |
MU
至少携带:ProductType、OrderId、OperationNo、DueDate、ReworkCount、SystemEntryTime。属性名可以自定,但全项目一致。
5. 替代设备与派工
实现并比较三种规则:
- 固定分配:每种产品固定设备,便于验证和建立下界。
- 最短队列:在有资格的设备中选择队列长度最小者。
- 预计最早完工:考虑当前剩余加工、队列负荷、换型和搬运时间。
验证时构造一个只有 5 件的场景,让三台设备状态已知,手算每件应去哪里,再比对模型轨迹。不能仅凭“看起来分配均匀”判断正确。
6. 换型
换型矩阵示例(秒):
| 从/到 | A | B | C |
|---|---|---|---|
| A | 0 | 300 | 180 |
| B | 240 | 0 | 360 |
| C | 180 | 300 | 0 |
先采用确定性矩阵,再根据现场数据决定是否使用分布。验证要求:
- 连续同产品不产生换型;
- A→B 与 B→A 可不同;
- 换型占用设备且不产生加工产量;
- 报告换型次数、总换型时间及其占计划时间比例。
7. 故障与质量
在设备层加入故障前,先确认数据口径。练习值:
| 设备 | MTBF(运行小时) | MTTR(分钟) | 备注 |
|---|---|---|---|
| CNC1 | 18 | 18 | 高频短停之外的故障 |
| CNC2 | 24 | 25 | 关键设备 |
| CNC3 | 20 | 15 | |
| CMM1 | 30 | 12 |
质量练习:检测失败率 A/B/C 分别为 1%/2%/3%;最多返工一次,返工后仍失败则报废。检查守恒:
累计投入 = 累计良品 + 累计报废 + 当前 WIP
8. 物流建模
8.1 简化版
先用固定或分布式搬运延迟表达设备间移动,默认物流资源无限。这个模型用于验证生产路由和设备能力。
8.2 详细版
再使用安装许可证中可用的 Transporter、Track、Station 等对象表达:
- 装载/卸载时间;
- AGV 数量、速度和容量;
- 单向/双向路径;
- 取货派工和空驶;
- 充电或换电(只有影响研究结论时才加入);
- 交叉口和可能的循环等待。
物流模型必须做两个压力测试:所有 CNC 同时请求取货;一台 AGV 或关键路径暂时不可用。模型应能恢复,或明确证明真实规则会死锁。
9. 实验矩阵
| 因素 | 水平 |
|---|---|
| CNC 数量 | 2、3、4 |
| AGV 数量 | 1、2、3 |
| 输入/机前缓冲 | 4、8、12 |
| 派工规则 | 固定、最短队列、预计最早完工 |
| 批量策略 | 不成批、同产品最多 5 件 |
全因子为 3×3×3×3×2=162 个方案,可先筛选:固定一个可信基线,做单因素敏感性,再对候选区域跑完整组合。每个随机方案至少从 10 次重复起步,并根据置信区间宽度增加重复。
10. 输出与决策
每个方案输出:良品/班、准时率、WIP、Flow Time、设备状态占比、AGV 利用率与空驶率、换型次数/时间、报废、最大队列、死锁次数。
推荐不能只按产量排序。用约束先筛选:
产量和准时率达标
→ 排除死锁或高风险方案
→ 排除 WIP 超限方案
→ 比较投资、稳健性与扩展余量
最终至少给出:推荐方案、低投资备选、扩展方案、哪些输入最影响结论。