24小时服务热线:17328677649
工控天地
服务热线 17328677649

工控文章

当前位置:首页 工控天地 工控文章
ACS580变频器通过USB-RS485串口助手进行Modbus RTU通讯测试与参数调整方法
发布时间:2026-05-12 15:11:20 | 浏览量:834

ACS580变频器通过USB-RS485串口助手进行Modbus RTU通讯测试与参数调整方法

在工业现场维修、二手变频器检测、PLC通讯调试、HMI通讯验证以及远程技术支持过程中,经常需要确认一台ABB ACS580变频器的内置现场总线接口是否正常。ACS580本体自带EFB接口,也就是Embedded Fieldbus,通常可以作为Modbus RTU从站使用。通过一只USB-RS485转换器、一台电脑和串口调试软件,就可以完成最基础的485通讯测试,包括读取寄存器、写入控制字、写入频率给定、远程启动、停止和故障复位。

1.jpg

这种测试方法的价值在于:不需要PLC、不需要触摸屏、不需要专用调试软件,只要485物理层和变频器参数配置正确,就可以直接判断通讯口、通讯参数、控制字逻辑、远程控制链路是否正常。对于维修公司、设备调试人员、外贸技术支持人员来说,这是一个非常实用的ACS580通讯验证流程。

本文结合实际调试过程,系统说明ACS580通过USB-RS485和串口助手进行Modbus RTU通讯测试的完整方法,包括接线、参数设置、串口软件设置、Modbus报文、启动停止逻辑、常见故障6681、AFE1/off2以及运行中COM口掉线等问题的处理方法。

一、ACS580的EFB接口与485接线

ACS580控制板上有一个标注为EFB的三针接口,用于内置现场总线通讯。它可以用于Modbus RTU通讯测试。常见端子定义如下:

ACS580端子功能
29B+
30A-
31DGND

测试时,USB-RS485转换器与ACS580的接线可以按以下方式连接:

ACS580 X5/EFBUSB-RS485转换器
29 B+RS485 A/B其中一端
30 A-RS485 A/B另一端
31 DGNDGND

这里需要特别注意一点:不同USB-RS485转换器对A、B、D+、D-、485+、485-的标识并不完全统一。国产便宜转换器尤其容易出现A/B标识和设备端定义相反的情况。因此,如果参数和串口设置都正确,但完全没有返回数据,第一件事不是怀疑ACS580串口损坏,而是直接把29和30两根通讯线对调测试。

单台电脑直连单台ACS580时,建议先把ACS580旁边的TERM终端电阻拨码和BIAS偏置拨码打开。单机短距离测试时,这样更容易获得稳定通讯。如果以后接入PLC多站网络,再根据485总线规范决定哪些设备打开终端电阻和偏置。

推荐接线方式是使用一对双绞屏蔽线作为A/B通讯线,DGND单独接入。屏蔽层建议单端接地,避免屏蔽层两端接地形成地环流。临时测试虽然可以用普通线,但在变频器实际运行、输出频率较高、电机线较长时,普通散线很容易受到高频干扰。

2.jpg二、ACS580侧需要设置的通讯参数

ACS580要通过Modbus RTU通讯控制,首先必须启用EFB,并设置正确的通讯参数。常用测试参数如下:

参数建议值说明
58.01 协议允许Modbus RTU启用内置现场总线
58.03 节点地址1Modbus从站地址
58.04 波特率9.6 kbps对应串口助手9600
58.05 奇偶校验8 偶 1对应9600, 8, Even, 1
58.06 通讯控制刷新设置修改58组后执行
58.25 控制配置文件ABB变频器 / ABB Drive与047F控制字匹配

以上参数设置完成后,必须执行58.06“刷新设置”,或者对变频器断电重新上电。很多调试失败并不是接线错误,而是58组参数修改后没有刷新,导致变频器仍然按照旧参数工作。

除了58组通讯参数,还需要把启停命令源和频率给定源切到EFB:

参数建议值说明
19.11 外部1/外部2选择EXT1固定使用外部1
20.01 外部1命令内置现场总线 / EFB启停命令来自Modbus
28.11 外部1频率给定1选择EFB给定值1频率给定来自Modbus
19.01 实际运行模式标量Hz / 频率模式普通通讯测试常用频率控制

如果20.01没有设为EFB,即使串口助手写入控制字成功,变频器也不会执行远程启动。如果28.11没有设为EFB给定值1,即使写入400002成功,面板也可能看不到对应的频率给定。

调试阶段还建议临时处理EFB通讯丢失监控,避免用串口助手手动发送时触发6681故障:

参数调试建议
58.14 通讯丢失动作无动作 / 不动作
58.15 通讯丢失模式任何消息
58.16 通讯丢失时间30s或更长

