三菱FX3U PLC Modbus RTU寄存器地址映射完全指南

免费免费技术资料

这篇内容可直接阅读,适合用于基础学习和搜索引流。

本文目录
  1. 1. 一、概述
  2. 2. 二、Modbus地址类型说明
  3. 3. 三、FX3U默认Modbus地址映射表
  4. 4. 3.1 离散输入区(X输入继电器)→ 1xxxx
  5. 5. 3.2 线圈区(Y/M/S等)→ 0xxxx
  6. 6. 3.3 保持寄存器区(D/R数据寄存器)→ 4xxxx
  7. 7. 3.4 输入寄存器区 → 3xxxx
  8. 8. 四、用户自定义设备分配
  9. 9. 五、PLC从站配置步骤
  10. 10. 5.1 安装通信适配器
  11. 11. 5.2 设置通信参数
  12. 12. 5.3 设置从站地址
  13. 13. 5.4 调用Modbus指令
  14. 14. 六、PLC主站读取变频器示例
  15. 15. 七、常见问题与排障指南
  16. 16. 7.1 通讯无响应
  17. 17. 7.2 读不到数据
  18. 18. 7.3 数据不对或乱码
  19. 19. 7.4 偶发通讯失败
  20. 20. 八、与西门子S7-200 SMART的区别
  21. 21. 九、总结
  22. 22. 十、相关链接

一、概述

三菱FX3U/FX3G/FX3S系列PLC通过FX3U-485ADP-MB或FX3U-232ADP-MB通信适配器,可以实现Modbus RTU主站或从站功能。本文基于三菱官方《FX用户手册 – 通信篇》,详细说明FX3U系列PLC的Modbus地址映射规则。

FX3U系列PLC支持两种Modbus工作模式:

  • Modbus RTU主站(Master):主动读写从站设备(如变频器、仪表)
  • Modbus RTU从站(Slave):被动响应上位机的读写请求

二、Modbus地址类型说明

Modbus协议定义了四种数据区域,每种区域有固定的地址范围和功能码:

Modbus地址区域 功能码 读写属性 数据类型 对应FX3U设备
0xxxx(线圈) 01(读线圈)/ 05(写单线圈)/ 15(写多线圈) 读/写 位(1 bit) Y/M/S等位设备
1xxxx(离散输入) 02(读离散输入) 只读 位(1 bit) X输入继电器
3xxxx(输入寄存器) 04(读输入寄存器) 只读 字(16 bit) 特殊寄存器/固定映射
4xxxx(保持寄存器) 03(读保持寄存器)/ 06(写单寄存器)/ 16(写多寄存器) 读/写 字(16 bit) D/R数据寄存器

重要说明:Modbus地址有两种表示方式——带区域前缀的(如40001)和纯偏移量的(如00000)。实际通信中使用的是0-based偏移地址。

三、FX3U默认Modbus地址映射表

3.1 离散输入区(X输入继电器)→ 1xxxx

FX3U的输入继电器X固定映射到Modbus的1xxxx离散输入区域,只读。

Modbus地址 FX3U设备 说明
10001 X000 输入继电器第0位
10002 X001 输入继电器第1位
10003 X002 输入继电器第2位
10004 X003 输入继电器第3位
10005 X004 输入继电器第4位
10006 X005 输入继电器第5位
10007 X006 输入继电器第6位
10008 X007 输入继电器第7位
10009 X010 输入继电器第8位(八进制)
10010 X011 输入继电器第9位(八进制)
依次类推,X采用八进制寻址
10256 X337 最大地址(根据IO点数)

注意:FX系列PLC的X/Y输入输出采用八进制寻址,不是十进制!X0-X7是前8位,X10-X17是接下来的8位,依次类推。

3.2 线圈区(Y/M/S等)→ 0xxxx

FX3U的输出继电器Y、辅助继电器M、状态S等位设备可以映射到Modbus的0xxxx线圈区域,读写。

默认映射(示例)

