Denso Robot
注意:除下方的设置信息外,还可参阅 Visual Components Academy 上的视频课程(英文)。
关于插件
Denso 机器人插件支持在模拟过程中连接到 Denso 机器人控制器并进行数据交换。例如,在虚拟或实体 Denso 控制器中运行的程序可在模拟过程中驱动 Denso 机器人的关节、读取传感器数据,并设置输出信号以执行产品的取放操作。
该插件需要配合 Visual Components Premium 的Connectivity功能使用,能够与一个或多个 Denso 机器人控制器建立连接。简化后的工作流程如下所示:
- 添加服务器。
- 连接至服务器。
- 映射变量。
- 运行模拟。
术语
- WINCAPS 3:用于 Denso 机器人的离线编程软件和虚拟机器人控制器 (VRC)。
备注:WINCAPS 3 可与 ORiN SDK 及 VRC 8 和 9 版本一同安装。 - PacScript:用于控制 Denso 机器人的编程语言。
- RC8/9:Denso 机器人控制器的 8 或 9 版本。例如,Denso Cobotta Pro 机器人可与 RC9 配合使用,但不支持 RC8。
- ORiN:用于和 Denso 机器人通信的框架和中间件。
- 该插件基于 ORiN2 开发。
- 如需详细了解 b-CAP 通信协议和控制器访问对象 (CAO) 架构,请参阅 ORiN2 和 Denso 相关资源。
- 总而言之,Visual Components 作为一款计算机端应用程序,可通过 b-CAP 监听器和 CAO 提供程序与 Denso RC8 通信,而与 RC9 通信时仅使用 CAO 提供程序。
- ORiN2 SDK:一种中间件应用程序,用于根据 ORiN2 规范开发应用程序和提供程序。
- WPJ/RCPJ:Denso 机器人控制器的项目文件类型。其中,WPJ 文件用于 RC8 控制器,RCPJ 文件用于 RC9 控制器。
- VRC:针对 Denso 机器人提供的虚拟机器人控制器独立应用程序。
- EMU(增强型多机器人模拟器):用于 Denso 机器人的多机器人模拟器,功能上与 WINCAPS 类似。
- DLL — 动态链接库 (Dynamic-Link Library)。
- I/O – 输入/输出 (Input/Output)。
读写支持
读写表
| 类型 | 读取 | 写入 | 备注 |
| 机器人控制器 I/O 变量 |
是 |
是 | 信号,其中一些 I/O 属于系统变量,由控制器管理,因此在实际使用中仅能读取。 |
| 已连接控制器下任一机器人的当前关节值 |
是 |
否 | |
| 机器人控制器 I、F、D、V、T 和 S 全局变量 |
是 |
是 |
要求
必须在同一台计算机上同时安装 Visual Components Premium 和 ORiN2 SDK,方可建立连接。Denso 机器人插件支持 Denso 机器人控制器的 8 和 9 版本。
在连接过程中,ORiN 充当中间件角色,需要单独的许可证,该许可证可向 Denso 购买。为 Denso 机器人插件添加服务器时,系统会提示是否在本机检测到 ORiN2 SDK 的库文件 (DLL)。

