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

库卡机器人及配件服务商    

库卡机器人、库卡机器人备品配件

联系方式
  • 联系人:方经理
  • 电话:13073017555
新闻分类
  • 暂无分类
首页 > 新闻中心 > 库卡机器人 Modbus TCP 通讯如何设置!
新闻中心
库卡机器人 Modbus TCP 通讯如何设置!
发布时间:2026-09-13        浏览次数:1        返回列表

重点:库卡原生没有像 ABB 那样直接在 I/O 系统里勾选 Modbus TCP 总线,分两种方案: 方案 A:KUKA 官方 Modbus TCP 软件包(可选授权,推荐,直接映射 I/O,不用写 KRL 底层 Socket),机器人可做 Slave(从站,PLC 做主站,现场最常用) 方案 B:EthernetKRL(免费,纯 KRL 编程,自己写 Modbus 报文,机器人做 Client/Server,适合自定义寄存器读写) 网口:KRC4 用X66(KLI) 对外通讯;X43 是调试口,不要用来跑 PLC 总线。 默认 Modbus TCP 端口:502

前置准备

  1. 网线:X66 → 交换机,PLC 和机器人同网段

  2. 机器人 IP:示例 192.168.1.100,PLC:192.168.1.1,掩码 255.255.255.0

  3. 登录权限:管理员 / 专家(密码 KUKA

  4. 网络测试:CMD ping 192.168.1.100,必须通


方案 A:官方 Modbus TCP 软件包(KSS8.2+/KRC5,推荐,I/O 映射)

软件包名称:KUKA.ModbusTCP,需要购买授权,WorkVisual 里安装,支持 Modbus TCP Slave(机器人从站),寄存器直接映射机器人 \(IN/\)OUT / \(GI/\)GO,不用写 KRL 收发报文

Step1 WorkVisual 添加 ModbusTCP 总线

  1. 打开项目 → 控制器拓扑,添加 Modbus TCP Slave

  2. 设置:

    • 监听端口:502

    • 从站 ID(Unit ID):1(Modbus TCP 一般默认 1)

  3. 寄存器映射(核心)

    Modbus 寄存器定义(标准)

    • 0xxxx:线圈(Bit,读写) → 映射机器人输出 $OUT

    • 1xxxx:离散输入(Bit,只读) → 映射机器人输入 $IN

    • 4xxxx:保持寄存器(Word,读写) → 映射 $GO(组输出,16 位)

    • 3xxxx:输入寄存器(Word,只读) → 映射 $GI(组输入,16 位)

示例映射:

  • 40001 → $GO [1](PLC 写保持寄存器,下发给机器人)

  • 30001 → $GI [1](PLC 读输入寄存器,读取机器人数据)

寄存器编号注意:有些 PLC 软件是 0 基,有些是 1 基,这里坑最多!

  1. 把工程下载到机器人控制柜,重启机器人。

Step2 示教器侧检查

  1. 菜单 → 投入运行 → I/O 系统 → 现场总线,看到 ModbusTCP 状态为运行

  2. 打开 I/O 监视器,查看 \(IN/\)OUT/\(GI/\)GO。

Step3 PLC 侧(AB / 西门子等)配置 Modbus TCP Client(主站)

  1. PLC 建立 Modbus TCP 客户端,目标 IP:机器人 IP,端口 502,从站 ID=1

  2. 读写寄存器:

    • 写保持寄存器 40001 → 机器人 $GO [1]

    • 读输入寄存器 30001 → 机器人 $GI [1]

  3. 测试:PLC 写寄存器,机器人组信号同步变化。


方案 B:EthernetKRL(免费,无授权,KRL 代码实现 ModbusTCP Client/Server)

老 KRC4(KSS8.2 以下)没有 ModbusTCP 授权包,用这个方案,机器人自己跑 KRL 程序收发 Modbus 报文。 机器人既可以做 Client(机器人主动去读 / 写 PLC / 仪表 Modbus 从站),也可以做 Server。

Step1 安装 EthernetKRL 包

WorkVisual 安装 EthernetKRL 软件包,下载到机器人。

Step2 配置 ETHERNETKRL.XML

路径:C:\KRC\ROBOTER\CONFIG\USER\COMMON\ETHERNETKRL\ETHERNETKRL.XML

文件名固定,不能改。XML 里定义连接类型、IP、端口,KRL 程序调用这个连接。

示例:机器人作为 Modbus TCP Client(机器人去读写 PLC Modbus 从站)

<ETHERNETKRL>
<CONNECTION>
<IP>192.168.1.1</IP> <!-- PLC IP -->
<PORT>502</PORT>
<TYPE>Client</TYPE>
<RECONNECT>TRUE</RECONNECT>
</CONNECTION>
</ETHERNETKRL>

Step3 KRL 程序编写 Modbus 读写

KRL 调用 EthernetKRL 函数,组装 Modbus TCP 报文:

  • 读保持寄存器报文、写保持寄存器报文

  • 接收返回报文,解析数据,存入机器人变量(INT/REAL)

缺点:需要自己处理报文拼接、CRC、字节序、断线重连;优点:不用买授权,灵活。 适合少量数据交互,大量 IO 不推荐(报文不稳定,占用机器人解释器)

Step4 示教器运行 KRL 程序,用 Modbus 调试助手测试通讯


寄存器映射规则 & 坑点

  1. Modbus TCP Unit ID(从站号):TCP 协议本身不依赖从站 ID,但很多 PLC / 上位机工具必须填,一般写 1。

  2. 寄存器地址偏移:Modbus 标准文档 40001 = 寄存器地址 0,很多软件直接写 0,很多写 40001,很容易错位。

  3. 浮点数 REAL:2 个连续寄存器(32bit),注意高低字 / 高低字节顺序(大端 / 小端,调试最容易踩坑)。

  4. 机器人 X66 网口不要和 KUKA 内部 192.168.0.x 网段冲突!KRC 内部子网占用 192.168.0.x,外部通讯不要用这个网段。

常见故障排查

  1. 无法建立连接 ✅ ping 机器人 IP;防火墙关闭;网线交换机;确认 X66 网口,不是 X43 调试口;端口 502 是否被占用

  2. 连上但是寄存器读不到数据 ✅ 寄存器地址偏移是否搞错;Unit ID;映射是否下载并重启机器人

  3. 通讯不稳定,偶尔断 ✅ 降低读写轮询周期(200ms 以上);屏蔽网线,交换机端口 100M 全双工

  4. EthernetKRL 程序报错 ✅ XML 文件名、路径大小写严格;机器人权限;程序循环不要太快。

选型建议

  • 现场大量 DI/DO、组信号,稳定对接 PLC:方案 A,官方 ModbusTCP 授权包

  • 少量数据读取仪表、上位机,不想买授权:方案 B EthernetKRL KRL 编程。

收缩
  • QQ咨询

  • 电话咨询

  • 13073017555
  • 添加微信客服