适用:FD-B4、FD19、FD21、AX-V6;控制器:FDOP / AXC;对接欧姆龙 PLC(延续你前面整套机器人 + 欧姆龙项目) 两种方式:示教器本地查看、以太网通讯上传 PLC 上位机(Modbus TCP / 总线)
一、示教器直接查看
1、读取当前机器人坐标
示教器进入【监控】画面
坐标系切换:关节坐标 (J1~J6) / 世界坐标 XYZABC / 用户坐标 / 工具坐标
XYZ:笛卡尔位置;ABC:姿态角(RPY)
J1-J6:各轴关节角度
机器人 JOG 移动时,数值实时刷新;再生运行时也可实时监控当前点位。
2、查看报警信息
【报警】菜单 → 当前报警:实时激活的故障代码 + 文字说明
【履历】→ 报警历史:存储历史报警记录,可查看报警发生时间、代码、复位状态
OTC 报警分两类:
E 开头:系统伺服报警 E0021/E0052
纯数字:程序 / 动作报警 9022、2605 例:E0052 编码器电池低;E0021 伺服随动异常;9022 位置到达错误
二、PLC / 上位机远程读取坐标、报警
OTC FD/AX 控制器支持 Modbus TCP、CC-link IE、Profinet、EtherNet/IP(选配板卡),推荐Modbus TCP,欧姆龙 NJ/NX/CJ 都能直接读写。
OTC 机器人角色:Modbus TCP Slave(服务器),PLC=Client 主站,端口 502
1、机器人侧 Modbus TCP 配置(FD 系列)
控制柜网口:LAN(RJ45)接交换机,设置静态 IP:
192.168.1.30,掩码 255.255.255.0示教器菜单:设定 → 通讯 → Modbus TCP
Modbus TCP:有效
模式:服务器 Slave
从站 ID:1
寄存器映射(核心)OTC 把当前坐标、报警代码、运行状态映射到保持寄存器 4xxxx(16bit)
一个浮点数 XYZ/ABC 占用2 个连续 16 位寄存器; 报警代码放在单独寄存器,有报警时寄存器写入报警号,无报警 = 0。
示例映射
表格
| Modbus 保持寄存器 | 含义 | 数据类型 |
|---|---|---|
| 40001,40002 | X 坐标 | REAL(32bit) |
| 40003,40004 | Y 坐标 | REAL(32bit) |
| 40005,40006 | Z 坐标 | REAL(32bit) |
| 40007,40008 | A 姿态 | REAL(32bit) |
| 40009,40010 | B 姿态 | REAL(32bit) |
| 40011,40012 | C 姿态 | REAL(32bit) |
| 40013 | 当前报警代码 | INT(16bit) |
| 40014 | 机器人状态位(运行 / 伺服 ON / 报警) | INT(16bit) |
坑点:OTC 浮点数为大端存储,欧姆龙读取 REAL 时,需要高低字调换,否则数值乱码。
保存参数,重启控制器生效。
2、欧姆龙 PLC(Sysmac Studio NJ/NX)读取
新建 Modbus TCP Client 功能块,目标 IP:
192.168.1.30,端口 502,UnitID=1调用 Read Holding Register(FC03),起始地址 0,读取 14 个寄存器(对应 40001~40014)
将读取到的 SINT 数组,转换为 REAL;浮点数高低字交换,得到正确 XYZABC 坐标
40013 寄存器读到非 0 数值,代表机器人报警;PLC 程序做报警判断、HMI 弹窗记录。
如果是 CJ2M(CX-Programmer):用 ETN 单元 Socket 或 Modbus 功能块,逻辑一致。
方案备选:高速总线
FD19/FD21 支持选配 EtherNet/IP / CC-link IE,可把坐标、报警状态映射到总线 IO,刷新更快,适合高速焊接产线。
EtherNet/IP:OTC 机器人 Adapter,欧姆龙 NJ 做 Scanner,和之前发那科 EIP 配置逻辑接近。
三、OTC 机器人内部变量读取(机器人程序内部获取)
OTC 机器人原生程序(AS 语言)可直接读取内置系统变量:
$PX,$PY,$PZ,$PA,$PB,$PC:当前世界坐标 XYZABC$J1~$J6:关节角度$ALM_CODE:当前报警代码$RUN_STAT:运行状态
AS 程序示例(机器人内部读取当前位置)
P CUR_POS
MOV $PX,R1
MOV $PY,R2
MOV $PZ,R3
MOV $ALM_CODE,R10 ;读取报警代码存入R10寄存器
END
可以把 R 寄存器映射给 Modbus TCP 寄存器,PLC 读取 R 寄存器,这是现场最常用做法。
四、常见调试坑
坐标数值乱码:浮点数高低字顺序问题,OTC 大端,欧姆龙默认字节序不一致,必须交换。
读不到报警代码:Modbus 寄存器映射地址写错;机器人 Modbus TCP 未启用,未重启。
通讯偶尔断连:轮询周期不要小于 100ms;焊接环境干扰大,屏蔽网线,交换机端口 100M 全双工。
报警寄存器清零:机器人报警复位后,
$ALM_CODE自动变为 0。

