4. 换型方案的形式化表达

换型方案如果只停留在“先拆A夹具、再装B夹具、最后调参数”这样的自然语言描述,数字孪生就无法执行它。形式化表达的本质,是把换型方案从“人读得懂”的叙述,转成“机器可解析、可调度、可回放”的结构化数据。它要回答四个问题:做什么、按什么顺序做、谁来做、用什么参数做,并且每一步都要留下可追溯的标识。

在产线换型场景中,形式化表达通常落在四个相互关联的模型上:任务模型描述换型动作及其依赖关系;资源模型描述设备、工装、人员、AGV等执行主体及其可用状态;参数模型描述工艺设定值、阈值和配方;切换逻辑模型描述条件判断、互锁和状态迁移规则。四者通过统一的标识体系关联,才能被仿真引擎逐拍推进。

一、换型顺序:从自然语言到可执行的任务网络

换型顺序不能只写成线性列表,因为实际产线中存在并行、汇合和条件分支。形式化时,建议把每个换型动作抽象为一个任务节点,节点包含:任务ID、动作类型、目标工位、前置依赖、预计工时、所需资源、完成判据。依赖关系用有向边表示,形成有向无环图(DAG)。

例如某装配线从产品A切换到产品B,可定义任务节点:T01“拆卸A型定位夹具”、T02“清洁安装面”、T03“安装B型定位夹具”、T04“切换拧紧枪程序”、T05“首件参数校验”。其中T02依赖T01,T03依赖T02,T04与T03可并行,T05依赖T03和T04全部完成。这种表达让仿真引擎能自动计算关键路径,也能在资源冲突时给出重排建议。

二、资源分配:把“谁来做”变成可约束的匹配

资源分配的形式化,核心是建立任务—资源匹配矩阵。每个任务声明所需资源类型和数量,每个资源声明能力标签、当前状态、可用时间窗。仿真时按“能力匹配 + 时间窗可用 + 互斥占用”三条规则进行分配。

以T03“安装B型定位夹具”为例,它需要一名装配技师(技能标签:夹具装配)和一台扭矩扳手(工具编号:TW-07)。若TW-07在T03时间窗内已被其他任务占用,仿真引擎应触发资源冲突告警,并尝试从备用工具池中匹配TW-09。资源分配结果不是静态的,而是随仿真推进动态更新的。

三、参数设定:配方与阈值的结构化封装

参数设定最容易出问题的地方,是参数散落在PLC、MES、纸质SOP中,版本不一致。形式化表达要求把参数封装为配方对象,每个配方包含:配方ID、适用产品、参数名、目标值、上下公差、单位、生效工位、写入方式。例如产品B的拧紧扭矩配方可表示为:

recipe_id: RCP-B-001
product: B
params:
  - name: tighten_torque
    target: 42.0
    tol: ±1.5
    unit: N·m
    station: ST-03
    write_mode: PLC_DB
  - name: press_depth
    target: 18.2
    tol: ±0.3
    unit: mm
    station: ST-05
    write_mode: OPC_UA

仿真时,参数模型与任务模型绑定:T04“切换拧紧枪程序”执行时,仿真引擎读取RCP-B-001中tighten_torque的目标值和公差,判断切换后是否在允许范围内。若目标值超出设备能力边界,应在仿真阶段就报错,而不是等到实物换型时才发现。

四、切换逻辑:条件、互锁与状态迁移

切换逻辑是换型方案中最容易被忽略、却最影响安全的部分。形式化时,建议用状态机 + 守卫条件表达。每个工位有明确状态:待机、换型中、参数写入、首件校验、量产。状态迁移必须满足守卫条件,例如“从换型中进入参数写入”要求夹具安装完成信号为真且安全门关闭。

互锁逻辑同样要形式化。例如T03安装夹具时,必须确保ST-03处于“已断电且已泄压”状态,否则任务不可启动。这类约束应写成可计算的布尔表达式,而不是“注意安全”这样的提示语。

形式化表达的一个实用检验标准:把方案交给仿真引擎,如果引擎能自动排出任务顺序、检测资源冲突、校验参数边界、拒绝违反互锁的迁移,说明形式化程度足够;如果还需要人工解释“这里的意思是……”,说明表达仍不完整。

五、可追溯:标识体系与版本管理

可追溯要求每个任务、资源、参数、逻辑规则都有唯一ID,并且记录版本、作者、变更原因。仿真回放时,能定位到“第37拍,T03因TW-07被占用而延迟12秒,导致T05首件校验顺延”。没有标识体系,仿真结果只是一堆数字,无法归因。

下面这张图展示了换型方案形式化表达的四层结构及其关联关系:任务网络驱动资源分配,资源分配约束参数写入,切换逻辑守卫状态迁移,四者共同构成可仿真、可追溯的方案对象。

换型方案形式化表达的四层结构 任务模型 T01 拆卸A夹具 T02 清洁安装面 T03 安装B夹具 T04 切换拧紧程序 T05 首件参数校验 资源模型 装配技师(夹具装配) 扭矩扳手 TW-07 / TW-09 AGV-02 物料转运 ST-03 工位(可用窗) 安全门状态信号 参数模型 RCP-B-001 扭矩 42.0 ±1.5 N·m 压深 18.2 ±0.3 mm 写入方式 PLC_DB / OPC_UA 生效工位 ST-03 / ST-05 切换逻辑模型 状态:待机→换型中→参数写入 →首件校验→量产 守卫:夹具完成 ∧ 安全门关 互锁:ST-03 断电 ∧ 泄压 冲突:资源占用→重排 追溯标识 任务ID / 资源ID 配方ID / 规则ID 版本号 / 变更原因 仿真拍号 / 时间戳 回放定位与归因 驱动分配 约束写入 状态迁移 守卫校验 标识关联 四层模型通过统一ID关联,仿真引擎逐拍推进:任务触发资源占用 → 资源约束参数写入 → 切换逻辑守卫状态迁移 → 追溯标识记录全过程

六、一个可参考的形式化片段

下面给出一个换型方案中“T03安装B型定位夹具”任务的形式化片段,采用YAML风格表达,便于人工阅读和程序解析:

task_id: T03
action: install_fixture
target_station: ST-03
depends_on: [T02]
duration_est: 180s
resources:
  - type: technician
    skill: fixture_assembly
    qty: 1
  - type: tool
    id: TW-07
    fallback: TW-09
    qty: 1
preconditions:
  - station_power_off: true
  - station_pressure_released: true
  - safety_door_closed: true
completion_criteria:
  - fixture_locked_signal: true
  - torque_value: within(42.0, ±1.5)
trace:
  version: v1.2
  author: process_engineer_01
  change_note: "增加TW-09备用工具,应对TW-07占用冲突"

这个片段已经具备可计算性:仿真引擎能读取依赖关系排程,能按技能和工具ID分配资源,能校验前置条件,能判断完成判据,能通过trace字段追溯版本。实际工程中,字段命名和层级可根据MES、APS或仿真平台的接口规范调整,但四类信息——任务、资源、参数、逻辑——不应缺失。

形式化表达不是一次性工作。换型方案在仿真中暴露冲突后,需要回到结构化数据中修改依赖、资源或参数,并更新版本号。若修改只停留在口头或邮件中,追溯链就会断裂,数字孪生验证也就失去了工程意义。

把换型方案写成上述结构化形式后,数字孪生平台才能自动完成排程推演、资源冲突检测、参数边界校验和状态迁移验证。下一阶段的工作,是在仿真引擎中加载这些结构化方案,观察换型节拍、资源利用率和异常路径,从而在实物换型之前完成方案迭代。