默认路径为 C:\ORiN2\DotNet\RCW。如需更改路径,可以编辑 Visual Components 程序文件目录下的 VisualComponents.Connectivity.Denso.dll.config 文件。
设置
注意:除下方的设置信息外,还可参阅 Visual Components Academy 上的视频课程(英文)。
- 检查主机是否满足上述要求。
- 访问 Denso 机器人控制器。
- 此插件需要连接机器人控制器,因此必须能通过直接网络连接(IP 地址)访问虚拟或实体机器人控制器。
- 如果使用的是 Denso RC8,请在计算机上启动 b-CAP 监听器。否则,请直接执行第 4 步。监听器的默认路径为 C:\ORiN2\CAO\ProviderLib\b-CAP\bCAPListener\Bin\bCapListener.exe。
- 打开 Visual Components,通过该插件添加新服务器,并与控制器建立连接。
- 如果使用的是 Denso RC8,可以选择“本机”或“远程”连接类型。
- 如果选择“本机”连接,则必须指定 WPJ 路径(即 Denso 机器人项目文件的路径)。此项目文件即为您在 WINCAPS 或 VRC 应用程序中打开的文件,其中指定了机器人类型、I/O 和变量配置。
- 如果选择“远程”连接,则必须提供实际控制器的 IP 地址。
- 如果使用的是 Denso RC9,需选择使用“本机”连接还是“远程”连接。
- “本机”连接是指连接到本地主机网络上的 VRC,因此需要提供 Denso 机器人项目文件(RCPJ 文件)。
- “远程”连接是指连接到实际控制器,因此必须提供其 IP 地址。
- 如果在连接到控制器时遇到问题,请重新检查上述第 3 步和第 4 步。
- 要确保 Visual Components 与 RC8 控制器连接,前提条件是 b-CAP 监听器必须处于运行状态。
- 连接 RC9 控制器时,无需运行 b-CAP 监听器。
- 如果要与 RC9 控制器进行本机连接,必须提供 RCPJ 项目文件。这种连接方式主要用于 VRC 场景,例如运行 WINCAPS 或 VRC 的项目。
- 如果在尝试连接时出现异常,则极有可能是因为缺少许可证或许可证已过期。请参阅上文“要求”部分。
- 如果使用的是 Denso RC8,可以选择“本机”或“远程”连接类型。
- 映射变量。
- 例如,将机器人组件中每个自由度 (DOF) /关节的 VALUE 属性映射至控制器中相应机械单元的关节。通过这种方式,控制器就能在三维环境中驱动机器人了。
- 如要模拟抓取/释放等动作,需要将机器人组件上对应的输出信号映射至控制器上用于执行相应动作的 I/O。
- 运行模拟。
- 运行模拟后,数据交换即会开始。
备注:在“已连接变量”面板中,可通过“预留值”一列设置测试值。
- 运行模拟后,数据交换即会开始。
功能
您可在“属性”面板中确认 Denso 机器人插件的功能以及后续的服务器连接情况。
插件
- 在“连通性配置”面板中,选择“Denso 机器人”。
- 在“属性”面板中,展开“连接插件功能”。
服务器
- 在“连通性配置”面板中,展开“Denso 机器人”,然后选择一个当前正处于连接状态的服务器。
- 在“属性”面板中,展开“服务器功能”。
连接设置
Denso 机器人插件的连接设置会因控制器版本(RC8 或 RC9)以及连接类型(本机或远程)的不同而有所差异。进行本机连接(如连接到 WINCAPS)时,必须提供项目文件(RC8 使用 WPJ,RC9 使用 RCPJ),同时要确保此文件与控制器上加载的文件一致。
错误处理
- 您可以使用位于 C:\ORiN2\Tools\ErrorSearch\Bin\ErrorSearch.exe 的 ORiN2 ErrorSearch 工具来解析异常代码。
- 如果未满足相关要求(例如,未安装 ORiN2 SDK),则无法成功添加服务器。
- 如果与控制器的连接中断,数据交换将会停止。此类情况下,插件应会收到控制器发送的事件通知。如果未收到事件通知,您可能需要先手动断开 Visual Components 与控制器的连接,再尝试重新连接,以确认连接是否中断。
- 在 Denso 项目中,系统可能会预留一些输入和输出 (I/O) 信号以用于特定功能,例如电机启停和急停。尝试在模拟过程中写入信号时,请务必注意这些信号在 Denso 项目中的具体用途。这一点同样适用于 Denso 控制器的系统输入和输出 (I/O)。
- 如果您已连接到 WINCAPS,但在使用其模拟器时遇到错误(例如无法读取/写入关节值),请尝试断开连接,等待 30 秒后再重新连接。如果问题仍然存在,请尝试关闭并重启 WINCAPS。
- 如果使用的是 RC8,请先重启 b-CAP 监听器服务,然后再重启 WINCAPS,看看问题是否得到解决。
- 如果使用的是 RC9,请先关闭 WINCAPS,然后在计算机任务管理器中检查是否有“CAO Module”进程在运行。如果该进程正在运行,请将其关闭,然后再重启 WINCAPS。
限制
- 该插件不支持基于事件的更新模式,因此所有更新均采用周期性方式完成。
- 出于安全原因,关节值不可写入机器人控制器。
兼容性
Denso 机器人插件基于 ORiN2 SDK 开发,并已通过在 Denso 提供的 WINCAPS 3 和 VRC 应用程序上的测试。Denso 工作人员还在实际 Denso 控制器上完成了现场测试。
请注意,在 WINCAPS 中测试 RC8 项目时,可能会出现一些问题,例如,控制器中由 Visual Components 设置的变量无法在 WINCAPS 中同步更新;或者当 WINCAPS 中的模拟器停止或重启后,机器人轴值不再同步。因此,调试 RC8 项目时,不妨考虑改用 Denso VRC 应用程序。
支持的数据类型
Denso 机器人插件支持访问数字信号、机械单元的关节数据和全局变量。
| Denso Robot Type | .NET Type |
| I/O | System.Boolean |
| Joint | System.Double |
| I-type variable | System.Int32 |
| F-type variable | System.Single |
| D-type variable | System.Double |
| V-type variable | System.Vector3 |
| J-type variable | System.Double |
| P-type variable | System.Matrix |
| T-type variable | System.Matrix |
| S-type variable | System.String |
全局变量和 I/O 的数量由 Denso 项目定义。

