首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁
  P L C | 變頻器與傳動(dòng) | 傳感器 | 現(xiàn)場檢測儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動(dòng)控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺
在LabVIEW中驅(qū)動(dòng)數(shù)據(jù)采集卡的三種方法
中華工控網(wǎng)
收藏本文     查看收藏

  一、引言

  近年來,面向儀器的軟件開發(fā)平臺,如美國NI公司LabVIEW的成熟和商業(yè)化,使用者在配有專用或通用插卡式硬件和軟件開發(fā)平臺的個(gè)人計(jì)算機(jī)上,可按自己的需求,設(shè)計(jì)和組建各種測試分析儀器和測控系統(tǒng)。由于LabVIEW提供的是一種適應(yīng)工程技術(shù)人員思維習(xí)慣的圖形化編程語言,圖形界面豐富,內(nèi)含大量分析處理子程序,使用十分方便,個(gè)人儀器發(fā)展到了使用者也能設(shè)計(jì),開發(fā)的新階段。

  鑒于是工程技術(shù)人員自己編制,調(diào)用軟件來開發(fā)儀器功能,軟件成了儀器的關(guān)鍵。故人們也稱這類個(gè)人儀器為虛擬儀器,稱這種主要由使用者自己設(shè)計(jì),制造儀器的技術(shù)為虛擬儀器技術(shù)(Virtual Instrumentation Technology)。使用虛擬儀器技術(shù),開發(fā)周期短、儀器成本低、界面友好、使用方便、可靠性高, 可賦于檢測儀初步智能,能共享PC機(jī)豐富的軟硬件資源,是當(dāng)前儀器業(yè)發(fā)展的一個(gè)重要方面。

  虛擬儀器的典型形式是在臺式微機(jī)系統(tǒng)主板擴(kuò)展槽中插入各類數(shù)據(jù)采集插卡,與微機(jī)外被測信號或儀器相連,組成測試與控制系統(tǒng)。但NI公司出售的,直接支持LabVIEW的插卡價(jià)格十分昂貴,嚴(yán)重限制著人們用LabVIEW來開發(fā)各種虛擬儀器系統(tǒng)。在LabVIEW中如何驅(qū)動(dòng)其它低價(jià)位的數(shù)據(jù)采集插卡,成為了國內(nèi)許多使用者面臨的關(guān)鍵問題。

  二、三種在LabVIEW中使用國產(chǎn)數(shù)據(jù)采集插卡的方法

  筆者將近年來工程應(yīng)用中總結(jié)出的三種在LabVIEW中驅(qū)動(dòng)通用數(shù)據(jù)采集插卡的方法介紹如下。介紹中,以某市售8通道12位A/D插卡為例。設(shè)插卡基地址為base=0x100,在C語言中,選擇信號通道ch的指令是 _outp(base,ch),啟動(dòng)A/D的指令是_inp(base),采樣量化后的12位二進(jìn)制數(shù)的高4位存于base+2中,低8位存于base+3中。

  1、直接用LabVIEW的 In Port , Out Port圖標(biāo)編程

  LabVIEW的Functions模板內(nèi)Adevanced \ Memory中的In Port 、Out Port 圖標(biāo),與_inp、_outp功能相同,因此可用它們畫程序方框圖, 設(shè)計(jì)該A/D插卡的驅(qū)動(dòng)程序。N個(gè)通道掃描,各采集n點(diǎn)數(shù)據(jù)的LabVIEW程序方框圖如圖1所示。圖中用LabVIEW的計(jì)時(shí)圖標(biāo)控制掃描速率。

  
