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中设置碰撞传感器或位置传感器,使工件几何体到达指定位置时才置位。
五、工艺流程:把动作顺序翻译成状态迁移
工艺流程拆解的最终产物是“工位动作顺序表”和“状态迁移图”。以本示例产线的一个完整节拍为例:
- 上料站推料气缸伸出,将工件推到搬运位;
- 搬运站水平缸伸出、垂直缸下降、真空吸盘吸附;
- 垂直缸上升、水平缸缩回,将工件送到加工站上方;
- 垂直缸下降放料,真空释放,搬运站返回;
- 加工站夹紧气缸夹紧,回转工作台转90°,模拟主轴启动;
- 加工完成后,检测站检测工件高度;
- 分拣站根据检测结果,合格件走主滑道,不合格件由分拣气缸推入废料滑道。
在虚拟调试中,上述流程要转化为PLC的状态机。每个工位至少包含“初始位—动作中—到位—返回”四个状态,工位之间通过“工件到位”“加工完成”“检测完成”等握手信号衔接。状态迁移图可以直接作为SVG的核心内容,因为它同时表达了顺序、条件和分支。
六、形成虚拟调试对象模型
把上述四部分整合起来,就得到一份可直接用于虚拟调试的对象模型清单。建议以表格形式交付,字段包括:工位、机械运动副、执行机构、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中配置运动副和传感器时,只需逐行核对,就能避免“仿真能跑、现场不动”的典型问题。对象模型不是一次性的文档,而应随着调试过程持续修正——每发现一个现场与仿真的差异,就回写到清单里,产线模型才会越来越接近真实。