3. 产线对象与工艺分析

虚拟调试不是先打开软件再想“调什么”,而是先把物理产线拆成可被PLC程序驱动的对象模型。对象模型建得准,后续的PLCSIM Advanced、NX MCD或Process Simulate联调才有意义;对象模型建得粗,仿真里动作全对,现场一上电就撞机。本节以一条典型的“上料—搬运—加工—检测—分拣”五工位自动化产线为例,说明如何从机械结构、执行机构、传感器布局和工艺流程四个维度完成拆解,并最终形成虚拟调试可用的对象模型。

一、先定边界:把产线切成可独立驱动的工位

拆解的第一步不是看零件,而是定边界。虚拟调试对象模型的边界通常按“一个PLC程序段能独立控制的最小功能单元”来划分。以本示例产线为例,可划分为五个工位:

  • 工位1 上料站:料仓、推料气缸、工件到位检测;
  • 工位2 搬运站:两轴气动机械手(水平缸+垂直缸)、真空吸盘;
  • 工位3 加工站:回转工作台、夹紧气缸、模拟主轴电机;
  • 工位4 检测站:视觉相机或接近开关、高度检测气缸;
  • 工位5 分拣站:分拣气缸、合格/不合格滑道、输送带。

每个工位内部再分“机械结构—执行机构—传感器”三层。这样划分的好处是:PLC的FB块、MCD的运动副、信号表可以一一对应,不会出现“一个气缸跨两个工位”的模糊地带。

二、机械结构:确定运动副与自由度

机械结构拆解的目标是回答“哪些部件会动、怎么动、动到哪里”。在虚拟调试中,机械结构最终要映射为仿真软件里的运动副(Joint)。以搬运站为例:

  • 水平气缸 → 移动副(Prismatic),行程示例 300 mm;
  • 垂直气缸 → 移动副,行程示例 100 mm;
  • 真空吸盘 → 固定连接,不单独设运动副,但需定义吸附/释放状态;
  • 回转工作台 → 旋转副(Revolute),示例分度 90°。

这里要特别注意行程和极限位置的标注。虚拟调试中,气缸的“伸出到位”和“缩回到位”不是靠时间判断,而是靠传感器信号。因此机械结构拆解必须同时记录每个运动副的两个极限位置,作为后续传感器布局的基准。

三、执行机构:建立“输出—动作—反馈”的驱动链

执行机构是PLC输出点直接驱动的对象。拆解时要为每个执行机构建立一条完整的驱动链:PLC输出 → 电磁阀/接触器 → 气缸/电机 → 机械动作 → 传感器反馈。以推料气缸为例:

Q0.0 → YV1(单电控两位五通阀)→ 推料气缸伸出 → 工件推出
Q0.1 → YV2 → 推料气缸缩回
I0.0 ← 气缸缩回到位磁性开关
I0.1 ← 气缸伸出到位磁性开关

这条链就是虚拟调试中最小的“信号闭环”。在MCD中,Q0.0对应一个位置控制信号,I0.0/I0.1对应两个位置传感器;在PLCSIM Advanced中,Q0.0和I0.0/I0.1通过PLCSIM Virtual Ethernet与仿真模型交换。执行机构拆解表应至少包含:执行机构名称、PLC输出地址、驱动元件、动作类型、到位反馈地址、动作时间示例值。

四、传感器布局:按“检测什么、装在哪里、何时有效”记录

传感器布局是虚拟调试对象模型中最容易被低估的部分。很多仿真失败不是因为程序错,而是因为传感器在模型中的位置和触发条件与现场不一致。拆解传感器时,建议按以下字段记录:

  • 传感器编号:如 B1、B2,与电气图一致;
  • 类型:磁性开关、光电开关、接近开关、视觉;
  • 安装位置:气缸缸体、输送带侧边、工作台面;
  • 检测对象:工件、气缸活塞、托盘;
  • 有效条件:工件到位且气缸缩回时才应触发;
  • PLC地址:I0.0~I1.7。

