以下是台达AS系列PLC(如AS300、AS200、AS100等中小型PLC)的Modbus地址对应软元件表,基于其硬件特性和Modbus通信协议(支持RTU和TCP)的映射规则,适用于与HMI、变频器、传感器等第三方设备的通信配置:

台达AS系列PLC Modbus地址详细映射表

功能码 地址范围(十进制) 功能描述 内部软元件(PLC) 地址映射公式 最大数量 数据类型/格式 协议支持 说明
0x01 00001-08192 读线圈状态(输出) Y0-Y8191(输出继电器) Modbus地址 = Y编号 + 1 8192点(1024字节) BOOL(1位) RTU/TCP 如Y0对应00001,Y100对应00101;AS300支持最大8192点,AS200基础支持512点
0x05 00001-08192 写单个线圈 Y0-Y8191(输出继电器) 同0x01 8192点 BOOL(1位) RTU/TCP 写入值0xFF00=ON,0x0000=OFF;支持立即输出(通过“立即刷新”指令)
0x0F 00001-08192 写多个线圈 Y0-Y8191(输出继电器) 同0x01 8192点 BOOL数组(按字节打包) RTU/TCP 单次最多写1968点(246字节),数据按“高位在前”存储(第1字节bit7对应起始地址+7)
0x02 10001-18192 读离散输入状态 X0-X8191(输入继电器) Modbus地址 = X编号 + 1 8192点 BOOL(1位) RTU/TCP 如X0对应10001,X200对应10201;高速输入(X0-X7)支持10kHz响应,需通过D1020等参数配置
0x03 40001-432767 读保持寄存器 D0-D32766(数据寄存器) Modbus地址 = D编号 + 1 32766字(16位) INT/UINT/DINT/REAL/BCD RTU/TCP 如D0对应40001,D500对应40501;支持32位/64位数据(连续地址),D32767为保留地址
0x06 40001-432767 写单个保持寄存器 D0-D32766(数据寄存器) 同0x03 32766字 INT/UINT/BCD(16位) RTU/TCP 32位数据需分两次写入(如D0+D1对应40001+40002,低地址存低16位)
0x10 40001-432767 写多个保持寄存器 D0-D32766(数据寄存器) 同0x03 32766字 同0x03(连续地址) RTU/TCP 单次最多写123字(246字节),支持广播写入(地址0),适用于批量参数配置
0x04 30001-30128 读输入寄存器(AI) AI0-AI127(模拟量输入) Modbus地址 = AI通道号 + 1 128字 INT(16位原始值) RTU/TCP 如AI0对应30001,AI5对应30006;原始值0-32767对应0-10V/4-20mA,只读不可写
0x06 420001-420064(扩展) 写输出寄存器(AO) AO0-AO63(模拟量输出) Modbus地址 = 200000 + AO通道号 + 1 64字 INT(16位原始值) RTU/TCP 如AO0对应420001,AO3对应420004;原始值0-32767对应0-10V/4-20mA,需通过功能码0x06写入
0x03 430001-438192(扩展) 读辅助继电器(间接) M0-M8191(辅助继电器) Modbus地址 = 300000 + M编号 + 1 8192点(需转换) 按字打包(16位/字) RTU/TCP M不直接映射,需程序将M0-M15写入D1000(如M0→D1000.0),主站读430001获取状态
0x03 440001-441024(扩展) 读定时器当前值 T0-T1023(定时器) Modbus地址 = 400000 + T编号 + 1 1023字 INT(16位,BCD码) RTU/TCP 如T10对应440011,定时器分辨率支持1ms-1s,当前值通过程序写入D2000+T编号
0x03 450001-451024(扩展) 读计数器当前值 C0-C1023(计数器) Modbus地址 = 500000 + C编号 + 1 1023字 INT(16位,BCD码) RTU/TCP 高速计数器(C200-C255)值存储于专用D寄存器(如C200→D3200),主站读450201获取值

关键技术特性说明

