| ACS580變頻器通(tōng)過USB-RS485串口助手進行Modbus RTU通訊測試(shì)與參數調整方法 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 發布時間:2026-05-12 15:11:20 | 瀏覽量:326 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACS580變頻(pín)器通過USB-RS485串口(kǒu)助(zhù)手進行Modbus RTU通訊測試與參數調整方法在(zài)工業現場維修、二(èr)手變頻(pín)器檢測、PLC通訊調試(shì)、HMI通訊驗證以及遠程技(jì)術支持過程中(zhōng),經常(cháng)需要確(què)認一台(tái)ABB ACS580變頻(pín)器(qì)的內置現場總(zǒng)線接口是否正常。ACS580本體自帶EFB接口,也就是Embedded Fieldbus,通常可以作為Modbus RTU從站(zhàn)使用。通(tōng)過(guò)一(yī)隻USB-RS485轉換器、一台電腦和串口調試軟件,就可以完成最基礎的485通訊測試(shì),包括讀取寄存器、寫入控製(zhì)字、寫入頻率(lǜ)給定、遠(yuǎn)程啟動、停止和(hé)故障複位。
這種(zhǒng)測試方(fāng)法的價值在於:不需要PLC、不(bú)需要觸摸屏、不需(xū)要專用調試軟件,隻要485物理層和變頻器參(cān)數(shù)配置正(zhèng)確,就可以直接判斷通訊口(kǒu)、通訊參數、控製字邏輯、遠程控製鏈路(lù)是否正常。對於維修公司、設備(bèi)調試人員、外貿技術支持人員來說,這是一(yī)個非常實用的ACS580通訊驗證流程。 本文結合實際調試過程,係統說明ACS580通過USB-RS485和串口助手進行Modbus RTU通訊測試的完整方法(fǎ),包括接線、參數設置、串口軟件設置、Modbus報文、啟動停(tíng)止邏(luó)輯、常見故障6681、AFE1/off2以及運行中COM口掉線等問題的(de)處理(lǐ)方法。 一、ACS580的EFB接口與485接線ACS580控製板(bǎn)上有一個(gè)標注為EFB的(de)三針接口,用(yòng)於內置現場總線通訊。它可以用於Modbus RTU通訊測試(shì)。常見端子定(dìng)義如下:
測試時,USB-RS485轉換器與ACS580的接線可以按以下(xià)方式連接:
這裏(lǐ)需要特別注意一點:不同USB-RS485轉換器對A、B、D+、D-、485+、485-的標識並不完全統一。國產便宜(yí)轉換器尤其容易出現A/B標識和設備端定義相反的情況。因此(cǐ),如果參數和串口設置都正確,但完全沒有返回數據,第(dì)一件事不是懷疑ACS580串口損壞,而是直接把29和30兩根通訊線(xiàn)對調測(cè)試。 單台電腦直連單台ACS580時,建議先把ACS580旁邊的TERM終端電阻撥碼和BIAS偏置(zhì)撥碼打開。單機短距離測試時,這樣更容易獲得穩定通訊。如果以後接入PLC多站網絡,再根據485總(zǒng)線規(guī)範決定哪些設備打開終端電阻和偏(piān)置。 推薦接線方式是使用一對雙絞屏蔽線作為A/B通(tōng)訊線,DGND單獨接入。屏蔽層建(jiàn)議單端接地,避免屏蔽層兩端接(jiē)地形成(chéng)地環流。臨時測試雖然可以用普(pǔ)通線,但在變頻器實際運行、輸出頻率較(jiào)高、電機(jī)線(xiàn)較長(zhǎng)時,普通散線很容(róng)易受到高頻幹擾。
|
| 參(cān)數 | 建議值 | 說明 |
|---|---|---|
| 58.01 協議允(yǔn)許 | Modbus RTU | 啟用內(nèi)置現場總線 |
| 58.03 節點地(dì)址 | 1 | Modbus從站地(dì)址 |
| 58.04 波特(tè)率 | 9.6 kbps | 對應串口助手9600 |
| 58.05 奇偶(ǒu)校驗 | 8 偶 1 | 對應9600, 8, Even, 1 |
| 58.06 通訊控製 | 刷新設置 | 修改58組後執行 |
| 58.25 控製配置文件 | ABB變頻器 / ABB Drive | 與047F控製字匹配 |
以上參數設置完成後,必須執行58.06“刷新設置”,或者對變頻器斷電重新上電。很多調試失敗並不是接線錯誤,而是58組參數(shù)修改(gǎi)後沒有刷新(xīn),導致變頻器仍然(rán)按照舊參數工作。
除了58組通訊參數,還需要把啟(qǐ)停命令源和頻率給定源切到EFB:
| 參數 | 建議(yì)值 | 說明 |
|---|---|---|
| 19.11 外部1/外部2選擇 | EXT1 | 固定使(shǐ)用外部1 |
| 20.01 外部1命令 | 內(nèi)置現場總線 / EFB | 啟停(tíng)命令來自Modbus |
| 28.11 外部1頻率給定1選擇(zé) | EFB給定值1 | 頻率給定(dìng)來自Modbus |
| 19.01 實際運行模式 | 標量(liàng)Hz / 頻率模式 | 普通通訊測試常用頻率控(kòng)製 |
如果20.01沒有設為EFB,即使串口助手寫入控製字(zì)成功,變頻(pín)器也(yě)不會(huì)執行遠(yuǎn)程啟動。如果28.11沒(méi)有設為EFB給定值(zhí)1,即使寫入400002成功,麵板(bǎn)也可能看不到(dào)對應的頻率給定。
調試階段還建(jiàn)議臨時處理EFB通訊丟失監控,避免用串口助手手動發送時觸發6681故障:
| 參(cān)數 | 調試建議 |
|---|---|
| 58.14 通(tōng)訊(xùn)丟失動作 | 無動作 / 不動作 |
| 58.15 通訊丟失模式 | 任何消息 |
| 58.16 通(tōng)訊丟(diū)失時間 | 30s或更長 |
正式設備投運後,不(bú)建議(yì)長期關閉通訊丟失保護。PLC正式控製時,應(yīng)讓PLC周期性寫入控製字和給(gěi)定值,通訊丟失動作可以(yǐ)根據現場安全要求設為故障、停車或其他動作。
三、電腦串口助手的設置電腦端需要安裝USB-RS485轉換器驅動。設備管(guǎn)理器中能看到類似COM3、COM4、COM9等(děng)串口號後,打開串口助手進行設置。
常用設置如下:
| 項目 | 設置 |
|---|---|
| 串口號 | 設備管理器顯示的COM口 |
| 波特率 | 9600 |
| 數據位 | 8 |
| 校驗位 | Even / 偶校驗 |
| 停止位 | 1 |
| 流控 | None |
| 發送(sòng)格式(shì) | HEX |
| 接收格式 | HEX |
如果ACS580參數58.05為“8 偶 1”,串(chuàn)口助手也必須設置為Even校驗。如果串口助手設置(zhì)為None校驗,通常不會有正確返回(huí),甚至ACS580的錯誤計(jì)數會增加。
另外,串(chuàn)口助手如果帶有“自動CRC”功能,需要特別注意。Modbus RTU報文最後兩個字(zì)節是CRC校(xiào)驗。如果軟件自動追加(jiā)CRC,發送框中就隻能填寫不含CRC的部分;如果發送框中已經輸入完整報(bào)文,就必須關閉自動CRC。否則實際發出去的報文(wén)會重複帶(dài)CRC,ACS580會丟棄該幀。
例如(rú)讀取400001到400006,完整報文是:
01 03 00 00 00 06 C5 C8
如果串(chuàn)口助手關閉CRC,就直接發(fā)送上麵完整幀。
如果串口助手打開自動CRC,則隻輸入(rù):
01 03 00 00 00 06
否則會因為CRC重複而無響應(yīng)。
四、先讀數據,不(bú)要一開始就啟動通訊測試第一(yī)步不應該直接(jiē)寫啟動命令,而應該先讀寄存器,確認物理層、站號、波特率、校驗、CRC全部正確。
讀取400001~400006的完整命令為:
01 03 00 00 00 06 C5 C8
其中:
| 字節(jiē) | 含義 |
|---|---|
| 01 | 從站地址1 |
| 03 | 讀保持寄存器 |
| 00 00 | 起始地址,對應400001 |
| 00 06 | 讀取6個寄存器 |
| C5 C8 | CRC |
正(zhèng)常返回類似:
01 03 0C 00 00 00 00 00 00 00 00 11 33 00 00 95 E4
返回內(nèi)容(róng)中,0C表示(shì)返(fǎn)回12個數(shù)據字節,也就是(shì)6個寄存器。對應關係通常如下(xià):
| Modbus寄存器 | 默認意(yì)義 |
|---|---|
| 400001 | 控製字(zì) |
| 400002 | 給(gěi)定值1 |
| 400003 | 給定(dìng)值2 |
| 400004 | 狀(zhuàng)態字 |
| 400005 | 實際值1 |
| 400006 | 實際值2 |
隻要(yào)串(chuàn)口助手有正確返(fǎn)回,說明ACS580的EFB通訊口、USB-RS485、接線、站號、波特率、校驗和CRC基本正確。
ACS580麵板中也可(kě)以通過58組診斷參(cān)數輔助(zhù)判斷:
| 參數 | 含義 |
|---|---|
| 58.08 已接收的數據包 | ACS580收(shōu)到的有效數據(jù)包 |
| 58.09 已(yǐ)發送的數據包 | ACS580發送的有效數據包 |
| 58.11 UART錯誤 | 波特率、校驗(yàn)等串口層錯誤 |
| 58.12 CRC錯誤 | CRC錯誤(wù)或幹擾導(dǎo)致幀錯誤 |
如果(guǒ)串口助手(shǒu)發送後Rx一直為0,同時58.08也不(bú)增(zēng)加(jiā),應優先檢查A/B線、DGND、站號、波特率(lǜ)、校驗、58.06刷(shuā)新和USB-RS485轉換器(qì)。如果(guǒ)58.08增(zēng)加(jiā)但電腦(nǎo)無(wú)返回(huí),則可能(néng)是電腦接收方向、轉換器、A/B接法(fǎ)或軟(ruǎn)件(jiàn)接收設置問題。
ACS580在ABB Drive配置文件下,常用頻(pín)率給定比例為:
50Hz = 20000
因此(cǐ)給定值計算公式為:
寫入值 = 目標頻率(lǜ) / 50 × 20000
例如10Hz:
10 / 50 × 20000 = 4000
4000十進製等於0FA0十六進製。因(yīn)此(cǐ)寫(xiě)入(rù)10Hz給定值(zhí)到400002的命令(lìng)為:
01 06 00 01 0F A0 DD 82
其中:
| 字節 | 含義 |
|---|---|
| 01 | 從站地址1 |
| 06 | 寫單(dān)個保持(chí)寄存器 |
| 00 01 | 寄存器偏移1,對應400002 |
| 0F A0 | 寫入4000,即10Hz給定 |
| DD 82 | CRC |
正常情況下,ACS580會原樣返回:
01 06 00 01 0F A0 DD 82
如果麵板右上角能看到10.0Hz給定,說明400002寫入成功,28.11也已經正確指向EFB給定值1。
常用頻率換算如下(xià):
| 目標頻率 | 十進製給定值 | HEX |
|---|---|---|
| 5Hz | 2000 | 07D0 |
| 10Hz | 4000 | 0FA0 |
| 20Hz | 8000 | 1F40 |
| 30Hz | 12000 | 2EE0 |
| 50Hz | 20000 | 4E20 |
實際(jì)使用PLC時通常(cháng)不(bú)需要人工計算CRC,PLC的Modbus功能塊會自(zì)動處理CRC。隻需要寫入400001控製字和400002給定(dìng)值即可。
ACS580通過Modbus啟動時,最關鍵的是400001控製字。調試中常用三個控製字:
| 控製字 | 作用 |
|---|---|
| 04F7 | 故障(zhàng)複位 |
| 047F | 運行 |
| 047E | 停止 |
故障複(fù)位命令為:
01 06 00 00 04 F7 CA 8C
運行命令為:
01 06 00 00 04 7F CA EA
停止命令為:
01 06 00 00 04 7E 0B 2A
實(shí)際調試中發現,單獨點發運行命令(lìng)有時候隻(zhī)能看到給定值,變頻器並不穩定進入輸出狀態。更可靠的方法是用功能碼10一次性周期寫兩個寄存器:
01 10 00 00 00 02 04 04 7F 0F A0 C6 CF
這(zhè)條命令的(de)含義(yì)是:
| 寄存器 | 寫入值 | 含義 |
|---|---|---|
| 400001 | 047F | 運行控製字(zì) |
| 400002 | 0FA0 | 10Hz給定 |
停止並清零給定可以發(fā)送:
01 10 00 00 00 02 04 04 7E 00 00 92 87
含義是:
| 寄存器 | 寫入(rù)值 | 含義 |
|---|---|---|
| 400001 | 047E | 停止控製字 |
| 400002 | 0000 | 0Hz給定 |
最(zuì)穩定的調試方法(fǎ)是:啟動後以200ms~500ms周期連續(xù)發送“047F + 頻率給定(dìng)”。在(zài)實(shí)際測試中,1秒周期有時隻能看到(dào)10Hz給定(dìng)但沒有輸出頻率,而改為500ms周期後,麵(miàn)板顯示輸出頻(pín)率10.00Hz,冷(lěng)卻風扇也開始運行。這說明ACS580現場總線控製最好(hǎo)由主站周期性刷新(xīn),而不是隻寫一次控製字。
6681是ACS580在(zài)EFB通訊監控中(zhōng)檢(jiǎn)測到通訊丟失(shī)後的故障。調(diào)試過程中,常見觸(chù)發原因有三個。
第一,20.01、28.11等參數已經指向EFB,變頻器(qì)處於(yú)遠程(chéng)控製(zhì)狀態,但電腦(nǎo)沒有持續發送Modbus報文。ACS580認為主站不存在,就會報6681。
第二,58.14仍然保持為通(tōng)訊丟失故障(zhàng)動作。串口助手手動點(diǎn)發本身不是一個穩定的PLC主站,發送間隔可能超過58.16設定時間,因(yīn)此觸發通訊(xùn)丟失(shī)。
第三(sān),參數(shù)拷(kǎo)貝到另一台ACS580後,雖(suī)然通(tōng)訊參數和控製源已經複製過去,但實時控(kòng)製字不會被(bèi)複製。新變頻器上電後如果沒(méi)有軟件或PLC持續寫入控製字,也可能立即報6681。
調試(shì)階段可以把58.14設為無動作,把58.15設為任何消息,把58.16設(shè)為30秒(miǎo)或(huò)更(gèng)長。這樣可以避(bì)免手動調試時頻繁報6681。正式設備運行時,應(yīng)恢複合理的通訊丟失保護,並由PLC或上位機周期寫入控(kòng)製字和給定值。
調試中還可能遇到警告AFE1,麵板顯示“緊急停車off2”或(huò)“收到緊急停車命令off2”。很多人第一反應會去找21.05急停源(yuán),但實際案例中,AFE1不一定由21.05觸發,也可能(néng)由現場總線控製字不完整導(dǎo)致。
ACS580內部可以查看06.01主(zhǔ)控製字(zì)。曾經(jīng)出現過:
06.01 = 408 hex
展開後可(kě)以看到Off1、Off2、Off3控製位不(bú)完整,而運行位或遠程(chéng)位又處於某種激(jī)活狀態,這就容易導致ACS580判斷為off2急停狀(zhuàng)態。
ABB Drive控製字(zì)中,Off2控製位為(wéi)1表示Off2未激(jī)活、允許繼續(xù)運行(háng);為(wéi)0則表示緊急關閉、自由停車。因此,如果控製字沒有正確(què)寫入047F,或者剛上電後主控製字還停(tíng)留在不完整狀態,就可能出現off2。
實際解決方法是(shì)先發送故障複位:
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故障消失,變頻器(qì)可以正常遠程運行。
需要注意,21.05是外部急停源參數,不建議隨便屏蔽。如果現場(chǎng)真的有急停按鈕、安全繼電(diàn)器或STO安全鏈路,必須恢複硬(yìng)件安全鏈路,而不能簡單通過參數繞過。本文討論的情況主要是維修台架或通(tōng)訊測試環境下,由於控製字狀態不完整導致的off2現象(xiàng)。
ACS580通過Modbus RTU控製時,必須處於遠程控製狀態。本(běn)地模式(shì)下,麵板控製優先,Modbus寫入可(kě)以(yǐ)有返回,但不一(yī)定真正控製啟(qǐ)停。
很多人看(kàn)到一切到遠程就報6681或off2,就誤(wù)以為應該用本地模式測試。實際上恰好相反(fǎn):這些報警說明控製源已經切到EFB,隻是(shì)主站通(tōng)訊、通訊丟失保護或控製字(zì)狀態還沒有處(chù)理好。
正確邏(luó)輯是:
| 模式 | 說明 |
|---|---|
| 本地模式 | 麵板控製優先,不適合驗證Modbus啟停 |
| 遠程模式 | 外部控製源生效,EFB才能真正控(kòng)製 |
| 遠程 + EFB命令源 | Modbus控製(zhì)字可以啟動停止 |
| 遠程 + EFB給定源 | Modbus給定(dìng)值可以改變頻率 |
因此,最終通訊測試必須在遠(yuǎn)程模式下完成。
通過操作麵板把一(yī)台調好的ACS580參數拷貝到另一台ACS580後,可能仍然(rán)出現(xiàn)6681或off2。這不是參數拷貝失敗,而是因為參數拷貝隻複製配(pèi)置參數,不複製當前運行控製(zhì)字。
換句話說,參數拷貝可以複製:
58.01、58.03、58.04、58.05、20.01、28.11、58.25等參數
但(dàn)不會複製:
當前400001實時控製字 當前400002實時給定值 當前06.01主控製字狀態 當前軟件周期發送狀態
所以新(xīn)變頻(pín)器斷電上電(diàn)後,仍(réng)然需要上(shàng)位機或(huò)串口測試(shì)軟件重新發送複位和運行控製字。正確流程為:
從已(yǐ)調好變(biàn)頻器上傳參(cān)數到操作麵板(bǎn)。
下(xià)載到目標(biāo)ACS580。
目標ACS580斷電重上(shàng)電。
檢查關(guān)鍵參數是否一致。
打開(kāi)測試軟件(jiàn)或(huò)串口助手。
發送故障複位04F7。
周期寫047F和頻率給定。
確認輸出頻率建立。
如果希望(wàng)客戶操作更簡單,可以把“複位故障”動作集成到上位機軟件的“啟動(dòng)”按鈕中。軟件內部先自動(dòng)發送04F7,延時200ms,再開始周期寫047F和頻率給定。這(zhè)樣客(kè)戶(hù)隻需(xū)要點(diǎn)擊“啟動”,不需要知道6681、off2、04F7、047F這些底(dǐ)層邏輯。
通訊測(cè)試成功後,如果變頻器實際輸出頻率時,Windows設備管理器中的COM口突然消失,或者軟件報:
PermissionError(13, '拒絕(jué)訪問') GetOverlappedResult failed WriteFile failed
這時不要隻懷疑軟件。若設備管理器裏COM口都不見了,說明USB-RS485轉換器已經被係統斷開,常見原因是變頻器輸出時產生的高頻電磁幹擾影響了USB側或485側。
變(biàn)頻器輸出U/V/W到電機的PWM波形含有很強的dv/dt和共模(mó)幹擾,便宜CH340裸板USB-RS485轉換器很容易掉線。尤其當(dāng)USB線(xiàn)靠(kào)近主回路、電機線、製動電阻線,或者電腦使用(yòng)前置USB口(kǒu)時,更容易出現掉線。
建議采取以下措施:
使用工業隔離型USB-RS485轉換器,優先選擇帶光耦隔離、TVS保護、隔離(lí)電源的型號。
不要使用裸板CH340或廉價透明殼USB-RS485做長期運行測試。
USB線遠離變頻器U/V/W輸出線和電機線。
485通訊線使(shǐ)用雙絞屏蔽線。
屏蔽層單端接PE地。
USB線靠(kào)近電腦端和(hé)轉換器端各加磁環。
盡量使用電(diàn)腦主板後置USB口,不要使用(yòng)台式機前(qián)置USB口。
ACS580單台測試時TERM和BIAS保持ON。
如果COM口掉線(xiàn),必須拔插USB-RS485或(huò)重新上電(diàn)後,再打開軟件重(chóng)連。
軟件層麵也需要避免多個線(xiàn)程同時讀寫同一個COM口。運行中修改頻率時,不應反複創建新(xīn)的發送線程,而應讓原(yuán)有(yǒu)周期線程讀取新的頻率值並自動更新給定。停止、複位、讀狀態前,應該先暫停周期發送,再執行單次命令,否則容易出現串口(kǒu)資源競爭。
現場維修台架(jià)測試(shì)可以固定(dìng)采用以下流程。
設置:
58.01 = Modbus RTU 58.03 = 1 58.04 = 9.6 kbps 58.05 = 8 偶(ǒu) 1 58.25 = ABB變頻器 / ABB Drive 20.01 = 內置現場總線 / EFB 19.11 = EXT1 28.11 = EFB給定值(zhí)1 58.14 = 無動作 / 不動作 58.15 = 任(rèn)何消息 58.16 = 30s 58.06 = 刷新設置
然後切換到(dào)遠程(chéng)模式。
發送(sòng):
01 03 00 00 00 06 C5 C8
有返回後說明通訊基本(běn)正常。
發送:
01 06 00 00 04 F7 CA 8C
以200ms~500ms周期發送:
01 10 00 00 00 02 04 04 7F 0F A0 C6 CF
麵板應顯示10.00Hz輸出頻率。
發送:
01 10 00 00 00 02 04 04 7E 00 00 92 87
變頻器停止,給定清零。
ACS580通過USB-RS485和串口助手進行Modbus RTU通(tōng)訊測試(shì),並不(bú)複雜,但要(yào)把“通訊通了”和“能遠程運行”區分開。通訊通了隻代表485物理(lǐ)層、站號、波特率、校驗和CRC正確;能遠程(chéng)運(yùn)行還需要20.01、28.11、19.11、58.25等(děng)控製鏈參數正確,並且必須由(yóu)主站周期寫(xiě)入控製字(zì)和給定值。
實(shí)際調試中最容易踩坑(kēng)的地方包(bāo)括:A/B線(xiàn)接反、58.06未刷新、串口助手CRC重複、校驗位不一致、本(běn)地/遠程模式搞錯(cuò)、6681通訊丟失、AFE1/off2控製字不完(wán)整、USB-RS485受變頻器幹擾(rǎo)掉線等。
一套穩定的ACS580通訊測試方法應該是:先讀(dú)寄存器確認通(tōng)訊(xùn),再複位故障,然(rán)後周期寫400001控製字047F和400002頻率(lǜ)給定,最後用047E加0Hz停(tíng)止。對於維修和批量檢測場景,可以進一步把這些底層報文封裝(zhuāng)成一個簡單測試軟件,讓操作者隻看到串口選擇(zé)、頻率輸入(rù)、啟動、停止、複位幾個按鈕,而不需要理解Modbus寄存器和控製字細節。
通過這種方法,可以快速判斷ACS580的EFB通訊口是否正(zhèng)常、USB-RS485鏈路是否可(kě)靠、遠程控製參數是否正確,也可以(yǐ)為後續PLC、HMI或上位機通訊控製提供一個清晰可靠(kào)的基準。
廣東(dōng)91视频网址入口(jì)機電科技有限公司 保留所有版權粵ICP備10022083號