本文面向有PLC基础的读者系统讲解三菱FX5U如何通过Modbus RTU/TCP与变频器、仪表等设备通讯。配完整案例从硬件接线到手把手代码适合收藏备用。一、为什么Modbus是工控通讯的普通话工业现场设备之间需要说话。PLC要和变频器通讯要和温控器通讯要和电力仪表通讯——每家的设备都有自己的协议互不兼容。Modbus是工业通讯的事实标准。它的优势在于简单帧结构只有几种容易实现通用西门子/三菱/ABB/施耐德……几乎所有工控设备都支持开放不需要授权费免费使用学会Modbus你就拥有了和80%以上工业设备对话的能力。二、Modbus通讯基础概念2.1 两种常用形式类型传输介质特点适用场景Modbus RTURS485串口二进制传输抗干扰强短距离、一对一Modbus TCP以太网速度快可多设备长距离、一对多2.2 核心术语从站地址Slave ID每个设备的门牌号范围1-247功能码告诉设备要干什么0x03读保持寄存器0x06写单个寄存器0x10写多个寄存器寄存器地址设备内部存储器的门牌号4xxxx保持寄存器可读写3xxxx输入寄存器只读波特率RS485通讯速率常用9600/19200/1152002.3 数据格式Modbus RTU帧结构code复制[从站地址(1B)][功能码(1B)][数据(N字节)][CRC校验(2B)]例如读取1号变频器从0000开始的2个保持寄存器code复制01 03 00 00 00 02 C4 0B三、硬件准备与接线3.1 所需设备三菱FX5U-32MT/ES自带RS485接口变频器汇川MD580 / 三菱E800 / 台达VFD-M均可RS485通讯线或自制两芯屏蔽线GX Works3编程软件3.2 FX5U RS485接口定义FX5U的RS485接口在CN3端子台上端子定义说明SDARS485A数据A正SDBRS485B-数据B负RDARS485A接收接收正RDBRS485B-接收接收负SDARS485A发送发送正SDBRS485B-发送发送负SG信号地屏蔽接地注意FX5U的RDA/RDB和SDA/SDB内部已短接只需接SDA/SDB。3.3 接线图FX5U ↔ 变频器code复制FX5U CN3端子 变频器通讯端子 ┌──────────────┐ ┌──────────────┐ │ SDA ────────│───────│─── RDA/A │ │ SDB ────────│───────│─── RDB/B- │ │ SG ────────│───────│─── SG │ └──────────────┘ └──────────────┘关键点A接AB-接B-极性不能反屏蔽线单端接地变频器端通讯距离超过20米时建议加终端电阻120Ω四、GX Works3通讯参数配置4.1 新建工程打开GX Works3 → 新建工程选择CPU类型FX5U工程类型简单工程语言梯形图4.2 模块配置展开左侧导航树 → 点击参数 →FX5UCPU→模块参数→485串口设置如下参数项设置值说明协议Modbus RTU选择Modbus通讯协议通讯速率19200与变频器保持一致数据长度8位标准Modbus设置奇偶校验偶校验常用设置停止位1位标准设置Header无无起始符Terminator无无终止符点击应用保存配置。4.3 变频器侧参数设置以汇川MD580为例设置以下通讯参数参数设定值说明P00.012频率指令来源通讯给定P00.022运行指令来源通讯给定P14.001通讯地址1P14.0119200波特率19200P14.023-0-18N28数据位/无校验/2停止位注意变频器波特率/数据位必须与PLC完全一致。五、Modbus通讯程序开发5.1 通讯指令GX Works3提供的Modbus RTU专用指令指令功能适用场景ADPRW单字读写读写单个寄存器ADPRW 批量模式多字读写批量数据交换5.2 ADPRW指令详解code复制ADPRW(Un) Sm Cn Dn Rd n D参数说明参数说明范围Un模块编号K1CH1/ K2CH2Sm从站地址K1~K247Cn功能码H0003(读)/H0006(写单)/H0010(写多)Dn寄存器地址H0000~HFFFFRd读写字节数K1~K32n数据存储地址D/SD/R/ZRD执行标志位软元件5.3 案例读取变频器运行频率目标读取1号变频器H2000运行频率寄存器的值存入D100梯形图程序code复制M0 ADPRW K1 K1 H0003 H2000 K1 D100 M10 --| |-------------------------------------------------------------(P)---通讯帧解析code复制发送01 03 20 00 00 01 85 DD 读取1号从站H20001个字 接收01 03 02 12 34 XX XX 返回频率值0x12344660对应46.60Hz5.4 案例写入变频器频率设定值目标向1号变频器H1000频率设定写入频率50.00Hz计算500050.00Hz × 100 → 十六进制0x1388梯形图程序code复制M1 ADPRW K1 K1 H0006 H1000 K1 K5000 M20 --| |-----------------------------------------------------------(P)---通讯帧解析code复制发送01 06 10 00 13 88 9A 5F 向1号从站H1000写入0x1388 接收01 06 10 00 13 88 9A 5F 回传确认写入成功5.5 批量读取多寄存器读取1号变频器多个状态寄存器H2100~H2102共3个字code复制M2 ADPRW K1 K1 H0003 H2100 K3 D110 M30 --| |-------------------------------------------------------------(P)---返回值存入D110运行频率H2100D111输出电流H2101D112输出电压H2102六、通讯状态监控与调试6.1 通讯完成标志位ADPRW指令执行完成时成功M10ON且无错误代码失败M10OFFD10存储错误代码常见错误代码代码含义排查方向K1从站无响应检查接线/地址/波特率K2CRC校验错误波特率/数据位不一致K3接收超时通讯线断开/设备掉电K9帧格式错误检查参数配置6.2 调试技巧方法一在线监控GX Works3 → 在线 → 监视 → 软元件批量监视 监控D100/D110等寄存器实时值以及M10/M20完成标志位状态。方法二变频器参数确认进入变频器参数模式确认通讯地址是否设为1波特率是否为19200P00.01/P00.02是否设为通讯给定方法三万用表测量用万用表测量RS485 A/B-之间电压正常值2V~5V DC有信号时0V接线断开或极性反接七、实操完整案例PLC控制变频器调速7.1 控制要求X0按下变频器启动正转X1按下变频器停止X2按下频率加1Hz最高50HzX3按下频率减1Hz最低5HzY0运行指示灯7.2 变频器寄存器映射功能寄存器地址说明运行指令H1000H0001正转H0002反转H0000停止频率设定H1001设定频率×100如50.00Hz5000运行状态H2100当前运行频率×100输出电流H2101当前输出电流×10A7.3 完整梯形图code复制// 初始化 [FEND] // 主程序 LD M8000 // 常ON CALL P0 // 调用Modbus通讯子程序 // 启停控制 P0: LD X0 // 启动按钮 OR M100 // 保持标志 ANI X1 // 停止按钮 OUT M100 // 启动标志输出 OUT Y0 // 运行指示灯 // 启动指令写入H1000正转 LD M100 AND MOV(P) K1 K1 H0006 H1000 K1 M200 // ADPRW K1 K1 H0006 H1000 K1 K1 M200 // 频率调节 // 频率增加 LD X2 // 加频按钮 ANI SM402 // 上升沿触发 AND CMP(K5000) D100 SM412 LD X2 ANI SM402 AND D100 K5000 // 不超过50Hz PLS M101 // 加频脉冲 // 频率减少 LD X3 // 减频按钮 ANI SM402 AND CMP(D100) K500 SM412 LD X3 ANI SM402 AND D100 K500 // 不低于5Hz PLS M102 // 减频脉冲 // 频率写入变频器 LD M101 INC D100 LD M102 DEC D100 LD M101 OR M102 AND MOV(P) D100 K1 H0006 H1001 M210 // ADPRW K1 K1 H0006 H1001 K1 D100 M210 // 频率读取 LD M8000 // 每周期读取当前频率 AND MODRD(P) K1 K1 H2100 K1 D100 M220 // ADPRW K1 K1 H0003 H2100 K1 D100 M220 RET八、本文小结上篇内容回顾知识点掌握程度Modbus RTU基础概念理解帧结构与功能码硬件接线能正确连接FX5U与变频器GX Works3参数配置会配置485串口Modbus模式ADPRW读写指令能读写变频器寄存器通讯调试方法能排查常见通讯故障下篇预告三菱PLC与Modbus通讯实战下多从站管理与Modbus TCP多台变频器同时通讯RS485总线最多247从站Modbus TCP以太网通讯配置PLC与HMI实时数据交换通讯故障冗余切换方案下篇不见不散。有问题欢迎在评论区留言我看到会回复。系列文章《三菱PLC与Modbus通讯实战上环境配置与基础通讯》《三菱PLC与Modbus通讯实战下多从站管理与Modbus TCP》