1. 机型与软元件范围差异

  • AS100(微型):支持X0-X63、Y0-Y63、D0-D511、M0-M511、T0-T63、C0-C63,AI/AO各最多4通道。
  • AS200(小型):扩展后支持X0-X255、Y0-Y255、D0-D4095、M0-M2047、T0-T255、C0-C255,AI/AO各最多16通道。
  • AS300(中型):最大支持X0-X8191、Y0-Y8191、D0-D32766、M0-M8191、T0-T1023、C0-C1023,AI/AO各最多128通道。
  • 软元件扩展通过台达扩展模块(如DVP04AD-H2)或总线(EtherNet/IP)实现,地址在ISPSoft软件中分配。

2. 地址映射核心规则

  • 位元件(X/Y/M):Modbus地址 = 软元件编号 + 1(Modbus地址从1起始,软元件从0起始)。
    例:Y50 → 00051(50+1),X100 → 10101(100+1)。
  • 字元件(D/AI/AO)
    • 保持寄存器(D):Modbus地址 = D编号 + 1(如D100→40101)。
    • 输入寄存器(AI):Modbus地址 = AI通道号 + 1(如AI2→30003)。
    • 输出寄存器(AO):Modbus地址 = 200000 + AO通道号 + 1(如AO1→420002)。

3. 数据类型存储规范

  • 16位数据:INT/UINT/BCD直接对应1个Modbus字地址(如40001=D0)。
  • 32位数据
    • DINT(32位整数):D0(低16位)+ D1(高16位)→ 对应40001+40002。
    • REAL(浮点数):存储格式同DINT,主站需按IEEE754标准解析(如D0=0x41F00000→30.0)。
  • 64位数据:占用连续4个D寄存器(如D0-D3对应40001-40004),适用于LREAL类型。

4. 通信协议与配置

协议类型 硬件支持 关键配置参数 说明
Modbus RTU 集成RS485端口或DVPEN01模块 波特率(9600bps默认)、偶校验、1停止位 支持1主多从(≤32从站),距离≤1200m
Modbus TCP 以太网模块(如DVPET01) IP地址、端口502(默认)、子网掩码 支持多客户端(最多8个),通过ISPSoft配置

5. 扩展映射实现方法

  • 辅助继电器M:通过“BMOV”指令将M0-M15的16位状态打包到D1000(1个字),主站读取430001(对应D1000)即可获取M0-M15的状态(bit0-bit15)。
  • 定时器T:在PLC程序中用“MOV”指令将T10的当前值(BCD码,单位10ms)写入D2010,主站读取440011(对应D2010)获取值(如123→0x0123)。
  • 高速计数器C:高速计数器C200的当前值自动存储于D3200(16位整数),主站读取450201(对应D3200)即可获取计数结果(最大65535)。

6. 常见问题解决方案

  • 地址偏移兼容:第三方主站若采用“0基地址”(如40001识别为40000),需在PLC程序中设置地址偏移(如将D0映射为40000)。
  • 32位数据解析错误:主站读取32位数据时需指定“读取长度=2字”(如读40001时长度=2),并按“低地址存低字节”拼接。
  • RTU通信不稳定:检查RS485总线终端电阻(120Ω)是否接入(距离>50m必需),避免总线上设备数超过32个。
  • TCP连接失败:确认PLC与主站IP地址在同一网段(如PLC:192.168.1.100,主站:192.168.1.200),关闭防火墙或开放端口502。

应用示例

  • 读取流量传感器数据(4-20mA)
    AI3连接流量传感器 → Modbus地址30004 → 功能码0x04,读取长度1字 → 原始值32767对应20mA(50m³/h),主站转换为0-50m³/h工程值。

  • 控制电机启停与速度设定
    主站用0x05写入00001(Y0)→ 电机启动(Y0=ON);用0x10写入40100-40101 → 设定速度(D99-D100,32位REAL类型,单位r/min);用0x02读取10002(X1)→ 确认运行反馈。

此表适用于台达AS系列PLC的Modbus通信配置,实际应用需结合ISPSoft软件的硬件组态和用户程序,确保地址映射、数据格式与第三方设备完全匹配。