正式设备投运后,不建议长期关闭通讯丢失保护。PLC正式控制时,应让PLC周期性写入控制字和给定值,通讯丢失动作可以根据现场安全要求设为故障、停车或其他动作。

3.jpg三、电脑串口助手的设置

电脑端需要安装USB-RS485转换器驱动。设备管理器中能看到类似COM3、COM4、COM9等串口号后,打开串口助手进行设置。

常用设置如下:

项目设置
串口号设备管理器显示的COM口
波特率9600
数据位8
校验位Even / 偶校验
停止位1
流控None
发送格式HEX
接收格式HEX

如果ACS580参数58.05为“8 偶 1”,串口助手也必须设置为Even校验。如果串口助手设置为None校验,通常不会有正确返回,甚至ACS580的错误计数会增加。

另外,串口助手如果带有“自动CRC”功能,需要特别注意。Modbus RTU报文最后两个字节是CRC校验。如果软件自动追加CRC,发送框中就只能填写不含CRC的部分;如果发送框中已经输入完整报文,就必须关闭自动CRC。否则实际发出去的报文会重复带CRC,ACS580会丢弃该帧。

例如读取400001到400006,完整报文是:

01 03 00 00 00 06 C5 C8

如果串口助手关闭CRC,就直接发送上面完整帧。

如果串口助手打开自动CRC,则只输入:

01 03 00 00 00 06

否则会因为CRC重复而无响应。

4.jpg四、先读数据,不要一开始就启动

通讯测试第一步不应该直接写启动命令,而应该先读寄存器,确认物理层、站号、波特率、校验、CRC全部正确。

读取400001~400006的完整命令为:

01 03 00 00 00 06 C5 C8

其中:

字节含义
01从站地址1
03读保持寄存器
00 00起始地址,对应400001
00 06读取6个寄存器
C5 C8CRC

正常返回类似:

01 03 0C 00 00 00 00 00 00 00 00 11 33 00 00 95 E4

返回内容中,0C表示返回12个数据字节,也就是6个寄存器。对应关系通常如下:

Modbus寄存器默认意义
400001控制字
400002给定值1
400003给定值2
400004状态字
400005实际值1
400006实际值2

只要串口助手有正确返回,说明ACS580的EFB通讯口、USB-RS485、接线、站号、波特率、校验和CRC基本正确。

ACS580面板中也可以通过58组诊断参数辅助判断:

参数含义
58.08 已接收的数据包ACS580收到的有效数据包
58.09 已发送的数据包ACS580发送的有效数据包
58.11 UART错误波特率、校验等串口层错误
58.12 CRC错误CRC错误或干扰导致帧错误

如果串口助手发送后Rx一直为0,同时58.08也不增加,应优先检查A/B线、DGND、站号、波特率、校验、58.06刷新和USB-RS485转换器。如果58.08增加但电脑无返回,则可能是电脑接收方向、转换器、A/B接法或软件接收设置问题。

五、写入频率给定

ACS580在ABB Drive配置文件下,常用频率给定比例为:

50Hz = 20000

因此给定值计算公式为:

写入值 = 目标频率 / 50 × 20000

例如10Hz:

10 / 50 × 20000 = 4000

4000十进制等于0FA0十六进制。因此写入10Hz给定值到400002的命令为:

01 06 00 01 0F A0 DD 82

其中:

字节含义
01从站地址1
06写单个保持寄存器
00 01寄存器偏移1,对应400002
0F A0写入4000,即10Hz给定
DD 82CRC

正常情况下,ACS580会原样返回:

01 06 00 01 0F A0 DD 82

如果面板右上角能看到10.0Hz给定,说明400002写入成功,28.11也已经正确指向EFB给定值1。

常用频率换算如下:

目标频率十进制给定值HEX
5Hz200007D0
10Hz40000FA0
20Hz80001F40
30Hz120002EE0
50Hz200004E20

实际使用PLC时通常不需要人工计算CRC,PLC的Modbus功能块会自动处理CRC。只需要写入400001控制字和400002给定值即可。

六、控制字、复位、启动和停止

ACS580通过Modbus启动时,最关键的是400001控制字。调试中常用三个控制字:

控制字作用
04F7故障复位
047F运行
047E停止

故障复位命令为:

01 06 00 00 04 F7 CA 8C

运行命令为:

01 06 00 00 04 7F CA EA

停止命令为:

01 06 00 00 04 7E 0B 2A

实际调试中发现,单独点发运行命令有时候只能看到给定值,变频器并不稳定进入输出状态。更可靠的方法是用功能码10一次性周期写两个寄存器:

01 10 00 00 00 02 04 04 7F 0F A0 C6 CF

这条命令的含义是:

