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

基于虛擬儀器的電機測試系統設計

2015-01-27 06:27:10夏玉龍趙懷林
自動化與儀表 2015年4期
關鍵詞:指令系統

夏玉龍 ,趙懷林 ,和 陽

(1.上海應用技術學院 電氣與電子工程學院,上海 201418;2.清華大學 計算機科學與技術系,北京 100084)

虛擬儀器就是一種基于計算機的自動化測試儀器系統,通過軟件將計算機硬件資源與儀器硬件資源有機地融合為一體。與傳統儀器相比,虛擬儀器更加突出軟件的核心地位,具有開放性、靈活、價格低廉、技術更新周期短、用戶可以定義儀器功能等特點[1]。

本系統需要完成數據采集、傳輸、存儲以及其他功能。軟件設計是整個測試系統最重要和復雜的部分,同時也是整個測試系統的核心。因此,選擇恰當的軟件開發工具可以起到事半功倍的功效。在當今的軟件開發語言中,C、VC++、C#、Java、LabVIEW等都可以完成本系統所要求的功能。

1 LabVIEW簡介

LabVIEW(laboratory virtual instrument engineering workbench)是美國國家儀器公司NI(National Instruments)的創新軟件產品。LabVIEW是一種圖形化編程語言,被稱作 “G”語言。G指的是Graphical Programming Language。與傳統的軟件開發語言相比,LabVIEW的圖形化編程方式能夠節省85%以上的程序開發時間,其運行速度卻不受影響,體現出了極高的效率,同時也可以享受LabVIEW控件帶來的極大的便捷性,再加上LabVIEW在數據采集、分析、圖表顯示等方面的卓越表現成為了本系統開發工具的首選。

LabVIEW程序是由VI組成的,VI包括前面板和程序框圖。一般常規語言創建的程序,由一個圖形界面窗口(一般稱為GUI)和文本編輯窗口組成。LabVIEW中的VI,前面板相當于GUI,程序框圖相當于文本編輯器。顯然,前面板是人機交互的接口,而程序框圖是用來編寫代碼的。LabVIEW最大的特點就是它的代碼以圖形化的方式出現。

前面板中放置的是輸入/輸出控件,程序框圖中放置的則是與控件對應的函數以及代表 “數據流”的連線。LabVIEW程序的核心是數據流,也就是說,只有數據流流經某節點時,該節點才會執行。數據按照代表“數據流”的連線從一個函數(或變量)流向另一個函數(或變量)來完成各種各樣的功能。

2 電機測試系統的結構

如圖1所示,整個測試系統由裝有基于Lab-VIEW開發的測試系統軟件的計算機、DSP、傳感器組成。依據內部通訊協議,上位機通過RS422總線與DSP進行串口通訊[2]。上位機通過如圖2所示的人機交互界面將來自于測試人員的指令封裝成8字節的具有幀頭、指令數據、校驗和的數據幀。DSP在接收到來自上位機的數據幀后,先通過計算校驗和來驗證幀數據的準確性,確認幀無誤后,將幀數據進行解封裝,得到指令數據,而后將指令數據發送給驅動器。驅動器得到來自DSP的指令后,驅動待測電機,使之按測試人員的意圖進行運行。待測電機運行時的電壓、電流、轉速等參數由傳感器進行捕獲,并形成模擬信號,傳送給A/D轉換器。A/D轉換器將傳感器傳來的模擬信號轉換成數字信號,而后發送給DSP,DSP依據內部通訊協議,將數據封裝成16字節的數據幀,通過RS422總線,由串口設備發送給上位機。上位機接收到數據幀后,同樣先驗證校驗和,確保幀數據無誤后,對幀進行解析從而得到待測電機的電壓、電流、轉速等信息,并在界面上顯示出來[3]。

圖1 電機測試系統結構示意圖Fig.1 Diagram of motor test system structure

圖2 人機交互界面Fig.2 Graphic user interface

3 電機測試系統的軟件設計

3.1 需求分析

串口設置模塊提供設置端口號、波特率等串口屬性的接口。在實時轉速控制模塊中,單次控制,可通過修改界面控件值、鍵盤↑↓光標鍵來控制轉速;程序控制,通過時序指令配置模塊配置程控指令,而后進行測試時,以2 ms的時間間隔發送這些預先配置好的程控指令。最后,在結束單次控制或程序控制之后,該系統都會以2 ms的時間間隔發送最近一次控制指令,以達到對電機持續穩定的控制。電機測試系統各個模塊如圖3所示。實時數據顯示和保存,以各種控件為載體,數據以文本、儀表、曲線多種形式呈現;保存的數據可以在測試之后做進一步的分析。

圖3 電機測試系統各個模塊Fig.3 Each module of motor test system

3.2 主要的模塊設計

3.2.1 實時轉速控制模塊

