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 设备上的 realvirtual WebSocket Bridge

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

realvirtual WebSocket Bridge 状态页,显示连接状态、信号计数和写入活动监控

该网桥:

  • 订阅 ctrlX Data Layer 节点并通过 WebSocket 发布其值
  • 接收来自 Unity 的信号更新并将其写回 Data Layer
  • 支持可配置的浏览路径、发布间隔和日志级别
  • 可从 Unity 检视器远程配置
ℹ️

realvirtual WebSocket Bridge snap 可按需从 realvirtual 获取。请联系 realvirtual 为您的 ctrlX CORE 设备获取网桥应用程序。

设置 (Setup)

前提条件 (Prerequisites)

  1. 一台 ctrlX OS 设备如 ctrlX CORE(物理或虚拟)
  2. 在 ctrlX OS 设备上安装 realvirtual WebSocket Bridge snap(可按需从 realvirtual 获取)
  3. 您的 PC 与 ctrlX OS 设备之间的网络连接

添加接口 (Adding the Interface)

  1. 在 Unity 中,前往菜单 Tools > realvirtual > Interfaces > ctrlX Interface 添加组件
  2. 输入 ctrlX Address(ctrlX OS 设备的 IP 地址)
  3. 设置 UsernamePassword(默认:boschrexroth / boschrexroth
  4. 点击 Refresh 验证连接并查看设备信息
ctrlX 接口 Inspector

导入信号 (Importing Signals)

  1. 确保 ctrlX OS 设备可达且网桥 snap 正在运行
  2. 配置 Browse Paths 以指向您的 PLC 符号(例如 plc/app/Application/sym
  3. 在 Connection 部分点击 Import Signals
  4. 接口连接到网桥,发现所有信号,并创建本地 PLC 信号对象作为子对象

快速入门 (Quick Start)

  1. 将 ctrlX 接口添加到您的场景
  2. 输入 ctrlX 地址和凭据
  3. 点击 Refresh 验证连接性
  4. 为您的 PLC 程序配置浏览路径
  5. 点击 Import Signals 创建信号对象
  6. 按 Play——信号自动交换

属性 (Properties)

连接 (Connection)

属性描述
ctrlX AddressctrlX OS 设备的 IP 地址(例如 192.168.1.1
UsernamectrlX REST API 的登录用户名(默认:boschrexroth
PasswordctrlX 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没有模式匹配时导入信号的方向(InputOutput
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 PortWebSocket 通信的 TCP 端口(默认:8080,启用 SSL 时自动设置为 443)
Update Cycle (ms)通信线程更新间隔(毫秒)
Client NameWebSocket 握手期间发送的标识名称
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 PatternsOutput Patterns 以匹配您的命名约定
  • 或将 Default Direction 设置为匹配大多数信号的方向

另请参阅 (See Also)