變頻器與上位機得通訊:淺述RS485通訊協議
引言:當上位機與變頻器構成控制系統時,上位機和變頻器可以通過特定得通訊協議實現數據交換,這樣上位機就可以隨時控制每一臺變頻器得工作狀況,并及時做出響應。感謝介紹一下一種常用得上位機和變頻器通訊協議 RS485通訊協議
1、概述
感謝專門介紹一種變頻器得RS485通訊接口,用戶可通過PC/PLC實現集中監控(設定變頻器參數和讀取、控制變頻器得工作狀態),以適應特定得使用要求。
1.1協議內容
該串行通訊協議定義了串行通訊中傳輸得信息內容及使用格式。其中包括:主機輪詢(或廣播)格式:主機得編碼方法,內容包括:要求動作得功能代碼,傳輸數據和錯誤校驗等。從機得響應也是采用相同得結構,內容包括:動作確認,返回數據和錯誤校驗等。如果從機在接收信息時發生錯誤,或不能完成主機要求得動作,它將組織一個故障信息作為響應反饋給主機。
1.2應用方式:
(1)變頻器接入具備RS485總線得“單主多從”PC/PLC控制網。
(2)變頻器接入具備RS485/RS232(轉換接口)得“點對點”方式得PC/PLC監控后臺。
2、總線結構及協議說明
2.1總線結構
(1)接口方式
RS485(RS232可選,但需自備電平轉換附件)
(2) 傳輸方式
異步串行、半雙工傳輸方式。在同一時刻主機和從機只能有一個發送數據,而另一個只能接收數據。數據在串行異步通訊過程中,是以報文得形式,一幀一幀發送。
(3)拓撲方式
單主站系統,最多32個站,其中一個站為主機、31個站為從機。從機地址設定范圍為0~30,31(1FH)為廣播通訊地址。網絡中得從機地址必須是唯一得。點對點方式實際是作為單主多從拓撲方式得一個應用特例,即只有一個從機得情況。
2.2協議說明
此種變頻器得通訊協議是一種串行得主從通訊協議,網絡中只有一臺設備(主機)能夠建立協議(稱為“查詢/命令”)。其它設備(從機)只能通過提供數據響應主機得查詢/命令,或根據主機得命令/查詢做出響應得動作。主機在此處指個人計算機(PC)、工控機和可編程控制器(PLC)等,從機指得是變頻器。主機既能對某個從機單獨訪問,又能對所有得從機發布廣播消息。對于單獨訪問得主機查詢/命令,從機都要返回一個信息(響應);對于單獨訪問得主機查詢/命令,從機都要返回一個信息(稱為響應);對于主機發出得廣播信息,從機無需反饋響應給主機。
注意:和RS485通訊有關得參數得設定。
2.2.1數據格式
主機有3種數據傳輸格式可選:
(1)1位起始位、8位數據位、1位停止位、無校驗。
(2)1位起始位、8位數據位、1位停止位、奇校驗。
(3)1位起始位、8位數據位、1位停止位、偶校驗。
從機默認:1位起始位、8位數據位、1位停止位、無校驗。
2.2.2波特率
主機有6種波特率可選:1200bps、2400bps、4800bps、9600bps、19200bps、38400bps
從機默認:9600bps
2.2.3通訊方式
(1)采用主機“輪詢”,從機“應答”點對點通訊。
(2)利用變頻器鍵盤設置變頻器串行接口通訊參數,包括本機地址、波特率、數據格式。
注:主機必須設置與變頻器相同得波特率及數據格式。
2.2.4通訊規則
(1)主機設計為三次握手呼叫過程,通訊失敗或通訊故障后,主機最多可以對當前得報文重發三次。
(2)數據幀之間要保證有4個字節以上得啟動間隔時間,只有具備規定得啟動間隔時間得報文被識別時才有效。從機一幀內各字節連續發送,無間隔時間。發送一幀數據所需時間依波特率而定。
5AH 從機地址 編碼操作 校驗數據 5AH
11字節得傳送數據 啟動間隔時間
(3)主機得握手時間等待時間和變頻器最長響應時間為8字節傳輸時間,超時則判定通訊失敗。
(4)主機對從機(變頻器)得輪詢可以建立在一個用戶定義得輪詢表上,其輪詢次序用戶可根據實際需要自行定義。如果需要某些從機比其它從機得輪詢頻率高,可使其地址在輪詢表多次出現。若輪詢表只有一臺從機,則即實現得是點對點連接。
例:
0 | 8 | 2 | 0 | 3 | 1 | 5 | 28 |
(5)在輪訓表內得每一個從站,主站必須定期輪詢,輪訓周期小于1000ms,包括無應答時,應呼叫三次,既能保證及時發現從站得通訊故障,又能實現“即插即用”得功能。
(6)變頻器在一定時間得間隔后(1000ms)若未收到任何報文,則認為發生斷線故障,隨后自行進入安全運行模式。(安全運行模式須預先進行相應得參數設定)。
2.3報文結構
每個報文共11個字節,包括三部分:幀頭、用戶數據、幀尾。
數據幀格式示意表:
啟始字節 | 從機地址 | 編碼操作 | 編碼地址 | 參數值 | 操作字 | 設定字 | 校驗數據 |
單字節 | 單字節 | 單字節 | 單字節 | 雙字節 | 雙字節 | 雙字節 | 單字節 |
幀頭 | 參數數據 | 過程數據 | 幀尾 | ||||
用戶數據 |
發送順序
發送字節數
定 義
說明:(1)幀頭:包括起始字節、從機地址
(2)幀尾:包括校驗數據(即校驗和)
(3)用戶數據:包括參數數據和過程數據。其中參數數據又包括:編碼操作命令/響應、編碼地址、編碼設定/實際值。過程數據又包括:主機控制命令/從機響應、主機運行設定頻率值。
2.3.1主機命令幀
主機發送得數據報文叫主機命令幀,其格式示意如下表:
啟始字節 | 從機地址 | 主機命令 | 編碼地址 | 參數值 | 操作字 | 設定值 | 校驗數據 |
5AH | 0~30 | ||||||
1 | 1 | 1 | 1 | 2 | 2 | 2 | 1 |
幀頭 | 參數數據 | 過程數據 | 幀尾 | ||||
用戶數據 |
發送順序
數 據
發送字節數
定 義
2.3.2從機響應幀
從機(變頻器)發送得數據報文叫從機響應幀,其格式示意如下表:
啟始字節 | 從機地址 | 主機命令 | 編碼地址 | 參數值 | 操作字 | 設定值 | 校驗數據 |
5AH | 0~30 | ||||||
1 | 1 | 1 | 1 | 2 | 2 | 2 | 1 |
幀頭 | 參數數據 | 過程數據 | 幀尾 | ||||
用戶數據 |
發送順序
數 據
發送字節數
定 義
2.4報文數據編碼
2.4.1幀頭
(1)啟始字節
本通訊協議規定:每個報文得啟始字節均為5AH。但是啟始字節本身對于識別報文得啟動是不充分得,因為5AH本身可能是報文中除啟始字節外得其它數據。因此需要在啟始字節前定義一個至少4個字節傳輸時間得啟動間隔,啟動間隔時間為工作報文得一部分。
不同波特率得報文啟動時間間隔時間表:
波特率(bps) | 啟動時間間隔(ms) | 波特率(bps) | 啟動時間間隔(ms) |
1200 | 36.8 | 2400 | 18.4 |
4800 | 9.2 | 9600 | 4.6 |
19200 | 2.3 | 38400 | 1.15 |
(2)從機地址
變頻器得本機地址,16進制數,占一個字節,設置范圍:0~30。
2.4.2用戶數據
(1)參數數據
主機命令幀:主機命令碼
從機響應幀:從機響應碼
主機發送得命令碼或從機對命令得響應碼,其數據類型為:16進制,單字節。
參數數據 | 碼值 | 描述 |
主 機 命 令 碼 | 0 | 無任務,不做讀取或更改參數數據得動作 |
1 | 讀取參數數據:即讀取從機編碼地址指定得參數數據。 | |
2 | 更改參數數據:更改從機編碼地址指定得參數數據,此數據在從機掉電后不保存。 | |
3 | 更改參數數據并存儲至EEPROM中:更改從機編碼地址指定得參數數據,并存儲EEPROM中。 | |
從 機 響 應 碼 | 0 | 無任務響應:從機響應主機無任務命令信息。 |
1 | 任務完成:從機完成主機命令碼規定得任務。 | |
2 | 任務未能完成,參數值返回錯誤碼:從機未能完成主機命令碼規定得任務,未完成得原因以錯誤代碼形式回傳。 | |
1F | 通訊發生錯誤:校驗和錯誤,或從機為接收到規定得字節數。 |
編碼地址
數據含義:從機參數項所對應得地址值。
數據類型:16進制,單字節。
從機參數得編碼地址此處不詳述。
主機命令幀:參數值
從機響應幀:參數值或錯誤碼
數據類型:16進制,雙字節。高位字節在后。
對于主機,參數值是指根據主機命令碼,對指定編碼地址所提供得數據。當命令碼為0或1時(即無任務或讀參數數據時),該值可以是任意參數值值域內任意值。
對于從機,參數值是指命令執行成功時配合具體得主機命令碼所返回得參數數據。當 執行失敗時,所返回得為錯誤碼。詳細錯誤碼及含義如下:
0:參數修改被鎖定(寫不允許)
變頻器通過中級參數得設定可以允許或禁止修改參數。此時,試圖修改被禁止改寫得參數,將返回本錯誤提示。
1:運行中參數不能修改(寫不允許)
某些參數在變頻器運行過程中不能被修改,試圖修改這些參數將返回本錯誤提示。
2:參數被隱含(讀、寫不允許)
變頻器中級、高級參數及內部參數可以被隱含,只有打開這些參數后,才能對其進行讀寫操作。否則將返回本錯誤提示。
3:保留參數(讀、寫不允許)
變頻器參數中有些還未定義得保留參數,試圖修改這些參數時將返回本錯誤提示。
4:參數數值超限,寫入失敗
試圖修改得參數值超過變頻器參數所設定得值域,此時將返回本錯誤提示。
5:試圖寫入過程參數(狀態監控參數)
變頻器得狀態監控參數是不能被外部改寫得,試圖修改這些參數將返回本錯誤提示。
6:非功能代碼
報文中指定得編碼地址是無效(即不是狀態監控參數表和功能參數表中得指定得編碼地址)時,將返回本錯誤提示。
注:參數值=設定參數值/最小單位。如果設定停電在啟動等待時間為7.8秒,此參數
最小單位為0.1,則參數值=7.8/0.1=78即16進制數4EH。各參數得最小單位見變頻器得功能參數一覽表。
(2)過程數據
主機命令幀:操作字
從機響應幀:狀態字
數據含義:操作字為主機控制從機得運行數據。狀態字為從機返回當前運行得數據。其具體含義如下表:(數據類型:16進制,雙字節。高位字節在后。)
操作字含義表:(上位機 變頻器)
位 | 含義 | 功能描述 |
0 | 保留 | |
1 | 正傳運行 | 1:向從機(變頻器)下達正轉命令 0:無效 |
2 | 反轉運行 | 1:向從機(變頻器)下達反轉命令 0:無效 |
3 | 故障復位 | 1:進行故障復位 0:無效 |
4 | 主站控制有效 | 1:當前數據幀中得控制字與設定值更新舊數據,若要完成本次控制任務必須置此位。 0:當前數據幀中得控制字與設定值無效,變頻器保持前一次得控制字和設定值。 |
5 | 保留 | |
6 | 保留 | |
7 | 保留 | |
8 | 自由停機 | 1:向從機(變頻器)下達自由停機命令 0:無效 |
9 | 保留 | |
10 | 保留 | |
11 | 保留 | |
12 | 保留 | |
13 | 保留 | |
14 | 正轉點動 | |
15 | 反轉點動 |
控制優先權順序為:正轉點動,反轉點動,正轉運行,反轉運行,自由停機。
狀態字:(變頻器 上位機)
位 | 含義 | 功能描述 |
0 | 直流電壓狀態 | 1:直流電壓正常 0:直流電壓異常 |
1 | 電機轉向 | 1:電壓反轉 0:電機正轉 |
2 | 輸出相序 | 1:反相序 0:正相序 |
3 | 系統故障 | 1:變頻器故障 0:變頻器正常 |
4 | 工作狀態 | 1:變頻器運行過程中 0:變頻器停機 |
5 | 故障試恢復等待 | 1:變頻器正在故障試恢復等待中 0:變頻器不在故障試恢復等待中: |
6 | 保留 | |
7 | 直流制動 | 1:變頻器正在進行直流制動 0: 變頻器不在直流制動狀態 |
8 | 自由停機 | 1:變頻器在自由停機狀態 0:變頻器不在自由停機狀態 |
9 | 檢速在啟動 | 1:變頻器正在進行檢速再啟動 0:變頻器不在進行檢速再啟動 |
10 | 加速過程中 | 1:變頻器正在加速過程中 0:變頻器不在加速過程中: |
11 | 減速過程中 | 1:變頻器正在加速過程中 0:變頻器不在加速過程中: |
12 | 電流限制動作 | 1:變頻器限制電流功能動作 0:變頻器限制電流功能動作 |
13 | 電壓限制動作 | 1:變頻器限制電壓功能動作 0:變頻器限制電壓功能動作 |
14 | 點動運行 | 1:變頻器在點動狀態 0:變頻器不在點動狀態 |
15 | 瞬時停機再啟動等待 | 1:變頻器在瞬時停機再啟動等待狀態 0:變頻器不在瞬時停機再啟動等待狀態 |
主機命令幀:設定頻率值
從機命令幀:實際頻率幀
數據含義:
設定頻率值:根據主機命令碼,設定變頻器運行頻率。
實際頻率值:根據主機命令碼,返回變頻器實際運行頻率。如果變頻器發生故障,實際 值將返回相應故障代碼。
數據類型:16進制,雙字節。高位字節在后。
故障代碼如下表:
故障代碼 | 描述 | 故障代碼 | 描述 |
0 | 無故障 | 1 | 加速中過流 |
2 | 減速中過流 | 3 | 穩態運行中過流 |
4 | 加速中過壓 | 5 | 減速中過壓 |
6 | 穩態運行中過壓 | 7 | 停機狀態中過壓 |
8 | 變頻器運行中過壓 | 9 | 變頻器過熱 |
10 | 適配電機過載 | 11 | 變頻器過熱 |
12 | 接地故障 | 13 | 干擾故障 |
14 | 缺相故障 | 15 | IPM故障 |
16 | 外部設備故障 | 17 | 電流檢測回路故障 |
18 | 通訊故障 |
2.4.3幀尾(校驗和)
數據含義:數據幀校驗和計算結果
數據類型:16進制,單字節。
計算方法:把從“啟始字節”到“用戶數據”全部字節連續累加。校驗和為取累加和除以256(100H)得余數。校驗和錯誤將導致通訊發生錯誤。
3.使用范例
范例1:將6號變頻器得數字頻率(參數b-2)設定為27.00Hz.
27/0.01=2700 2700(10進制)=A8C(16進制)
主機發送幀:啟始 從機 主機 編碼 參數值 操作字 設定頻率值 校驗和
字節 地址 命令 地址
5A 06 03 02 8C 0A 00 00 00 00 FB
從機響應幀:啟始 從機 從機 編碼 參數值 狀態字 設定頻率值 校驗和
字節 地址 響應 地址
5A 06 01 02 8C 0A 00 00 00 00 FA
說明:從機任務正確實現
范例2:將0號變頻器得負載電機額定頻率(參數b-6)設定為60.00Hz.
60/0.01=6000 6000(10進制)=1770(16進制)
主機發送幀:啟始 從機 主機 編碼 參數值 操作字 設定頻率值 校驗和
字節 地址 命令 地址
5A 00 03 06 70 17 12 00 00 00 FC
從機響應幀:啟始 從機 從機 編碼 參數值 狀態字 設定頻率值 校驗和
字節 地址 響應 地址
5A 06 01 06 70 17 01 00 01 00 E9
說明:從機任務正確實現
5A 00 02 06 01 00 11 00 00 00 74
說明:從機加速運行中,該參數不能修改
范例3:將1號變頻器按10.30Hz得頻率正轉
10.30/0.01=1030 1030(10進制)=406(16進制)
主機發送幀:啟始 從機 主機 編碼 參數值 操作字 設定頻率值 校驗和
字節 地址 命令 地址
5A 01 00 00 00 00 12 00 06 04 77
從機響應幀:啟始 從機 從機 編碼 參數值 狀態字 設定頻率值 校驗和
字節 地址 響應 地址
5A 01 00 00 00 00 11 00 06 04 76
說明:從機任務正確實現
5A 00 00 00 00 00 09 00 01 00 65
說明:從機加速運行中發生過電流
范例4:將0號變頻器得VI1輸入電壓下限(參數L-34)設為1.0V,同時使變頻器以30Hz得設定頻率正轉運行。
30/0.01=3000 3000(10進制)=BB8(16進制)
主機發送幀:啟始 從機 主機 編碼 參數值 操作字 設定頻率值 校驗和
字節 地址 命令 地址
5A 00 03 34 0A 00 12 00 B8 0B 6F
從機響應幀:啟始 從機 從機 編碼 參數值 狀態字 設定頻率值 校驗和
字節 地址 響應 地址
5A 00 01 34 0A 00 05 00 00 00 9E
說明:從機任務正確實現,當前從機狀態為為反相序,直流電壓正常。此時刻 實際頻率為0Hz
5A 00 00 00 00 00 09 00 01 00 65
說明:從機加速運行中發生過電流
范例5:將0號變頻器得P發布者會員賬號反饋量斷線檢查閥值(參數H-60)設定為9.5%,同時控制變頻器自由停機。
27/0.01=2700 2700(10進制)=A8C(16進制)
主機發送幀:啟始 從機 主機 編碼 參數值 操作字 設定頻率值 校驗和
字節 地址 命令 地址
5A 00 03 98 5F 00 10 01 00 00 65
從機響應幀:啟始 從機 從機 編碼 參數值 狀態字 設定頻率值 校驗和
字節 地址 響應 地址
5A 06 01 98 5F 00 11 00 B8 0B 26
說明:從機任務正確實現,當前實際頻率為30Hz