3. 机电软对象建模准备
虚拟调试的本质,是让机械、电气、控制与工艺四类对象在同一个仿真环境中“对上话”。如果这四类对象各自独立、接口不清,那么即便单机仿真跑得再顺,联调时也会因为信号对不上、坐标不一致、节拍不匹配而反复返工。因此,在正式建模之前,必须先把各专业对象的数据接口梳理清楚,形成一份可执行的“接口契约”。
一、四类对象各自提供什么
机械三维模型是虚拟调试的“物理载体”。它需要提供的是几何与运动学信息:各运动轴的行程范围、导轨方向、夹具的夹紧位置、工件坐标系原点、以及关键干涉区域的包络。对于输送线、转台、机器人第七轴这类连续运动机构,还要给出速度、加速度上限和减速比。机械模型通常以STEP、JT或原生CAD格式导入,但导入后必须检查单位(mm还是m)、坐标系朝向(Z轴是否朝上)和装配层级是否与电气定义一致。
电气原理图提供的是“信号定义”。它决定了PLC的I/O地址、传感器类型(PNP/NPN、常开/常闭)、执行器驱动方式(继电器、接触器、变频器)以及安全回路的逻辑。在虚拟调试中,电气原理图不需要完整还原每一根线,但必须提取出与PLC交互的I/O清单,包括数字量输入/输出、模拟量通道、总线从站地址和通信协议(PROFINET、EtherCAT、Modbus TCP等)。
PLC程序是“逻辑大脑”。它包含OB块、FC/FB块、DB数据块以及HMI交互逻辑。虚拟调试时,PLC程序通常以仿真模式运行(如PLCSIM Advanced、TIA Portal仿真或CODESYS SoftPLC),需要确认程序中的I/O地址与电气清单一致,DB块中的工艺参数(如速度设定、位置阈值、超时时间)是否已参数化,以及是否有未定义的符号导致下载失败。
机器人程序是“动作执行者”。它包含工具坐标系(TCP)、工件坐标系(Base)、运动指令(PTP、LIN、CIRC)、I/O交互信号和节拍逻辑。虚拟调试中,机器人程序通常通过RCS模块或厂商仿真接口(如KUKA.OfficeLite、ABB RobotStudio、FANUC ROBOGUIDE)接入,需要确认机器人程序中的信号名称与PLC的I/O映射一致,TCP和Base的数值与机械模型中的定义一致。
工艺参数是“质量与节拍约束”。它可能来自工艺卡、配方表或MES下发数据,包括焊接电流、拧紧扭矩、涂胶速度、压装力、加热温度、节拍时间等。这些参数在虚拟调试中不一定全部参与实时仿真,但必须作为DB块中的变量或仿真模型的输入条件存在,以便在联调时验证逻辑分支和报警阈值。
二、接口梳理的核心:建立“信号—对象—参数”映射表
四类对象各自的数据必须落到同一张映射表上,才能被虚拟调试环境同时消费。这张表的核心字段包括:信号名称、来源对象、目标对象、数据类型、地址/变量名、单位、坐标系、默认值、报警阈值和备注。下面给出一份可直接参考的映射表样例,以“焊接工作站”为例,参数为教学示例,实际项目需按现场定义替换。
| 信号名称 | 来源 | 目标 | 数据类型 | 地址/变量 | 单位 | 默认值 | 报警阈值 |
|---|---|---|---|---|---|---|---|
| 夹具夹紧到位 | 电气(传感器) | PLC | BOOL | I0.0 | — | FALSE | 超时2s未到位 |
| 夹具夹紧指令 | PLC | 电气(电磁阀) | BOOL | Q0.0 | — | FALSE | — |
| 机器人焊接启动 | PLC | 机器人 | BOOL | DB10.DBX0.0 | — | FALSE | — |
| 焊接电流设定 | 工艺参数 | PLC/机器人 | REAL | DB20.DBD4 | A | 180.0 | 低于150或高于220 |
| TCP焊接速度 | 机器人程序 | 机械仿真 | REAL | VWELD | mm/s | 8.0 | 超过12.0 |
| 转台角度 | 机械模型 | PLC/机器人 | REAL | DB30.DBD8 | deg | 0.0 | 超出0~180 |
三、梳理过程中最容易出错的五个接口点
第一,单位与坐标系不一致。机械模型常用mm,机器人程序可能用m;机械Z轴朝上,机器人Base可能绕X轴旋转了-90°。这类问题在单机仿真中不易暴露,一旦联调就会出现“机器人飞到天上”或“夹具夹到空气”。建议在映射表中强制增加“单位”和“坐标系”两列,并在导入后做一次坐标对齐验证:让机器人TCP移动到机械模型定义的工件原点,观察偏差是否在±0.5mm以内。
第二,信号名与地址不匹配。电气原理图上的“-S1夹紧到位”在PLC符号表中可能写成“Clamp_Ok”,机器人程序里又写成“DI_Clamp”。虚拟调试时,信号名必须统一到PLC符号表,机器人侧通过总线映射或RCS接口引用同一地址。建议以PLC符号表为唯一权威源,电气和机器人侧只做引用,不做重命名。
第三,数据类型不兼容。PLC的INT与机器人的REAL直接相连可能导致数值截断或溢出。例如转台角度用INT表示0~180,机器人侧用REAL接收,若未做类型转换,180会变成180.0,但若PLC侧用WORD表示,则可能被解释为无符号整数。映射表中必须明确数据类型,并在PLC程序中使用转换指令(如INT_TO_REAL)显式处理。
第四,工艺参数未参数化。焊接电流、拧紧扭矩等参数如果硬编码在PLC程序中,虚拟调试时无法快速切换配方,也无法验证不同参数下的报警逻辑。正确做法是将工艺参数放入DB块,通过HMI或MES下发,虚拟调试时用仿真面板修改DB值,观察机器人程序和机械仿真的响应。
第五,节拍约束未纳入接口。机器人焊接节拍、转台旋转时间、夹具夹紧时间必须与PLC程序中的超时监控一致。例如夹具夹紧超时设为2s,但机械仿真中夹具动作需要2.5s,联调时就会频繁触发超时报警。映射表中应增加“节拍时间”列,并在虚拟调试前用仿真模型实测各动作时间,与PLC超时值比对。
四、接口梳理的交付物与检查清单
完成接口梳理后,应形成三份可交付物:一是信号映射表(Excel或CSV),包含上述所有字段;二是坐标系与单位对照表,明确每个运动对象的原点、方向、单位和减速比;三是工艺参数DB块定义,列出每个参数的变量名、数据类型、默认值、上下限和关联报警。三份交付物必须版本一致,任何一方修改后同步更新。
检查清单可以简化为五个问题:单位是否统一?坐标系是否对齐?信号名是否唯一?数据类型是否兼容?节拍是否匹配?五个问题全部回答“是”,接口梳理才算完成,可以进入下一阶段的虚拟调试环境搭建。如果其中任何一个回答“否”,应先回到对应对象修正,而不是带着问题继续往下走。
接口梳理不是一次性工作,而是贯穿虚拟调试全过程的基线。在后续的PLC逻辑验证、机器人轨迹验证和工艺参数优化中,任何一方修改了信号定义或参数值,都必须回到映射表更新,并重新检查一致性。只有把接口契约维护好,虚拟调试才能真正发挥“提前发现问题、减少现场返工”的价值。