欧美成人aaaaa免费视频_亚洲欧美激情小说另类_欧美激情一区二区三区视频_一级在线|欧洲

技術(shù)頻道

基于VB的數(shù)據(jù)采集卡的應(yīng)用

1 引言
pcl-813b(簡(jiǎn)稱813b)是臺(tái)灣研華公司推出的一款基于pc的高性能、多功能數(shù)據(jù)采集卡。該卡不僅性能優(yōu)異,而且有完善的軟件支持,使得此卡能廣泛適用于工業(yè)自動(dòng)化系統(tǒng)、自動(dòng)化設(shè)備監(jiān)控系統(tǒng),具有廣闊的應(yīng)用前景。vb是一種高效、易學(xué)易用的開發(fā)工具。一些工業(yè)測(cè)控系統(tǒng)中,需要計(jì)算機(jī)從現(xiàn)場(chǎng)獲取實(shí)際數(shù)據(jù)或發(fā)出控制命令,這就需要計(jì)算機(jī)實(shí)現(xiàn)對(duì)i/o端口的控制與訪問(wèn),但是vb不具備直接對(duì)硬件地址進(jìn)行訪問(wèn)的功能,可以利用vc++編寫訪問(wèn)i/o接口地址的程序,創(chuàng)建動(dòng)態(tài)鏈接庫(kù)(dll),利用dll進(jìn)行調(diào)用來(lái)實(shí)現(xiàn)端口訪問(wèn)與控制。本文以此卡為例,詳細(xì)介紹了在vb環(huán)境下的應(yīng)用。

2 pcl-813b數(shù)據(jù)采集卡簡(jiǎn)介
813b是基于isa結(jié)構(gòu)的,需插在計(jì)算機(jī)的isa槽中。它采用了12位分辨率a/d轉(zhuǎn)換器(ad574),用來(lái)轉(zhuǎn)換模擬輸入,轉(zhuǎn)換時(shí)間為25μs,數(shù)據(jù)傳送速率達(dá)25kbps;輸入范圍:雙極性±5v,±2.5v,±1.25v,±0.625v。單極性0~10v,0~5v,0~2.5v, 0~1.25v; a/d轉(zhuǎn)換觸發(fā)方式為軟件觸發(fā); 813b支持32路單端隔離模擬量輸入,最大連續(xù)過(guò)壓±30v。
813b是一種通用型數(shù)據(jù)采集卡,可以滿足不同用戶的不同要求。因此卡上有一個(gè)dip開關(guān)(sw1)和1個(gè)跳線器(jp100),可由用戶自行設(shè)置,以滿足不同的需要。
813b使用16個(gè)連續(xù)的i/o地址,其i/o基地址有開關(guān)sw1選擇,有效地址從000~3f0h(十六進(jìn)制)。sw1開關(guān)共有6個(gè)微型撥碼開關(guān),其撥碼組合與對(duì)應(yīng)的基地址有關(guān)系。
輸入范圍選擇:如使用單極性輸入,把開關(guān)置在“u”位置,此時(shí)允許0~10v,0~5v,0~1.25v模擬量輸入。如放大倍數(shù)是1,允許輸入0~10v;放大倍數(shù)是2,允許輸入 0~5v;放大倍數(shù)8,允許輸入0~1.25v。放大倍數(shù)由軟件控制。

