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控制
主站蜘蛛池模板: 热re99久久精品国99热| 在线播放国产一区| 久久久精品久久久久三级| 中文字幕亚洲电影| 国产欧美综合在线观看第七页 | 久热这里只有精品6| 亚洲人成网站色7777| 一级毛片无毒不卡直接观看| 欧美一级黄色影院| 激情影院内射美女| 天天综合网站| 这里只有精品国产| 久青草网站| 国产一区二区丝袜高跟鞋| 午夜a级毛片| 伊人久久精品无码麻豆精品| 国产一在线观看| 欧美性爱精品一区二区三区 | 国产综合色在线视频播放线视| 久久99精品久久久大学生| 美女一级毛片无遮挡内谢| 五月天香蕉视频国产亚| 欧美在线伊人| 男女猛烈无遮挡午夜视频| 亚洲69视频| 国产成人精品视频一区二区电影| 国产福利小视频在线播放观看| 亚洲欧美精品在线| 免费一级全黄少妇性色生活片| igao国产精品| 国产天天色| 欧美一区二区三区香蕉视| 亚洲人成高清| 亚洲三级色| av一区二区人妻无码| a级毛片网| 都市激情亚洲综合久久| 国产一在线| 国产在线一区视频| 日韩无码白| 国产成人精品一区二区免费看京| 精品久久久久久久久久久| 久久精品女人天堂aaa| 在线免费亚洲无码视频| 国产成人你懂的在线观看| 成人精品视频一区二区在线| 亚洲天堂网站在线| 国产乱子伦手机在线| 91色国产在线| 亚洲婷婷在线视频| 国产精品亚洲一区二区三区z | 热久久综合这里只有精品电影| 国产va在线观看免费| 国产免费久久精品99re丫丫一| 高清无码手机在线观看| 亚洲人成影视在线观看| 99re视频在线| 国产成人精品免费av| 国产精品午夜福利麻豆| 好紧太爽了视频免费无码| 国产h视频免费观看| 亚洲男人的天堂久久精品| 久久婷婷色综合老司机| 国产欧美高清| 激情国产精品一区| 在线a网站| 精品国产一区二区三区在线观看 | 久久综合色88| 91po国产在线精品免费观看| 少妇极品熟妇人妻专区视频| 国产免费精彩视频| 手机成人午夜在线视频| 国产一区亚洲一区| 亚洲第七页| 国产在线观看人成激情视频| 超清无码熟妇人妻AV在线绿巨人| 中文字幕在线看| 日韩天堂在线观看| 这里只有精品在线播放| 国产成人综合亚洲欧美在| 国产欧美视频综合二区| 一级毛片在线免费视频|