寄存器写入值含义
400001047F运行控制字
4000020FA010Hz给定

停止并清零给定可以发送:

01 10 00 00 00 02 04 04 7E 00 00 92 87

含义是:

寄存器写入值含义
400001047E停止控制字
40000200000Hz给定

最稳定的调试方法是:启动后以200ms~500ms周期连续发送“047F + 频率给定”。在实际测试中,1秒周期有时只能看到10Hz给定但没有输出频率,而改为500ms周期后,面板显示输出频率10.00Hz,冷却风扇也开始运行。这说明ACS580现场总线控制最好由主站周期性刷新,而不是只写一次控制字。

七、为什么会出现6681 EFB通讯丢失

6681是ACS580在EFB通讯监控中检测到通讯丢失后的故障。调试过程中,常见触发原因有三个。

第一,20.01、28.11等参数已经指向EFB,变频器处于远程控制状态,但电脑没有持续发送Modbus报文。ACS580认为主站不存在,就会报6681。

第二,58.14仍然保持为通讯丢失故障动作。串口助手手动点发本身不是一个稳定的PLC主站,发送间隔可能超过58.16设定时间,因此触发通讯丢失。

第三,参数拷贝到另一台ACS580后,虽然通讯参数和控制源已经复制过去,但实时控制字不会被复制。新变频器上电后如果没有软件或PLC持续写入控制字,也可能立即报6681。

调试阶段可以把58.14设为无动作,把58.15设为任何消息,把58.16设为30秒或更长。这样可以避免手动调试时频繁报6681。正式设备运行时,应恢复合理的通讯丢失保护,并由PLC或上位机周期写入控制字和给定值。

八、为什么会出现AFE1“紧急停车off2”

调试中还可能遇到警告AFE1,面板显示“紧急停车off2”或“收到紧急停车命令off2”。很多人第一反应会去找21.05急停源,但实际案例中,AFE1不一定由21.05触发,也可能由现场总线控制字不完整导致。

ACS580内部可以查看06.01主控制字。曾经出现过:

06.01 = 408 hex

展开后可以看到Off1、Off2、Off3控制位不完整,而运行位或远程位又处于某种激活状态,这就容易导致ACS580判断为off2急停状态。

ABB Drive控制字中,Off2控制位为1表示Off2未激活、允许继续运行;为0则表示紧急关闭、自由停车。因此,如果控制字没有正确写入047F,或者刚上电后主控制字还停留在不完整状态,就可能出现off2。

实际解决方法是先发送故障复位:

01 06 00 00 04 F7 CA 8C

再周期发送:

01 10 00 00 00 02 04 04 7F 0F A0 C6 CF

当06.01变为047F或相关运行允许状态后,off2故障消失,变频器可以正常远程运行。

需要注意,21.05是外部急停源参数,不建议随便屏蔽。如果现场真的有急停按钮、安全继电器或STO安全链路,必须恢复硬件安全链路,而不能简单通过参数绕过。本文讨论的情况主要是维修台架或通讯测试环境下,由于控制字状态不完整导致的off2现象。

九、远程模式和本地模式的关系

ACS580通过Modbus RTU控制时,必须处于远程控制状态。本地模式下,面板控制优先,Modbus写入可以有返回,但不一定真正控制启停。

很多人看到一切到远程就报6681或off2,就误以为应该用本地模式测试。实际上恰好相反:这些报警说明控制源已经切到EFB,只是主站通讯、通讯丢失保护或控制字状态还没有处理好。

正确逻辑是:

模式说明
本地模式面板控制优先,不适合验证Modbus启停
远程模式外部控制源生效,EFB才能真正控制
远程 + EFB命令源Modbus控制字可以启动停止
远程 + EFB给定源Modbus给定值可以改变频率

因此,最终通讯测试必须在远程模式下完成。

十、参数拷贝到另一台变频器后的注意事项

通过操作面板把一台调好的ACS580参数拷贝到另一台ACS580后,可能仍然出现6681或off2。这不是参数拷贝失败,而是因为参数拷贝只复制配置参数,不复制当前运行控制字。

换句话说,参数拷贝可以复制:

58.01、58.03、58.04、58.05、20.01、28.11、58.25等参数

但不会复制:

当前400001实时控制字
当前400002实时给定值
当前06.01主控制字状态
当前软件周期发送状态

所以新变频器断电上电后,仍然需要上位机或串口测试软件重新发送复位和运行控制字。正确流程为:

  1. 从已调好变频器上传参数到操作面板。

  2. 下载到目标ACS580。

  3. 目标ACS580断电重上电。

  4. 检查关键参数是否一致。

  5. 打开测试软件或串口助手。

  6. 发送故障复位04F7。

  7. 周期写047F和频率给定。

  8. 确认输出频率建立。

