PLANT SIMULATION 16 · LEARNING NOTE
Lab 05:加入换型与 AGV 物流
本页目录
场景说明
Lab 04 的 FMS 已能正确处理 A/B/C 三种零件,但仍假设设备切换产品没有损失、工件能瞬间移动。真实车间中,夹具和刀具切换会占用 CNC,AGV 数量不足也会让已加工零件滞留。客户要判断:应优先增加一台 AGV,还是通过同类产品成组减少换型?
本课采用两级建模:先做简化物流基线,确认生产逻辑;再引入 Transporter/AGV。这样能区分“设备能力问题”和“运输能力问题”。
研究问题
- 换型会损失多少可用生产时间?
- 固定产品顺序与小批量排序的差异是什么?
- 1 台、2 台、3 台 AGV 对产量和等待时间的影响如何?
- 物流改善是否只是把瓶颈重新推回 CNC?
换型矩阵
练习数据,单位为秒:
| 从/到 | A | B | C |
|---|---|---|---|
| A | 0 | 300 | 180 |
| B | 240 | 0 | 360 |
| C | 180 | 300 | 0 |
矩阵可以不对称,因为 A→B 和 B→A 的刀具、清洁和首件确认工作可能不同。
步骤 1:冻结无换型基线
- 打开已通过 100 件守恒验证的
Lab04_FMS_Routing_v01.spp。 - 使用固定产品序列和固定加工时间运行一次。
- 记录产量、各 CNC Working、Waiting 和处理数量。
- 保存为
Lab05_Setup_AGV_v01.spp。 - 在项目记录中标记这个版本为
NoSetup_NoTransport_Baseline。
步骤 2:建立换型表
- 从 Information Flow 放置
TableFile。 - 命名为
t_SetupMatrix。 - 第一行和第一列填写产品类型 A/B/C。
- 输入上面的 3×3 换型时间。
- 在表格标题或旁边 Variable 中明确单位为秒。
不要把换型时间分别硬编码在四台 CNC 中;集中表便于审查和实验。
步骤 3:配置设备换型
Plant Simulation 16 可通过设备 Setup 设置或自定义逻辑表达换型。优先使用标准功能:
- 双击一台 CNC。
- 打开 Setup 或 Times 中的 setup 区域。
- 启用 setup dependent on MU type/attribute 的选项。
- 将产品类型或
ProductType指定为换型依据。 - 选择从表格读取前一类型→新类型的换型时间;若标准设置不能直接引用你的表,再使用由软件生成签名的 Method。
- 对其余 CNC 使用同一规则或从已配置类创建实例。
- 确认同类连续加工的 Setup time 为 0。
四件小样本验证
只输入 A,A,B,A:
| 转换 | 预期换型 |
|---|---|
| 无前件→A | 根据项目定义,通常 0 或初始换型 |
| A→A | 0 秒 |
| A→B | 300 秒 |
| B→A | 240 秒 |
在设备 Statistics 中核对 Setting-up 时间。若总换型时间不是预期值,不要运行长周期。
步骤 4:比较产品顺序
创建两种 100 件序列,产品总量相同:
- S0 交错:
AAAAABBBCC循环 10 次; - S1 成组:50 个 A、30 个 B、20 个 C;
- S2 小批量:A×10、B×6、C×4,循环 5 次。
记录:
| 场景 | 良品 | 总换型次数 | 总换型小时 | Flow Time | 最大队列 |
|---|---|---|---|---|---|
| S0 交错 | |||||
| S1 成组 | |||||
| S2 小批量 |
成组可能降低换型,却增加某些订单等待。不能只看设备利用率。
步骤 5:建立简化物流基线
在引入 AGV 之前,用固定运输时间表达设备间移动:
- 在资源组前后插入能表达延迟的对象,或在转移逻辑中加入明确的运输时间。
- 设置装载 20 秒、行驶 45 秒、卸载 20 秒。
- 暂时假设搬运资源无限,任何请求都能立即运输。
- 再次运行 10 件和 100 件守恒验证。
这个模型回答“有运输时间但没有车辆竞争时,生产系统会怎样”。
步骤 6:认识 Plant Simulation 16 的 AGV 能力

