PS16 制造系统仿真实战 ← 返回学习门户

PLANT SIMULATION 16 · LEARNING NOTE

Lab 06:批量实验并形成客户结论

本页目录

场景说明

FMS 模型已经包含多品种、替代设备、换型和 AGV。客户不再关心“模型会不会动”,而要在三个投资方案中做选择:

  • 方案 A:维持 3 台 CNC、增加第 2 台 AGV;
  • 方案 B:增加第 4 台 CNC、维持 1 台 AGV;
  • 方案 C:3 台 CNC、2 台 AGV,并采用小批量排序和更短 MTTR。

你需要用 ExperimentManager 或等效批量方法,给出均值、不确定性、风险和推荐。

最终交付物

  • 已冻结并验证的基准模型;
  • 集中场景参数表;
  • 至少 10 次独立重复的方案结果;
  • 产量、准时率、WIP、Flow Time、设备/AGV 状态;
  • 一份客户可审查的结论页;
  • 所有数字能追溯到模型版本、场景、重复号和种子。

步骤 1:冻结模型版本

  1. 运行 Lab 04 的 100 件守恒测试。
  2. 运行 Lab 05 的四个运输测试。
  3. 确认所有测试通过。
  4. Save As FMS_Validated_Baseline_v01.spp
  5. 后续不得直接改动这个文件。
  6. 记录日期、数据版本和关键假设。

步骤 2:建立集中参数表

放置 TableFile t_Scenarios

ScenarioId CNC_Count AGV_Count Buffer Dispatch Batch OP20_MTTR_min
S0 3 1 4 ShortestQueue 1 18
S1 3 2 4 ShortestQueue 1 18
S2 4 1 4 ShortestQueue 1 18
S3 3 2 8 EarliestFinish 5 10

初始化 Method m_ApplyScenario 只负责从本表设置对象。所有方案都通过同一入口加载,避免手工遗漏。

步骤 3:确定统计窗口

本练习采用:

  • 预热期:8 小时;
  • 正式统计期:20 个 8 小时班次,共 160 小时;
  • 重复次数:先 10 次;
  • 每次使用不同种子;
  • 预热结束时清零结果计数,但不清空系统 WIP。

真实项目的预热期要用 WIP/吞吐随时间曲线判断,不能机械照搬 8 小时。

步骤 4:配置 ExperimentManager

若许可证包含 ExperimentManager

  1. 从工具箱放置 ExperimentManager
  2. 打开对象,创建实验研究。
  3. 在 Input values 中添加场景参数,或以 ScenarioId 驱动 m_ApplyScenario
  4. 在 Output values 中添加良品数、准时率、平均 WIP、Flow Time、各资源状态等。
  5. 设置每个场景的观察/重复次数。
  6. 设置不同随机种子或随机流策略。
  7. 配置预热和仿真结束时间。
  8. 先用 2 个场景×2 次重复做冒烟测试。
  9. 检查输出表每行都有场景、重复号和种子。
  10. 再启动完整实验。

Siemens 官方视频中的 ExperimentManager 和输出值定义

画面显示了 ExperimentManager 的 Definition/Evaluation 区域和输出值表。视频版本为 Plant Simulation 14,版本 16 的按钮和字段可能变化,但“定义输入、定义输出、设置观察次数、运行与评价”的流程一致。来源:Siemens 官方 Using the Experiment Manager 视频

西门子官方视频演示了 ExperimentManager 用不同随机数执行多个实验:

来源:Siemens 官方 Plant Simulation 入门视频合集。视频界面可能早于版本 16,但实验概念可对照;字段以版本 16 内置帮助为准。

步骤 5:没有 ExperimentManager 时的替代方法

用 Method 循环场景与重复:

for each ScenarioId
    apply scenario
    for Replication = 1..10
        set seed
        reset model
        run warmup
        reset statistics only
        continue official run
        collect outputs into t_Results
    next
next

运行控制方法的具体 API 必须按 Plant Simulation 16 帮助实现。不要使用等待动画结束的人工点击代替批量控制。

