摘 要:本文介紹了一種基于VB的Mscomm控件進行計算機與三菱變頻器通訊的軟件設計方法,實現了計算機對變頻器的通訊與監控,包括運行控制、狀態監測、參數設置及校驗。
關鍵詞:VB 三菱變頻器 監控軟件
1 概述
變頻器在各種工業場合中有著廣泛的應用,在使用變頻器時,需要合理地設置其工作參數,以使整個變頻調速系統能夠滿足工作要求,并盡可能的在最佳狀態下運行。變頻器的參數不僅數目眾多,而且許多參數之間存在一定的關聯。在一些比較復雜的運行場合,設置參數時需要根據系統的工作要求以及變頻器的功能進行綜合分析,通盤考慮。三菱變頻器的參數設置可以通過變頻器附帶的操作面板進行,但是由于操作面板的結構非常緊湊,上面只有小鍵盤和幾位LED顯示器,參數的設置和讀取不夠方便,操作非常繁瑣。
為了方便、直觀地對變頻器進行參數設置和運行狀態監控操作,可以采用計算機通過串行口來控制變頻器(要求變頻器具有通訊接口),也可以采用PLC+人機界面的方式,PLC可以通過數字量、模擬量或通訊接口來控制變頻器。在本系統中,通過計算機的串行口以及接口轉換電路來控制三菱變頻器,如圖1所示,并利用Visual Basic編制系統的監控軟件,從而可以方便地對變頻器的參數進行設置和校驗,并能夠直觀地控制變頻器運行和監視變頻器的工作狀態。
[align=center]

圖1 計算機與三菱變頻器的連接[/align]
2 接口轉換設計
通用的計算機一般只具有RS-232接口,而工控設備大多采用RS-485接口。本系統所用的三菱FR-E500變頻器的通訊接口就是RS-485的形式,而且它采用的是較為少見的全雙工485(共有四根數據線,接收和發送分開進行),與外部連接采用的是RJ45接口,連接電纜應采用符合EIA568標準的10BASE-T電纜。為了實現通用計算機與三菱變頻器的通訊,我們設計了專門的接口轉換電路,其結構原理圖如圖2所示。
[align=center]

圖2 接口轉換電路結構原理圖[/align]
接口轉換電路利用兩塊MAXIM接口轉換芯片(MAX202和MAX491)完成了RS232信號與RS485信號之間的轉換,其原理如圖2所示。MAX202可以實現RS232信號與TTL信號之間的轉換,MAX491可以實現全雙工RS485信號與TTL信號之間的轉換。電路中還加入了DC-DC和光電耦合器件6N137,將232側與485側的信號隔離,以提高電路的抗干擾能力。
3 通訊及監控軟件的設計
本軟件能夠控制變頻器運行,監視變頻器的運行狀態,對變頻器的參數按照功能的分類和相互的制約關系進行設置,并在將設置好的參數下載到變頻器之前根據一些規則進行校驗。軟件的整體結構如圖3所示。
[align=center]

圖3 通訊與監控軟件的整體結構[/align]
3.1 人機界面
主界面如圖4所示。在主界面中,可以直接對變頻器進行基本運行操作,并實時顯示頻率和電流的當前值。關于系統通訊參數的設置和變頻器工作參數的設置主要在通訊菜單和監控菜單中完成。
[align=center]

圖4 監控軟件的主界面[/align]
通訊菜單用來操作計算機串口,包括打開串口、關閉串口、串口初始化、當前串口狀態顯示這4個子菜單項。監控菜單用來分組設置變頻器的參數,包括頻率限制、加減速運行、點動運行、直流制動、報警原因顯示這5個子菜單項。
變頻器的參數不僅數目眾多,而且許多參數互相關聯,設置參數時需要前后呼應。本軟件將變頻器的參數按照功能和相互的制約關系分好類,作為子菜單列在監控菜單項下,按下子菜單后將彈出相應的對話框,設置與該子菜單功能有關的一系列參數。如單擊頻率限制后,會彈出如圖5所示的頻率限制參數設置對話框。
本軟件能夠根據一些規則對設置好的參數進行校驗。當用戶設置好的參數之間互相矛盾時,軟件能夠向用戶發出警告信息;當用戶設置的參數超出了常用的變頻器參數設置范圍時,軟件也能夠向用戶發出提示信息,要求用戶確認。例如設定的頻率下限低于啟動頻率時,將彈出如圖6所示的對話框警告用戶。
[align=center]

圖5頻率限制設置對話框

圖6警告對話框[/align]
3.2 數據處理
要使計算機和變頻器之間能進行正確的數據交換,必須有一個數據處理的過程,來完成人機界面中的數據、指令與符合變頻器通訊協議數據格式的數據之間的轉換。數據處理包括兩個方面的內容,一是要將人機界面上的命令或輸入數據轉換為變頻器能識別的數據格式,二是分析變頻器返回的數據,將其轉換成實際值,在人機界面上顯示出來。
計算機與變頻器之間的數據通訊執行過程如圖7所示。
[align=center]

