2. 虚拟调试中PLC变量与模型IO的映射配置

虚拟调试中PLC变量与模型IO的映射配置 学习卡片

映射表是虚拟调试的“接线图”

在数字孪生虚拟调试中,PLC 程序里的变量名(如 I_StartBtn、Q_CylExtend)与三维模型上的信号端口(如 Sensor_Start、Actuator_Cylinder)是两套独立命名体系。映射配置就是建立它们之间的对应关系,相当于把物理世界中的接线端子图搬到了软件里。映射错位会导致“PLC 有输出但模型不动”或“模型动作与逻辑相反”等典型故障。

映射方向与信号类型

映射必须区分方向,否则会出现信号冲突:

  • PLC → 模型(输出映射):PLC 的 Q 变量驱动模型执行器,如 Q_CylExtend → 气缸伸出动作。
  • 模型 → PLC(输入映射):模型传感器状态回传给 PLC 的 I 变量,如 Sensor_CylExtended → I_CylExtended。
  • 数据类型:布尔量用于按钮、限位开关;整型/浮点用于位置、速度等模拟量。
映射表核心字段:PLC 变量名、方向、模型端口名、数据类型、初始值、强制值、备注。

映射配置实操:以气缸单元为例

假设三维模型中有一个气缸单元,包含两个执行器端口和两个传感器端口。PLC 侧已定义好变量。在数字孪生平台的映射配置界面中,按以下步骤建立映射表:

  1. 打开信号映射配置面板,选择目标模型节点 Cylinder_Unit_01。
  2. 添加输出映射行:PLC 变量 Q_CylExtend,方向 PLC→模型,模型端口 Actuator_Extend,类型 BOOL。
  3. 添加输出映射行:PLC 变量 Q_CylRetract,方向 PLC→模型,模型端口 Actuator_Retract,类型 BOOL。
  4. 添加输入映射行:模型端口 Sensor_Extended,方向 模型→PLC,PLC 变量 I_CylExtended,类型 BOOL。
  5. 添加输入映射行:模型端口 Sensor_Retracted,方向 模型→PLC,PLC 变量 I_CylRetracted,类型 BOOL。
  6. 保存映射表并激活,使映射生效。

强制变量观察模型响应

映射建立后,不要急于运行完整程序。先在 PLC 仿真器中强制输出变量,观察模型是否按预期动作:

  • 强制 Q_CylExtend = TRUE,观察气缸是否伸出,且 Sensor_Extended 是否变为 TRUE。
  • 强制 Q_CylExtend = FALSE 并强制 Q_CylRetract = TRUE,观察气缸是否缩回,Sensor_Retracted 是否变为 TRUE。
  • 若模型动作相反,检查执行器端口是否映射颠倒;若传感器无反馈,检查输入映射方向或端口名是否拼写错误。
强制变量时务必确认当前处于仿真模式,且强制值不会与程序逻辑冲突。排查完成后及时取消强制,避免影响后续联调。

映射错位排查路径

当出现“PLC 有输出但模型不动”或“传感器信号不更新”时,按以下顺序排查:

  1. 检查映射表中该变量是否存在且已激活。
  2. 核对 PLC 变量名与模型端口名是否完全一致(大小写敏感)。
  3. 确认方向是否正确:输出映射写成了输入映射会导致信号无法到达模型。
  4. 检查数据类型是否匹配:BOOL 端口映射了 INT 变量会导致解析失败。
  5. 在平台信号监视器中查看该映射的实时值,判断信号是否在映射层被阻断。
PLC 变量 ↔ 模型 IO 映射关系与信号流向 PLC 仿真器 Q_CylExtend Q_CylRetract I_CylExtended I_CylRetracted 强制值操作区 Force Q_CylExtend=1 映射配置表 Q_CylExtend → Actuator_Extend Q_CylRetract → Actuator_Retract Sensor_Extended → I_CylExtended Sensor_Retracted → I_CylRetracted 方向 / 类型 / 激活状态 BOOL · 已激活 三维模型 Actuator_Extend Actuator_Retract Sensor_Extended Sensor_Retracted 气缸单元 Cylinder_Unit_01 观察伸出/缩回状态 PLC输出→映射 映射→模型执行器 模型传感器→映射→PLC输入

映射表交付示例

以下是一份可直接参考的映射表结构,按气缸单元填写完成后的样子:

PLC 变量 方向 模型端口 数据类型 初始值 备注
Q_CylExtend PLC→模型 Actuator_Extend BOOL FALSE 气缸伸出指令
Q_CylRetract PLC→模型 Actuator_Retract BOOL FALSE 气缸缩回指令
I_CylExtended 模型→PLC Sensor_Extended BOOL FALSE 伸出到位传感器
I_CylRetracted 模型→PLC Sensor_Retracted BOOL TRUE 缩回到位传感器
建议在映射表中增加“强制值”和“实时值”两列,排查时可直接在表中观察信号变化,无需频繁切换窗口。映射命名尽量保持 PLC 变量名与模型端口名有可读的对应关系,降低后期维护成本。