步骤 6:定义结果字段

结果表 t_Results 至少包含:

字段 含义
ModelVersion 模型版本
ScenarioId 场景
Replication 重复号
Seed 随机种子
Warmup_h 预热小时
RunLength_h 正式统计小时
ThroughputGood 良品数
TargetHit 是否达标
ServiceLevel_pct 准时率
AvgWIP 平均 WIP
AvgFlowTime_min 平均流动时间
SetupTime_h 换型时间
AGVRequestWait_min 请求等待
Deadlocks 死锁/未完成请求

可直接参考 templates/experiment_results.csv

步骤 7:冒烟测试

完整实验前检查:

  1. S0×2 次、S1×2 次是否共 4 行;
  2. 每次 Seed 不同;
  3. 运行长度相同;
  4. 场景切换后 CNC/AGV 数量确实变化;
  5. 每次统计在预热后重新开始;
  6. 上一次运行的自定义计数没有残留;
  7. 没有缺失值或异常负值。

步骤 8:完成实验并计算汇总

每个场景至少计算:

  • ThroughputGood 均值、标准差、最小、最大;
  • 均值 95% 置信区间;
  • 产量目标达成次数/重复次数;
  • AvgWIP 和 AvgFlowTime;
  • CNC 与 AGV 状态占比;
  • 换型时间和运输等待。

95% 均值置信区间:

mean ± t(0.975, n-1) × sample_standard_deviation / sqrt(n)

若置信区间宽于客户可接受的决策误差,增加重复次数。

步骤 9:约束筛选而不是只排产量

假设客户约束:

  • 良品 ≥ 420 件/班;
  • 达标概率 ≥ 95%;
  • AvgWIP ≤ 35;
  • 无死锁;
  • 关键设备 Working 不长期超过工程可接受水平。

筛选顺序:

排除死锁/逻辑失败
→ 排除产量与交期不达标
→ 排除 WIP 超限
→ 比较投资与稳健性

步骤 10:做敏感性分析

对三个最不确定输入分别测试低/中/高:

不确定项
需求 -10% 基准 +10%
OP20 MTTR 10 分 18 分 25 分
产品 C 比例 10% 20% 30%

观察推荐方案是否反转。如果只在非常乐观数据下达标,必须在结论中标为高风险。

步骤 11:写客户结论页

使用以下结构:

决策:在 S0–S3 中选择 FMS 配置。
推荐:S__。
证据:平均良品 ___ 件/班(95%CI ___–___),达标概率 ___%,AvgWIP ___。
机制:改善主要来自 ___,使 ___ 状态下降 ___ 个百分点。
代价:新增 ___,投资等级 ___;Flow Time/WIP 变化 ___。
稳健性:需求 +10% 与 MTTR ___ 分钟下仍然/不再达标。
边界:未建模 ___;实施前需确认 ___。
备选:若预算受限,选择 S__,其风险为 ___。

步骤 12:准备客户演示

演示顺序建议:

  1. 30 秒说明研究问题和边界;
  2. 1 分钟展示模型流程,不进行漫长动画漫游;
  3. 展示单件验证和数量守恒;
  4. 展示基准与推荐方案 KPI;
  5. 用资源状态解释改善机制;
  6. 展示敏感性与风险;
  7. 给出建议动作和决策门。

Plant Simulation 16 可同时呈现 3D 模型、报告和资源状态图:

Plant Simulation 16 模型、HTML 报告与资源统计

图片来源:Siemens 官方 Plant Simulation 16 发布说明

结果截图要求

  1. L06-01-experiment-inputs.png:实验输入与场景;
  2. L06-02-output-definition.png:输出字段;
  3. L06-03-running-status.png:批量运行状态;
  4. L06-04-scenario-comparison.png:均值与误差线;
  5. L06-05-resource-states.png:基准与推荐状态;
  6. L06-06-customer-conclusion.png:最终结论页。

最终通过标准