IO 仿真
IO 仿真用于在调试阶段模拟 IO 输入信号,并观察 PLC 程序计算后的输出响应。通过该功能,可以在不接入真实 IO 设备的情况下验证通道映射、程序逻辑和输出结果。
常见使用场景包括:
- 模拟按钮、传感器等输入信号。
- 验证输入通道、输出通道与程序变量的映射关系。
- 在联调前检查程序在不同输入值下的执行结果。
- 配合在线监视查看变量变化,定位程序逻辑问题。
使用前准备
使用 IO 仿真前,请先完成工程配置、程序编译和 PLC 连接。
| 准备项 | 说明 |
|---|---|
| IO 设备配置 | 已添加 IO 设备,例如 Modbus TCP Master 和 Modbus TCP Slave |
| 通道映射 | 已配置输入通道、输出通道、数据类型、地址和关联变量 |
| 程序逻辑 | PLC 程序中已使用对应的输入变量和输出变量 |
| 编译下载 | 工程已编译成功,并已连接或下载到 PLC |
确认程序逻辑
在程序编辑器中检查 IO 变量的使用逻辑,确认输入变量如何影响输出变量。
示例程序中包含以下典型逻辑:
- BOOL 输入用于模拟开关量信号,并控制 BOOL 输出。
- WORD 输入用于模拟数值量信号,并影响 WORD 输出。
- REAL 相关变量可用于模拟浮点量计算和输出。
开始仿真前,应确认程序变量、IO 通道和映射变量名称一致,避免设置了输入值但程序没有响应。
检查 IO 通道配置
在设备组态中打开从站设备,进入 IO 映射 页面,确认输入通道和输出通道配置。
重点检查以下信息:
- IO 类型是否正确区分为输入或输出。
- 通道名称是否清晰,例如
INPUT_0、INPUT_1、OUTPUT_0。 - 数据类型是否与程序变量匹配,例如
BOOL、WORD、ARRAY[0..1] OF REAL。 - 地址是否正确,例如
%IX0.0、%IW1、%QW0。 - 关联变量是否已勾选并绑定到对应全局变量。
编译、连接并下载应用
完成程序和 IO 映射配置后,先编译工程,确认底部输出窗口显示编译成功。
编译成功后连接目标 PLC,并根据提示确认连接设备。连接成功后,将最新应用下载到 PLC,保证仿真运行的程序与当前工程一致。
启动 IO 仿真
在菜单栏选择 在线 > IO 仿真 > 启动仿真。
启动仿真后,系统会进入 PLC 在线页面,并显示当前 PLC 的仿真运行状态。
启动成功后,可在界面中看到以下状态:
- 工程树中的 PLC 显示 仿真模式中。
- PLC 状态区域显示 仿真运行中。
- 底部编译窗口显示工程编译成功信息。
- PLC 已连接到目标设备,并可继续进入 IO 仿真页面。
如果启动仿真时工程尚未连接 PLC,请先完成设备连接和应用下载,再启动仿真。
进入 IO 仿真页面
启动完成后,在菜单栏选择 在线 > IO 仿真 > 进入仿真,打开 IO 仿真页面。
页面上方显示当前仿真工程和 PLC 地址,中间区域按设备展示通道信息。示例中设备为 modbusTCP Slave_1,页面显示 6 个通道,包括 3 个输入通道和 3 个输出通道。
| 区域 | 说明 |
|---|---|
| 设备卡片 | 显示仿真设备名称、设备图片和在线开关 |
| 输入通道 | 显示 INPUT 标识,可单击设置模拟输入值 |
| 输出通道 | 显示 OUTPUT 标识,用于查看 PLC 程序输出结果 |
| 仿真轮询 周期 | 设置 IO 仿真数据刷新周期 |
设备卡片显示在线后,即可开始设置输入通道值。
设置输入通道值
输入通道以卡片形式展示。单击输入通道卡片后,系统弹出 设置输入值 窗口。不同数据类型的设置方式不同。
设置数值类型输入
对于 WORD、INT、REAL 等数值类型输入,单击对应输入通道卡片,输入目标值后单击 确认。
图中示例将 input-1 的目标值设置为 200。确认后,页面中的 input-1 更新为 200,程序计算后的 output-0 也同步更新为 200。
设置开关类型输入
对于 BOOL 类型输入,单击对应输入通道卡片,在目标值中选择 ON 或 OFF,然后单击 确认。
图中示例将 input-0 设置为 ON。确认后,input-0 变为 ON,对应的 output-2 也变为 ON,用于验证开关量输入与输出逻辑。
查看输出和程序响应
设置输入值后,可以通过两种方式确认程序响应:
- 在 IO 仿真页面查看输出通道卡片的值是否变化。
- 打开程序在线监视页面,查看变量实时值是否与输入和输出一致。
在线监视适合进一步确认程序内部变量、计数变量和输出变量的变化,帮助判断问题出在 IO 映射、输入值设置还是程序逻辑。
完整操作流程
配置 IO 通道 → 编写程序逻辑 → 编译工程 → 连接 PLC → 下载应用 → 启动仿真 → 进入仿真页面 → 设置输入值 → 观察输出结果 → 在线监视确认
故障排查
如果仿真无法启动或输出结果与预期不一致,可按以下顺序排查:
| 排查步骤 | 检查内容 |
|---|---|
| 1 | PLC 是否已连接,并显示仿真运行状态 |
| 2 | 最新应用是否已下载到 PLC |
| 3 | 设备卡片是否显示在线 |
| 4 | 输入通道数据类型和值是否正确 |
| 5 | 输出通道是否与程序输出变量绑定 |
| 6 | 程序变量与 IO 映射中的关联变量是否一致 |
使用建议
- 调试时建议一次只修改一个输入通道,便于判断输入与输出之间的对应关系。
- 数值类型输入应填写符合数据类型范围的值。
- 开关量输入建议分别测试 ON 和 OFF 两种状态。
- 复杂程序建议配合在线监视观察中间变量。
- 修改程序或 IO 映射后,应重新编译并下载应用,再重新启动仿真。
注意事项
IO 仿真主要用于调试和验证程序逻辑,不能完全替代真实设备联调。涉及现场设备动作、安全联锁或实时性要求较高的场景,仍需在真实硬件环境中进行确认。
- 建议在仿真前保存当前程序状态
- 复杂逻辑调试时,可添加中间变量便于观察
- 仿真完成后,及时关闭仿真连接
通过 IO 仿真功能,可以在联调前快速验证输入信号、输出结果和程序逻辑,提高 PLC 程序调试效率。