KUKA(Pro)
KUKA Interface 组件提供通过 OpenCommissioning OC_Assistant_OfficeLite 服务器使用 Y200 协议与 KUKA OfficeLite 虚拟控制器的 TCP/IP 通信。此集成实现了 Unity 与 KUKA 虚拟控制器之间机器人轴值和数字 I/O 信号的实时交换,用于数字孪生应用和虚拟调试。
特别感谢 OpenCommissioning 将 OC_Assistant_OfficeLite 代码在 https://github.com/OpenCommissioning/OC_Assistant_OfficeLite 开源,实现了 KUKA 机器人与 realvirtual 的无缝集成。
重要提示:此接口专为 KUKA OfficeLite 虚拟控制器设计,需要 OC_Assistant_OfficeLite 服务器才能工作。
测试版通知:此 KUKA 接口目前处于测试版。如果您遇到任何问题或需要帮助,请随时直接与我们联系获取支持。
概述
KUKA 接口实现了专为 KUKA OfficeLite 虚拟控制器设计的 Y200 通信协议,通过 OC_Assistant_OfficeLite 服务器提供 TCP/IP 双向数据交换。此接口支持使用虚拟控制器创建 KUKA 机器人系统的数字孪生,实现经济高效的仿真和虚拟调试,无需物理机器人硬件。
主要功能包括:
- 实时机器人轴位置监控(6 轴)
- 数字 I/O 信号交换(最多 8192 个输入/输出)
- 带重连支持的自动连接管理
- 可靠数据交换的线程安全通信
- 快速设置的信号创建工具
接口使用 KUKA Y200 Server 协议在端口 54600(默认)进行通信,从控制器交换 1144 字节(输出和轴数据),向控制器发送 1024 字节(输入)。

属性
连接设置
Server IP(字符串)指定 KUKA Y200 服务器的 IP 地址。默认值为 127.0.0.1,用于与 KUKA OfficeLite 虚拟控制器的本地连接。
Server Port(整数)定义 Y200 通信的 TCP 端口。标准 KUKA Y200 端口是 54600。
Connection Timeout Ms(整数)设置连接失败前的最大等待时间(毫秒)。默认 5000ms。
信号配置
Max Digital Signals(整数)确定创建和管理的数字 I/O 信号数量。默认 100 以优化性能。
状态(只读)
Current Axis Values(浮点数组)以度为单位显示轴 1-6 的实时机器人轴位置。
Active Inputs(整数)显示当前配置和监控的活动输入信号计数。
Active Outputs(整数)指示当前配置和监控的活动输出信号的数量。
State 显示当前连接状态(Disconnected、Connecting、Connected 或 Error)。
Comm Cycle Ms 指示通信周期时间(毫秒)。
Cycle Count 追踪自建立连接以来的总成功通信周期数。
配置
Update Cycle Ms(整数)设置通信更新间隔(毫秒)。默认 10ms。
Only Transmit Changed Inputs(布尔值)启用时,仅发送自上次周期以来发生变化的输入值。
Auto Reconnect(布尔值)启用连接丢失时的自动重连尝试。
Reconnect Interval Seconds(整数)定义重连尝试之间的等待时间。默认 10 秒。
Max Reconnect Attempts(整数)限制放弃前的重连尝试次数。设为 -1 表示无限尝试。
Debug Mode(布尔值)启用通信活动的详细日志记录。
信号命名约定
机器人轴
- Axis1 到 Axis6:PLCOutputFloat 信号,以度为单位表示机器人关节位置
数字输入
- InBool0 到 InBool8191:PLCInputBool 信号
- InBool0 映射到 KUKA $IN\[1],InBool8191 映射到 $IN\[8192]
- 注意偏移:Unity 使用 0 基索引,KUKA 使用 1 基
数字输出
- OutBool0 到 OutBool8191:PLCOutputBool 信号
- OutBool0 映射到 KUKA $OUT\[1],OutBool8191 映射到 $OUT\[8192]
使用
基本设置
- 添加 KUKA Interface 组件到场景中的空游戏对象
- 配置连接:设置 Server IP(OfficeLite 用 127.0.0.1)
- 点击"创建标准信号"按钮自动生成信号结构
- 激活接口:勾选 Active 复选框
- 监控 State 属性确认成功连接
连接到机器人驱动器
要在 Unity 中可视化机器人运动:
- 在 Unity 中创建或导入 KUKA 机器人模型
- 为每个机器人关节添加 Drive 组件
- 启用跟随位置:设置 Drive 的 Follow Position 属性为 true
- 将轴信号连接到驱动器:将对应的 Axis 信号拖到 PLC Output Float 字段
使用数字 I/O
数字信号可用于:
- 安全互锁:监控安全门、急停
- 过程控制:触发夹具、工具或其他设备
- 状态指示:显示机器人状态、程序状态、错误条件
性能优化
- 设置 Max Digital Signals 仅为您需要的数量
- 启用"仅传输更改的输入"以减少网络流量
- 增加 Update Cycle Ms 如果实时响应不关键
- 使用信号缓存避免运行时动态信号创建
KUKA OfficeLite 集成
安装 OfficeLite 服务器
- 下载 KUKA OfficeLite(需要 KUKA 账号)
- 安装 OfficeLite 按照 KUKA 安装指南
- 获取 OC_Assistant_OfficeLite:从 GitHub 克隆或下载
- 安装 Y200 服务器组件:按照项目 README 中的安装说明
配置 OfficeLite 与 realvirtual
- 启动 KUKA OfficeLite 与您的机器人项目
- 启动 OC_Assistant_OfficeLite:运行服务器应用程序
- 配置 realvirtual KUKA 接口:设置 Server IP 为 127.0.0.1,保持默认端口
- 验证连接:检查 State 属性显示"Connected"
故障排除
立即连接失败
- 验证 KUKA 控制器 IP 地址正确(OfficeLite 用 127.0.0.1)
- 检查 Y200 服务器是否正在运行
- 确保端口 54600 未被防火墙阻止
无轴值更新
- 确认机器人程序在控制器上运行
- 验证信号名称精确匹配(Axis1,不是 Axis_1)
数字 I/O 不工作
- 记住索引偏移(InBool0 = $IN\[1])
- 确保信号使用正确名称创建
- 验证 MaxDigitalSignals 覆盖所需的 I/O 范围
连接频繁断开
- 检查网络稳定性和线缆连接
- 增加 Connection Timeout Ms
- 启用 Auto Reconnect 自动恢复
另请参见
- KUKA iiQKA.OS2 VRC(Pro) - 适用于通过 RSI 的新 iiQKA.OS2 控制器
- Drive - 用于将轴信号连接到机器人关节
- 信号管理器 - 管理接口信号
- 自定义接口 - 创建自定义接口