3 動(dòng)態(tài)鏈接庫(kù)dll的編寫
在vb中要利用dll進(jìn)行調(diào)用來(lái)實(shí)現(xiàn)板卡的訪問(wèn)與控制,首先要編寫動(dòng)態(tài)鏈接庫(kù)dll。
在windows98 中,應(yīng)用程序采取一種成為“動(dòng)態(tài)鏈接庫(kù)”的特殊函數(shù)集來(lái)實(shí)現(xiàn)代碼和資源的共享,以最大限度地節(jié)省資源。之所以稱為“動(dòng)態(tài)”,是因?yàn)樗鼈兪窃谶\(yùn)行期間鏈接到應(yīng)用程序的,而不是在編譯期間。創(chuàng)建一個(gè)exe文件時(shí),會(huì)有許多例程鏈接到代碼并放入exe文件中。但是dll中的例程則僅僅在實(shí)際運(yùn)行時(shí)才鏈接到exe文件。按照這種方式,我們可以把幾個(gè)程序共用的代碼放到一個(gè)dll中,這樣可以節(jié)省大量的空間,提高運(yùn)行效率。同時(shí)在工業(yè)控制中對(duì)計(jì)算機(jī)的底層硬件進(jìn)行訪問(wèn),以及利用各種控制接口板進(jìn)行數(shù)據(jù)采集和控制時(shí)間,僅靠vb是無(wú)法解決的。解決這樣的問(wèn)題可以間接使用動(dòng)態(tài)鏈接庫(kù)來(lái)實(shí)現(xiàn)。
3.1 創(chuàng)建dll的三個(gè)基本成分
(1) libmain函數(shù)
它是windows dll的入口點(diǎn),主要用來(lái)完成一些初始化任務(wù);
(2) 出口函數(shù)wep
windows的dll必須包含一個(gè)標(biāo)準(zhǔn)的出口函數(shù)。在dll最終卸出之前,windows調(diào)用該函數(shù)作一些必要的清除工作(如釋放一些資源等);
(3) 自己的功能函數(shù)
windows95下vb編寫的程序是32位的,與之對(duì)應(yīng)的dll也應(yīng)是32位的。對(duì)于32位的dll,16位dll中的入口函數(shù)libmain、退出函數(shù)wep被dllentrypoint所代替。dllentrypoint入口和退出兩個(gè)函數(shù)服務(wù)。在每次裝入或卸下dll時(shí),windows95調(diào)入dllentrypoint。
在vc++5.0中選擇file|new,在new對(duì)話框中選擇project workspace,再在new project workspace對(duì)話框中選擇dynamic-link library選項(xiàng),并輸入工程項(xiàng)目名,即可生成動(dòng)態(tài)鏈接庫(kù)的工作框架。
3.2 利用vc++5.0開發(fā)的dll的完整的程序清單
//dll源文件i0.cpp
#include
#include
int far pascal outport(unsigned)
short sport);
int far pascal outport(unsigned short port,int databyte);
//d11entrypoint函數(shù)
bool winapi d11entrypoint
(hinstance hd11,
dworddwreason,
lpvoid reserved)

  switch(dwreason)

case dll_process_attach:
  {
    break;
  }
case dll_process_detach:
  {
    break;
  }

return true;

//兩個(gè)功能函數(shù)
int far pascal inport(unsigned short port)

  reture(_inp(prot);

int far pascal outport(unsigned short port,int databyte)

int a;
a=_outp(port,databyte);
return a;

//模塊定義文件i0.def
code preload moveable discardable
data preload single
exports
inport
outport
3.3 vb中的dll調(diào)用
dll函數(shù)或過(guò)程必須在全局模塊(*.bas)中正確說(shuō)明才有效。vb是用declare語(yǔ)句把一個(gè)dll函數(shù)引入vb中的,它告訴vb在哪里找到dll函數(shù),并且讓vb知道dll需要哪種類型的參數(shù),同時(shí)返回哪種類型的值。當(dāng)某個(gè)dll函數(shù)用declare語(yǔ)句正確聲明以后,就可以像使用其它函數(shù)一樣使用這個(gè)dll函數(shù)。
在vb應(yīng)用程序的全局模塊中聲明i0.dll并將其放入windows/system目錄下,這樣就可以向使用windows api一樣使用i098中的inport和outport函數(shù)了。
declare function inport lib"io.d11"  (byval prot as integer)as long
declare function outport lib"io.d11"  (byval port as integer,byval databyte as long)as long

4 應(yīng)用實(shí)例
4.1 813b采集卡的初始化(采集卡基地址220h)
(1) 選通道
向22ah寫入相應(yīng)的控制字選擇通道,寫入“0”表示0通道,寫入“1”代表1通道,依次類推
(2) 啟動(dòng)ad轉(zhuǎn)換
向22ch寫入任意值,觸發(fā)ad轉(zhuǎn)換
(3) 讀入數(shù)據(jù)
把12位數(shù)據(jù)的低8位讀入224h,把高4位讀入225h中。
4.2 vb的編程實(shí)例
利用定時(shí)器實(shí)現(xiàn)定時(shí)采集在vb中,可利用定時(shí)器的interval屬性設(shè)置每秒鐘采集的次數(shù),把采集段程序放在定時(shí)器的timer事件中來(lái)實(shí)現(xiàn)數(shù)據(jù)采集.對(duì)于一般計(jì)算機(jī)來(lái)講,由于受系統(tǒng)硬件能力的限制,定時(shí)器每秒鐘最多只能產(chǎn)生18個(gè)事件,若時(shí)間間隔設(shè)置得過(guò)小,將達(dá)不到預(yù)期效果
應(yīng)用實(shí)例下面給出數(shù)據(jù)采集軟件程序中部分主要源代碼 以采集某0~100℃的溫度信號(hào)(經(jīng)溫度變送器轉(zhuǎn)換為0~5v)為例,設(shè)定a/d板為單極性輸入方式,i/o端口基地址為220h,放大倍率為1
在module1中聲明:
declare function outport lib "io.dll" (byval portasinteger,byvaldataasinteger)
declare function inport lib"io.dll"(byval portasinteger asinteger)
dll文件已拷貝到windows的system目錄下
采集程序部分:
private sub timerwd-timer()  
chwd=1 //設(shè)定溫度通道號(hào)為1
x=outport(&h22a,chwd) //輸入通道號(hào)
y=outport(&h2c,0 ) //啟動(dòng)a/d轉(zhuǎn)換 
j=1 
dowhilej<>0 //判斷a/d轉(zhuǎn)換是否結(jié)束
j=inport&h22a and 1 
loop
adwl=inport(&h224) //a/d結(jié)果低8位送入變量adwh
adwh=inport (&h225) //a/d結(jié)果高4位送入變量adwl
adwdata=val(adwh-224)×256+val(adwl)
//12位a/d轉(zhuǎn)換結(jié)果
vwd=adwdata×10/4095 //對(duì)應(yīng)的電壓 
wd=100×vwd/5 //標(biāo)度變換為實(shí)際溫度 

endsub
幾點(diǎn)說(shuō)明:
數(shù)據(jù)采集值是12位,放在2個(gè)地址里,其中224h存放數(shù)據(jù)的低8位(數(shù)據(jù)7~數(shù)據(jù)0),225h的低4位存放采集數(shù)據(jù)的高4位(數(shù)據(jù)11~數(shù)據(jù)8),225h的其它位自動(dòng)變?yōu)?110。