例如,上料站的“工件到位检测”光电开关B1,安装在料仓出口下方,检测到工件时I0.2为1。虚拟调试时,这个信号不能简单用“延时”代替,而应在MCD中设置碰撞传感器或位置传感器,使工件几何体到达指定位置时才置位。

五、工艺流程:把动作顺序翻译成状态迁移

工艺流程拆解的最终产物是“工位动作顺序表”和“状态迁移图”。以本示例产线的一个完整节拍为例:

  1. 上料站推料气缸伸出,将工件推到搬运位;
  2. 搬运站水平缸伸出、垂直缸下降、真空吸盘吸附;
  3. 垂直缸上升、水平缸缩回,将工件送到加工站上方;
  4. 垂直缸下降放料,真空释放,搬运站返回;
  5. 加工站夹紧气缸夹紧,回转工作台转90°,模拟主轴启动;
  6. 加工完成后,检测站检测工件高度;
  7. 分拣站根据检测结果,合格件走主滑道,不合格件由分拣气缸推入废料滑道。

在虚拟调试中,上述流程要转化为PLC的状态机。每个工位至少包含“初始位—动作中—到位—返回”四个状态,工位之间通过“工件到位”“加工完成”“检测完成”等握手信号衔接。状态迁移图可以直接作为SVG的核心内容,因为它同时表达了顺序、条件和分支。

典型五工位产线虚拟调试对象模型(信号流与状态迁移) 工位1 上料站 推料气缸 YV1/YV2 B1 工件到位 I0.2 B2 缩回到位 I0.0 B3 伸出到位 I0.1 工位2 搬运站 水平缸 YV3/YV4 垂直缸 YV5/YV6 真空吸盘 YV7 B4/B5/B6 位置反馈 工位3 加工站 夹紧气缸 YV8 回转台电机 KM1 主轴电机 KM2 B7 夹紧到位 I0.7 工位4 检测站 检测气缸 YV9 接近开关 B8 高度检测 B9 I1.0 / I1.1 工位5 分拣站 分拣气缸 YV10 输送带 KM3 B10 合格滑道 B11 废料滑道 工件到位 放料完成 加工完成 检测结果 单工位状态迁移模型(以搬运站为例) S0 初始位 水平缩回/垂直上升 S1 水平伸出 Q0.3=1,等B5 S2 垂直下降 Q0.5=1,等B6 S3 吸附放料 Q0.7=1,延时释放 S4 返回初始 垂直升/水平缩 启动+工件到位 B5=1 B6=1 放料完成 B4=1 且 B6=1 检测结果分支 合格→主滑道 / 不合格→废料 PLC输出驱动 传感器反馈 状态迁移条件 异常/返回路径

六、形成虚拟调试对象模型

把上述四部分整合起来,就得到一份可直接用于虚拟调试的对象模型清单。建议以表格形式交付,字段包括:工位、机械运动副、执行机构、PLC输出、传感器、PLC输入、动作条件、到位判据。例如搬运站的一行可以写成:

工位 运动副 执行机构 PLC输出 传感器 PLC输入 到位判据
搬运站 水平移动副 水平气缸 Q0.3 / Q0.4 B4/B5 I0.3 / I0.4 B5=1 且延时≥0.3s
搬运站 垂直移动副 垂直气缸 Q0.5 / Q0.6 B6/B7 I0.5 / I0.6 B6=1 且真空压力达标

这份清单就是虚拟调试的“合同”:PLC程序按它写,MCD模型按它建,信号表按它连。后续在PLCSIM Advanced中建立PLC实例、在MCD中配置运动副和传感器时,只需逐行核对,就能避免“仿真能跑、现场不动”的典型问题。对象模型不是一次性的文档,而应随着调试过程持续修正——每发现一个现场与仿真的差异,就回写到清单里,产线模型才会越来越接近真实。