4. 产线对象与工艺分解

虚拟调试的对象不是“一条产线”这个笼统概念,而是产线上每一个可独立动作、可独立互锁、可独立计时的工位。若把整线当成一个黑盒去仿真,PLC 程序里的联锁条件、节拍瓶颈和故障分支就无处落地。因此本节的核心任务,是把典型工位拆成三层:动作序列(这个工位按什么顺序动)、互锁条件(什么条件下允许动、什么条件下必须停)、节拍与故障(单件耗时多少、异常时停在哪一步、如何复位)。

下面以装配、搬运、加工、检测四类工位为例,说明拆解方法。所有参数均为教学示例,实际工程需以设备手册和现场测量为准。

一、拆解的统一参照与命名约定

为避免各工位描述混乱,先约定参照系:以工位进料方向为 +X,工件从右向左流动;气缸伸出为 1、缩回为 0;传感器“检测到工件”为 TRUE。所有动作序列均按“上电初始位 → 循环动作 → 回到初始位”描述,互锁条件统一写成“允许条件 AND NOT 禁止条件”。

二、装配工位:压装与螺钉拧紧

装配工位典型对象是压装机构与拧紧轴。动作序列可拆为:工件到位 → 定位销伸出 → 压头下行至压装位 → 保压 → 压头回位 → 拧紧轴下降 → 拧紧至目标扭矩 → 拧紧轴回位 → 定位销缩回 → 放行。互锁条件包括:定位销未到位禁止压头下行;压头未回位禁止拧紧轴下降;扭矩未达标禁止放行。节拍示例:压装 2.5 s、保压 1.0 s、拧紧 3.0 s、辅助 1.5 s,单件约 8.0 s。故障场景典型为“压装力超限”和“扭矩未达标”,前者应立即停止压头并保持位置,后者应报警并禁止放行。

三、搬运工位:直角坐标机械手

搬运工位常用直角坐标机械手,动作序列为:X 轴到取料位 → Z 轴下降 → 夹爪闭合 → Z 轴上升 → X 轴到放料位 → Z 轴下降 → 夹爪张开 → Z 轴上升 → X 轴回原点。互锁条件:夹爪未闭合禁止 Z 轴上升;Z 轴未上升到位禁止 X 轴移动;放料位有料禁止下降。节拍示例:取料 1.2 s、移动 1.8 s、放料 1.2 s、回原点 1.0 s,单件约 5.2 s。故障场景为“夹爪未检测到工件”和“X 轴超时”,前者应回取料位重试,后者应停止并报警。

四、加工工位:钻孔与冷却

加工工位以钻孔为例,动作序列为:工件夹紧 → 主轴启动 → 钻头快进 → 工进 → 退刀 → 主轴停止 → 夹紧松开。互锁条件:夹紧未到位禁止主轴启动;主轴未达到设定转速禁止工进;冷却液未开启禁止工进。节拍示例:夹紧 1.0 s、主轴升速 1.5 s、快进 0.8 s、工进 4.0 s、退刀 1.0 s,单件约 8.3 s。故障场景为“主轴过载”和“冷却液压力低”,前者应立即退刀并停主轴,后者应禁止工进。

五、检测工位:视觉与尺寸判定

检测工位动作序列为:工件到位 → 触发相机 → 拍照 → 图像处理 → 判定 OK/NG → 分拣气缸动作 → 放行。互锁条件:工件未到位禁止触发相机;判定未完成禁止分拣;NG 未剔除禁止放行。节拍示例:到位 0.5 s、拍照 0.3 s、处理 1.2 s、分拣 0.8 s,单件约 2.8 s。故障场景为“图像超时”和“误判”,前者应重拍一次,后者应记录并人工复检。

