999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

LabWindows/CVI多線程技術在舵機測試軟件中的應用

2011-01-17 05:16:00陶小亮
中國測試 2011年1期
關鍵詞:信號系統

陶小亮,牛 振

(中國空空導彈研究院,河南 洛陽 471009)

LabWindows/CVI多線程技術在舵機測試軟件中的應用

陶小亮,牛 振

(中國空空導彈研究院,河南 洛陽 471009)

在舵機性能測試過程中,需要對工作電流、舵偏角電壓信號、編碼器角度信號和扭矩信號進行實時高速采集。針對虛擬儀器開發平臺LabWindows/CVI的多線程機制進行了詳細的介紹,并給出了其在舵機測試中的應用。測試結果表明,利用多線程技術能夠更好地開發并行任務,加快系統的響應速度,提高執行效率。

多線程;舵機測試;數據采集;LabWindows/CVI系統

1 引 言

在舵機性能測試過程中,需要對工作電流、舵偏角電壓信號、編碼器角度信號和扭矩信號進行實時高速采集。

如果采用傳統的單線程順序執行的方式,則采集任務一旦開啟,操作界面將無法響應用戶操作,在需要用軟件緊急切斷電源時系統無法及時響應,產生不可預測的后果。另外,用戶操作界面時會影響數據采集,系統實時性變差,甚至可能出現“死機”現象。

多線程技術是指操作系統支持一個進程中執行多個線程的能力,可以實現任務的并行執行,提高CPU的利用率,保證數據采集的實時、高效。基于LabWindows/CVI多線程機制開發的測試軟件,很好地解決了上述問題。

2 系統組成

舵機測試系統硬件架構如圖1所示。系統工作時,主控計算機通過串口卡向舵機發送指令并接收反饋信息。舵偏角電壓信號、加載力矩信號以及功率電源電流信號由數據采集卡實時采集。編碼器輸出的舵偏角脈沖信號由定時/計數卡進行差動計數,獲得舵機的實際工作位置。

圖1 系統硬件組成

3 多線程技術

3.1 多線程的概念

多線程是指操作系統支持一個進程中執行多個線程的能力[1-2]。當一個線程等待用戶響應或大量計算結果時,另一個線程可以繼續其他處理,使得進程總處于運行態,隨時進行響應,從而提高系統的響應效率。一個多線程的應用程序實際上在其內部實現了多任務擴展,為代碼賦予了并行執行的特性,因而可以執行某些實時性或隨機性很強的操作,提高對CPU的利用率,加快程序的信息處理速度。

LabWindows/CVI提供了兩種在次線程中運行代碼的高級機制,分別是線程池(Thread Pools)和異步定時器(Asynchronous Times)。線程池適用于需要不連續的執行或在循環中執行的任務,而異步定時器適合于在固定時間間隔內執行的任務。結合舵機測試的不定時性這個實際情況,采用線程池的方法進行多線程控制。以下詳細介紹如何利用線程池來創建、運行次線程。

3.2 線程池

線程池的多線程編程函數庫包含了大量的支持多線程程序開發的函數和函數庫,可方便地編寫線程函數、創建線程、終止線程和設定線程優先級等多線程編程的基本內容[3-4]。

利用線程池來執行次線程中的代碼,可以調用Utility Library庫中的CmtScheduleThreadPoolFunction函數,把想要在次線程中執行的函數名傳遞給它,線程池就會調度這個函數在它的一個線程中運行[5]。而具體在哪個線程中運行函數由CmtScheduleThread PoolFunction函數執行查詢得到。CmtScheduleThread PoolFunction函數的原型為:

int CmtScheduleThreadPoolFunction(int pool Handle,ThreadFunctionPtr threadFunction,void*threadFunctionData,int*threadFunctionID);

向CmtScheduleThreadPoolFunction傳遞的函數被稱為線程函數。線程池的線程函數可以起任何名字,但必須有以下原型:

int CVICALLBACK dataThreadFunction(void*functionData);該函數名在線程池調用時傳遞到CmtScheduleThreadPoolFunction函數的第二個參數中。