Modbus地址范围 FX3U设备 数量 说明
0x0000 – 0x001F (00001-00032) Y000-Y017 32点 输出继电器Y(八进制)
0x0020 – 0x005F (00033-00096) M0-M63 64点 辅助继电器M
0x0060 – 0x007F (00097-00128) S0-S31 32点 状态S

说明

  • 线圈区域映射可以通过参数自定义配置
  • 默认情况下,Y输出继电器映射到最前面
  • M辅助继电器映射到接下来的区域
  • 每个PLC设备区域占1个位

3.3 保持寄存器区(D/R数据寄存器)→ 4xxxx

FX3U的数据寄存器D映射到Modbus的4xxxx保持寄存器区域,读写。

Modbus地址 FX3U设备 说明
40001 D0 数据寄存器第0个
40002 D1 数据寄存器第1个
40003 D2 数据寄存器第2个
40004 D3 数据寄存器第3个
依次类推
40200 D199 数据寄存器第199个
40201 D200 数据寄存器第200个(保持型)
依次类推
48000+ D7999+ 数据寄存器最大地址

计算公式:Modbus地址 = 40000 + D寄存器编号 + 1

示例:要访问D100,Modbus地址 = 40000 + 100 + 1 = 40101

D寄存器分区说明

D寄存器范围 点数 说明
D0-D199 200点 通用型,可改为保持型
D200-D511 312点 保持型,可改为非保持
D512-D7999 7488点 保持型,D1000以后可设为文件寄存器

3.4 输入寄存器区 → 3xxxx

FX3U的3xxxx输入寄存器区域通常用于只读数据,映射相对固定。

  • 输入寄存器是只读
  • 通常映射到模拟量输入模块的数据寄存器
  • 具体地址取决于安装的模拟量模块型号和数量

四、用户自定义设备分配

FX3U的Modbus地址映射是可配置的,可以通过用户自定义设备分配功能,将不同的PLC设备映射到Modbus地址空间。

配置规则

  • 线圈(0xxxx)和保持寄存器(4xxxx)是可配置的
  • 离散输入(1xxxx)和输入寄存器(3xxxx)映射是固定的
  • 最多可以映射8个PLC设备区域到Modbus地址空间
  • 每一组配置信息需要占用2个寄存器

配置步骤

  1. 在GX Works2编程软件中打开PLC参数设置
  2. 找到「Modbus串行通信」设置项
  3. 配置要映射的设备类型和起始地址
  4. 设置映射的设备数量
  5. 下载参数到PLC

五、PLC从站配置步骤

5.1 安装通信适配器

  1. 安装FX3U-485ADP-MB通信适配器到PLC左侧
  2. 确认适配器型号支持Modbus RTU(带-MB后缀)
  3. 接线:A+接RS485的A线,B-接RS485的B线

5.2 设置通信参数

通过特殊数据寄存器D8120设置通信格式:

D8120设置值(H) 波特率 数据位 校验位 停止位
H0000 8位 无校验 1位
H0080 600bps 8位 无校验 1位
H0081 600bps 8位 奇校验 1位
H0082 600bps 8位 偶校验 1位
H00B0 19200bps 8位 无校验 1位
H00B1 19200bps 8位 奇校验 1位
H00B2 19200bps 8位 偶校验 1位

常用配置:9600bps,8数据位,偶校验,1停止位 → D8120 = H00A2

5.3 设置从站地址

通过特殊数据寄存器D8121设置Modbus从站地址:

  • D8121 = 从站地址(1-247)
  • 例如:D8121 = 1,表示从站地址为1

5.4 调用Modbus指令

使用专用的Modbus通信指令:

  • 主站模式:使用ADPU/REPU等专用指令
  • 从站模式:在参数中启用从站模式,PLC自动响应

六、PLC主站读取变频器示例

假设FX3U作为主站,读取三菱变频器的运行频率:

监控项目 变频器指令码 Modbus地址 说明
运行模式 H7B 40010 运行状态
输出频率(速度) H6F 40201 实际输出频率
输出电流 H70 40202 电机电流
输出电压 H71 40203 输出电压

通信步骤

  1. 设置主站通信参数(波特率、校验位等)
  2. 指定从站地址(变频器站号)
  3. 指定要读取的Modbus地址
  4. 读取数据到指定的D寄存器
  5. 数据处理后显示或控制

