PLC 与变频器 485 通讯、温控模块控制的完整梯形图程序,这个需求我完全理解 —— 核心是通过 PLC 的 485 口和变频器做 Modbus RTU 通讯(调速 / 启停 / 状态读取),同时用温控模块采集温度、做 PID 调节,最终整合到一套梯形图程序里。
我以工业最常用的三菱 FX3U PLC(带 485BD 通讯板)+三菱 FR-D700 变频器+FX2N-4AD-PT 温控模块为例,提供完整可直接使用的梯形图程序,包含注释、参数配置、核心逻辑,适配新手直接移植使用。
一、先明确硬件与通讯基础(程序前置条件)
1. 硬件清单
| 硬件类型 | 型号 / 配置 | 作用 |
|---|---|---|
| PLC | FX3U-48MT | 主控制器 |
| 通讯模块 | FX3U-485-BD | 485 通讯,Modbus RTU 主站 |
| 变频器 | FR-D700(支持 Modbus RTU) | 接收 PLC 指令调速 / 启停 |
| 温控模块 | FX2N-4AD-PT | 采集 PT100 温度(4 路) |
| 辅助 | 485 屏蔽线、终端电阻(120Ω) | 抗干扰 |
2. 核心参数配置
485 通讯参数:波特率 9600、数据位 8、停止位 1、偶校验(和变频器一致);
变频器 Modbus 地址:站号 1、读写寄存器地址(D700:运行频率写入 40001,运行状态读取 40002);
温控模块:通道 CH1 采集温度,PID 目标值设为 50℃,PID 输出控制变频器频率。
二、完整梯形图程序(三菱 GX Works2 格式,带详细注释)
以下程序分4 个核心模块,我用文字 + 梯形图指令的形式呈现(可直接在 GX Works2 中录入):
模块 1:通讯参数初始化(上电执行一次)
plaintext
LD M8002 // PLC上电初始化脉冲 MOV K9600 D8120 // 485波特率9600 MOV K1 D8121 // 数据位8,停止位1,偶校验(K1对应偶校验) MOV K1 D8122 // 通讯超时时间100ms(K1=100ms) MOV K1 D8123 // Modbus RTU主站模式 SET M8161 // 8位数据模式(Modbus专用) RST M8160 // 禁用16位数据模式
模块 2:温控模块读取温度(CH1 通道,PT100)
plaintext
LD M8000 // 常ON,实时读取 FROM K0 K0 D100 K2 // 读取4AD-PT模块(模块号0),起始地址0,存入D100,读取2个字 // D100=CH1温度原始值,D101=CH2温度原始值(仅用CH1) MOV D100 D200 // CH1温度值(转换为实际温度:D200/10=实际℃,如D200=500→50℃) DIV D200 K10 D201 // 实际温度存入D201(如500/10=50℃)
模块 3:PID 温控调节(目标 50℃,输出控制变频器频率)
plaintext
// PID参数初始化 LD M8002 MOV K500 D210 // PID目标值(500=50℃) MOV K20 D211 // 比例增益P=20 MOV K10 D212 // 积分时间I=10s MOV K5 D213 // 微分时间D=5s MOV K0 D214 // PID输出下限0(对应变频器0Hz) MOV K500 D215 // PID输出上限500(对应变频器50Hz) // PID运算 LD M8000 PID D201 D210 D211 D212 D213 D214 D215 D300 // D201=实测温度,D210=目标温度,D300=PID输出(0-500对应0-50Hz)
模块 4:485 通讯控制变频器(Modbus RTU)
plaintext
// 变频器运行/停止控制(X0=启动,X1=停止) LD X0 OR M0 ANI X1 OUT M0 // 运行保持继电器 // 变频器频率写入(Modbus写寄存器40001) LD M8000 MOV D300 D400 // PID输出频率值存入D400(0-500→0-50Hz) RS D400 K2 Y0 D8120 // Modbus写指令:发送D400-D401共2个字,Y0触发通讯 // 变频器站号1,写寄存器40001,数据D400(频率值) // 变频器状态读取(Modbus读寄存器40002) LD M8013 // 1s脉冲,周期性读取 RS D500 K2 Y1 D8120 // Modbus读指令:接收数据存入D500-D501,Y1触发通讯 // 读取变频器运行状态(D500=1→运行,D500=0→停止) // 变频器启停控制(Modbus写寄存器40003) LD M0 MOV K1 D401 // 运行指令(K1=运行,K0=停止) RS D401 K1 Y2 D8120 // 写变频器启停状态到40003
三、程序关键部分解释
通讯初始化:
M8002上电只执行一次,配置 485 波特率、校验位等核心参数,M8161必须置 ON(Modbus RTU 的 8 位数据模式);温控模块读取:
FROM指令是 PLC 读取特殊模块数据的核心指令,K0是温控模块的模块号(按实际安装位置调整),D100存储的是温度原始值(放大 10 倍,需除以 10 得到实际温度);PID 运算:
PID指令是三菱 PLC 内置的温控核心,D201是实测温度、D210是目标温度,D300是 PID 输出值(直接对应变频器频率,0-500 对应 0-50Hz);Modbus 通讯:
RS指令是 FX3U 的 485 通讯核心,D400是发送缓冲区、K2是发送字数、Y0是通讯触发位,需确保变频器的 Modbus 站号、寄存器地址和程序一致。
四、程序使用注意事项
硬件接线:
485 通讯:PLC 的 485BD 模块的 RDA 接变频器的 RS485-R,SDA 接 RS485-S,GND 共地,终端电阻接在变频器侧(120Ω);
温控模块:PT100 传感器接 4AD-PT 的 CH1 通道,模块电源接 DC24V;
参数调整:
PID 参数(P/I/D)需根据实际温控场景调试(如加热炉 P 取 15-30,I 取 5-15,D 取 2-8);
变频器的 Modbus 站号需在变频器参数中设置为 1(和程序一致);
测试步骤:
先单独测试温控模块:用万用表测 PT100,看 D201 是否显示正确温度;
再测试 485 通讯:手动给 D400 赋值(如 300=30Hz),看变频器是否显示 30Hz;
最后整合 PID:设置目标温度 50℃,看变频器频率是否随实测温度自动调整。
总结
核心程序包含通讯初始化、温度读取、PID 调节、485 控制变频器四大模块,均为梯形图指令,可直接在 GX Works2 中录入;
FROM指令读取温控模块、PID指令做温度调节、RS指令实现 485 通讯是三个核心指令;使用前需确保 PLC 和变频器的 485 参数一致,温控模块的模块号和实际安装位置匹配。


