Bosch Rexroth ctrlX (Pro)
ctrlX 接口目前处于 Beta 阶段,将随 realvirtual Professional 6.3 正式发布。
此接口需要 REALVIRTUAL_JSON 编译器定义。有关设置说明,请参见 Newtonsoft JSON。
概述 (Overview)
ctrlX 接口将 realvirtual 直接连接到任何 ctrlX OS 设备,如 Bosch Rexroth ctrlX CORE 控制器。它使用 realvirtual WebSocket Bridge——一个运行在 ctrlX OS 上的 .NET 8 snap 应用程序——通过 ctrlX Data Layer 实时交换 PLC 信号。
通信使用高性能 WebSocket Realtime Interface v2 协议,支持毫秒级间隔的循环信号交换。ctrlX 接口通过 ctrlX OS 特定功能扩展了 WebSocket Realtime Interface:REST API 认证、设备状态监控、远程网桥配置、ctrlX Data Layer 设置和诊断——全部从 Unity 检视器完成。
主要功能:
- 通过 WebSocket 进行 高速信号交换,发布间隔可配置低至 5 ms
- 从 ctrlX Data Layer 一键信号导入,自动信号发现
- REST API 集成 用于设备信息、网桥状态和诊断
- 远程网桥配置(发布间隔、浏览路径、日志级别)
- Data Layer 设置(最小发布/采样间隔)
- SSL/TLS 支持 通过 ctrlX 反向代理进行安全连接
架构 (Architecture)
Unity (realvirtual) ctrlX OS device
┌─────────────────────┐ ┌──────────────────────────────┐
│ │ │ │
│ ctrlX Interface ──┼── WebSocket v2 ──▶ WebSocket Bridge │
│ │ │ │ │
│ ───┼── REST API ─────▶ ctrlX Data Layer │
│ │ │ │ │
│ │ │ PLC Runtime │
│ │ │ │
└─────────────────────┘ └──────────────────────────────┘
ctrlX 接口通过两个通道与 ctrlX OS 设备通信:
- WebSocket v2 — 使用 WebSocket Realtime Interface v2 协议 进行高速循环信号交换。有关完整的线格式规范,请参见该页面。
- REST API — 认证、设备信息、网桥配置、Data Layer 设置和诊断。
realvirtual WebSocket Bridge
realvirtual WebSocket Bridge 是一个运行在 ctrlX OS 上的 .NET 8 snap 应用程序。它通过 WebSocket Realtime Interface v2 协议将 ctrlX Data Layer 桥接到 realvirtual Unity 数字孪生。

该网桥包含一个内置状态页面,可通过 ctrlX OS Web 界面访问,一目了然地显示连接状态、信号计数、写入活动监控和浏览路径配置。

该网桥:
- 订阅 ctrlX Data Layer 节点并通过 WebSocket 发布其值
- 接收来自 Unity 的信号更新并将其写回 Data Layer
- 支持可配置的浏览路径、发布间隔和日志级别
- 可从 Unity 检视器远程配置
realvirtual WebSocket Bridge snap 可按需从 realvirtual 获取。请联系 realvirtual 为您的 ctrlX CORE 设备获取网桥应用程序。
设置 (Setup)
前提条件 (Prerequisites)
- 一台 ctrlX OS 设备如 ctrlX CORE(物理或虚拟)
- 在 ctrlX OS 设备上安装 realvirtual WebSocket Bridge snap(可按需从 realvirtual 获取)
- 您的 PC 与 ctrlX OS 设备之间的网络连接
添加接口 (Adding the Interface)
- 在 Unity 中,前往菜单 Tools > realvirtual > Interfaces > ctrlX Interface 添加组件
- 输入 ctrlX Address(ctrlX OS 设备的 IP 地址)
- 设置 Username 和 Password(默认:
boschrexroth/boschrexroth) - 点击 Refresh 验证连接并查看设备信息