四类工位动作序列与互锁关系总览 装配工位 压装 + 拧紧 ① 工件到位 ② 定位销伸出 ③ 压头下行/保压 ④ 压头回位 ⑤ 拧紧至目标扭矩 ⑥ 拧紧轴回位 ⑦ 定位销缩回/放行 互锁:销未到位禁压;扭矩未达标禁放行 搬运工位 直角坐标机械手 ① X 轴到取料位 ② Z 轴下降 ③ 夹爪闭合 ④ Z 轴上升 ⑤ X 轴到放料位 ⑥ Z 轴下降/张开 ⑦ Z 轴上升/回原点 互锁:夹爪未闭合禁上升;Z 未到位禁 X 移动 加工工位 钻孔 + 冷却 ① 工件夹紧 ② 主轴启动 ③ 钻头快进 ④ 工进 ⑤ 退刀 ⑥ 主轴停止 ⑦ 夹紧松开 互锁:夹紧未到位禁主轴;冷却未开禁工进 检测工位 视觉 + 尺寸判定 ① 工件到位 ② 触发相机 ③ 拍照 ④ 图像处理 ⑤ 判定 OK/NG ⑥ 分拣气缸动作 ⑦ 放行 互锁:未到位禁触发;判定未完成禁分拣 单件节拍示例对比(秒) 装配 8.0 s 搬运 5.2 s 加工 8.3 s 检测 2.8 s 典型故障场景与处理方向 装配:压装力超限 → 停压头保位;扭矩未达标 → 报警禁放行 搬运:夹爪未检测到工件 → 回取料位重试;X 轴超时 → 停止报警 加工:主轴过载 → 退刀停主轴;冷却压力低 → 禁工进 检测:图像超时 → 重拍一次;误判 → 记录并人工复检

六、互锁条件的工程写法

互锁条件不能只写成“压头未回位禁止拧紧”,而应落到 PLC 可执行的布尔表达式。以装配工位为例,拧紧轴下降的允许条件可写为:

ALLOW_TIGHTEN_DOWN =
    CYL_PIN_EXTENDED AND
    PRESS_HEAD_HOME AND
    PART_PRESENT AND
    NOT TIGHTEN_ALARM;

INTERLOCK_STOP =
    PRESS_FORCE_OVER OR
    TORQUE_NOT_REACHED OR
    EMERGENCY_STOP;

这样写的好处是:虚拟调试时可直接把变量映射到仿真模型,观察每个条件变化时动作是否被正确阻断。若只写自然语言,仿真模型无法验证互锁是否真正生效。

七、节拍目标的分解方法

整线节拍目标通常由产能倒推。例如要求 450 件/小时,则单件节拍上限为 3600/450 = 8.0 s。若装配工位示例节拍为 8.0 s,则它刚好卡在瓶颈上,必须优化保压或拧紧时间。搬运 5.2 s、加工 8.3 s、检测 2.8 s 中,加工工位 8.3 s 超过上限,应优先压缩工进时间或改为并行加工。虚拟调试阶段就应把各工位节拍写入仿真模型,观察整线是否出现等待和堆积。

八、故障场景的拆解要点

故障场景要拆到“停在哪一步、保持什么状态、如何复位”。例如搬运工位“夹爪未检测到工件”,应停在 Z 轴上升前,夹爪保持闭合,复位方式是回到取料位重新夹取;加工工位“主轴过载”,应停在工进段,钻头退回安全位,主轴停止,复位后需重新夹紧。只有把故障状态和复位路径写清楚,虚拟调试才能验证 PLC 的故障处理逻辑是否正确。

拆解工位时,建议按“动作序列 → 互锁条件 → 节拍目标 → 故障场景”四栏记录,每栏都使用可映射到 PLC 变量的名称,避免使用“正常动作”“异常处理”这类无法验证的模糊描述。

完成四类工位的拆解后,产线对象就不再是一个整体,而是一组可独立建模、独立验证的单元。后续虚拟调试时,每个工位都可以单独仿真动作、单独注入故障、单独测量节拍,再组合成整线验证。这样既能快速定位互锁漏洞,也能在早期发现节拍瓶颈。