圖1 N個(gè)通道掃描,各采集n點(diǎn)數(shù)據(jù)的程序方框圖 

  顯然,若采樣速率要求較低,這不失為最方便、直觀的方法,而且可隨畫隨改。

  2、用LabVIEW的CIN圖標(biāo)生成A/D插卡驅(qū)動(dòng)程序的子VI

  LabVIEW的Functions模板內(nèi)Adevanced 中有一個(gè)CIN(Code Inte

  

圖2 CIN圖標(biāo)

  (1)在LabVIEW下,點(diǎn)出CIN圖標(biāo),拖大并聯(lián)接入兩個(gè)控件和一個(gè)顯件,如圖2所示。其中控件用于選擇模擬信號輸入通道和選擇數(shù)據(jù)采集點(diǎn)數(shù),數(shù)組顯件顯示所采集的數(shù)據(jù)。

  (2)在CIN圖標(biāo)上單擊鼠標(biāo)右鍵彈出菜單,選Create .c file.,產(chǎn)生并存入一個(gè)×××.C程序框架。

 。3)在VC++5.0下完成×××.C程序框架的數(shù)據(jù)采集部分的編寫,編譯該×××.C程序(示例見附1),生成×××.obj代碼。在coustom build方式下用nmake / f ×××.lvm 指令將×××.lvm接口程序(示例見附2)編譯成×××.lsb代碼。

 。4)在LabVIEW的CIN圖標(biāo)下裝載×××.lsb。運(yùn)行成功后將該CIN作成子VI,存入某個(gè)文件夾。

  在以后的LabVIEW應(yīng)用程序框圖中,該子VI圖標(biāo)即可作此A/D插卡驅(qū)動(dòng)圖標(biāo)使用。

  若A/D插卡上有晶振作基準(zhǔn)時(shí)鐘,有可編程計(jì)數(shù)/定時(shí)器,附錄1示例的C語言程序還可加入定時(shí)采集語句,以實(shí)現(xiàn)在子VI中選擇采樣速率。圖3是調(diào)用按上述步驟生成的子VI編程所采集的方波信號及其自功率譜。

  

