返回主站|会员中心|保存桌面

爱普生机器人综合服务商    

爱普生机器人|爱普生scara机器人

新闻分类
  • 暂无分类
站内搜索
 
首页 > 新闻中心 > 爱普生机器人如何通过总线方式让欧姆龙 PLC 读取爱普生机器人的报警代码!
新闻中心
爱普生机器人如何通过总线方式让欧姆龙 PLC 读取爱普生机器人的报警代码!
发布时间:2026-09-13        浏览次数:8        返回列表

两条总线方案:方案 1 Modbus TCP(推荐,标配网口,无需额外总线板卡)方案 2 EtherNet/IP(选配总线板卡,高速周期 IO,和你前面发那科 EIP 思路一致)机器人角色:从站(Slave),欧姆龙 NJ/NX 为主站 Client爱普生系统内置系统变量 $ERR:存放当前报警代码;无报警时$ERR=0。 控制器网口:LAN 口接交换机,不要用 TP 示教器网口。示例 IP:机器人192.168.1.50,欧姆龙 PLC 192.168.1.10

方案 1:Modbus TCP

爱普生 RC700/RC900 自带 Modbus TCP Slave,不需要购买总线板卡,直接 RC + 软件配置。 原理:把系统变量$ERR映射到保持寄存器,欧姆龙用 Modbus TCP Client 读保持寄存器拿到报警代码。

1、RC + 软件机器人侧配置(电脑 RC+,不是示教器)

  1. 连接机器人控制器,设置 → 系统设置 → 控制器 → 输入 / 输出 → 现场总线

  2. 现场总线类型选择:Modbus TCP;端口默认502;从站 ID=1

  3. 寄存器映射(核心两种方式)

方式 A:总线 IO 映射

现场总线输出(机器人→PLC)分配 1 个 16bit 寄存器,绑定系统变量$ERR

保持寄存器:40001(1 基地址,对应寄存器地址 0),存放报警代码$ERR额外可增加:

  • 40002:机器人状态字(伺服 ON / 运行 / 报警位)

  • 40003:警告代码$WARN

方式 B:SPEL 程序刷新变量

全局整形变量 Public Global_Err As Integer,周期把$ERR写入Global_Err,再映射到 Modbus 寄存器

Function Update_Err
   Global_Err = $ERR   '读取机器人当前报警代码
End Function

在后台监控任务循环执行Update_Err,实时刷新报警号。

  1. 保存配置,下载到控制器,重启机器人。

  2. 网络测试:电脑 CMD ping 192.168.1.50,确认连通。

2、欧姆龙 Sysmac Studio(NJ/NX)PLC 侧配置

  1. 添加 Modbus TCP Client 功能块,目标 IP:192.168.1.50,端口 502,UnitID=1

  2. 调用功能块 Read Holding Registers FC03

    • 起始寄存器地址:0(对应 40001)

    • 读取字数:1

  3. 读到的 16 位数值,就是机器人报警代码;数值 = 0 代表无报警

  4. 程序逻辑:判断读到的报警号 > 0,触发 HMI 报警弹窗、报警记录。

CJ2M 老欧姆龙:使用 ETN 单元 Socket 报文调用 Modbus FC03 读取。

方案 2:EtherNet/IP(选配 EIP 总线板卡,高速总线,产线多信号交互推荐)

需要加装 EtherNet/IP 现场总线板卡(硬件选件),机器人作为 EIP Adapter 从站,欧姆龙 NJ 做 Scanner 主站,和你前面发那科 EIP 架构完全统一。

机器人 RC + 配置

  1. 设置 → 系统设置 → 控制器 → I/O → 现场总线,选择 EtherNet/IP

  2. 设置 Assembly:

    • Output Assembly(机器人→PLC):2 字节,用来传递报警代码(16bit)+ 状态 bit

    • Input Assembly(PLC→机器人):2 字节,PLC 下发启停、复位

  3. 信号映射:把系统变量$ERR映射到现场总线输出字(16bit)

  4. 导出爱普生 EIP 的 EDS 文件,保存给 Sysmac Studio 使用。

  5. 下载配置,重启控制器。

欧姆龙 Sysmac Studio 配置

  1. EDS 库导入爱普生 EDS 文件

  2. EtherNet/IP 网络添加机器人设备,填入机器人 IP

  3. 设置 Assembly Instance、字节长度,必须和机器人 RC + 完全一致

  4. 注册标签组,全局变量绑定 EIP 输入输出结构体;PLC 直接读取结构体里的报警代码。

  5. RPI 推荐 10~20ms。

补充:爱普生报警相关系统变量(SPEL)

表格

系统变量含义
$ERR当前报警代码,无报警 = 0(重点)
$WARN警告代码,警告不触发停机
$ERRLVL报警等级:0 无,1 警告,2 严重报警
$SERVO伺服状态 ON/OFF
$RUN程序运行状态

调试

  1. Modbus 读出来一直是 0

    • RC + 现场总线映射没有绑定$ERR;程序没有后台刷新变量;配置下载后没有重启控制器。

    • 地址 0 基 / 1 基混淆:40001 对应寄存器地址 0,很多人写成 1 就读错。

  2. EIP 通讯连上但报警代码不刷新

    • Assembly 字节数、Instance 号两边不一致;EDS 版本不对;RC + 没有把$ERR映射进输出 Assembly。

  3. 报警复位后寄存器不会自动清零?$ERR机器人报警复位后自动变为 0,总线寄存器同步刷新。

  4. 网络偶尔断连焊接环境使用屏蔽网线;交换机端口强制 100M 全双工;Modbus 轮询周期≥100ms。

收缩
  • QQ咨询

  • 电话咨询

  • 13073017555
  • 添加微信客服