如果希望客户操作更简单,可以把“复位故障”动作集成到上位机软件的“启动”按钮中。软件内部先自动发送04F7,延时200ms,再开始周期写047F和频率给定。这样客户只需要点击“启动”,不需要知道6681、off2、04F7、047F这些底层逻辑。

十一、USB-RS485运行中掉线的原因和处理

通讯测试成功后,如果变频器实际输出频率时,Windows设备管理器中的COM口突然消失,或者软件报:

PermissionError(13, '拒绝访问')
GetOverlappedResult failed
WriteFile failed

这时不要只怀疑软件。若设备管理器里COM口都不见了,说明USB-RS485转换器已经被系统断开,常见原因是变频器输出时产生的高频电磁干扰影响了USB侧或485侧。

变频器输出U/V/W到电机的PWM波形含有很强的dv/dt和共模干扰,便宜CH340裸板USB-RS485转换器很容易掉线。尤其当USB线靠近主回路、电机线、制动电阻线,或者电脑使用前置USB口时,更容易出现掉线。

建议采取以下措施:

  1. 使用工业隔离型USB-RS485转换器,优先选择带光耦隔离、TVS保护、隔离电源的型号。

  2. 不要使用裸板CH340或廉价透明壳USB-RS485做长期运行测试。

  3. USB线远离变频器U/V/W输出线和电机线。

  4. 485通讯线使用双绞屏蔽线。

  5. 屏蔽层单端接PE地。

  6. USB线靠近电脑端和转换器端各加磁环。

  7. 尽量使用电脑主板后置USB口,不要使用台式机前置USB口。

  8. ACS580单台测试时TERM和BIAS保持ON。

  9. 如果COM口掉线,必须拔插USB-RS485或重新上电后,再打开软件重连。

软件层面也需要避免多个线程同时读写同一个COM口。运行中修改频率时,不应反复创建新的发送线程,而应让原有周期线程读取新的频率值并自动更新给定。停止、复位、读状态前,应该先暂停周期发送,再执行单次命令,否则容易出现串口资源竞争。

十二、推荐的最终测试流程

现场维修台架测试可以固定采用以下流程。

1. 变频器参数准备

设置:

58.01 = Modbus RTU
58.03 = 1
58.04 = 9.6 kbps
58.05 = 8 偶 1
58.25 = ABB变频器 / ABB Drive
20.01 = 内置现场总线 / EFB
19.11 = EXT1
28.11 = EFB给定值1
58.14 = 无动作 / 不动作
58.15 = 任何消息
58.16 = 30s
58.06 = 刷新设置

然后切换到远程模式。

2. 串口助手基础读测试

发送:

01 03 00 00 00 06 C5 C8

有返回后说明通讯基本正常。

3. 故障复位

发送:

01 06 00 00 04 F7 CA 8C

4. 周期运行10Hz

以200ms~500ms周期发送:

01 10 00 00 00 02 04 04 7F 0F A0 C6 CF

面板应显示10.00Hz输出频率。

5. 停止

发送:

01 10 00 00 00 02 04 04 7E 00 00 92 87

变频器停止,给定清零。

十三、结论

ACS580通过USB-RS485和串口助手进行Modbus RTU通讯测试,并不复杂,但要把“通讯通了”和“能远程运行”区分开。通讯通了只代表485物理层、站号、波特率、校验和CRC正确;能远程运行还需要20.01、28.11、19.11、58.25等控制链参数正确,并且必须由主站周期写入控制字和给定值。

实际调试中最容易踩坑的地方包括:A/B线接反、58.06未刷新、串口助手CRC重复、校验位不一致、本地/远程模式搞错、6681通讯丢失、AFE1/off2控制字不完整、USB-RS485受变频器干扰掉线等。

一套稳定的ACS580通讯测试方法应该是:先读寄存器确认通讯,再复位故障,然后周期写400001控制字047F和400002频率给定,最后用047E加0Hz停止。对于维修和批量检测场景,可以进一步把这些底层报文封装成一个简单测试软件,让操作者只看到串口选择、频率输入、启动、停止、复位几个按钮,而不需要理解Modbus寄存器和控制字细节。

通过这种方法,可以快速判断ACS580的EFB通讯口是否正常、USB-RS485链路是否可靠、远程控制参数是否正确,也可以为后续PLC、HMI或上位机通讯控制提供一个清晰可靠的基准。


 
 
上一篇:ABB EL3020 AO2020氧模块 856666 氧电池 O2 Sensor 氧分析仪传感器
下一篇:烫钻点钻机喷嘴不吸钻、送料盘卡滞、气压过大割布的系统化维修与调试方法

广东容济机电科技有限公司 保留所有版权粤ICP备10022083号