CmtScheduleThreadPoolFunction函數的第一個參數表示用哪一個線程池調度函數。如傳遞DEFAULT_THREAD_POOL_HANDLE常量表示要使用缺省的線程池,用戶不能更改缺省線程池的狀態,線程結束時不需要調用cmtDiscardThreadpool函數來結束線程查詢。

3.3 多線程在舵機性能測試系統中的應用

在該測試系統的軟件開發中,采用LabWindows/CVI作為開發平臺。它將功能強大、使用靈活的C語言與用于數據采集分析和顯示的專業測控工具有機結合起來。它的集成化開發環境、交互式編程方法、豐富的庫函數和可視化面板,為開發檢測系統、數據采集系統和過程監控系統等應用軟件提供了一個理想的軟件開發環境。特別是它能與NI公司的硬件設備達到無縫結合,簡化了對底層硬件的設置。

在編寫舵機性能測試軟件時,充分利用了LabWindows/CVI的多線程中的線程池技術。按照軟件的功能需求,把應用程序需要處理的任務分為用戶界面控制、數據采集、數據實時顯示以及數據分析和保存等。測試軟件將用戶界面作為主線程,將數據采集、數據實時顯示、數據分析作為次線程,這樣多個線程同時執行,在相同的時間內可以并行完成更多的任務,既加快了系統的反應速度,又提高了執行效率。基于多線程的舵機測試系統軟件結構如圖2所示。

圖2 多線程測試系統軟件結構

3.3.1 界面控制線程

用LabWindows/CVI用戶界面編輯器可輕松地建立復雜的交互式面板。在設計GUI的過程中,開發人員常常需要確定程序如何獲取并顯示數據,對面板、控件和對話框如何操作等問題,因此用戶界面成為程序設計的起點,把它作為程序設計的主線程,及時處理各種交互信息。

舵機測試軟件中,用戶界面的顯示、測試信號的選擇、波形數據的顯示、按鈕控件等交互操作都在程序的主線程中實現。

3.3.2 數據采集線程

該線程在啟動后,負責數據采集任務,包括扭矩信號的采集、舵偏角信號采集、光電編碼器的角度信號采集。以下給出數據采集線程的程序主體。

3.3.3 功率電流采集和實時顯示線程

舵機是大功率執行機構,其工作時電流比較大,通過監測電流可以反映出舵機在不同信號和載荷下的工作狀態。系統通過GPIB通信實現電源的參數設置、電源的打開與關閉、電流的實時采集與顯示。由于需要實時監測舵機工作時的電流并在意外情況下及時切斷電源,需要把這部分單獨放在一個線程中進行。測試中,當舵機開始動作就觸發此線程進行功率電流采集。以下給出該部分的程序主體。

3.3.4 數據分析和實時顯示線程

利用多線程技術對采集到的數據進行實時動態顯示,便于測試人員更好地監測系統當前的狀態及性能測試。系統獲取數據后,要對數據進行格式化、歸一化、信號處理、曲線擬合等處理,以衡量測試的結果是否滿足性能指標要求。以下給出該部分的程序主體。

圖3所示為使用多線程技術時實際測試的主界面。如果不使用多線程,而是把電源控制、數據采集、數據顯示和分析放在主線程中,則程序一旦開始運行,在采集任務結束之前,主界面無法響應用戶操作,表現為點擊按鈕、拖動界面沒反應,整個程序呈現“死機”的狀態。因此如果測試過程中,由于意外需要緊急切斷功率電源時系統將無法響應操作,導致不可預測的結果。該文使用多線程技術在不斷刷新主界面,響應用戶操作(如緊急關閉電源、及時分析數據)的同時,在后臺同步進行數據采集和分析、電流的實時采集和顯示,這樣在相同的時間內可以并行完成更多的任務,既加快了系統的反應速度,又增加了測試的安全性和可靠性。

4 結束語

該文利用多線程技術開發了舵機性能測試系統的軟件。經過多次實際測試,系統能夠準確地進行數據采集和處理,并大大提高了系統的效率和可靠性,現已成功應用到某型號舵機的性能測試中。

[1]成鳳敏,蘇小光.多線程技術在虛擬儀器軟件開發中的應用[J].中國測試技術,2008,34(2):48-50.

