3. 虚拟调试环境搭建准备
虚拟调试环境并不是“装好软件就能跑”的单一工具,而是由控制器运行环境、工程组态软件、通信网络、被测对象模型四部分组成的协同系统。在 ctrlX AUTOMATION 中,这一环境的核心是 ctrlX CORE 虚拟控制器(Virtual Control)或实体 ctrlX CORE,配合 ctrlX WORKS 工程平台、ctrlX Data Layer 数据总线以及外部仿真模型。本节围绕软件安装、许可证配置、网络设置,以及硬件在环(HIL)与软件在环(SIL)的选型与连接准备展开,目标是让读者在动手调试前,先建立一张清晰的“环境拓扑图”,知道每个组件装在哪、连到哪、由谁提供信号。
一、软件安装:先分清“工程侧”与“运行侧”
ctrlX AUTOMATION 的软件栈可以按职责分为两层。工程侧是 ctrlX WORKS,用于创建工程、配置设备、编写 PLC 程序(IEC 61131-3)、管理应用(App)与部署;运行侧是 ctrlX CORE 的操作系统与运行时,它承载 PLC 运行时、运动控制、Data Layer 以及各类 ctrlX App。虚拟调试时,运行侧通常以虚拟机或容器形式部署在 PC 或服务器上,称为 ctrlX CORE Virtual。
安装顺序建议如下:先安装 ctrlX WORKS,再导入 ctrlX CORE Virtual 镜像,最后通过 ctrlX WORKS 的“设备扫描/添加”功能发现虚拟控制器。安装过程中需要确认三项:一是 PC 的虚拟化支持(Intel VT-x / AMD-V)已在 BIOS 中开启;二是虚拟网卡与宿主网卡的桥接模式可用;三是 ctrlX WORKS 与 ctrlX CORE 的版本兼容性,例如 ctrlX WORKS 1.x 通常对应 ctrlX OS 1.x 系列,版本错配会导致设备无法识别或 App 安装失败。
二、许可证配置:区分“免费额度”与“正式授权”
ctrlX CORE 的许多功能以 App 形式提供,部分 App 需要许可证(License)。虚拟调试阶段常见的许可证对象包括:PLC 运行时授权、运动控制授权、OPC UA 服务器授权,以及第三方仿真接口授权。ctrlX 采用基于设备的许可证绑定方式,许可证通常与 ctrlX CORE 的设备标识(Device ID / 序列号)关联。
配置流程一般是:在 ctrlX WORKS 中连接目标控制器,进入“许可证管理”界面,读取设备 ID;在 ctrlX Store 或授权平台申请对应许可证文件;将许可证文件导入控制器并激活。对于纯虚拟调试,可先使用试用许可证或社区版额度验证流程,但要注意试用期到期后 PLC 程序会停止运行,表现为运行时指示灯异常或 Data Layer 中相关节点不可写。
判断许可证是否生效,可以观察两个位置:一是 ctrlX WORKS 设备状态页中的 License 状态;二是 ctrlX CORE 的 Web 界面(通过浏览器访问控制器 IP)中“Settings → Licenses”的条目。若显示 “Valid” 且剩余天数正常,说明授权已绑定成功。
三、网络设置:让工程侧、运行侧与模型侧互通
虚拟调试的网络通常涉及三个角色:工程 PC(运行 ctrlX WORKS)、虚拟/实体控制器(ctrlX CORE)、仿真模型主机(如运行 Simulink、Factory I/O 或数字孪生模型的 PC)。三者必须在同一可路由网段,或通过正确的端口映射互通。
以常见的 PC 单机虚拟调试为例,可规划如下网段:工程 PC 使用 192.168.1.10/24,ctrlX CORE Virtual 使用 192.168.1.20/24,仿真模型使用 192.168.1.30/24。若控制器运行在虚拟机中,需将虚拟机网卡设为“桥接模式”,使其获得与宿主同网段的独立 IP,而不是 NAT 模式,否则工程 PC 无法直接扫描到控制器。
通信协议方面,ctrlX AUTOMATION 内部以 Data Layer 为核心,对外常用 OPC UA、EtherCAT、PROFINET、MQTT 等。虚拟调试中,PLC 与仿真模型之间最常用的桥梁是 OPC UA 或共享内存/信号映射。需要确认的端口包括:OPC UA 默认 4840、Web 界面 443/80、EtherCAT 相关端口视主站实现而定。若使用防火墙,应放行这些端口,否则会出现“能 ping 通但连不上”的现象。
四、SIL 与 HIL 的选型与连接准备
软件在环(SIL)与硬件在环(HIL)的区别,本质在于“控制器是虚拟的还是真实的”。SIL 中,ctrlX CORE Virtual 与被控对象模型都运行在 PC 上,通过本机回环或虚拟网卡通信,成本低、迭代快,适合逻辑验证、HMI 联调和早期功能测试。HIL 中,真实 ctrlX CORE 通过以太网或现场总线连接实时仿真机,仿真机运行被控对象模型并输出真实 I/O 信号,适合验证实时性、扫描周期、通信抖动和故障响应。
选型时可参考以下判断:若调试目标是“程序逻辑是否正确、HMI 画面是否联动”,优先选 SIL;若目标是“控制周期是否满足、总线通信是否稳定、断电/急停等故障是否被正确捕获”,则必须选 HIL。两者并非互斥,常见做法是先在 SIL 中完成 80% 的逻辑验证,再迁移到 HIL 做实时性与故障注入测试。
连接准备方面,SIL 需要确认虚拟控制器的网卡模式、Data Layer 节点映射以及模型侧的 OPC UA 客户端配置;HIL 还需要额外确认:真实控制器的固件版本与工程版本一致、仿真机的实时周期(例如 1 ms)与 PLC 任务周期匹配、I/O 映射表(信号名、数据类型、方向)已逐条核对。任何一处不匹配,都会表现为“程序在跑但模型不动”或“信号跳变但 PLC 收不到”。
五、一份可执行的搭建检查清单
为便于落地,下面给出一份示例检查清单,字段可根据实际项目增删。表中“示例值”仅用于说明填写方式,不代表真实项目参数。
| 检查项 | 示例值 / 要求 | 判断依据 |
|---|---|---|
| 虚拟化支持 | BIOS 中 VT-x / AMD-V 已启用 | 虚拟机可正常启动,无“硬件加速不可用”提示 |
| ctrlX WORKS 版本 | 与 ctrlX OS 主版本一致 | 设备扫描能发现控制器,App 可安装 |
| 控制器 IP | 192.168.1.20/24 | 工程 PC 能 ping 通,Web 界面可打开 |
| 网卡模式 | 桥接,非 NAT | 控制器获得独立同网段 IP |
| 许可证状态 | PLC Runtime 显示 Valid | 程序可下载并进入 RUN |
| OPC UA 端口 | 4840 已放行 | 模型侧客户端能读取 Data Layer 节点 |
| I/O 映射 | 信号名、类型、方向逐条核对 | 模型动作与 PLC 输出一致 |
完成以上准备后,虚拟调试环境才算真正“可运行”。此时应能观察到:ctrlX WORKS 中设备在线、PLC 程序可下载并进入 RUN、Data Layer 中关键节点可读写、仿真模型能随 PLC 输出产生动作。若其中任一环节不成立,应回到对应的安装、许可证或网络环节排查,而不是直接进入调试逻辑。环境准备的价值,正在于把后续调试中的“环境类故障”提前消除。