概覽
在zai開kai發fa儀yi器qi控kong製zhi係xi統tong時shi,驅qu動dong軟ruan件jian常chang常chang被bei忽hu視shi。驅qu動dong軟ruan件jian是shi處chu理li儀yi器qi和he應ying用yong軟ruan件jian之zhi間jian的de通tong信xin層ceng。盡jin管guan硬ying件jian的de性xing能neng指zhi標biao很hen重zhong要yao,但dan若ruo使shi用yong了le較jiao差cha的de驅qu動dong軟ruan件jian會hui對dui整zheng個ge係xi統tong的de開kai發fa時shi間jian和he性xing能neng產chan生sheng很hen大da的de影ying響xiang。可ke以yi使shi用yong兩liang種zhong不bu同tong的de方fang式shi控kong製zhi儀yi器qi:通過直接I/O命令,或者使用儀器驅動。在選擇一個用於與儀器通信的驅動軟件時,需要注意如下5個方麵:
1. 我該使用直接I/O命令還是儀器驅動來控製儀器?
您可以使用兩種不同的方式控製儀器:通過直接I/O命令,或者使用儀器驅動。通常,大家會選擇儀器驅動的方式,因為這樣效率更高,節省時間。
直接I/O命令 如果您無法找到某個特定儀器的驅動,或者不需要使用儀器驅動,那麼您可以使用交互式工具進行直接I/O控製和通訊。如下所示為不選擇使用儀器驅動的理由:
- 您隻需向儀器發送少量的命令;
- 該儀器不存在驅動;
- 您不需要將儀器命令發布給其他開發者;
儀器驅動 儀(yi)器(qi)驅(qu)動(dong)是(shi)一(yi)個(ge)函(han)數(shu)庫(ku),包(bao)含(han)用(yong)於(yu)控(kong)製(zhi)特(te)定(ding)儀(yi)器(qi)或(huo)者(zhe)儀(yi)器(qi)家(jia)族(zu)的(de)高(gao)層(ceng)函(han)數(shu)。它(ta)們(men)對(dui)於(yu)快(kuai)速(su)開(kai)發(fa)測(ce)試(shi)和(he)測(ce)量(liang)應(ying)用(yong)至(zhi)關(guan)重(zhong)要(yao)。通(tong)過(guo)提(ti)供(gong)高(gao)層(ceng)的(de)模(mo)塊(kuai)化(hua)函(han)數(shu)庫(ku),可(ke)以(yi)很(hen)容(rong)易(yi)地(di)進(jin)行(xing)編(bian)程(cheng),無(wu)需(xu)學(xue)習(xi)複(fu)雜(za)的(de)底(di)層(ceng)編(bian)程(cheng)協(xie)議(yi)(底層協議可能隻適用於某個特定儀器)。儀器驅動是一組軟件程序的集合,通常用於編程控製時所需的針對儀器進行配置、讀取、寫入,以及觸發等操作。此外,對應於同一類設備的儀器驅動通常具有一個通用的架構和API。yinci,dangninshiyongguoyigeyiqidequdongzhihou,yekeyihenrongyidijiangqiyongyulingyigeyiqi。tongchang,zhenduigezhongyiqikongzhiheceshiyingyongdeyiqiqudongfenweiliangzhongleixing:
- 即插即用的儀器驅動,caiyongshiheyusuoyouqudongdebiaozhunbianchengmoshi,yinciyiyushiyong,dadajianhualeyiqidekongzhihetongxincaozuo。jichajiyongdeyiqiqudongtigongleneizhideyuandaima,nenggouyuruanjianbianchenghuanjingqingyijicheng,erqietayuyingjiandejiaohufangshibiqitadeyiqiqudongjishugengjiajiandan。
- IVI儀器驅動 的性能更高、更加靈活,適用於需要可互換性、狀態緩衝,以及儀器仿真的複雜測試應用。
2. 該儀器驅動是否與我的操作係統兼容?
操作係統的種類繁多,包括Windows、Mac 操作係統,以及Linux等;這些操作係統各有所長,適用於不同類型的任務和操作。每種操作係統也會包含不同的版本、發布方式以及針對特定處理器的特殊設計。例如,Windows操作係統家族包括Windows XP、Windows Vista以及Windows 7等,且針對32位和64位處理器都有不同的適用版本。由於Linux係統是開源的,因此其變種多達數百個。每個類型、發布或版本的操作係統的功能都會有所差異,且操作係統之間可能相互兼容,也可能不兼容。
- 對於即插即用的儀器驅動, 是專門針對一個特定的應用開發環境(ADE)而設計,可用於此ADE所支持的所有操作係統。
- IVI儀器驅動 僅支持Windows操作係統。
3. 該驅動與我們的應用軟件能否很好地兼容?
儀器驅動與應用軟件的兼容程度不盡相同。每個儀器驅動的核心都是一個函數庫(DLL),用於管理與儀器的通信。正常情況下,廠商會提供針對此函數庫的說明文檔;而er在zai某mou些xie情qing況kuang下xia,廠chang商shang會hui提ti供gong此ci函han數shu庫ku針zhen對dui各ge種zhong編bian程cheng語yu言yan環huan境jing的de封feng裝zhuang。這zhe些xie封feng裝zhuang是shi一yi些xie簡jian短duan的de代dai碼ma,將jiang函han數shu庫ku內nei的de函han數shu翻fan譯yi成cheng兼jian容rong於yu特te定ding編bian程cheng語yu言yan的de接jie口kou。有you時shi,可ke能neng沒mei有you針zhen對dui您nin期qi望wang的de某mou個ge編bian程cheng語yu言yan的de封feng裝zhuang,或huo者zhe根gen本ben就jiu沒mei有you任ren何he封feng裝zhuang;此時,你可以使用直接I/O命令與應用軟件進行交互。
ruguogaiyiqiqudongyunideyingyongruanjianbenshenjiushijichengzaiyiqide,najiuzaihaobuguole。zaizhezhongwufengdejichengguanxixia,qudongzhongdehanshuhewendangdouneizhiyuyingyongruanjianzhong,zongtixingnenggenghao。
- 即插即用的儀器驅動 提供源自某個應用開發環境(ADE)的源代碼。有了源代碼,你就可以對儀器驅動進行修改、自定義、優化、調試和增加功能。源代碼還可以讓即插即用的驅動得以跨平台兼容,因此你可以在該ADE所支持的任意一個操作係統內使用該驅動。
- IVI儀器驅動是基於兩種不同的架構開發出來的驅動,包括:基於ANSI C的IVI-C驅動和基於Microsoft 組件對象模型(COM)技術的IVI-COM驅動。兩種架構的設計初衷就是並存發展,不相互排斥。
4. 該驅動是否有詳盡的文檔?
儀器驅動通常會包含各種形式的文檔,包括用戶手冊、函數參考、版本發布注意事項、已發現的問題以及範例代碼等等。如果你所參考的文檔雜亂、不(bu)完(wan)整(zheng),那(na)麼(me)就(jiu)會(hui)非(fei)常(chang)浪(lang)費(fei)時(shi)間(jian)。如(ru)果(guo)一(yi)個(ge)驅(qu)動(dong)的(de)編(bian)程(cheng)接(jie)口(kou)相(xiang)關(guan)的(de)文(wen)檔(dang)不(bu)夠(gou)詳(xiang)盡(jin),那(na)麼(me)你(ni)就(jiu)需(xu)要(yao)通(tong)過(guo)反(fan)複(fu)試(shi)錯(cuo)的(de)方(fang)式(shi)確(que)定(ding)其(qi)功(gong)能(neng),這(zhe)樣(yang)會(hui)非(fei)常(chang)耗(hao)時(shi)、且qie令ling人ren沮ju喪sang。雖sui然ran反fan複fu試shi錯cuo是shi一yi種zhong學xue習xi驅qu動dong的de功gong能neng和he句ju法fa的de有you效xiao方fang式shi,但dan是shi你ni仍reng需xu在zai必bi要yao時shi找zhao到dao手shou冊ce以yi便bian查zha詢xun。因yin此ci,如ru果guo驅qu動dong的de文wen檔dang能neng夠gou編bian排pai合he理li、內容詳盡,可以給你帶來極大幫助。
良好的驅動軟件相關文檔應該內容完整、便於瀏覽、易於遵循。比較理想的情況下,還應該對你所熟悉的編程語言提供範例代碼,並提供詳細的、包含有用信息的錯誤消息。你應該事先了解驅動軟件的文檔情況,避免在後續使用中遇到麻煩。
5. 該驅動是否包含啟動或診斷工具?
chulexiangguanwendangyiwai,qudongdeqidonghezhenduangongjukeyibangzhunikuaisudianzhuangheyunxingqudong,erqiekeyiduicuowujinxingzhenduan。niyinggaichongfenliyongdaduoyingyongkaifahuanjingsuotigongdejiaohushizhijieI/O功能。
|