以下是三菱L系列PLC的Modbus地址对应软元件表,涵盖功能码、地址范围、内部软元件映射、操作特性及详细说明,适用于AJ65MBTL3N等Modbus通信模块(支持RTU/ASCII协议):
三菱L系列PLC Modbus地址详细映射表
功能码 | 地址范围(十进制) | 功能描述 | 内部软元件(PLC) | 地址映射公式 | 最大数量 | 数据类型/格式 | 协议支持 | 操作限制 | 详细说明 |
---|---|---|---|---|---|---|---|---|---|
0x01 | 00001-04096 | 读线圈状态(输出) | Y0-Y4095(输出继电器) | Modbus地址 = Y编号 + 1 | 4096点(512字节) | BOOL(1位) | RTU/ASCII | 单次最多读2000点 | 对应输出继电器Y,L系列基础机型支持2048点,扩展后最大4096点;实时反映输出状态 |
0x05 | 00001-04096 | 写单个线圈 | Y0-Y4095(输出继电器) | Modbus地址 = Y编号 + 1 | 4096点 | BOOL(1位) | RTU/ASCII | 支持广播写入(地址0) | 写入值为0xFF00(ON)或0x0000(OFF),写入后通过"立即输出"指令刷新(L系列默认支持实时刷新) |
0x0F | 00001-04096 | 写多个线圈 | Y0-Y4095(输出继电器) | Modbus地址 = Y编号 + 1 | 4096点 | BOOL数组(按字节打包) | RTU/ASCII | 单次最多写1968点(246字节) | 数据存储格式为"高位在前"(如第1字节bit7对应起始地址+7),适用于批量控制输出点 |
0x02 | 10001-14096 | 读离散输入 | X0-X4095(输入继电器) | Modbus地址 = X编号 + 1 | 4096点 | BOOL(1位) | RTU/ASCII | 单次最多读2000点 | 对应物理输入点X,输入滤波时间可通过参数设置(默认5ms),高速输入(如X000-X003)支持10kHz响应 |
0x03 | 40001-416384 | 读保持寄存器 | D0-D16383(数据寄存器) | Modbus地址 = D编号 + 1 | 16383字(16位) | INT/UINT/DINT/REAL/BCD | RTU/ASCII | 单次最多读125字(250字节) | 通用数据寄存器D,支持32位/64位数据(需连续地址);D16383为保留地址,不可访问 |
0x06 | 40001-416384 | 写单个保持寄存器 | D0-D16383(数据寄存器) | Modbus地址 = D编号 + 1 | 16383字 | INT/UINT/BCD(16位) | RTU/ASCII | 支持广播写入(地址0) | 16位数据直接写入,32位REAL需分两次(D0存低16位,D1存高16位),符合IEEE754标准 |
0x10 | 40001-416384 | 写多个保持寄存器 | D0-D16383(数据寄存器) | Modbus地址 = D编号 + 1 | 16383字 | 同0x03(连续地址) | RTU/ASCII | 单次最多写123字(246字节) | 批量写入适用于参数配置,需避免与PLC程序对同一D寄存器的并发写入(建议通过标志位互斥) |
0x04 | 30001-30512 | 读输入寄存器 | W0-W511(模拟量缓冲区) | Modbus地址 = W编号 + 1 | 512字 | INT(16位,模拟量原始值) | RTU/ASCII | 单次最多读125字 | 映射到模拟量输入模块(如AJ65SBTB1-32D)的转换结果,W寄存器为只读,不可通过Modbus写入 |
0x03 | 420001-428192(扩展) | 读辅助继电器(间接) | M0-M8191(辅助继电器) | Modbus地址 = 200000 + M编号 + 1 | 8192点(需转换) | 按字打包(16位/字) | RTU/ASCII | 需程序将M状态写入D寄存器 | M继电器不直接映射,需通过MOV指令将M0-M15状态写入D2000(如M0→D2000.0,M15→D2000.15) |
0x03 | 430001-430512(扩展) | 读定时器当前值 | T0-T511(定时器) | Modbus地址 = 300000 + T编号 + 1 | 512字 | INT(16位,BCD码) | RTU/ASCII | 支持T0-T511(10ms/100ms/1s) | 读取当前值(如T10对应430011),定时器触点状态需通过M间接映射 |
0x03 | 440001-440512(扩展) | 读计数器当前值 | C0-C511(计数器) | Modbus地址 = 400000 + C编号 + 1 | 512字 | INT(16位,BCD码) | RTU/ASCII | 支持C0-C511(普通计数器) | 高速计数器(C235-C255)需通过专用D寄存器(如D8035)间接访问 |
关键技术特性说明
1. 软元件范围与机型差异
- 基础机型(如L02CPU):支持X0-X127、Y0-Y127、D0-D1999
- 中高端机型(如L26CPU):最大支持X0-X4095、Y0-Y4095、D0-D16383
- 扩展模块需通过总线连接(如CC-Link IE Field),软元件地址需在编程软件中分配。
2. 地址映射特殊规则
- 偏移量修正:第三方主站若采用“0基地址”(如40001识别为40000),需在AJ65MBTL3N模块参数中设置“地址偏移=1”(参数No.12设为1)。
- 扩展地址启用:M/T/C的扩展映射需在模块参数中开启“扩展寄存器访问”(参数No.13设为1),默认关闭以提高安全性。
3. 数据类型存储规范
- 32位数据存储:
- DINT:D0(低16位)+ D1(高16位)→ 对应Modbus地址40001+40002
- REAL:存储格式同DINT,主站需按IEEE754解析(如D0=0x41F00000→30.0)
- BCD码转换:定时器/计数器当前值以BCD码存储(如数值255→0x0255),主站需转换为十进制显示。
4. 通信模块参数配置(AJ65MBTL3N)
参数编号 | 参数名称 | 推荐配置 | 说明 |
---|---|---|---|
No.0 | 从站地址 | 1-247(默认1) | 需与主站地址匹配 |
No.1 | 波特率 | 9600bps(默认)/19200bps | 高于19200bps时通信距离建议≤50m |
No.2 | 数据格式 | 8N1(8数据位+无校验+1停止位) | 兼容多数设备,高干扰环境建议用偶校验 |
No.10 | 响应超时时间 | 500ms(默认) | 超过此时间未收到主站请求则断开连接 |
No.12 | 地址偏移量 | 1(默认0) | 解决“0基地址”主站的兼容问题 |
No.15 | 通信错误重试次数 | 3(默认1) | 提高通信稳定性,重试后仍失败则报警 |
5. 常见问题与解决方案
- 软元件访问失败:检查目标软元件是否在模块允许访问的范围内(可通过参数No.20-23限制X/Y/D的访问上限)。
- 32位数据读取异常:主站需指定“读取长度=2字”(如读取40001时需读取2字才能获取完整的32位数据)。
- 通信中断频繁:确认RS485总线终端电阻(120Ω)是否接入(距离>50m必需),总线上设备数不超过32个。
应用示例
-
读取模拟量输入(4-20mA):
AJ65SBTB1-32D模块CH2的输入值存储于W2 → Modbus地址30003 → 功能码0x04,读取长度1字 → 原始值4000对应20mA,可通过主站转换为工程值(如0-100.0)。 -
控制电机启停并反馈:
主站用0x05写入00001(Y0)→ 电机启动(Y0=ON);用0x01读取00001 → 确认启动状态;用0x05写入00001(0x0000)→ 电机停止。
此表适用于L系列PLC与第三方设备(如HMI、变频器、传感器)的Modbus通信配置,实际应用需结合GX Works3编程软件的模块参数设置和软元件分配,确保地址与数据格式匹配。
李枭龙8 个月前
AI生成文章:请以上所有知识进行深入分析,确定主要知识点,为每个知识点撰写详细说明并附上具有代表性且带有清晰注释的代码示例,接着根据内容拟定一个准确反映文档核心的标题,最后严格按照 Markdown 格式进行排版,确保文档规范美观,以满足初学者学习使用的需求。
李枭龙1 年前
X Lucas