圖3 采集的方波信號及其自功率譜

  用CIN結(jié)點(diǎn)生成A/D插卡驅(qū)動(dòng)程序的子VI的方法可較充分發(fā)揮A/D的高轉(zhuǎn)換速度,獲得高的采樣速率。但編程較煩雜,不能由LabVIEW直接修改

  3、用LabVIEW的Call Library Functions圖標(biāo),動(dòng)態(tài)鏈接數(shù)據(jù)采集插卡的 .DLL庫函數(shù)

  許多數(shù)據(jù)采集插卡附有.DLL庫函數(shù)形式的驅(qū)動(dòng)程序,用戶可使用某種DLL鏈接庫的編程工具,如VC、VB,編寫應(yīng)用程序來調(diào)用它。LabVIEW也提供了一個(gè)動(dòng)態(tài)鏈接庫函數(shù)的圖標(biāo)Call Library Function,放在Functions模板內(nèi)的Adevanced子模板中。在example/dll目錄中有使用該圖標(biāo)的例子,可參照它們完成對數(shù)據(jù)采集插卡的.DLL庫函數(shù)的調(diào)用。 三、兩個(gè)測試系統(tǒng)實(shí)例 

  1、滾動(dòng)軸承振動(dòng)虛擬檢測儀

  該滾動(dòng)軸承振動(dòng)虛擬檢測儀是為檢測低噪聲軸承強(qiáng)調(diào)的“異音”而開發(fā)的。目前國內(nèi)滾動(dòng)軸承出廠振動(dòng)分類檢測的行業(yè)標(biāo)準(zhǔn)和檢測儀器(如S0910型) 都只能檢測振動(dòng)加速度的均方根值,遠(yuǎn)不能適應(yīng)低噪聲軸承的要求。

  我們在LabVIEW下,用PC機(jī)加國產(chǎn)12位A/D插卡,開發(fā)出的虛擬檢測儀,采樣速率最高達(dá)80KHz。按每2秒檢測一個(gè)軸承的迫節(jié),以加速度均方值的分貝值,峰值因子,峭度,超某幅值峰數(shù)四個(gè)參數(shù)來綜合評定軸承振動(dòng)級別。PC機(jī)14″的CRT,對檢驗(yàn)員有極佳的可視性,檢測確定的軸承等級由軟指示燈閃爍顯示,在面板上十分醒目,便于檢驗(yàn)后歸類。每個(gè)軸承的檢驗(yàn)結(jié)果自動(dòng)寫入當(dāng)班統(tǒng)計(jì)文件中,供生產(chǎn)和質(zhì)檢部門使用。檢測程序讀入各類設(shè)置文件便可適應(yīng)不同類型軸承或不同的檢測分類標(biāo)準(zhǔn)。

  2、空調(diào)散熱器試驗(yàn)測溫系統(tǒng)

  為對某空調(diào)散熱器進(jìn)行散熱性能試驗(yàn),開發(fā)出多點(diǎn)熱電偶測溫的虛擬儀器系統(tǒng)。

  硬件選用一國產(chǎn)有A/D及DIO的PC機(jī)插卡,外串接三塊前端信號處理板。每塊前端信號處理板提供一個(gè)冷端補(bǔ)償電路,并可接16路熱電偶。每塊前端板的冷端補(bǔ)償電壓和熱電偶電勢各占用插卡的一個(gè)模擬輸入通道,由插卡的發(fā)出的4位數(shù)字輸出選擇各熱電偶電勢輸入。

  由于溫度采集速率甚低,直接用LabVIEW的 In Port , Out Port 圖標(biāo)編程完全可滿足要求。編程中調(diào)用了LabVIEW中Functions模板內(nèi)Data Acquisition\ Signal Conditioning\Convert Thermcouple Reading圖標(biāo),稍作修改,生成了各類標(biāo)準(zhǔn)熱電偶溫度轉(zhuǎn)換為電壓,電壓轉(zhuǎn)換為溫度的新的子VI。編程十分簡便,且能用于各類標(biāo)準(zhǔn)熱電偶測溫。

  附1 ×××.C源程序

  /* CIN source file */

  #include "c:\labview\cintools\extcode.h"

  #include "conio.h"

  typedef struct {

  int32 dimSize;

  float32 arg1[1];

  } TD1;

  typedef TD1 **TD1Hdl;

  CIN MgErr CINRun(int32 *n, TD1Hdl xarray, int32 *ch);

  CIN MgErr CINRun(int32 *n, TD1Hdl xarray, int32 *ch)

  { /* ENTER YOUR CODE HERE */

  int base,i, ns,c;

  uInt8 h,l; 

  float *xarrayElmtp;

  ns=*n;/* 采樣點(diǎn)數(shù) */

  c=*ch;/* 模入通道號*/

  SetCINArraySize((UHandle)xarray,1,ns);

  (*xarray)->dimSize=ns;

  xarrayElmtp=(*xarray)->arg1;

  base=0x100; /* 數(shù)據(jù)采集插卡基地址*/

  _outp(base,c); /* 選擇模入通道*/

  for (i=0;i{ 

  _outp(base+1,0); /* 啟動(dòng) A/D*/ do {;} 

  while ((_inp(0x101)&0x01)!=0);

  h=_inp(base+2);

  l=_inp(base+3)&0xf0;

  *xarrayElmtp=(h*16+l/16)/409.6-5.0;

  xarrayElmtp++;

  }

  return noErr;

  }

  附2 ×××.lvm接口程序

  IDE=VC

  name= ×××

  type=CIN

  cintoolsdir=c:\labview\cintools

  ! include <$(cintoolsdir)\ntlvsb.mak>


 

狀 態(tài): 離線

公司簡介
產(chǎn)品目錄

公司名稱: 中華工控網(wǎng)
聯(lián) 系 人: 客服中心
電  話: 0755-26546361
傳  真: 0755-26585268
地  址: 深圳市南山區(qū)創(chuàng)業(yè)路現(xiàn)代城華庭1棟6A
郵  編: 518054
主  頁:
 
該廠商相關(guān)技術(shù)文摘:
智能儀器儀表的發(fā)展特點(diǎn)與前景分析
電動(dòng)機(jī)性能虛擬儀器測試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
視頻監(jiān)控護(hù)航高鐵安全運(yùn)營
基于PLC,觸摸屏及變頻器對吹膜機(jī)的改造
永宏P(guān)LC應(yīng)用于自助圖書借還終端機(jī)
基于永宏P(guān)LC的GSM通訊原理及其應(yīng)用
改善汽車生態(tài)學(xué)、安全性和舒適性,四大測試分析是關(guān)鍵
改善汽車生態(tài)學(xué)、安全性和舒適性,四大測試分析是關(guān)鍵
數(shù)控技術(shù)的發(fā)展趨勢及產(chǎn)業(yè)化
數(shù)控技術(shù)發(fā)展戰(zhàn)略與發(fā)展途徑的思考
用Energid 的軟件進(jìn)行機(jī)器人的抓取和操作
如何借助RFID技術(shù)升級企業(yè)信息管理水平
更多文摘...
立即發(fā)送詢問信息在線聯(lián)系該技術(shù)文摘廠商:
用戶名: 密碼: 免費(fèi)注冊為中華工控網(wǎng)會員
請留下您的有效聯(lián)系方式,以方便我們及時(shí)與您聯(lián)絡(luò)

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動(dòng)態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報(bào)
工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved