以下是详细的三菱Q系列PLC Modbus地址对应软元件表,扩展软元件映射、数据类型细节、操作限制及特殊说明,适用于QJ71MB91/MB92等通信模块:

三菱Q系列PLC Modbus地址详细映射表

功能码 地址范围(十进制) 功能描述 内部软元件(PLC) 地址映射公式 最大数量 数据类型/格式 协议支持 操作限制 详细说明
0x01 00001-08192 读线圈状态(输出) Y0-Y8191(输出继电器) Modbus地址 = Y编号 + 1 8192点(1024字节) BOOL(1位) RTU/ASCII 单次最多读2000点 对应PLC输出点Y,实时反映输出状态;Q06H及以上机型支持满量程,Q03U最多支持4096点
0x05 00001-08192 写单个线圈 Y0-Y8191(输出继电器) Modbus地址 = Y编号 + 1 8192点 BOOL(1位) RTU/ASCII 支持广播写入(地址0) 强制Y点ON/OFF,写入值为0xFF00(ON)或0x0000(OFF);写入后立即刷新输出缓存
0x0F 00001-08192 写多个线圈 Y0-Y8191(输出继电器) Modbus地址 = Y编号 + 1 8192点 BOOL数组(按字节打包) RTU/ASCII 单次最多写1968点(246字节) 批量控制Y点,数据按“高位在前”存储(如第1字节bit7对应起始地址+7,bit0对应起始地址)
0x02 10001-18192 读离散输入 X0-X8191(输入继电器) Modbus地址 = X编号 + 1 8192点 BOOL(1位) RTU/ASCII 单次最多读2000点 对应PLC物理输入点X,反映实时输入状态;需注意输入滤波时间(默认10ms)对通信响应的影响
0x03 40001-432767 读保持寄存器 D0-D32766(数据寄存器) Modbus地址 = D编号 + 1 32766字(16位) INT/UINT/DINT/REAL/BCD RTU/ASCII 单次最多读125字(250字节) 映射到通用数据寄存器D,支持32位/64位数据拆分(需连续地址);D32767为保留地址,不可访问
0x06 40001-432767 写单个保持寄存器 D0-D32766(数据寄存器) Modbus地址 = D编号 + 1 32766字 INT/UINT/BCD(16位) RTU/ASCII 支持广播写入(地址0) 写入16位数据到D寄存器,32位REAL需分两次写入(如D0存低16位,D1存高16位,符合IEEE754标准)
0x10 40001-432767 写多个保持寄存器 D0-D32766(数据寄存器) Modbus地址 = D编号 + 1 32766字 同0x03(连续地址) RTU/ASCII 单次最多写123字(246字节) 批量写入D寄存器,适用于参数配置;写入前需确保目标地址未被PLC程序占用(避免数据冲突)
0x04 30001-31024 读输入寄存器 W0-W1023(特殊寄存器) Modbus地址 = W编号 + 1 1024字 INT(16位,模拟量原始值) RTU/ASCII 单次最多读125字 映射到模拟量输入缓冲区W(如Q64AD模块的转换结果存储于W0-W7);W寄存器为只读,不可通过Modbus写入
0x03 450001-458192(扩展) 读辅助继电器(间接) M0-M8191(辅助继电器) Modbus地址 = 50000 + M编号 + 1 8192点(需转换) 按字打包(16位/字) RTU/ASCII 需通过程序将M状态写入D寄存器 M继电器不直接映射,需在PLC程序中用MOV指令将M0-M15状态写入D100(如M0→D100.0,M15→D100.15)
0x03 460001-461000(扩展) 读定时器当前值 T0-T999(定时器) Modbus地址 = 60000 + T编号 + 1 1000字 INT(16位,BCD码) RTU/ASCII 仅支持T0-T999(100ms定时器) 读取定时器当前值(如T10对应460011),需注意定时器分辨率(10ms/100ms/1s)对数值的影响
0x03 470001-471000(扩展) 读计数器当前值 C0-C999(计数器) Modbus地址 = 70000 + C编号 + 1 1000字 INT(16位,BCD码) RTU/ASCII 仅支持C0-C999(普通计数器) 读取计数器当前值(如C20对应470021),高速计数器(C235-C255)需通过D寄存器间接访问

关键技术细节

1. 地址映射特殊规则

  • 偏移量修正:部分第三方主站采用“0基地址”(如40001识别为40000),需在QJ71MB91模块参数中设置“地址偏移=1”(参数No.14设为1)。
  • 扩展地址启用:辅助继电器M、定时器T、计数器C的扩展映射需在模块参数中开启“扩展寄存器访问”(参数No.15设为1),否则默认关闭。

2. 数据类型存储格式

  • 32位数据
    • DINT(32位整数):D0(低16位)+ D1(高16位)→ 对应Modbus地址40001+40002
    • REAL(浮点数):存储方式同DINT,需主站按IEEE754标准解析(如D0=0x41C80000→32.5)
  • BCD码:适用于定时器/计数器,如数值123对应BCD码0x0123(存储于1个字地址)。

3. 模块参数配置要点

参数编号 参数名称 推荐设置 说明
No.0 从站地址 1-247(默认1) 需与主站配置一致
No.1 波特率 9600/19200bps 高于19200bps需缩短通信距离(<50m)
No.2 数据格式 8位数据+1位停止位+偶校验 主流配置,兼容多数设备
No.14 地址偏移量 1(默认0) 解决主站“0基地址”兼容问题
No.15 扩展寄存器使能 1(默认0) 启用M/T/C的扩展地址访问
No.20 通信超时时间 1000ms(默认500ms) 避免因干扰导致通信中断

4. 常见问题解决

  • 地址访问错误:检查目标软元件是否在映射范围内(如D32767为保留地址),或模块参数中是否限制了访问范围(参数No.16-19可设置D/X/Y的访问上限)。
  • 数据长度不匹配:读取32位数据时,主站需指定“读取长度=2字”(如读40001需读取2字才能获取完整REAL值)。
  • 通信不稳定:确认终端电阻(120Ω)是否接入(长距离通信必需),避免RS485总线存在分支或节点过多(≤32个)。

应用示例

  • 读取模拟量输入
    Q64AD模块的CH1输入值存储于W1 → Modbus地址30002 → 功能码0x04,读取长度1字 → 主站接收原始值(0-4000对应0-10V)。

  • 控制输出并反馈状态
    主站用0x05写入00011(Y10)→ 输出Y10=ON;用0x01读取00011 → 确认Y10状态是否正确。

此表覆盖了三菱Q系列PLC与Modbus设备通信的核心映射关系,实际配置需结合具体机型(如Q03UDVCPU支持更多软元件)和GX Works2的模块参数设置,确保地址、数据格式与主站完全匹配。