以下是三菱FX5系列PLC(如FX5U、FX5UC等)的Modbus地址对应软元件表,基于其硬件特性和专用Modbus通信模块(如FX5-ENET/IP、FX5-CF-ADP等)的映射规则,支持Modbus RTU和Modbus TCP协议:
三菱FX5系列PLC Modbus地址详细映射表
功能码 | 地址范围(十进制) | 功能描述 | 内部软元件(PLC) | 地址映射公式 | 最大数量 | 数据类型/格式 | 协议支持 | 操作限制 | 详细说明 |
---|---|---|---|---|---|---|---|---|---|
0x01 | 00001-016384 | 读线圈状态(输出) | Y0-Y16383(输出继电器) | Modbus地址 = Y编号 + 1 | 16384点(2048字节) | BOOL(1位) | RTU/TCP | 单次最多读2000点 | 对应输出继电器Y,FX5U支持Y0-Y32767(扩展后),FX5UC基础机型支持Y0-Y1023;实时反映输出状态 |
0x05 | 00001-016384 | 写单个线圈 | Y0-Y16383(输出继电器) | Modbus地址 = Y编号 + 1 | 16384点 | BOOL(1位) | RTU/TCP | 支持广播写入(地址0) | 写入值为0xFF00(ON)或0x0000(OFF),FX5系列支持“立即输出”,响应时间≤5ms |
0x0F | 00001-016384 | 写多个线圈 | Y0-Y16383(输出继电器) | Modbus地址 = Y编号 + 1 | 16384点 | BOOL数组(按字节打包) | RTU/TCP | 单次最多写1968点(246字节) | 数据按“高位在前”存储(如第1字节bit7对应起始地址+7),适用于批量控制输出(如电磁阀组) |
0x02 | 10001-116384 | 读离散输入 | X0-X16383(输入继电器) | Modbus地址 = X编号 + 1 | 16384点 | BOOL(1位) | RTU/TCP | 单次最多读2000点 | 对应物理输入点X,默认滤波时间5ms,高速输入(X0-X7)支持100kHz响应(需通过参数设置) |
0x03 | 40001-432767 | 读保持寄存器 | D0-D32766(数据寄存器) | Modbus地址 = D编号 + 1 | 32766字(16位) | INT/UINT/DINT/REAL/BCD | RTU/TCP | 单次最多读125字(250字节) | 通用数据寄存器D,FX5U支持D0-D65535(扩展后),32位数据需连续地址(如D0+D1);D32767为保留地址 |
0x06 | 40001-432767 | 写单个保持寄存器 | D0-D32766(数据寄存器) | Modbus地址 = D编号 + 1 | 32766字 | INT/UINT/BCD(16位) | RTU/TCP | 支持广播写入(地址0) | 16位数据直接写入,32位REAL需分两次(D0存低16位,D1存高16位),符合IEEE754标准 |
0x10 | 40001-432767 | 写多个保持寄存器 | D0-D32766(数据寄存器) | Modbus地址 = D编号 + 1 | 32766字 | 同0x03(连续地址) | RTU/TCP | 单次最多写123字(246字节) | 批量写入适用于参数配置,FX5系列支持“缓冲写入”(先存缓冲区再刷新),避免数据冲突 |
0x04 | 30001-30512 | 读输入寄存器 | W0-W511(模拟量缓冲区) | Modbus地址 = W编号 + 1 | 512字 | INT(16位,模拟量原始值) | RTU/TCP | 单次最多读125字 | 映射到模拟量输入模块(如FX5-4AD)的转换结果,W寄存器只读,原始值0-4000对应0-10V/4-20mA |
0x03 | 450001-458192(扩展) | 读辅助继电器(间接) | M0-M8191(辅助继电器) | Modbus地址 = 500000 + M编号 + 1 | 8192点(需转换) | 按字打包(16位/字) | RTU/TCP | 需程序将M状态写入D寄存器 | M继电器不直接映射,建议用MOV指令将M0-M15写入D5000(如M0→D5000.0,M15→D5000.15) |
0x03 | 460001-461024(扩展) | 读定时器当前值 | T0-T1023(定时器) | Modbus地址 = 600000 + T编号 + 1 | 1024字 | INT(16位,BCD码) | RTU/TCP | 支持T0-T1023(1ms-100ms) | 读取当前值(如T20对应460021),定时器触点状态需通过M间接映射(如T20→M200) |
0x03 | 470001-471024(扩展) | 读计数器当前值 | C0-C1023(计数器) | Modbus地址 = 700000 + C编号 + 1 | 1024字 | INT(16位,BCD码) | RTU/TCP | 支持C0-C1023(普通/高速) | 高速计数器(C235-C255)值存储于专用D寄存器(如C250→D8250),需映射到通用D后访问 |
关键技术特性说明
1. 机型与软元件范围差异
- FX5U(标准型):支持X0-X32767、Y0-Y32767、D0-D65535、M0-M32767
- FX5UC(紧凑型):基础支持X0-X1023、Y0-Y1023、D0-D8191、M0-M8191
- 扩展需通过FX5扩展模块(如FX5-ENET/IP)或CC-Link IE Field总线,软元件地址在GX Works3中分配。
2. 地址映射特殊规则
- 偏移量修正:第三方主站若采用“0基地址”(如40001识别为40000),需在通信模块参数中设置“地址偏移=1”(参数No.15设为1)。
- Modbus TCP地址格式:TCP协议中地址省略前导码(如40001直接写为1),通过端口502通信。
3. 数据存储规范
- 32位/64位数据:
- DINT(32位):D0(低16位)+ D1(高16位)→ 对应Modbus地址40001+40002
- LREAL(64位):D0-D3 → 对应40001-40004,主站需按IEEE754双精度解析
- 字符串存储:1个字符占1字节,存储于连续D寄存器(如字符串"ABC"→D100=0x4142,D101=0x4300)。
4. 通信模块配置(以FX5-ENET/IP为例)
参数编号 | 参数名称 | 推荐配置 | 说明 |
---|---|---|---|
No.0 | 从站地址(RTU) | 1-247(默认1) | 仅RTU模式有效,TCP模式通过IP地址区分 |
No.1 | 波特率(RTU) | 19200bps | 支持1200-115200bps,TCP默认100Mbps |
No.2 | 数据格式 | 8N1(8数据位+无校验+1停止位) | 兼容多数设备,高干扰环境用偶校验 |
No.10 | TCP端口号 | 502(默认) | Modbus TCP标准端口,需与主站一致 |
No.15 | 地址偏移量 | 1(默认0) | 解决“0基地址”主站兼容问题 |
No.20 | 超时时间 | 2000ms(默认1000ms) | 适用于复杂网络环境,避免误判中断 |
5. 常见问题解决方案
- 软元件访问失败:FX5系列对D寄存器分区(如D10000以上为文件寄存器),需确认目标地址是否在“可访问区”(参数No.30-33设置)。
- TCP通信超时:检查IP地址/子网掩码是否与主站同网段,关闭防火墙或开放端口502。
- 高速输入不响应:需在GX Works3中配置X0-X7为“高速模式”(参数No.500设为1),否则按普通输入处理。
应用示例
-
读取温度传感器数据(4-20mA):
FX5-4AD模块CH3连接温度传感器(对应W3)→ Modbus地址30004 → 功能码0x04,读取长度1字 → 原始值4000对应20mA(100℃),主站转换为0-100℃工程值。 -
通过TCP控制生产线启停:
主站用0x05写入00010(Y9)→ 生产线启动(Y9=ON);用0x02读取10005(X4)→ 确认启动反馈信号;用0x10写入40050-40051 → 设定运行参数(D49-D50)。
此表适用于FX5系列PLC与HMI、SCADA、变频器等设备的Modbus通信配置,实际应用需结合GX Works3的模块参数设置和软元件分配,确保地址映射与数据格式匹配。
李枭龙8 个月前
AI生成文章:请以上所有知识进行深入分析,确定主要知识点,为每个知识点撰写详细说明并附上具有代表性且带有清晰注释的代码示例,接着根据内容拟定一个准确反映文档核心的标题,最后严格按照 Markdown 格式进行排版,确保文档规范美观,以满足初学者学习使用的需求。
李枭龙1 年前
X Lucas