?

基于LabVIEW的步進電機運行特性測試軟件開發

2014-07-25 07:43諶娟娟
網絡安全與數據管理 2014年5期
關鍵詞:控制卡數據類型調用

諶娟娟,巨 輝,劉 鵬

(成都信息工程學院,四川 成都 610225)

步進電機是一種能夠快速啟動、可正反轉和制動的執行元件,具有驅動簡單、控制精度較高、成本低廉等優點,被廣泛應用于生產和生活的各個場合。通常步進電機在使用之前應先了解其準確的運行特性。目前工業中步進電機的運行特性測試常采用以PLC為控制系統核心的方案,這種方案能自動實現數據的采集、顯示和處理[1],但它的成本較高。工業中需要一款成本較低、使用方便、操作簡單的運行測試系統。

LabVIEW是美國NI公司研發的一款用于測控領域的軟件,它允許使用圖形方式編程,摒棄了晦澀難懂的文本代碼,其在硬件驅動、數據采集、數據分析和數據顯示方面有著優越的表現,使之廣泛的應用于工業自動化、測試測量、運動控制、圖像處理等領域[2-3]。利用LabVIEW結合運動控制卡實現步進電機的運行特性測試且也能自動實現數據的采集、處理和顯示。LabVIEW結合運動控制卡的方案與以PLC為控制系統核心的方案相比成本低、數據采集、數據分析及顯示簡單,且LabVIEW編程比PLC編程方便、直觀、具有良好的人機交互界面。

1 實現方法

1.1 系統組成

步進電機測試系統硬件結構框圖如圖1所示。

圖1 硬件結構框圖

測試平臺中步進電機為被測對象,磁粉制動器利用磁滯原理,通過控制勵磁電流的輸入產生一定的力矩來模擬電機的加載裝置,扭矩傳感器用于測試電機特性時采集電機的模擬轉矩大小。LabVIEW作為系統的核心,調用運動控制卡中的多個函數來控制電機的轉速和轉向及采集編碼器反饋的實際位置值,并將采集到數據進行快速處理和顯示。

1.2 測試軟件的關鍵技術

在運動控制卡函數庫中主要包括的函數有:控制卡和軸設置函數、運動指令函數、制動函數、位置和狀態設置函數、位置和狀態查詢函數、I/O口操作函數和一些其他函數[4]。LabVIEW能否正確的調用并設置這些函數是整個測試系統軟件設計的關鍵部分。

LabVIEW可以通過調用函數庫節點(CLN)來調用運動控制卡中的動態鏈接庫(DDL)中的函數。調用步驟為:在程序后面板選擇“函數”→“互連接口”→“庫與可執行程序”→“調用庫函數節點”。雙擊庫函數節點,在函數選項卡中輸入庫名及選擇所需的函數,在參數選項卡中設置和增加對應函數的參數。參數的設置直接關系到應用程序接口(API)函數調用的成敗。如果API函數中參數原型為基本數據類型,LabVIEW參數的設置則非常簡單,即選擇對應的數據類型后將參數的傳遞方式設置為“數值”。

通常LabVIEW中使用的數據類型與API函數中使用的數據類型不一致。而錯誤數據類型的使用有時會造成LabVIEW運行崩潰,所以正確理解API函數的數據類型與LabVIEW的數據類型對程序正常運行具有重要意義。表1所示為幾種常用的API函數數據類型與LabVIEW數據類型的對應關系。

表1 數據類型對應表

如果API函數中參數原型為指針類型,LabVIEW則有兩種傳遞方式。一種方式是選擇參數類型為“數組”,數組格式為“數組數據指針”。此種方式的輸入方式為數組,數組的長度可以根據其需要指定[3]。另一種方式是選擇參數類型為“數值”,傳遞方式為“指針”。此種方式不需要輸入任何參數,只需要在調用API函數后通過一個數字拆分函數將測試過程中反饋回來的數據讀取。例如:讀取編碼器反饋的實際位置值函數(get_encoder),其語法為 int get_encoder(int ch,long*en_pos),其中 ch 為軸號,en_pos為一個指向實際位置的長整型指針。Lab-VIEW中函數選項卡設置如圖2所示,參數選項卡設置如圖3所示。

圖2 函數設置

圖3 參數設置

1.3 數據采集

步進電機運行特性測試程序開發的過程中除了正確調用運動控制卡函數外,編碼器反饋信號的采集也尤為重要。

程序在執行過程中需不斷地讀取編碼器反饋值,并在電機停止后自動地將測試值進行處理并顯示出來。運動控制卡中get_encoder函數專門用于讀取編碼器的反饋值,為了實現不斷讀取編碼器反饋值,則將get_encoder函數放入for循環結構中。雖然控制卡中寄存器的更新速度為1/32 M,但for循環中的采集程序執行速度遠遠低于1/32 M且速度未知,則考慮在for循環中加入定時結構且定時時間必須大于程序執行時間。經多次試驗,假如系統以電機轉速0.01 r/s為最低轉速,則將定時時間設置為10 ms。又因為LabVIEW中for循環結構的循環次數是固定的,為了實現電機停止后程序能自動及時地將測試結果顯示出來,則根據采集到數據在for循環外做判斷以停止采集程序和處理結果并顯示。數據采集程序如圖4所示。

圖4 數據采集程序

2 程序示例

本文以步進電機任意加減速曲線測試為例,展示了LabVIEW調用運動控制卡函數控制步進電機及采集編碼器反饋值的過程。程序流程圖如圖5所示。

圖5 程序設計流程圖

圖6 程序后面板

圖7 程序前面板

程序在調用初始化函數init_board后默認的將軸的最大速度設置為板卡允許的最大速度80 000 r/s。因為控制卡的輸出脈沖頻率=脈沖分辨率×倍率,所以為了獲得比較好的速度精度程序初始化之后應先調用set_maxspeed函數來設置需要達到的最大輸出脈沖頻率,設置后脈沖分辨率將重新設置。程序在調用讀取軸反饋信息函數get_encoder前應先調用set-getpos_mode函數和set_encoder_mode函數來設置編碼器反饋信號的模式及get_encoder函數獲取的位置值的來源。以步進電機任意加減速曲線測試為例的程序后面板如圖6所示,前面板如圖7所示。

綜上所述,依托于LabVIEW函數庫調用技術以及運動控制卡可以實現步進電機的運動控制及運行特性的測試,系統人機交互界面良好,可準確地對采集數據進行計算處理、顯示及存儲,且各項運行參數方便可調。本文對步進電機的運動控制及運行特性測試系統而言,具有成本低、使用方便、操作簡單等特點。

[1]蔡祖光,史鐵林.步進電動機矩頻特性測試方法研究[J].電子器件,2012(2):190-193.

[2]楊樂平,李海濤.LabVIEW程序設計與應用[M].北京:電子工業出版社,2005.

[3]陳樹學,劉萱.LabVIEW寶典[M].北京:電子工業出版社,2011.

[4]周志明.基于運動控制卡的步進電機控制系統[J].煤礦機械,2004(3):95-97.

猜你喜歡
控制卡數據類型調用
兼容多種運動控制卡的V割機數控系統關鍵技術*
如何理解數據結構中的抽象數據類型
三軸機械手控制器設計
核電項目物項調用管理的應用研究
基于運動控制卡的桁架機器人控制系統設計
基于SeisBase模型的地震勘探成果數據管理系統設計
基于系統調用的惡意軟件檢測技術研究
線上眾籌產品的特征分析與研究
基于云控制的運動控制卡硬件設計與實現*
相似度計算及其在數據挖掘中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合