[2]姜守達,吳昌盛.LabWindows/CVI多線程機制在數據采集中的應用[J].計算機應用,2004,23(8):56-57.

[3]National Instrument Corp.Multithread in LabWindows/CVI[Z].2000.

[4]National Instrument Corp.LabWindows/CVI Programmer Reference Manual[Z].2001.

[5]劉君華.虛擬儀器編程語言LabWindows/CVI教程[M].北京:電子工業出版社,2005.

[6]劉君華.基于LabVIEW的虛擬儀器設計[M].北京:電子工業出版社,2003.

Application ofmultithread in servo-actuator testing software based on LabW indows/CVI

TAO Xiao-liang,NIU Zhen
(CAMA,Luoyang 471009,China)

In the performance test of servo-actuator, the currency, servo-angle signal, coder signal and torque signal are required to be collected rapidly.In this paper,multithread technology in LabWindows/CVI and its application in performance test of servo-actuator were introduced.The results of test prove that the multithread technology is more effective in developing parallel task than current techniques.By using multithread,the response and efficiency of the system can be greatly enhanced.

multithread;servo-actuator test;data acquisition;LabWindows/CVI

TJ02;TP273

A

1674-5124(2011)01-0081-03

2010-03-05;

2010-05-26

陶小亮(1983-),男,河南焦作市人,工程師,碩士,主要從事智能檢測與控制研究。

猜你喜歡
信號系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
完形填空二則
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
孩子停止長個的信號
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
基于LabVIEW的力加載信號采集與PID控制
主站蜘蛛池模板: 18禁色诱爆乳网站| 老司国产精品视频| 亚洲欧洲国产成人综合不卡| 日韩小视频在线播放| 久久久久中文字幕精品视频| 亚洲精品自拍区在线观看| 中文字幕在线一区二区在线| 国产性生交xxxxx免费| 久久77777| 亚洲视频色图| 啪啪永久免费av| 伊人色天堂| 国产亚洲精品97在线观看| 精品国产网| 最新国产麻豆aⅴ精品无| 91日本在线观看亚洲精品| 成人精品亚洲| 一级毛片免费播放视频| 9cao视频精品| 国产麻豆福利av在线播放| 在线观看的黄网| 亚洲无限乱码一二三四区| 少妇精品在线| 日韩久久精品无码aV| 国产又色又刺激高潮免费看| 国产成人盗摄精品| 久久人妻系列无码一区| 亚洲天堂视频在线观看免费| 久久精品亚洲中文字幕乱码| 国内精品自在自线视频香蕉| 动漫精品中文字幕无码| 91原创视频在线| 国产在线观看人成激情视频| 找国产毛片看| 99在线免费播放| 欧美成人综合在线| 国产一级片网址| 国产毛片片精品天天看视频| 人人艹人人爽| 欧美成人综合视频| 国产成人欧美| 欧美第一页在线| 91在线国内在线播放老师| 日韩东京热无码人妻| 国产无码性爱一区二区三区| 成人免费视频一区| 国内老司机精品视频在线播出| 亚洲青涩在线| 亚洲不卡av中文在线| 亚洲国产精品VA在线看黑人| 亚洲电影天堂在线国语对白| 91网址在线播放| 国产成人AV男人的天堂| 色综合激情网| 91破解版在线亚洲| 波多野结衣一区二区三视频| 最新亚洲人成无码网站欣赏网| 国产成人综合在线视频| 国产精品亚洲片在线va| 四虎永久免费地址| 四虎免费视频网站| 欧美成一级| 在线观看免费人成视频色快速| 色综合久久88| 青青国产视频| 欧美第二区| 欧美日韩在线第一页| 香蕉久久永久视频| 国产亚洲精久久久久久无码AV| 久久美女精品| 91视频99| 国产成人午夜福利免费无码r| 亚洲色图欧美一区| 国产簧片免费在线播放| 欧美特黄一级大黄录像| 免费三A级毛片视频| 在线观看的黄网| 成年看免费观看视频拍拍| 国产真实二区一区在线亚洲| 91 九色视频丝袜| 午夜限制老子影院888| 亚洲熟女中文字幕男人总站|