則12位ad轉(zhuǎn)換的結(jié)果為:
adwdata=val(adwh-224)×256+val(adwl),
其中224表示無(wú)采集數(shù)據(jù)時(shí)的自然值(即11100000)。
12位ad經(jīng)ad轉(zhuǎn)換的最大值是212=4096

5 結(jié)束語(yǔ)
上述采用vb調(diào)用dll實(shí)現(xiàn)數(shù)據(jù)采集的方法有一定的通用性,上述程序全部經(jīng)過(guò)測(cè)試通過(guò),可作為類似控制的參考。

參考文獻(xiàn)
[1] 三味創(chuàng)作室. vb6.0應(yīng)用與提高[m]. 北京:科學(xué)出版社,1999.

作者簡(jiǎn)介
張智杰(1970-) 工程師 畢業(yè)于山東科技大學(xué)電氣自動(dòng)化專業(yè),現(xiàn)主要從事計(jì)算機(jī)控制系統(tǒng)、plc應(yīng)用系統(tǒng)的科研與教學(xué)工作。

文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

欧美成人aaaaa免费视频_亚洲欧美激情小说另类_欧美激情一区二区三区视频_一级在线|欧洲

      欧美久久久久久蜜桃| 欧美三级在线视频| 欧美国产一区二区| 欧美日韩免费| 国产精品久久久久久久久搜平片 | 久久久天天操| 卡一卡二国产精品| 欧美福利电影网| 国产精品国产福利国产秒拍| 国产欧美日韩综合精品二区| 国内揄拍国内精品久久| 亚洲国内高清视频| 中文精品99久久国产香蕉| 欧美在线观看网站| 欧美成人激情视频| 国产精品国产三级国产| 国产一区二区av| 亚洲精品在线电影| 欧美一级理论片| 欧美黄色日本| 国产精品一区二区三区成人| 在线日韩视频| 亚洲欧美在线播放| 欧美电影免费观看网站| 国产麻豆91精品| 日韩亚洲在线| 久久综合五月| 国产九九精品视频| 日韩视频免费观看高清完整版| 午夜精品成人在线| 欧美jizzhd精品欧美喷水| 国产乱码精品1区2区3区| 亚洲精品视频中文字幕| 久久国产精品第一页| 欧美日韩一二三区| 91久久在线观看| 久久成人免费电影| 国产精品久久久久久久午夜片| 尤物九九久久国产精品的特点 | 老司机午夜精品视频在线观看| 欧美色精品在线视频| 亚洲第一区在线观看| 午夜免费日韩视频| 国产精品国产亚洲精品看不卡15| 狠狠久久综合婷婷不卡| 欧美一区激情| 国产精品极品美女粉嫩高清在线| 亚洲国产一区二区a毛片| 久久久夜夜夜| 国内精品免费在线观看| 欧美一区二区三区四区在线观看地址 | 一本久道久久久| 欧美福利小视频| 亚洲国产欧美另类丝袜| 久久综合五月| 在线免费日韩片| 久久夜色精品国产欧美乱极品| 国产日产欧产精品推荐色| 中日韩男男gay无套| 欧美精品一区在线观看| 亚洲日本免费电影| 欧美顶级大胆免费视频| 在线精品一区二区| 免费永久网站黄欧美| 在线免费观看欧美| 欧美成人四级电影| 亚洲黄网站黄| 欧美国产日本韩| 亚洲精品综合精品自拍| 欧美日韩国产在线一区| 在线视频你懂得一区二区三区| 欧美少妇一区二区| 午夜精品免费视频| 国内精品免费在线观看| 猛干欧美女孩| 夜夜爽av福利精品导航 | 亚洲国产欧美一区二区三区同亚洲 | 麻豆精品视频在线| 亚洲日韩欧美一区二区在线| 欧美理论在线播放| 亚洲在线视频| 狠狠色丁香久久婷婷综合_中| 裸体歌舞表演一区二区| 亚洲精品字幕| 国产欧美日韩另类视频免费观看| 欧美在线91| 亚洲高清在线观看| 欧美日韩国产va另类| 亚洲一区免费| 精品91在线| 欧美欧美天天天天操| 亚洲欧美亚洲| 亚洲经典视频在线观看| 国产精品久久国产精品99gif| 久久国产精品99国产精| 亚洲乱码精品一二三四区日韩在线| 欧美性事在线| 免播放器亚洲一区| 亚洲午夜高清视频| 在线看日韩av| 国产精品专区第二| 欧美99在线视频观看| 亚洲中字黄色| 亚洲人成免费| 国产字幕视频一区二区| 欧美丝袜第一区| 久久综合色天天久久综合图片| 亚洲精品三级| 精品69视频一区二区三区| 欧美日韩一级片在线观看| 午夜亚洲伦理| 中日韩男男gay无套| 亚洲国产精品久久久久秋霞蜜臀| 国产精品天天看| 欧美另类综合| 欧美成人嫩草网站| 久久影视精品| 欧美在线黄色| 亚洲专区一区| 中国亚洲黄色| 日韩亚洲国产欧美| 91久久极品少妇xxxxⅹ软件| 狠狠综合久久| 国内精品嫩模av私拍在线观看| 国产精品视频免费观看www| 欧美午夜电影在线观看| 欧美精品九九| 欧美激情aaaa| 欧美jizz19性欧美| 另类人畜视频在线| 久久亚裔精品欧美| 久久伊人免费视频| 久久久精品国产免大香伊| 欧美一区高清| 欧美在线啊v| 久久久精品欧美丰满| 久久精品欧美日韩精品| 久久福利毛片| 久久男女视频| 欧美大色视频| 欧美日本亚洲| 欧美香蕉视频| 国产精品区二区三区日本| 国产精品一区二区三区成人| 国产精品日韩欧美| 国产欧美一区二区三区久久 | 国产精品丝袜xxxxxxx| 国产精品一区二区在线| 国产午夜亚洲精品理论片色戒| 国产精品自拍一区| 国产一区视频在线观看免费| 国产日本欧美一区二区| 国产一区二区三区成人欧美日韩在线观看 | 亚洲高清色综合| 亚洲日本精品国产第一区| 一本一道久久综合狠狠老精东影业| 日韩一区二区高清| 亚洲视频综合在线| 欧美专区中文字幕| 欧美国产91| 欧美无乱码久久久免费午夜一区| 欧美手机在线视频| 国产亚洲欧美日韩一区二区| 韩国三级电影久久久久久| 亚洲欧洲日产国产网站| 中日韩美女免费视频网站在线观看| 午夜久久一区| 欧美成人一区二免费视频软件| 欧美日韩精品一区二区三区四区 | 国产麻豆9l精品三级站| 亚洲第一精品夜夜躁人人躁| 夜夜嗨av一区二区三区四区| 欧美一区2区三区4区公司二百| 久久综合狠狠综合久久综青草 | 国产在线观看一区| 日韩视频精品在线| 久久国产黑丝| 欧美日韩成人综合| 国内精品亚洲| 午夜精品久久久久久| 欧美国产日本韩| 国产自产女人91一区在线观看| 日韩视频免费在线| 久久综合成人精品亚洲另类欧美| 欧美视频一区| 在线免费观看日本一区| 亚欧成人在线| 欧美乱人伦中文字幕在线| 国内精品久久久久久久97牛牛| 在线午夜精品| 蜜臀久久久99精品久久久久久| 国产精品大片wwwwww| 亚洲日本理论电影| 久久久欧美精品sm网站| 国产欧美一区二区精品忘忧草| 一级日韩一区在线观看| 欧美精品乱码久久久久久按摩| 在线观看av一区| 久久午夜视频| 一区二区亚洲欧洲国产日韩|