该插件可读取和写入矢量、关节值数组、笛卡尔坐标以及工具位置。在某些情况下,对已连接的 Denso 控制器中的变量进行读写操作时,需要在字符串中加入分号作为分隔符。这种组合以及其他类型的组合情况详见下表。
传输方向为“服务器到模拟”(从控制器读取)时的组合方式。
| VC | Value | Denso | Value |
| String | "X;Y;Z" | V-Type | (X,Y,Z) |
| "X;Y;Z;T" | P-Type 4-Axis | (X,Y,Z,T,Figure)* | |
| "X;Y;Z;Rx;Ry;Rz" | P-Type 6-Axis | (X,Y,Z,Rx,Ry,Rz,Figure)* | |
| "X;Y;Z;Ox;Oy;Oz;Ax;Ay;Az" | T-Type | (X,Y,Z,Ox,Oy,Oz,Ax,Ay,Az,Figure)* | |
| "J1;J2;J3;J4;J5;J6;J7;J8" | J-Type | (J1,J2,J3,J4,J5,J6,J7,J8) | |
| Vector | (X,Y,Z) | Vector | (X,Y,Z) |
| (X,Y,Z) | Position 4-Axis | (X,Y,Z,T,Figure)* | |
| (X,Y,Z) | Position 6-Axis | (X,Y,Z,Rx,Ry,Rz,Figure)* | |
| (X,Y,Z) | Tool | (X,Y,Z,Ox,Oy,Oz,Ax,Ay,Az,Figure)* | |
| (X,Y,Z) | Joint | (J1,J2,J3,J4,J5,J6,J7,J8)** | |
| Matrix | (X,Y,Z) | Vector | (X,Y,Z) |
| (X,Y,Z,Rx,Ry,Rz) | Position 4-Axis | (X,Y,Z,T,Figure)* | |
| (X,Y,Z,Rx,Ry,Rz) | Position 6-Axis | (X,Y,Z,Rx,Ry,Rz,Figure)* | |
| (X,Y,Z,Ox,Oy,Oz,Ax,Ay,Az) | Tool | (X,Y,Z,Ox,Oy,Oz,Ax,Ay,Az,Figure)* | |
| (X,Y,Z,Rx,Ry,Rz) | Joint | (J1,J2,J3,J4,J5,J6,J7,J8)*** |
* 忽略 Figure 值
** 忽略 J4 至 J8
*** 忽略 J7 和 J8
传输方向为“模拟到服务器”(写入控制器)时的组合方式。
| VC | Value | Denso | Value |
| String | "X;Y;Z" | V-Type | (X,Y,Z) |
| "X;Y;Z;T" | P-Type 4-Axis | (X,Y,Z,T) | |
| "X;Y;Z;Rx;Ry;Rz" | P-Type 6-Axis | (X,Y,Z,Rx,Ry,Rz) | |
| "X;Y;Z;Ox;Oy;Oz;Ax;Ay;Az" | T-Type | (X,Y,Z,Ox,Oy,Oz,Ax,Ay,Az) | |
| "J1;J2;J3;J4;J5;J6;J7;J8" | J-Type | (J1,J2,J3,J4,J5,J6,J7,J8)* | |
| Vector | (X,Y,Z,W) | Vector | (X,Y,Z) |
| (X,Y,Z,W) | Position 4-Axis | (X,Y,Z) | |
| (X,Y,Z,W) | Position 6-Axis | (X,Y,Z) | |
| (X,Y,Z,W) | Tool | (X,Y,Z) | |
| (X,Y,Z,W) | Joint | (J1,J2,J3,J4,J5,J6,J7,J8)** | |
| Matrix | (X,Y,Z,Rx,Ry,Rz) | Vector | (X,Y,Z) |
| (X,Y,Z,Rx,Ry,Rz) | Position 4-Axis | (X,Y,Z,T) | |
| (X,Y,Z,Rx,Ry,Rz) | Position 6-Axis | (X,Y,Z,Rx,Ry,Rz) | |
| (X,Y,Z,Rx,Ry,Rz) | Tool | (X,Y,Z,Ox,Oy,Oz) | |
| (X,Y,Z,Rx,Ry,Rz) | Joint | (J1,J2,J3,J4,J5,J6,J7,J8)*** |
* 如果未给满 8 个值,则其余值设为 0
** J1 至 J3 设为给定值,其余值设为 0
*** 忽略 J7 和 J8
对机器人程序进行后处理
后处理器
如果您需要将机器人程序从 Visual Components 模型转换为本地控制器,则可使用后处理器。
注意:后处理器可用于以下产品:
- Visual Components Premium
- Visual Components Premium OLP
- Visual Components Professional OLP
- Visual Components Robotics OLP
有关使用 Visual Components OLP 产品进行后处理的更多信息,请参阅 转换机器人程序。

要为真正的机器人控制器转换机器人程序,请执行下列操作:
- 点击要转换程序的机器人(或其他设备)。
- 点击程序功能区工具中的“后处理”选项。
- 在正确的机器人品牌名称下点击“下载”。
- 浏览要保存程序文件的文件夹,并为该文件命名
-
点击“保存”
该文件可被传输至机器人控制器
注意:在真正的机器人中,仅运行从校准模型转换过来的机器人程序。否则,在执行程序时可能会出现不可预测的碰撞和错误。
若要了解更多信息,请在Visual Components OLP Extranet上查看 Visual Components Robotics OLP 机器人品牌专用手册。