圖7 計算機與變頻器之間的數據通訊執行過程[/align]
圖7中的三種數據具體的數據格式如下:

[注] ENQ、ACK、NAK、STX、ETX是控制代碼,分別表示通訊請求、未發現數據錯誤、發現數據錯誤、數據開始、數據結束,它們都對應著特定的ASCII碼。
以寫入頻率為例,按照通訊請求數據的格式定義要發送的數組,依次發送ENQ,變頻器站號,設定頻率寫入的指令代碼,要寫入的頻率值,總和校驗。其中總和校驗不包括ENQ。注意,數據在計算機和變頻器之間使用ASCII 碼傳輸。
3.3 通訊程序
三菱變頻器與PC機通訊前必須在變頻器的初始化中設定通訊規格并復位變頻器,否則通訊不能進行。需要設定的通訊規格包括變頻器站號、通訊速率、字節長、停止位長、校驗方式、等待時間等。通訊規格的設定可通過寫入相應的參數來實現。
本軟件用VB中的Mscomm控件完成對計算機串行端口的操作。Mscomm控件是VB中用于串口發送和接收數據的ActiveX控件,利用它可以方便地訪問串口。Mscomm控件有許多重要的屬性,表1中列出了本文編程時用到的幾個屬性。
[align=center]表1 MsComm控件的常用屬性

[/align]
通訊程序的流程圖如圖8所示。由于本文中軟件的主界面要實時顯示頻率和電流,需要每隔一段時間向變頻器發送讀頻率和讀電流的命令,所以發送其他控制指令如正轉、停止時,應該先停止發送讀頻率和讀電流的指令,完成后再重新發送讀電流和讀頻率的命令,這是因為同時向串口發送幾個命令會發生錯誤。讀頻率指令和讀電流指令也不能同時發送,需要交替進行。另外,要注意每向變頻器發送一個命令后,及時取走輸入緩沖區中的返回碼,以免影響下一次讀取輸入緩沖區的正確性。
[align=center]

圖8 通訊程序的流程圖[/align]
通訊程序的部分源程序如下:
⑴初始化串口的程序為:
MSComm1.CommPort = 2 ‘打開Com2
MSComm1.Settings = "9600,n,8,1"
‘設置波特率為9600Kbps,無奇偶校驗,8位數據位,1位停止位。
MSComm1.PortOpen = True ‘打開串口
⑵寫入參數,如設定頻率(以30Hz為例)寫入的程序為:
Dim outfrq(10) As Byte ‘定義要發送的數組
outfrq(0) = 5 ‘發送ENQ
outfrq(1) = 48
outfrq(2) = 49 ‘發送變頻器的站號
outfrq(3) = 69
outfrq(4) = 69 ‘發送設定頻率寫入的指令代碼
outfrq(5) = 48
outfrq(6) = 66
outfrq(7) = 66
outfrq(8) = 56 ‘發送要寫入的頻率值30Hz
outfrq(9) = 68
outfrq(10) = 55 ‘發送總和校驗碼
MSComm1.Output = outfrq ‘將通訊數據發送至串口
⑶讀出參數,如讀取變頻器當前頻率的程序為
Dim outf(6) As Byte ‘定義要發送的數組
outf(0) = 5 ‘發送ENQ
outf(1) = 48
outf(2) = 49 ‘發送變頻器的站號
outf(3) = 54
outf(4) = 70 ‘發送讀頻率的指令代碼
outf(5) = 68
outf(6) = 68 ‘發送總和校驗碼
MSComm1.Output = outf ‘發送至串口
Dim inf As Variant
inf = MSComm1.Input ‘讀輸入緩沖區,取出返回數據
注意:發送讀頻率的命令后,要過一段時間再從輸入緩沖區內讀取數據,否則會發生錯誤。這段時間是等待時間與數據校驗時間之和。
4 結束語
本文介紹了一種軟件設計方法,通過計算機的串行端口及接口轉換電路來控制變頻器,利用VB編制監控軟件,可以方便、直觀地控制變頻器的運行,監視變頻器的運行狀態,設置變頻器的參數并進行校驗。在此基礎上,還可以總結變頻器參數設置方面的規則,根據系統功能的要求,自動設置變頻器的工作參數,實現變頻器應用的“智能化”。
參考文獻:
[1] 三菱變頻調速器FR-E500使用手冊。
[2] 呂麗民。Visual Basic5.0入門與技巧。北京:人民郵電出版社,1998。
[3] 鄔寬明。單片機外圍器件實用手冊。北京:北京航空航天大學出版社,1998。
基于VB的計算機與三菱變頻器通訊及監控軟件的設計