导入信号 (Importing Signals)
- 确保 ctrlX OS 设备可达且网桥 snap 正在运行
- 配置 Browse Paths 以指向您的 PLC 符号(例如
plc/app/Application/sym) - 在 Connection 部分点击 Import Signals
- 接口连接到网桥,发现所有信号,并创建本地 PLC 信号对象作为子对象
快速入门 (Quick Start)
- 将 ctrlX 接口添加到您的场景
- 输入 ctrlX 地址和凭据
- 点击 Refresh 验证连接性
- 为您的 PLC 程序配置浏览路径
- 点击 Import Signals 创建信号对象
- 按 Play——信号自动交换
属性 (Properties)
连接 (Connection)
| 属性 | 描述 |
|---|---|
| ctrlX Address | ctrlX OS 设备的 IP 地址(例如 192.168.1.1) |
| Username | ctrlX REST API 的登录用户名(默认:boschrexroth) |
| Password | ctrlX REST API 的登录密码(默认:boschrexroth) |
| Use SSL | 启用以通过 ctrlX 反向代理使用 wss:// 连接。启用后,端口切换为 443,路径自动设置 |
状态 (Status)
| 属性 | 描述 |
|---|---|
| ctrlX | 设备信息:操作模式、主机名、OS 版本、架构 |
| Bridge | 已安装的网桥 snap 版本和状态 |
| WebSocket | 当前 WebSocket 连接状态(已连接/已断开) |
| Signals | 输入和输出信号数量 |
| Comm Cycle | 实际通信周期时间(毫秒) |
| Config | 最后一次配置操作结果 |
按钮:
- Refresh — 通过 REST API 从 ctrlX 获取设备信息和网桥状态
- Test ctrlX — 通过认证测试 REST 连接性并报告结果
- Test Bridge — 测试到网桥应用程序的 WebSocket 连接性
信号导入配置 (Signal Import Configuration)
| 属性 | 描述 |
|---|---|
| Default Direction | 没有模式匹配时导入信号的方向(Input 或 Output) |
| Use Pattern Matching | 使用以下模式启用基于名称的方向检测 |
| Input Patterns | 标识 Unity 写入 PLC 的信号的名称子串(例如 "Unity") |
| Output Patterns | 标识 PLC 写入 Unity 的信号的名称子串 |
网桥配置 (Bridge Configuration)
| 属性 | 描述 |
|---|---|
| Publish Interval (ms) | 网桥通过 WebSocket 发布信号更新的频率(默认:5 ms) |
| Logging Level | 网桥日志详细程度:Debug、Information、Warning 或 Error |
| Browse Paths | 信号自动发现的 Data Layer 路径前缀(例如 plc/app/Application/sym) |
| Recursive | 发现信号时递归浏览子文件夹 |
网桥配置的更改会被跟踪并在短延迟后自动应用。
Data Layer 设置 (Data Layer Settings)
| 属性 | 描述 |
|---|---|
| Min Publish Interval (ms) | ctrlX Data Layer 全局最小发布间隔(毫秒)(默认:10) |
| Min Sample Interval (µs) | ctrlX Data Layer 全局最小采样间隔(微秒)(默认:10000) |
按钮:
- Get DL — 从 ctrlX 读取当前 Data Layer 订阅设置
- Apply DL — 将配置的值写入 ctrlX Data Layer 设置
网桥日志 (Bridge Logs)
| 属性 | 描述 |
|---|---|
| Log Count | 从 ctrlX 诊断获取的日志条目数量 |
| Bridge Logs Only | 筛选仅显示网桥 snap 日志条目 |
| Forward to Console | 将每个获取的日志条目写入 Unity 控制台 |
按钮:
- Fetch Logs — 从 ctrlX OS 诊断检索最近的日志条目
- List Packages — 列出 ctrlX OS 设备上所有已安装的 snap
高级 (Advanced)
| 属性 | 描述 |
|---|---|
| WebSocket Port | WebSocket 通信的 TCP 端口(默认:8080,启用 SSL 时自动设置为 443) |
| Update Cycle (ms) | 通信线程更新间隔(毫秒) |
| Client Name | WebSocket 握手期间发送的标识名称 |
| Connect On Play | 进入播放模式时自动连接 |
| Only Transmit Changed | 仅发送自上次周期以来值已更改的信号 |
| Auto Reconnect | 连接断开时自动重新连接 |
| Debug Mode | 启用详细日志记录以进行故障排除 |
SSL / 反向代理 (SSL / Reverse Proxy)
当启用 Use SSL 时:
- 端口自动设置为 443
- WebSocket 路径设置为
/ctrlx-rv-bridge/ws以通过 ctrlX 反向代理路由 - 所有 REST API 调用使用 HTTPS
- 接受自签名证书(在局域网上的 ctrlX 设备中常见)
当禁用 SSL 时,接口直接在端口 8080 上连接网桥,不加密。
故障排除 (Troubleshooting)
"Refresh" 未显示设备信息:
- 验证 ctrlX 地址正确且设备可达 (
ping) - 检查用户名和密码——默认为
boschrexroth/boschrexroth - 使用 Test ctrlX 验证 REST API 连接性
网桥显示"not found":
- 在 ctrlX 设备上安装 realvirtual WebSocket Bridge snap
- 检查 snap 是否处于
active状态
播放期间 WebSocket 保持"Disconnected":
- 验证网桥 snap 正在 ctrlX OS 设备上运行
- 检查 WebSocket Port 与网桥配置匹配(默认:8080)
- 如果使用 SSL,确保端口 443 可访问且网桥位于 ctrlX 反向代理之后
- 启用 Debug Mode 获取详细连接日志
信号未导入:
- 检查 Browse Paths 指向有效的 Data Layer 节点(例如
plc/app/Application/sym) - 启用 Recursive 以发现子文件夹中的信号
- 验证 PLC 应用程序已加载并在 ctrlX OS 设备上运行
导入后信号方向错误:
- 配置 Input Patterns 和 Output Patterns 以匹配您的命名约定
- 或将 Default Direction 设置为匹配大多数信号的方向
另请参阅 (See Also)
- WebSocket Realtime Interface (Pro) — 基础协议、线格式规范和代码示例
- 自定义接口 (Custom Interfaces, FastInterface) — 如何构建您自己的接口
- 信号管理器 (Signal Manager) — 管理 PLC 信号
- 接口概述 (Interfaces Overview) — 所有可用接口
- ctrlX OS 概述 — 有关 ctrlX OS 的信息
- Bosch Rexroth ctrlX AUTOMATION 平台 — 有关自动化工具箱的信息