基于LabVIEW的PC機與變頻器的串口通信
1 引言
本文引用地址:http://dyxdggzs.com/article/163822.htm近年來(lái),隨著(zhù)電力電子技術(shù)、微電子技術(shù)及大規模集成電路的發(fā)展,生產(chǎn)工藝的改進(jìn)及功率半導體器件價(jià)格的降低,變頻器調速越來(lái)越被工業(yè)上所采用。在摩擦學(xué)測試系統中,用變頻器控制電機實(shí)現試驗設備的速度調節已經(jīng)成為一種非常重要和有效的控制手段。
由于摩擦學(xué)試驗機和摩擦學(xué)測試的特殊性,摩擦學(xué)試驗中的變頻器調速有著(zhù)不同于一般工業(yè)變頻控制的特點(diǎn)。一方面,要求變頻器調速能夠在較大范圍內滿(mǎn)足摩擦學(xué)測試的要求,使得試驗結果具有可比性;另一方面,摩擦磨損試驗過(guò)程中,對控制有一些特殊的要求,例如需要特殊的速度、運動(dòng)的非周期性以及設備的快速啟動(dòng)和停止等。在一些疲勞試驗中,甚至要求電機進(jìn)行寸動(dòng)或者往復運動(dòng)以檢測材料的性能,有的試驗現場(chǎng)對人體的損害比較大,需要遠距離進(jìn)行控制和檢測電機的運轉情況。所以,必須利用計算機程序控制變頻器實(shí)現一些特殊控制功能。這就要求計算機與變頻器之間存在有效的通訊功能。
本文針對摩擦學(xué)試驗研究的特點(diǎn),采用廣泛使用的LabVIEW編程語(yǔ)言,開(kāi)發(fā)用于東元7200MA變頻器運行頻率的控制串口通訊程序。
2 通訊系統總體設計
串行通信是一種常用的數據傳輸方法,占用的通信線(xiàn)路少、成本低,在工程通信方式上占有重要地位。本文以?xún)戎肦S 485通訊接口的東元7200MA變頻器為研究對象,設計基于LabVIEW的控制變頻器串口的通訊系統。圖1所示為系統總體結構框圖。

計算機通過(guò)RS 485通信口與變頻器相連,對變頻器進(jìn)行控制。RS 485串行總線(xiàn)采用平衡發(fā)送和差分接收的方式傳輸信號,具有傳輸距離遠(約1 219 m)、抗干擾能力強等特點(diǎn)。而且總線(xiàn)收發(fā)器具有高靈敏度,能檢測低至200 mV的電壓,故傳輸信號能在千米以外得到恢復。由于目前PC機普遍只配有RS 232串口,所以在計算機上連接一個(gè)RS 232/485轉換器,然后再與變頻器的串口相連。將各種動(dòng)作按照通訊協(xié)議編寫(xiě)成命令,發(fā)送給變頻器,就達到了通過(guò)PC機來(lái)控制變頻器的目的。同樣,PC機讀取數據也必須由變頻器根據RS 485通訊協(xié)議進(jìn)行識別和響應才能完成。
3 軟件實(shí)現方案
目前,串口通信程序的開(kāi)發(fā)在Windows操作系統下一般用VB,VC,Delphi等編寫(xiě)。當采用VB,VC開(kāi)發(fā)程序時(shí),操作者不得不面對非常繁瑣的API函數編程;而Delphi沒(méi)有自帶的串口通信控件,在它的幫助文檔里也沒(méi)有提及串口通信,給編程人員帶來(lái)許多不便。
LabVIEW是美國NI公司開(kāi)發(fā)的一種基于圖形化的編程語(yǔ)言,它內置數據采集、儀器控制、過(guò)程監控和自動(dòng)測試功能,包括VISA,GPIB,RS 232,DAQ等模塊和基本分析庫;提供強大的數據分析、處理、顯示功能的同時(shí)還保證系統靈活性;LabVIEW具有開(kāi)放的系統互連性及廣泛的硬件支撐,具有DDL和CIN接口,可以與多種設備直接連接;流程圖式的開(kāi)發(fā)環(huán)境大大簡(jiǎn)化了程序開(kāi)發(fā)的復雜程度,縮短開(kāi)發(fā)周期;界面良好、易于理解,方便調試和維護,用它來(lái)實(shí)現PC機與變頻器的串口通信是最為簡(jiǎn)捷的方法之一,已經(jīng)具有較廣大的用戶(hù)群。
設置東元7200MA系列變頻器所涉及的主要參數有端口號、波特率、數據位等,具體說(shuō)明如表1所示。

本程序采用中文版LabVIEW 8.2進(jìn)行通訊編程,在編寫(xiě)程序之前,安裝的NI VISA驅動(dòng)必須和LabVIEW程序版本匹配,避免編程出錯。從變頻器設置轉數到啟動(dòng)再到停止有一個(gè)順序和時(shí)間過(guò)程,因此本程序主要采用順序結構和層疊式結構實(shí)現。具體步驟如下:
(1)初始化串口,利用VISA Configure SerialPort.VI設置PC與變頻器通信的基本參數:端口號、波特率、奇偶校驗、數據位、停止位、緩沖區大??;
(2)利用VISA Write.VI寫(xiě)端口,根據變頻器的通訊協(xié)議把設定轉數的動(dòng)作參數變成命令符,然后把整個(gè)命令幀以ASCII碼字符串的形式發(fā)送到串口;
(3)利用Wait(ms).VI延時(shí)等待,主機發(fā)送命令到變頻器,變頻器判斷命令正確后將數據返回給主機需要一定時(shí)間,故這一步需要設置延時(shí)等待。等待時(shí)間可根據變頻器的響應時(shí)間確定,也可以通過(guò)LabVIEW的中的工具確定出程序運行時(shí)間來(lái)設置等待時(shí)間;
(4)再利用VISA Write.VI寫(xiě)端口,把啟動(dòng)的動(dòng)作參數寫(xiě)成命令幀并以字符串形式寫(xiě)入VISA Write.VI的緩沖區。
以上4步即可完成變頻器以一定的轉數轉動(dòng)。寫(xiě)命令到串口的過(guò)程在While循環(huán)里進(jìn)行,變頻器啟動(dòng)后不需要停止,可以直接連續地設置變頻器的轉數來(lái)更改電機轉動(dòng)速度,While循環(huán)內采用延時(shí)等待處理,延時(shí)500 ms;
同理,停止命令以一個(gè)層疊式順序結構和上面(2),(3)兩步命令層疊進(jìn)行,同樣先需要設定變頻器轉數為零,然后延時(shí)等待,最后把停止命令以字符串形式發(fā)給串口,完成變頻器的停止動(dòng)作;
評論