Plant Simulation 16 增强了自由行驶 Transporter/AGV,可使用驱动标记和自定义控制策略。图片来源:Siemens 官方 Plant Simulation 16 发布说明。
初学者第一遍可以用 Track 上的 Transporter;掌握后再使用自由行驶和 DrivingMarker。对象是否可用取决于许可证和安装库。
步骤 7:建立 Track 搬运网络
建议先在独立 Frame FMS_Transport
中练习:
- 放置
Track,构成单向闭环。 - 在输入、车削、铣削、检测位置放置 Station/Sensor 或相应装卸节点。
- 检查 Track 方向连续,不存在断口。
- 放置一个
Transporter,命名AGV_01。 - 设置速度,例如 1.5 m/s;容量设为 1。
- 设置装载和卸载时间各 20 秒。
- 让 AGV 空载跑完整个闭环,确认不会停在断开的 Track 端点。
步骤 8:连接生产请求与运输任务
业务规则:
设备完成加工
→ 工件进入出料位置
→ 创建搬运请求(取货点、送达点、工件)
→ 空闲且符合条件的 AGV 接单
→ 行驶到取货点并装载
→ 行驶到目的地并卸载
→ AGV 重新空闲
优先使用版本 16 内置 Broker/Transport Control、Importer 或可用物流库对象。若需要 Method:
- 从运输对象设置中创建控制 Method,让软件生成签名。
- 请求表至少记录
RequestId、MU、Pickup、Dropoff、CreatedAt、AssignedAGV、CompletedAt。 - 没有可用 AGV 时请求留在队列,不得丢失。
- 一个请求只能被一台 AGV 分配。
- 完成后清除请求并记录响应时间。
步骤 9:逐级验证运输逻辑
不要一次投入 100 件。按顺序测试:
T01:单 AGV、单工件
- 只创建 1 件 A;
- AGV 完成输入→Turn→Inspect 的所有搬运;
- 工件最终进入 Drain;
- 请求表无残留。
T02:单 AGV、三工件
- 创建 A/B/C 各 1 件;
- 每个请求仅执行一次;
- 没有工件被 AGV 永久占用。
T03:同时请求
- 让两台 CNC 同时完工;
- 单 AGV 应排队处理两个请求;
- 增加第二台 AGV 后两个请求可并行分配。
T04:不可用压力测试
- 暂停 AGV 或关键路径;
- 请求应保留;
- 恢复后系统继续,而不是死锁或丢件。
步骤 10:运行 AGV 数量实验
| 因素 | 水平 |
|---|---|
| AGV 数量 | 1、2、3 |
| 产品顺序 | 交错、小批量 |
| 机前 Buffer | 4、8 |
每个随机场景至少运行 10 次。输出:
- 良品/班;
- 平均和最大搬运请求等待;
- AGV Working/Waiting/Empty travel;
- CNC Waiting for transport;
- WIP 和 Flow Time;
- 死锁或未完成请求数。
识别物流瓶颈
一台 AGV 利用率接近 100% 只是信号。更强的证据是:
- 请求队列持续增长;
- CNC 已完成工件但长时间等待卸载;
- 增加第二台 AGV 显著降低请求等待并提高产量;
- 增加第三台 AGV 只增加车辆 Waiting,产量几乎不再提高。
这时第二台可能有价值,第三台可能没有。
结果截图要求
L05-01-setup-matrix.png:换型矩阵;L05-02-agv-network.png:完整 Track、站点和 AGV;L05-03-simultaneous-requests.png:同时请求测试;L05-04-agv-results.png:1/2/3 台 AGV 结果比较;L05-05-bottleneck-shift.png:物流改善前后设备状态变化。