发布时间: 2026-01-30

与汇川PLC进行EIP通讯


一、 简介:

本文主要介绍汇川PLC-EASY521和EC进行EIP通信的配置流程。

二、操作流程

2.1 前期准备:

AutOShop软件(汇川PLC-EASY521编程软件),可以自行在汇川官网下载

EC EDS文件可在艾利特官网下载,也可以向Elite人员索取

EDS下载地址:下载中心_机器人技术-艾利特官网

EC_通信协议手册下载地址:https://www.elibot.com/Public/Uploads/uploadfile/files/20250708/ECtongxinxieyishouceVer3.20.2.pdf

2.2机器人IP设置:

2.3Ethernet/IP寄存器排布规则

Ethernet/IP 部分寄存器被划分为11个插槽(也称slot),每个slot实质是一Ethernet/IP连接

Slot

各数据域含义

寄存器

传输方向

Adapter Slot 0

 

 

32 个 32 位 int 输出寄存器,地 址范围 [0,31]

机器人向PLC

Adapter Slot 1

 

 

32 个 32 位 int 输入寄存器,地 址范围 [0,31]

PLC向机器人

Adapter Slot 2

 

32 个32 位 float 输 出寄存器,地址 范围 [0,31]

机器人向PLC

Adapter Slot 3

 

32 个 32 位float 输 入寄存器,地址 范围 [0,31]

PLC向机器人

Adapter Slot 4

1.机器人当前 位姿

2.机器人当前 TCP 速度

3.机器人当 前TCP 加速度

4.机器人当前 关节角度

5.机器人当前 关节角速度

6.机器人关 节加速度

52 个32 位 float 输出寄存器,地址 范围 [0,51] 

机器人向PLC

 

Adapter Slot 5

1.系统数字输 入口状态

2.系统数字输 出口状态

4 个 32 位状态

寄存器,地址范

围 [0,3]

机器人向PLC

 

Adapter Slot 6

1.系统模拟量 输入值

2.系统模拟量 输出值

8 个 32 位状态

寄存器,地址范

围 [0,7])

机器人向PLC

 

Adapter Slot 7

1.碰撞检测使 能状态

2碰撞检测灵 敏度参数

3.安全参数 使能状态

4.安全限制功 率参数

5.安全限制动 量参数

6.安全限制 工具力参数

7.安全限制 肘部力参数

8.安全限制 速度百分比参数

18 个 32 位状

态寄存器,地址

范围 [0,17]

机器人向PLC

 

Adapter Slot 8

1.获取系统时间戳

46 个 32 位状

态寄存器,地址

范围 [0,45](每个寄存器的含义请见通信手册)

机器人向PLC

 

Adapter Slot 9

1.输入 M 变量

映射

 

64 个 8 位状态

寄存器,地址范

围 [M912,M1423]

PLC向机器人

Adapter Slot 10

1.输出 M 变量 映射

64 个 8 位状态

寄存器,地址范

围 [M400,M911]

机器人向PLC

 

 

2.4 PLC端设置

点击工具,找到通讯设置,进行通讯配置,建议配置之后,点击测试一下。

 

查看生成需要的插槽没有问题就可以执行下载

下载成功之后,打开监控功能,可以监控EIP是否成功运行,如果没有运行的话,可以在EIP配置画面,在状态一栏中,逐一检查每个插槽(Slot)是否连接成功。

2.5机器人读取整型和浮点寄存器的LUA脚本

sleep(1)
while(1)do
    a=get_eip_int_input_registers(0,31)--EC输入整形寄存器
    ---EnterNetIP-INT输入寄存器一
    set_global_variable("I0",a[1])--INT输入寄存器0
    set_global_variable("I1",a[2])--INT输入寄存器1
    set_global_variable("I2",a[3])--INT输入寄存器2
    set_global_variable("I3",a[4])--INT输入寄存器3
    set_global_variable("I4",a[5])--INT输入寄存器4
    set_global_variable("I5",a[6])--INT输入寄存器5
    set_global_variable("I6",a[7])--INT输入寄存器6
    set_global_variable("I7",a[8])--INT输入寄存器7
    set_global_variable("I8",a[9])--INT输入寄存器8
    set_global_variable("I9",a[10])--INT输入寄存器9
    ---EnterNetIP-INT输出寄存器一
    b0=get_global_variable("I10")
    b1=get_global_variable("I11")
    b2=get_global_variable("I12")
    b3=get_global_variable("I13")
    b4=get_global_variable("I14")
    b5=get_global_variable("I15")
    b6=get_global_variable("I16")
    b7=get_global_variable("I17")
    b8=get_global_variable("I18")
    b9=get_global_variable("I19")
        get_eip_int_output_registers(0,9,{b0,b1,b2,b3,b4,b5,b6,b7,b8,b9})
    ----输入浮点寄存器
    c=get_eip_float_input_registers(0,10)
    set_global_variable("D0",c[1])
    set_global_variable("D1",c[2])
    set_global_variable("D2",c[3])
    set_global_variable("D3",c[4])
    set_global_variable("D4",c[5])
    set_global_variable("D5",c[6])
    set_global_variable("D6",c[7])
    set_global_variable("D7",c[8])
    set_global_variable("D8",c[9])
    set_global_variable("D9",c[10])
    ----输出浮点寄存器
    d0=get_global_variable("D10")
    d1=get_global_variable("D11")
    d2=get_global_variable("D12")
    d3=get_global_variable("D13")
    d4=get_global_variable("D14")
    d5=get_global_variable("D15")
    d6=get_global_variable("D16")
    d7=get_global_variable("D17")
    d8=get_global_variable("D18")
    d9=get_global_variable("D19")
    set_eip_float_output_registers(0,10,{d0,d1,d2,d3,d4,d5,d6,d7,d8,d9})
    sleep(0.01)
end

 

三.常见问题解答

3.1无法连接PLC

①每个PLC都有IP地址,找到对应通信端口,先进行搜索,看看PLC的IP是多少

②排查PLC、电脑和机器人是否在同一网段。

四. 示例:

机器人布尔输入测试:

机器人整型输入测试:

提交反馈