在這個模塊中,顯然,單次控制具有偶然性,并且系統對單次控制的響應要具有很好的實時性。在前面板的鼠標點擊、修改數值控件或按下鍵盤上下光標鍵的情況下,該系統會執行生成并發送單次控制指令的程序。輪詢方式和事件結構均可以完成此目的。輪詢方式具有結構清晰、程序流程明確、響應及時的特點,但是在單次控制任務不發生的情況下,輪詢方式依然會不斷地查詢標志變量。這會造成極大的CPU資源浪費。相反,事件結構的優點則是減少CPU,同時還具有響應及時的特點。更重要的是事件結構采用隊列方式來存儲觸發時間,這樣就避免了漏掉事件的可能[4-6]。

與單次控制不同,一旦程序控制開始,便要以2 ms的時間間隔不停發送控制指令。有2種方案可以采用,第一種是生成一條指令就立即發送,這樣做的好處是,占用的內存空間少,但要求CPU必須在2 ms的時間內完成多次讀寫內存操作,這對于CPU來說負荷過大,而且在CPU繁忙時,2 ms的定時精度也不一定能達到。另一種則是在發送之前生成所有指令數據存入硬盤文件并一次性讀入內存,然后再逐一發送,這樣做的好處是,在發送期間CPU的負擔大大減輕,只需在連續的內存空間完成讀操作,從而2 ms的定時精度有了極大的保證,同時,由于數據存于硬盤文件中,又可以達到同樣程序控制的多次復用,交換這些好處的成本僅僅是復出一些內存空間和磁盤空間。比較之下,顯然第二種方案更佳。

以2 ms時間間隔不間斷發送最近一條指令和上述2種串口發送任務都需要發送串口數據而且情況均不一樣,因此需要調用3次串口發送函數來完成。顯然,可將3次函數調用分別放在3個線程,通過設置檢測一些標志變量實現任務間的切換。但是由于LabVIEW對線程的控制不足以達到這一要求,會造成單次發送任務和循環發送最近一條指令的任務相互干擾的現象。

正常情況下,圖4中應該顯示實時發送的轉速,執行完單次發送任務之后,上位機會繼續發送最近一條指令。而這里,執行完單次發送任務之后,上位機沒有繼續發送最近一條指令,而是繼續發送最近一條指令的上一條指令。這樣就造成了圖中顯示的“干擾”現象。

圖4 串口發送任務之間的相互干擾Fig.4 Interference between the sending tasks

針對這種情況,可以利用LabVIEW的生產者-消費者設計模式來完成。生產者-消費者設計模式是多線程編程中最基本的設計模式,是while循環和隊列消息處理器相結合而構成的復合設計模式。

如圖5最左側分支所示,生產者循環可以響應鼠標單擊、鍵盤按下等諸多事件直至程序結束。單次控制事件和程序控制事件發生以后,系統都會將指令放入隊列,然后消費者循環從隊列中取出指令并將其發送,同時在各自的事件分支中還應該設置一些標志變量(如“程序控制”和“單次控制”變量),使消費者循環不會相互影響。

如圖5最右側分支所示,循環發送最近一條指令會跟單次控制的發送任務放在一個條件結構的不同分支中,同時,這個條件結構包含在一個更外層的循環中。這樣,在同一循環中,同時只能執行一個分支下的代碼,因此就不會出現互相“干擾”的現象了。

如圖5中間分支所示,程序控制的串口發送任務則放在另一個消費者循環當中,只要保證程序控制進行的過程中,單次發送的消費者循環不會執行任務代碼即可。

圖5 程序流程圖Fig.5 Flow chart of the program

如圖5所示的3個分支,大部分時間可以獨立地并行執行,只在等待各自隊列數據的進隊和出隊時,3個分支之間才會有執行的先后順序。這樣做的好處是可以充分利用現在計算機處理器的并行處理能力,提高了計算機程序的執行效率。

3.2.2 定時發送模塊

對程序運行時間的精確控制是編程者絞盡腦汁所追求的目標,但令人遺憾的是,在沒有硬件定時器的情況下,Windows操作系統能夠達到的最高精度是1 ms,而且這里所說的1 ms指的是由電池保持的計算機系統時間。LabVIEW在7.x版本后,出現了一種新的定時結構—定時循環,它是可以用于Windows操作系統中提高程序對時間控制精度的有效手段。但是,定時循環也會占用比較多的系統資源[6]。

此測試系統中,出于安全考慮,在非程序控制情況下,測試系統軟件會每隔2 ms發送一次最近一條指令給DSP控制器來保證電機不會失控。在程序控制的情況下,測試系統軟件也會每隔2 ms發送一條指令給DSP控制器來保證電機可以按照預先設計的方案運行。要完成此目的,使用定時循環再合適不過了,只需將定時周期設置為2 ms即可。值得注意的是,如果定時循環內完成任務實際所需時間高于2 ms,則定時循環會按部就班地執行循環內的任務,并不會通過某種手段加速任務執行以保證任務在2 ms內完成。因此,在設計定時循環所要完成的任務時,要充分精簡任務以達到可以在一個周期內完成。

4 實驗結論

