控制器:FANUC R-30iB / R-30iB Plus;欧姆龙:NJ/NX(Sysmac Studio)、CJ2M(CX-Programmer) 优先推荐顺序:EtherNet/IP(高速实时,产线首选)> Modbus TCP(简单低成本)> Focas2(发那科专用,读取机器人坐标、报警)
方案一:EtherNet/IP
角色:发那科机器人 = Adapter 从站;欧姆龙 PLC = Scanner 主站前提:机器人开通 EIP 软件选项,需要 EDS 文件;网口使用机器人 CD38A (PORT1) 接交换机
机器人侧设置(示教器)
MENU → SETUP → Host Comm → TCP/IP,设置 PORT1 静态 IP 例:机器人
192.168.1.20,PLC192.168.1.10,掩码 255.255.255.0返回 Host Comm → EtherNet/IP,设置
EIP Adapter:ENABLE
添加 Connection,类型 Point-to-Point
Output (O→T):PLC 发给机器人(机器人 Input),例如 8 字节
Input (T→O):机器人发给 PLC(机器人 Output),例如 8 字节
RPI:10ms(推荐 5~20ms,不要小于 2ms)
I/O 分配:MENU → I/O → Digital,机架
89,插槽1DI 映射:EIP 输入字节(PLC 下发启停、复位)
DO 映射:EIP 输出字节(机器人反馈运行、报警、到位)
保存,重启控制柜生效。
欧姆龙 PLC 侧(Sysmac Studio NJ/NX)
安装 FANUC 机器人 EIP 的 EDS 文件(工具→EDS 库→安装)
左侧 EtherNet/IP 网络,添加设备,填入机器人 IP
打开连接设置,Assembly 参数必须和机器人完全一致
Consume(PLC 接收机器人数据)Instance=101,Size=8 字节
Produce(PLC 下发给机器人)Instance=100,Size=8 字节
新建全局变量结构体,绑定 EIP 的输入输出标签组,注册标签组
程序编写:结构体映射 PLC 变量,下载到 PLC,在线。
欧姆龙 EIP 是标签式通讯,比 AB Studio5000 更方便,浮点数直接映射 REAL,重点注意字节对齐。
CJ2M(CX-Programmer)EIP
CJ2M+EIP21 模块,同样导入 EDS,设置 Assembly,使用标签数据链接。
方案二:Modbus TCP
限制:发那科机器人只能做 Modbus TCP 从站(Server),欧姆龙 PLC 做主站 Client机器人软件选项:R581 Modbus TCP + R800 Modbus TCP Connection;端口固定 502,机架 96,插槽 1 映射规则(发那科固定)
线圈 (0xxxx):PLC 写 → 机器人 DO [1~512]
离散输入 (1xxxx):PLC 读 → 机器人 DI [1~512]
保持寄存器 (4xxxx):读写 R 寄存器、GI 组信号(16bit)
输入寄存器 (3xxxx):只读 AI 模拟量
发那科 Modbus 是大端模式,32 位浮点数需要欧姆龙侧做高低字交换!
机器人示教器设置
MENU → SETUP → Host Comm → TCP/IP,PORT1 设置静态 IP
MENU → I/O → Modbus TCP
Slave:启用
输入字数、输出字数(按需,如 4 字)
超时:500ms
I/O 分配:机架
96,插槽1,分配 DI/DO/GI/GO系统变量
$MODB_ENBLIO=1,保存重启。
欧姆龙 PLC 侧
NJ/NX Sysmac Studio:使用 Socket 库写 Modbus TCP 客户端,调用 FB 发送 FC01/FC02/FC03/FC06 功能码;
CJ2M(CX-Programmer):ETN 单元 Socket 报文,或者第三方 Modbus TCP 功能块;
缺点:欧姆龙老款 CJ 没有原生 Modbus TCP 主站 FB,需要自己写 Socket 报文;轮询周期建议≥100ms,不适合高速信号交互。
方案三:Focas2(发那科专属以太网协议)
适合:PLC 读取机器人坐标、程序号、报警、负载等机器人内部信息;不适合硬实时 IO 握手机器人端口:8193;欧姆龙 NJ/NX 用 Socket TCP 发送 Focas 报文,读写机器人 R 变量、位置数据。 优点:不用额外总线选项;缺点:只适合信息采集,不适合机器人启停互锁。
推荐选型对照表
表格
| 方案 | 实时性 | 软件选项 | 适用场景 |
|---|---|---|---|
| EtherNet/IP | 高 (10ms) | 需要 EIP 授权 | 产线主控制,启停互锁、机器人状态反馈,推荐首选 |
| Modbus TCP | 低 (≥100ms) | 需要 R581+R800 | 改造项目,少量信号交互,预算有限 |
| Focas2 | 低 | 无需 | 采集机器人坐标、报警信息,不用于安全互锁 |
重要坑点 & 调试排查
EIP 最常见:Assembly ID、字节数两边不一致;欧姆龙标签组忘记【注册】,通讯连上但无数据;RPI 太小导致断连。
Modbus TCP 坑:发那科大端浮点数,欧姆龙读到浮点数乱码;地址 0 基 / 1 基混淆;机架必须 96 插槽 1。
安全原则:急停、安全门信号不要走以太网通讯!必须硬接线 DI,通讯只做常规逻辑交互。
网络:机器人 PORT1 接工业交换机,不要直连 PLC;网线屏蔽,交换机端口强制 100M 全双工。
调试步骤:先 ping 通 IP;再用 Modbus Poll/EDS 工具单独测试机器人通讯;最后 PLC 联机。

