问题描述
您正在学习 PLC 通信,需要通过台达 EX200T PLC 分别控制两台三菱 FR-E740 变频器的运行频率。但是,当您触发 PLC 中的 MODRW 指令时,两台变频器的运行频率同时被修改。您怀疑 PLC 指定的从设备地址无效。解决方案
要解决此问题,需要了解台达 EX200T PLC 和三菱 FR-E740 变频器的通信协议。通信协议
台达 EX200T PLC:使用 Modbus RTU 协议 三菱 FR-E740 变频器:使用 Modbus TCP 协议 由于这两个设备使用不同的协议,因此需要使用网关或软件来实现通信。网关或软件
您需要使用网关或软件将 Modbus RTU 协议转换为 Modbus TCP 协议。常用的网关包括: 台达 DA-6620:支持 Modbus RTU 转 Modbus TCP 三菱 FR-Configurator2:支持 Modbus TCP 协议配置网关或软件
在配置网关或软件时,需要以下信息: 从设备地址:每台变频器的从设备地址 寄存器地址:控制变频器运行频率的寄存器地址 对于 Mitsubishi FR-E740 变频器,控制运行频率的寄存器地址为 40001。PLC 编程
在 PLC 中,使用 MODRW 指令发送数据到变频器。指令格式如下: MODRW(&[DATA_PTR], {DATA_NO}, &[TYPE], &[DEVICE], &[DEST], &[SOURCE], &[RECV_ADDR], &[SIZE]) 其中: DATA_PTR:指向数据区的指针 DATA_NO:数据个数 TYPE:数据类型(例如:INT、REAL) DEVICE:从设备地址 DEST:目标地址(变频器中的寄存器地址) SOURCE:源地址(PLC 中的数据区地址) RECV_ADDR:接收地址(保留,请设置为 0) SIZE:数据大小(以字为单位)示例代码
以下是通过 MODRW 指令控制两台变频器运行频率的示例代码: // 定义数据区 DATA_FREQ1 DB 10 // 第一台变频器频率 DATA_FREQ2 DB 12 // 第二台变频器频率 // 定义从设备地址 DEVICE_INV1 EQU 10 // 第一台变频器 DEVICE_INV2 EQU 11 // 第二台变频器 // 主程序 MAIN_PROGRAM // 将运行频率写入到数据区 L 100 ST DATA_FREQ1 L 200 ST DATA_FREQ2 // 发送数据到第一台变频器 L DATA_FREQ1 L 1 L @INT L DEVICE_INV1 L 40001 L 0 L 1 MODRW // 发送数据到第二台变频器 L DATA_FREQ2 L 1 L @INT L DEVICE_INV2 L 40001 L 0 L 1 MODRW END_PROGRAM注意事项
确保网关或软件已正确配置。 检查变频器的通信设置是否正确。 在 PLC 中,将数据大小设置为 1,表示传输一个字(2 个字节)。 从设备地址必须与变频器的从设备地址相匹配。 目标地址必须与控制变频器运行频率的寄存器地址相匹配。总结
通过使用网关或软件将 Modbus RTU 协议转换为 Modbus TCP 协议,您可以使用台达 EX200T PLC 分别控制两台三菱 FR-E740 变频器的运行频率。仔细配置网关或软件以及 PLC 代码,即可解决指定从设备地址无效的问题。本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!
添加新评论