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

埃斯顿机器人综合服务商    

埃斯顿机器人

联系方式
  • 联系人:方经理
  • 电话:13073017555
新闻分类
  • 暂无分类
站内搜索
 
首页 > 新闻中心 > 埃斯顿机器人和梅卡曼德 3D 通讯如何查看 Modbus TCP 的寄存器读写状态!
新闻中心
埃斯顿机器人和梅卡曼德 3D 通讯如何查看 Modbus TCP 的寄存器读写状态!
发布时间:2026-10-28        浏览次数:8        返回列表

架构:埃斯顿 = ModbusTCP 主站,梅卡曼德 Mech-Center=ModbusTCP 从站(Slave)分 4 个渠道:梅卡曼德日志、埃斯顿示教器通讯状态、机器人变量监视、Multiprog 软 PLC 监控

一、先在梅卡曼德 Mech-Center 看

  1. 打开【机器人与接口配置】→ Modbus TCP Slave,启动接口服务

  2. 右侧通讯日志重点看:

    • Client connected:出现埃斯顿机器人 IP → TCP 链路已经连上

    • 收到 101(启动工程)、206(获取位姿) 指令、收到写寄存器请求 = 机器人写寄存器动作已经发出去

    • 日志输出应答、状态码 100 地址刷新(2100 = 取位姿成功)= 视觉侧正常返回数据

    • 无日志:机器人根本没发报文;报错非法地址:寄存器地址写错

  3. 辅助验证:电脑开 Modbus Poll 连梅卡曼德,直接读寄存器(100 状态码、X/Y/Z/Rx/Ry/Rz),电脑能读通 = 梅卡曼德侧参数没问题,问题在埃斯顿。

梅卡曼德标准寄存器:

  • 100:状态码(2100 成功,其余为错误码)

  • 101:写指令寄存器(101 启动工程,206 获取位姿)

  • 102 开始:6 维位姿(6 个浮点数,每个占 2 个寄存器)

二、埃斯顿示教器查看 Modbus 连接状态

路径:设置 → 通讯设置 → ModbusTCP

  1. 先看设备列表:新增梅卡曼德从站(IP、端口、Slave ID、超时)

    • 状态显示【已连接】:TCP 握手成功

    • 状态【超时 / 断开】:IP、端口、防火墙、梅卡曼德服务没开

埃斯顿示教器原生界面不能直接在线看寄存器实时数值,只能看链路通断,寄存器数值必须靠【程序变量监视】

  1. 程序里用 Modbus 读写指令,自带错误返回码(核心判断依据)

MODBUS_READ(从站号,起始寄存器,读取数量,存放数组,超时,ERR)
MODBUS_WRITE(从站号,起始寄存器,写入数量,写入数组,超时,ERR)
  • ERR=0:读写指令正常收到从站应答

  • ERR=1:超时无应答

  • ERR=2:非法地址(最常见,寄存器起始地址错)

  • ERR=3:非法功能码、从站拒绝

示教器打开【变量监视】,监控 ERR 变量、接收数组(D 实数变量) 比如读取梅卡曼德 100 号状态码到 D100,D100=2100 代表取位姿成功

三、iER 新款机型

iER 系列是 Multiprog 软 PLC 做 Modbus 主站库:ER_ModbusTcp 库,指令:ReadModbusReg / WriteModbusReg,还有连接状态变量 RobModbusCnctStatewebsite-bu...

  1. 电脑打开 Multiprog 软件,在线连接控制器

  2. 找到 Modbus 功能块,在线监控:

    • RobModbusCnctState:1 = 连接成功,0 = 断开

    • 指令的 Error、ErrorID:错误 ID 对应 Modbus 异常码

    • 直接监控接收寄存器数组,实时看到 100 状态码、XYZ 姿态数值

这个是唯一可以直接看寄存器数据流的方式,调试 3D 视觉首选

四、4 层判断标准

  1. 链路层成功:梅卡曼德日志显示机器人 IP 接入 + 埃斯顿 Modbus 状态 = 已连接 → 仅 TCP 连上,不代表寄存器读写没问题

  2. 寄存器读写交互成功:

    • 埃斯顿写 101 到梅卡曼德 101 寄存器,梅卡曼德日志收到 101

    • 埃斯顿读 100 寄存器,读到 2100 → ERR=0,状态码正常,说明寄存器读写这条链路没问题

  3. 数据有效(应用层):读到 X/Y/Z/Rx/Ry/Rz 是合理毫米值,字节序匹配

    • 数值乱跳、超大负数:字节序不匹配(埃斯顿默认大端 ABCD,梅卡曼德切换 ABCD/DCBA)

  4. 姿态翻转:不是 Modbus 通讯问题,是梅卡曼德欧拉角 / 坐标轴方向

五、标准握手调试流程

  1. 埃斯顿写寄存器 101=101(启动工程)→ 梅卡曼德日志收到 101

  2. 埃斯顿轮询读寄存器 100

    • 读到 2100:视觉匹配完成,6 维位姿寄存器已经刷新

  3. 埃斯顿读取 102 开始的 6 个浮点数(XYZRxRyRz)

  4. 抓取完成,埃斯顿写 999 清除寄存器,进入下一轮

禁止一直循环读寄存器,必须用状态码联锁,否则读到旧坐标

六、高频坑

  1. 显示已连接,但读出来一直是 0:寄存器起始地址是逻辑 0 起始,梅卡曼德文档注意 40001 偏移

  2. Modbus Poll 电脑能读,机器人读不到:埃斯顿 Modbus 主站授权没开、指令里从站号写错

  3. 偶发读到旧坐标:没有状态码联锁,视觉不会主动清零刷新

  4. 字节序:埃斯顿大端 ABCD,梅卡曼德 Modbus 参数里切换 ABCD/DCBA

七、快速排查对照表

表格

现象结论
梅卡曼德日志无 Client 连接TCP 没连上,IP / 端口 / 防火墙 / 服务没启动
已连接,ERR 持续 = 2寄存器起始地址写错(梅卡曼德地址偏移坑)
ERR=0,D 变量数值乱跳字节序不匹配
ERR=0,D100 一直是 0指令发出去了,但是视觉没有完成匹配,状态码没刷新
D100=2100,姿态翻转坐标系 / 欧拉角设置问题,通讯没问题


收缩
  • QQ咨询

  • 电话咨询

  • 13073017555
  • 添加微信客服