组态王控制台达 F 变频器能启动、不能停止,核心原因集中在:通讯控制模式 / 地址 / 命令字错误、变频器参数冲突、组态王变量 / 脚本逻辑问题、硬件 / 干扰。
一、先确认:台达 F 变频器通讯控制基础
1. 变频器关键参数(VFD-F)
P00.02(控制模式):必须设为 1(RS485 通讯控制)
若设为 0(端子控制),通讯停止命令无效
P00.03(频率来源):设为 2(RS485 通讯给定)
P20 组(通讯参数):
P20.00(站号):与组态王一致(如 1)
P20.01(波特率):如 9600
P20.02(数据格式):8-N-1 或 8-E-1(与组态王串口完全一致)
P20.07(通讯超时):建议设为 0(不超时)
2. 台达 F 通讯启停地址与命令字(Modbus-RTU)
启停控制寄存器:0x2000(十进制 4096,4 区)
常用命令(16 位):
正转启动:0x0012
反转启动:0x0022
停止:0x0001(最关键)
故障复位:0x0008
错误写法:用 0x0000、0x0009、0x0000 等,都会停不下来
二、组态王侧:最常见的 3 个 “能启不能停” 原因
1. 变量地址 / 类型错误(占 70%)
正确配置:
设备:台达变频器(Modbus-RTU)
寄存器:4096(对应 0x2000)
数据类型:16 位无符号整数(USHORT)
读写属性:只写(WO)
错误情况:
写成 4097、02000、3 区 → 命令发错地址
设为 8 位、只读、有符号 → 数据解析错误
用台达 BUS 协议(STOP1/FWD)而非 Modbus → 命令不匹配
2. 脚本 / 按钮逻辑错误(占 20%)
(1)停止命令字写错
错误:
变频器.启停 = 0;或= 9;正确:
变频器.启停 = 1;(0x0001)
(2)启动后未清零 / 未正确赋值
错误逻辑:
c
运行
// 启动按钮变频器.启停 = 0x12;// 停止按钮变频器.启停 = 0; // 无效
正确逻辑:
c
运行
// 正转启动变频器.启停 = 0x0012;// 停止(必须写1)变频器.启停 = 0x0001;
(3)变量未 “立即写入”
组态王变量属性:勾选 “数据改变时自动输出”
或在脚本末尾加:
WriteDevice("变频器.启停");
3. 通讯参数不匹配
串口参数:波特率、数据位、校验、停止位 必须与变频器 P20 完全一致
站号:组态王设备地址 = 变频器 P20.00
超时:组态王串口超时设为 1000ms 以上
三、变频器侧:参数冲突导致停不下来
1. P00.02 不是 1(通讯控制)
现象:通讯能启动(部分兼容),但停止无效
解决:设 P00.02=1,断电重启
2. 多指令源优先级冲突
若同时接了端子 STOP/RESET,且参数设为端子优先,通讯停止会被屏蔽
解决:
断开外部端子 STOP/RESET 接线
或设参数:P00.02=1(仅通讯控制)
3. 变频器处于保护 / 故障状态
若报过流、过压、欠压等,停止命令无效
先复位故障:通讯写 0x0008 到 0x2000,或按面板 RESET
四、硬件 / 接线 / 干扰(排查最后一步)
1. RS485 接线错误
A 接 A、B 接 B、GND 共地(必须接,否则干扰导致命令丢失)
用屏蔽双绞线,屏蔽层单端接地
距离 > 100 米,两端加 120Ω 终端电阻
2. 干扰导致停止命令丢失
现象:启动正常,停止命令偶尔发不出
解决:
通讯线远离动力线(≥30cm)
变频器与电脑 / PLC 共地
加 RS485 隔离器
3. 通讯超时 / 断线
看组态王 “设备诊断”:是否有 “通讯失败”
延长超时时间,检查接头是否松动
五、快速排查步骤(按顺序做,10 分钟定位)
查变频器 P00.02 → 必须 = 1(通讯控制)
查组态王变量 → 地址 4096、16 位无符号、只写
查停止命令字 → 必须写 1(0x0001)
查通讯参数 → 波特率 / 校验 / 站号完全一致
查接线与共地 → A/B/GND 正确,屏蔽接地
面板测试:
能停 → 问题在组态王 / 通讯 / 命令字
不能停 → 变频器参数 / 硬件 / 故障
手动按面板 STOP,看能否停下
六、正确组态王脚本示例(可直接复制)
c
运行
// 正转启动按钮void 按钮_正转启动(){
变频器.启停命令 = 0x0012; // 正转
WriteDevice("变频器.启停命令");}// 停止按钮(关键)void 按钮_停止(){
变频器.启停命令 = 0x0001; // 必须写1
WriteDevice("变频器.启停命令");}// 故障复位void 按钮_复位(){
变频器.启停命令 = 0x0008;
WriteDevice("变频器.启停命令");}

