FANUC Robot Interface
插件用途
通过 FANUC Robot Interface 采集位、字和机器人状态,并在确认现场安全后写入 IO 或姿态。配置页面中的插件名称为“FanucRobotInterfaceMaster”。
公共通道、设备和变量操作见采集配置。本页只说明 Robot Interface 特有参数、地址、方法和调试功能。
选择入口
进入“开发配置 → 采集配置”,创建 TCP 客户端通道,再创建设备并选择“FanucRobotInterfaceMaster”。Robot Interface 默认使用 TCP 端口 60008。
支持范围
| 项目 | 说明 |
|---|---|
| 通道 | TCP 客户端。填写机器人 IP 和 Robot Interface 端口。 |
| 数据类型 | Boolean、Byte、常用有符号/无符号整数、Float、Double。 |
插件参数
| 参数 | 默认值 | 说明 |
|---|---|---|
| 客户端编号 | 1024 | Robot Interface 建立连接时使用的客户端编号。 |
| 文本编码 | GB2312 | 解析状态快照中的定长文本;乱码时核对机器人字符集。 |
| 最大字区打包长度 | 6130 | 周期采集一次合并的最大 WORD 数量。 |
| 最大位区打包长度 | 8192 | 周期采集一次合并的最大位数量。 |
打包长度通常保持默认。现场控制器限制更小时,再降低对应数值。
地址规则
| 数据区 | 地址示例 | 说明 |
|---|---|---|
| WORD | D1、AI1、AQ1、GI1、GO1 | 地址从 1 开始。 |
| 寄存器组 | R1~R10、SR1~SR6 | 按控制器映射填写。 |
| 位 | I1、Q1、M1、SDO1、SDI1、RDI1、RDO1、UI1、UO1、SI1、SO1 | 地址从 1 开始,位流按低位到高位解释。 |
位写入会覆盖补齐字节中的全部位;同一字节内未提交的位可能被清零。写入前应一次提供需要保留的完整位值。
特殊方法
在变量的“特殊方法”中选择方法,变量地址填写下表参数。参数之间按页面提示分隔。
| 页面选择值 | 用途 | 参数 |
|---|---|---|
ReadWordsAsync | 读取原始字区 | selector=8/10/12,address=地址,length=WORD数量 |
WriteWordsAsync | 写入原始字区 | selector=8/10/12,address=地址,value=偶数字节 |
ReadBitsAsync | 读取原始位区 | selector=70/72/76,address=地址,length=位数量 |
WriteBitsAsync | 写入原始位区 | selector=70/72/76,address=地址,value=布尔数组 |
ReadSdoAsync / WriteSdoAsync | 读写 SDO | 读:address,length;写:address,value |
ReadSdiAsync / WriteSdiAsync | 读写 SDI | 读:address,length;写:address,value |
ReadRdiAsync / WriteRdiAsync | 读写 RDI | 读:address,length;写:address,value |
ReadRdoAsync / WriteRdoAsync | 读写 RDO | 读:address,length;写:address,value |
ReadUiAsync | 读取 UI | address=地址,length=位数量 |
ReadUoAsync / WriteUoAsync | 读写 UO | 读:address,length;写:address,value |
ReadSiAsync | 读取 SI | address=地址,length=位数量 |
ReadSoAsync / WriteSoAsync | 读写 SO | 读:address,length;写:address,value |
ReadPmcr2Async / WritePmcr2Async | 读写 PMCR2 | 读:address,length;写:address,value |
ReadGiAsync / WriteGiAsync | 读写 GI | 读:address,length;写:address,value=UInt16数组 |
ReadGoAsync / WriteGoAsync | 读写 GO | 读:address,length;写:address,value=UInt16数组 |
ReadSnapshotAsync | 读取状态快照 | 无参数 |
WriteCartesianPoseAsync | 写入笛卡尔姿态 | address,xyzwpr=9个Float,configuration=7个Int16,userFrame,userTool |
WriteJointPoseAsync | 写入关节姿态 | address,joint=9个Float,userFrame,userTool |
设备调试
进入“开发配置 → 采集配置”,选择本插件设备,打开“调试 → 协议调试 · FanucRobotInterface”。
| 功能 | 作用 |
|---|---|
| 状态快照 | 只读查看机器人当前状态。 |
| IO | 读取位区、字区,并在授权后执行写入。 |
| 姿态写入 | 写入笛卡尔或关节姿态。 |
状态快照
刷新并查看机器人状态快照,适合先确认连接和当前状态,不会改变机器人数据。

IO
选择位区或字区,填写逻辑地址和数量后读取。写入操作会改变机器人 IO,且 UI、SI 区域在调试页中保持只读。

姿态写入
选择 Cartesian 或 Joint,填写地址、姿态数组、用户坐标系和用户工具后执行写入。

写 IO 或姿态前必须确认机器人处于允许操作状态、人员已离开危险区域,并准备停止措施。
验证方法
- 先刷新“状态快照”,确认返回内容与示教器一致。
- 在“IO”读取一个已确认的点,核对区域、地址和结果。
- 仅在现场安全条件满足时验证写入,并立即检查机器人实际状态。
常见问题
| 现象 | 检查方法 |
|---|---|
| 无法连接 | 机器人 IP、端口 60008、网络、防火墙和 Robot Interface 服务。 |
| 地址读取失败 | 数据区名称、从 1 开始的逻辑地址、数量和映射范围。 |
| 文本乱码 | “文本编码”和机器人字符集。 |
| 写入影响相邻位 | 按完整补齐字节提交需要保留的位值。 |