為了驗證本系統的實際性能,將本測試系統長時間應用于實際的電機測試當中,并針對測試中遇到的問題進行改善,然后再進行測試。在單次控制過程中,電機能及時響應,同時測試軟件也能及時動態顯示電機的相關狀態。在程序控制過程中,不僅能保證電機和測試軟件及時響應,還能依據測試人員要求使轉速指令呈現正弦和折線等波形。如圖6所示,在定時任務中,通過示波器測定串口發送數據之間的時間間隔是2 ms,與預期相同,并且沒有丟幀。這說明定時循環的定時精度還是十分精確和可靠的。測試完成后,系統能對測試數據執行高效率的保存工作。除此之外,系統可以流暢正常運行在Windows XP、Win7和Win8等常用操作系統平臺上,這說明系統具有良好的移植性。

圖6 示波器測定的發送間隔Fig.6 Sending interval measured by oscilloscope

5 結語

本測試系統采用LabVIEW作為開發平臺,將軟件工程思想應用到測試系統開發過程,使得代碼穩定,可靠且執行效率很高。本系統主要實現了串口通信、電機控制、數據顯示與保存。不僅實現了與被測電機的實時通信與控制,而且本系統的電機控制模塊通過巧妙設計,使其在操作系統之上有了比較精確的時間控制。測試人員不僅可以享受操作系統的便捷性,而且可以使用該系統完成定時精度要求較高的測試任務。系統可以正常運行在常見Windows操作系統上。因此,本文在基于虛擬儀器開發測試系統方面和操作系統之上提高測試系統實時性方面具有良好的參考意義。

[1]楊忠仁,饒程,鄒建,等.基于LabVIEW數據采集系統[J].重慶大學學報:自然科學版,2004,27(2):32-35.

[2]盧天海,王見.基于LabVIEW的電機功耗實時監測系統設計[J].計算機測量與控制,2012,20(3):580-582,609.

[3]呂向鋒,高洪林,馬亮,等.基于LabVIEW串口通信的研究[J].國外測量電子技術,2009,28(12):27-30,42.

[4]雷振山.LabVIEW 7 Express使用技術教程[M].北京:中國鐵道出版社,2004.

[5]National Instrument Corporation.LabVIEW User Manual[Z].April,2007

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

猜你喜歡
指令系統
聽我指令:大催眠術
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
主站蜘蛛池模板: 99视频精品在线观看| 蜜桃视频一区| 国产精品精品视频| 色综合日本| 爱色欧美亚洲综合图区| 亚洲视频免费在线看| 国产导航在线| 喷潮白浆直流在线播放| 99九九成人免费视频精品| 一本色道久久88亚洲综合| 亚洲综合经典在线一区二区| 91久久夜色精品国产网站| 日本黄色不卡视频| 久久天天躁狠狠躁夜夜躁| 91麻豆国产精品91久久久| 美女高潮全身流白浆福利区| 成人精品在线观看| 国产成人a在线观看视频| 激情无码字幕综合| 成人午夜福利视频| 午夜福利视频一区| 亚洲自拍另类| 二级毛片免费观看全程| 欧美色香蕉| 狠狠色狠狠色综合久久第一次| 2024av在线无码中文最新| 亚洲Av综合日韩精品久久久| 国产对白刺激真实精品91| 五月天综合婷婷| 制服无码网站| 国产在线第二页| 一区二区偷拍美女撒尿视频| 亚洲国产精品国自产拍A| 欧美精品影院| 亚洲毛片一级带毛片基地| 成人国内精品久久久久影院| 呦女精品网站| 国产真实乱子伦精品视手机观看| 亚洲欧美另类中文字幕| 日韩麻豆小视频| 欧美亚洲综合免费精品高清在线观看| 狠狠五月天中文字幕| 精品视频一区二区观看| 2021无码专区人妻系列日韩| 最新痴汉在线无码AV| 色久综合在线| 免费看a级毛片| 国产精品美女免费视频大全| 日韩精品资源| 亚洲国产欧洲精品路线久久| 久热中文字幕在线观看| 亚洲综合亚洲国产尤物| 免费看av在线网站网址| 国产精品白浆无码流出在线看| 国产玖玖视频| 一本视频精品中文字幕| 国内嫩模私拍精品视频| 国产香蕉在线视频| 日韩一区精品视频一区二区| 久久综合丝袜长腿丝袜| 激情国产精品一区| 国产精品视频第一专区| 亚洲二三区| 中文精品久久久久国产网址| 二级特黄绝大片免费视频大片| www.亚洲天堂| 色噜噜中文网| 超碰免费91| 最新亚洲人成无码网站欣赏网 | 成人在线观看一区| 国产网站一区二区三区| 天天爽免费视频| 天天躁日日躁狠狠躁中文字幕| 国产一级二级三级毛片| 国产日韩AV高潮在线| 午夜激情婷婷| 男人的天堂久久精品激情| 国产日韩AV高潮在线| 欧美日韩一区二区三区在线视频| jizz国产视频| 91人人妻人人做人人爽男同| www.亚洲一区二区三区|