劉廷章,尚曉鋒,王世松,龔安紅
(上海大學(xué)機(jī)電工程與自動化學(xué)院,上海 200072)
力矩電機(jī)是一種具有軟機(jī)械特性和寬調(diào)速范圍的特種電機(jī),具有低轉(zhuǎn)速、大扭矩、過載能力強(qiáng)、力矩波動小等特點,因此它在工業(yè)應(yīng)用和日常生活中應(yīng)用日益廣泛[1]。同時,由于惡劣工作環(huán)境的影響,電機(jī)制造工藝的限制等,常常造成電機(jī)性能的不穩(wěn)定[2],從而使對于力矩電機(jī)性能實時監(jiān)測的研究日益重要。
在電機(jī)性能實時監(jiān)測的研究過程中,常用的方法是利用硬件電路,控制芯片等組成的信號采集系統(tǒng)獲取電機(jī)運轉(zhuǎn)時的性能參數(shù),再通過軟件對參數(shù)進(jìn)行分析[3-5],從而實時監(jiān)測電機(jī)性能。在本文中,我們采用直接在設(shè)計力矩電機(jī)驅(qū)動和控制裝置的過程中,嵌入采集電機(jī)性能參數(shù)的指令,同時預(yù)留通信接口,方便上位機(jī)向電機(jī)驅(qū)動裝置發(fā)送性能參數(shù)采集命令,從而實現(xiàn)電機(jī)性能的實時監(jiān)測。本文詳細(xì)介紹了上位機(jī)利用軟件實現(xiàn)性能實時監(jiān)測的思路和方法。
近年來,我國的數(shù)控機(jī)床行業(yè)發(fā)展迅速,但在具有高精度、高速、高效、復(fù)合功能、多軸聯(lián)動等特點的高數(shù)控機(jī)床方面,自主創(chuàng)新能力不夠,一些核心技術(shù)還依賴于國外。為了顯著提升我國高檔數(shù)控系統(tǒng)的自主技術(shù)創(chuàng)新和產(chǎn)業(yè)化能力,國家設(shè)立了“高檔數(shù)控微軟提供的Mschart控件。在基于對話框的應(yīng)用中加入各個控件的方法是:打開“Project->Add To Project->Components and Controls->Registered Activex Controls”,然后選擇相應(yīng)的控件,即可將其加入到到當(dāng)前的工程中,使用時將此控件拖至對話框中即可。
為了實現(xiàn)電機(jī)性能的監(jiān)測,首先即要建立通訊。實現(xiàn) RS232串口通信的方法有三種[6],我們采用Mscomm控件來實現(xiàn),其相關(guān)設(shè)置代碼如下:
上位機(jī)向伺服裝置發(fā)送命令和返回數(shù)據(jù)的幀格式如圖5所示。
圖5 發(fā)送命令和返回數(shù)據(jù)的幀格式
例如,我們發(fā)送的的讀轉(zhuǎn)速的命令為“01303031023841033046”,其中01表示SOH,標(biāo)志通訊開始;30表示伺服裝置的編號;3031表示此指令為讀性能參數(shù)的命令;02即STX,標(biāo)志報文開始;3841表示讀取的是電機(jī)轉(zhuǎn)速;03即ETX標(biāo)志報文結(jié)束;3046為校驗。
返回數(shù)據(jù)的格式類似,我們只須提取其中的返回的數(shù)據(jù)(原始數(shù)據(jù)為16進(jìn)制),并將其轉(zhuǎn)換為10進(jìn)制即可。
只要將轉(zhuǎn)換后的數(shù)據(jù),輸出到指定的文本顯示框中,即可實現(xiàn)數(shù)據(jù)的實時顯示,同時也可實現(xiàn)數(shù)據(jù)的實時曲線繪制,主要代碼如下:
為了實現(xiàn)數(shù)據(jù)的存儲和查詢,需要使用ADO控件和DataGrid控件,前者用于連接數(shù)據(jù)庫,后者用于實現(xiàn)歷史數(shù)據(jù)的查詢。使用時需要在后者屬性選項中,將DataSource的值設(shè)置為前者的ID號。具體實現(xiàn)過程中,需要首先在Stdafx.h文件中添加如下代碼,將msado15.dll動態(tài)鏈接庫導(dǎo)入到程序中:
我們在工程所在文件夾中建立名為db1.mdb的Access數(shù)據(jù)庫后,打開它的代碼是:
我們建立一個數(shù)組aasave[4]來存儲各參數(shù)的實時值,然后將其添加到數(shù)據(jù)庫中,相關(guān)代碼如下
最終實現(xiàn)的性能監(jiān)控界面如圖6所示,點擊“查看歷史數(shù)據(jù)”按鈕后,便打開數(shù)據(jù)庫,顯示各參數(shù)的歷史數(shù)據(jù)。
圖6 力矩電機(jī)性能監(jiān)測結(jié)果
本文針對力矩電機(jī)性能實時監(jiān)測的需要,采用在電機(jī)驅(qū)動裝置中直接嵌入采集其性能指標(biāo)的固定指令的方式來監(jiān)測其實時性能;設(shè)計了力矩電機(jī)性能實時監(jiān)測的具體方案,以Visual C++為平臺,研究了性能監(jiān)測的實現(xiàn)技術(shù),并介紹了軟件設(shè)計思路和關(guān)鍵代碼實現(xiàn)。運行結(jié)果表明,此方案可以實時監(jiān)測力矩電機(jī)性能,顯示關(guān)鍵參數(shù)的實時數(shù)據(jù),通過實時曲線了解電機(jī)運行狀態(tài),并提供對歷史數(shù)據(jù)的查詢。
[1]張陽,陳天琴,張懷梅.基于V C++6.0的計算機(jī)控制電機(jī)測試系統(tǒng)的設(shè)計與實現(xiàn)[J].防爆電機(jī),2005,40(5):18-23.
[2]黃科.力矩電機(jī)動力學(xué)性能測試研究[D].長沙:國防科技大學(xué),2007.
[3]龍華偉,翟超,胡冬青,等.基于LabVIEW的步進(jìn)電動力機(jī)扭矩測試系統(tǒng)[J]. 計量學(xué)報,2008,29(1):60-64.
[4]孫佐.基于8XC196單片機(jī)的EPA和PTS實現(xiàn)伺服電機(jī)控制[J].組合機(jī)床與自動化技術(shù),2005(5):67-69.
[5]蔡國武,賴武軍,童俊華.基于單片機(jī)的伺服電機(jī)性能測試系統(tǒng)設(shè)計[J].上海大中型電機(jī),2009(2):54-57.
[6]王華,岳麗全,岳志高.MSComm控件在V C++6.0串口通信中的應(yīng)用[J].長春工程學(xué)院學(xué)報,2009,10(1):72-73.
[7]曲國偉,王英慧.V C++環(huán)境下利用MsChart控件對GPS數(shù)據(jù)的處理[J].計算機(jī)與現(xiàn)代化,2007(9):132-134.