七、常见问题与排障指南

7.1 通讯无响应

  • 检查接线:RS485的A+和B-是否接反
  • 检查D8120设置:通信格式是否正确
  • 检查D8121设置:从站地址是否正确
  • 检查适配器型号:必须是带-MB后缀的Modbus专用适配器
  • 测量总线电压:A线应高于B线约200mV

7.2 读不到数据

  • 检查设备映射:确认要访问的设备是否在映射范围内
  • 检查地址偏移:注意1-based和0-based的区别
  • 检查八进制寻址:X/Y设备是八进制,不是十进制
  • 检查地址范围:是否超出了映射的设备数量

7.3 数据不对或乱码

  • 检查数据格式:16位整数还是32位浮点数
  • 检查字节序:大端还是小端,是否一致
  • 检查字序:32位数据的高低字顺序
  • 检查缩放比例:是否需要乘以倍率

7.4 偶发通讯失败

  • 检查屏蔽线:是否用了屏蔽双绞线
  • 检查总线长度:距离是否超出规格
  • 检查干扰:通讯线是否与动力线平行
  • 检查终端电阻:总线两端是否加了120Ω终端电阻

八、与西门子S7-200 SMART的区别

对比项 三菱FX3U 西门子S7-200 SMART
X/Y寻址方式 八进制 十进制
保持寄存器映射 默认从D0开始,可配置 通过HoldStart和MaxHold配置
通信适配器 需要外接FX3U-485ADP-MB 板载RS485
编程指令 ADPU/REPU专用指令 MBUS_CTRL/MBUS_MSG库指令
配置方式 PLC参数+特殊寄存器 调用库指令配置

九、总结

三菱FX3U系列PLC的Modbus地址映射规则:

  • 0xxxx线圈 → Y/M/S等位设备,可配置
  • 1xxxx离散输入 → X输入继电器,固定映射
  • 3xxxx输入寄存器 → 只读,模拟量输入
  • 4xxxx保持寄存器 → D数据寄存器,可配置

实际应用中,需要特别注意X/Y设备的八进制寻址方式,这是三菱PLC与西门子PLC最大的区别。建议先用Modbus Poll等调试软件测试,确认地址映射正确后再编写PLC程序。

十、相关链接

  • Modbus RTU通讯基础教程
  • 三菱FX3U Modbus通信配置实例
  • 三菱变频器Modbus控制指南
  • RS485总线接线规范
技术术语(共 8 个)—— 点击展开
Modbus RTU基于串行链路的Modbus协议,使用二进制编码和CRC校验
RS485工业常用的差分串行通信标准,支持多点通信
功能码Modbus功能码指定读/写操作类型,如01读线圈、03读保持寄存器
寄存器Modbus 寄存器存储数据单元,分线圈/离散输入/保持/输入寄存器四类
PLC可编程逻辑控制器,工业自动化控制的核心设备
波特率串行通信每秒传输符号数,Modbus RTU常用9600/19200
线圈Modbus位可读写数据,地址从00001开始
保持寄存器Modbus 16位可读写数据,地址从40001开始
来源/工具信息 —— 点击展开
来源 Modbus中文网(modbus.cn) —— 国内领先的Modbus通信协议技术社区 分类 其他技术资料 字数 3456 字 · 阅读约 9 分钟 更新 2026-09-20 永久链接 https://www.modbus.cn/53053.html
推荐工具:Modbus调试助手 微信小程序
Modbus中文网官方推出的Modbus调试工具,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、数据监控和报文分析。 无需安装,微信搜索「Modbus调试助手」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
📝 作者声明
本文由 Modbus中文网技术团队 原创撰写,内容基于实际项目案例与技术文档,力求为读者提供准确、实用的参考信息。
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

工程师会员

把这篇文章变成可执行的调试资料

开通后可使用高级报文解析、资料包下载、代码示例、工程案例和优先技术支持,适合真实项目交付。

高级工具不限次
资料包与代码包
完整工程案例库
优先技术支持入口

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注