1. 虚拟调试环境搭建与PLC仿真器联调

虚拟调试环境搭建与PLC仿真器联调 学习卡片

虚拟调试基础环境的三层结构

虚拟调试环境的核心不是“装一个软件”,而是建立一条可闭环的信号通路:PLC仿真器负责执行控制逻辑,虚拟HMI负责操作与显示,信号映射层负责把两者的变量按地址和数据类型对齐。三者缺一,启停逻辑就无法联合验证。

PLC 仿真器 软 PLC / 仿真运行时 程序:启停控制逻辑 变量:Start / Stop / Run 地址:%I0.0 / %I0.1 / %Q0.0 状态:RUN / STOP 虚拟 HMI HMI 运行画面 按钮:启动 / 停止 指示灯:运行状态 变量:HMI_Start / HMI_Stop 显示:Run_Lamp 信号映射层 变量 ↔ 地址 ↔ 数据类型 HMI_Start → %I0.0 (BOOL) HMI_Stop → %I0.1 (BOOL) Run_Lamp ← %Q0.0 (BOOL) 方向:HMI→PLC / PLC→HMI 写入 映射 反馈 显示 HMI→映射 映射→PLC PLC→映射→HMI 反馈 三层结构缺一不可

搭建步骤与关键配置

以下以常见的软 PLC 仿真器 + 虚拟 HMI 组合为例,说明从零搭建到联合验证的完整过程。不同工具的具体菜单名称可能不同,但对象、参数和判断逻辑一致。

  1. 建立 PLC 仿真项目:新建项目,选择与目标硬件一致的 CPU 型号(如 S7-1200 或兼容软 PLC),设置循环周期为 10 ms,启用仿真运行模式。
  2. 编写启停控制程序:在 OB1 中编写起保停逻辑,使用三个变量:Start(%I0.0)、Stop(%I0.1)、Run(%Q0.0)。逻辑为:按下 Start 且未按 Stop 时 Run 置位;按下 Stop 时 Run 复位。
  3. 配置虚拟 HMI 画面:创建两个按钮(启动、停止)和一个指示灯(运行)。按钮变量分别绑定 HMI_Start 和 HMI_Stop,指示灯绑定 Run_Lamp。
  4. 建立信号映射表:在仿真器或 HMI 的变量连接界面中,将 HMI 变量与 PLC 地址一一对应。映射方向必须明确:HMI 按钮为写入 PLC,PLC 输出为读取到 HMI。
  5. 下载并启动仿真:将 PLC 程序下载到仿真器,启动 HMI 运行画面,确认两者均处于在线状态。
  6. 联合验证:点击 HMI 启动按钮,观察 PLC 中 Run 变量是否变为 TRUE,HMI 指示灯是否点亮;点击停止按钮,观察 Run 是否复位,指示灯是否熄灭。
映射方向判断口诀:HMI 按钮 → PLC 输入(写);PLC 输出 → HMI 指示灯(读)。方向反了,按钮按下去 PLC 收不到,或者指示灯永远不亮。

信号映射表(示例)

HMI 变量 PLC 地址 数据类型 方向 说明
HMI_Start %I0.0 BOOL HMI → PLC 启动按钮,按下写 1
HMI_Stop %I0.1 BOOL HMI → PLC 停止按钮,按下写 1
Run_Lamp %Q0.0 BOOL PLC → HMI 运行指示灯,读 PLC 输出

PLC 启停逻辑参考(SCL 风格)

// 起保停逻辑,OB1 循环执行
IF "HMI_Start" AND NOT "HMI_Stop" THEN
    "Run" := TRUE;
END_IF;

IF "HMI_Stop" THEN
    "Run" := FALSE;
END_IF;

// 输出映射到指示灯
"Run_Lamp" := "Run";

联合验证检查点

  • 下载成功:仿真器显示 RUN 状态,无红色错误指示。
  • 变量可监控:在 PLC 变量表中能实时看到 Start、Stop、Run 的值变化。
  • 按钮生效:点击 HMI 启动按钮,PLC 中 Start 变为 TRUE,Run 变为 TRUE。
  • 指示灯响应:HMI 运行指示灯随 Run 状态点亮/熄灭。
  • 停止优先:先按启动再按停止,Run 复位,指示灯熄灭。
常见问题:如果按钮按下后 PLC 变量无变化,优先检查映射方向是否设为“HMI → PLC”;如果指示灯不亮,检查 Run_Lamp 是否绑定到 %Q0.0 且方向为“PLC → HMI”。数据类型不一致(如 HMI 用 INT 映射 BOOL)也会导致通信失败。