CVI驅(qū)動(dòng)程序編寫入門_第1頁
CVI驅(qū)動(dòng)程序編寫入門_第2頁
CVI驅(qū)動(dòng)程序編寫入門_第3頁
CVI驅(qū)動(dòng)程序編寫入門_第4頁
CVI驅(qū)動(dòng)程序編寫入門_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

CVI驅(qū)動(dòng)程序編寫入門儀器驅(qū)動(dòng)程序有一個(gè)VPP規(guī)范(VXI即插即用),這個(gè)VPP規(guī)范中介紹儀器驅(qū)動(dòng)的架構(gòu),使用的接口及前面板規(guī)范,函數(shù)原形規(guī)范等等。看過這個(gè)規(guī)范的朋友可能知道,VPP就是對(duì)CVI開發(fā)儀器驅(qū)動(dòng)的規(guī)范。在開始編寫驅(qū)動(dòng)之前,請(qǐng)先安裝NI-Visa、labwindows8.0下面介紹如何用CVI編寫儀器驅(qū)動(dòng)生成儀器驅(qū)動(dòng)程序工程文件(.prj)設(shè)計(jì)函數(shù)樹和函數(shù)面板(.fp,.c,.h)完成驅(qū)動(dòng)程序每個(gè)函數(shù)的代碼(.c)編譯調(diào)試,生成動(dòng)態(tài)鏈接庫1新建工程文件雙擊labWindows/CVI程序文件,打開CVI。在“File”下拉菜單中選擇“New”,再選擇“Project”創(chuàng)建工程,彈出如圖1-1對(duì)話框圖1-1創(chuàng)建工程在對(duì)話框中有兩個(gè)單選項(xiàng),前一個(gè)指在當(dāng)前工作區(qū)創(chuàng)建工程,后一個(gè)指新建一個(gè)工作區(qū)創(chuàng)建工程。通常選則后一個(gè),這樣在一個(gè)工作區(qū)對(duì)應(yīng)一個(gè)工程,簡(jiǎn)單明了。其他保持默認(rèn)。單擊確定,創(chuàng)建工程完成。2設(shè)計(jì)函數(shù)樹和函數(shù)面板這是最關(guān)鍵的一步,創(chuàng)建.fp、.c、.h等文件是儀器驅(qū)動(dòng)中必不可少的文件,其中.fp是儀器驅(qū)動(dòng)的核心。先介紹.fp創(chuàng)建過程。在“File”下拉菜單中選擇“New”,再選“FunctionTree”,如圖1-2圖1-2創(chuàng)建fp文件在右邊白色區(qū)域,單擊右鍵并點(diǎn)擊”createInstrument”,彈出如下對(duì)話框,如圖1-3圖1-3儀器節(jié)點(diǎn)“Name”指當(dāng)前函數(shù)樹的名字,”prefix”指函數(shù)名的前趨,在后面創(chuàng)建的.h文件中每一個(gè)函數(shù)名以zyosc開頭,后面再跟實(shí)際函數(shù)名。填寫完后單擊ok,如圖1-4圖1-4函數(shù)樹創(chuàng)建藍(lán)色陰影部分的有這樣的提示“createclassorfunctionpanelwindow”,意思是在此可以創(chuàng)建類和函數(shù)前面板。這里的類指用戶如何劃分函數(shù),根據(jù)用戶的需要將某些函數(shù)規(guī)為一類。通常情況我們將錯(cuò)誤消息、錯(cuò)誤查詢、復(fù)位,自檢和版本查詢等函數(shù)規(guī)為通用函數(shù),具體操作硬件的部分的函數(shù)規(guī)為功能函數(shù)。單擊陰影部分,再單擊鼠標(biāo)右鍵,選擇創(chuàng)建類,并在對(duì)話框中填入“UtilityFunctions”,單擊確定,如圖1-5圖1-5創(chuàng)建類程序中創(chuàng)建了一個(gè)“通用函數(shù)”類。下面在這個(gè)類中添加錯(cuò)誤消息、錯(cuò)誤查詢、復(fù)位,自檢和版本查詢等函數(shù)面板。同樣鼠標(biāo)右擊“createclassorfunctionpanelwindow”,選擇“創(chuàng)建函數(shù)面板”,彈出如圖1-6對(duì)話框圖1-6創(chuàng)建函數(shù)面板該對(duì)話框中的“name”項(xiàng)指的是該函數(shù)面板的名字,而”functionname”指的該函數(shù)的函數(shù)名。單擊ok創(chuàng)建成功。圖1-7函數(shù)面板已經(jīng)創(chuàng)建好了,但還得編輯函數(shù)面板。單擊”Reset”函數(shù)面板,右擊選中“editfunctionpanelwindow”,出現(xiàn)如圖1-8圖1-8函數(shù)面板最上面的是加了前綴的函數(shù)名,指示當(dāng)前正在編輯的函數(shù)面板。在面板上右鍵可以添加輸入?yún)?shù)、輸出參數(shù)、返回值等。參數(shù)不能隨便放,VPP規(guī)定函數(shù)面板的輸入?yún)?shù)放左邊,輸出參數(shù)與返回值放右邊。下面是編輯好的Reset面板如圖1-9圖1-9其他函數(shù)的前面板編輯方法與Reset面板相同。如在創(chuàng)建控件時(shí),需要引入VI數(shù)據(jù)類型,執(zhí)行以下兩步操作,如圖1-9-1、1-9-2:圖1-9-1圖1-9-2下面我們介紹如何創(chuàng)建.c和.h文件。其實(shí)有了上述函數(shù)面板的創(chuàng)建過程,源文件與頭文件的創(chuàng)建就非常簡(jiǎn)單了?;氐綀D1-7,這時(shí)必須保證reset面板已經(jīng)編輯完畢了,并保存完畢。單擊“Reset”,右鍵選擇“generatesourceforfunctionnode”,將自動(dòng)創(chuàng)建出源文件和頭文件。保存后加入到工程中來即可。生成出來頭文件和源文件都需要修改,源文件只有函數(shù)殼,沒有函數(shù)體,需要自己手動(dòng)添加,后面再介紹。先來介紹頭文件應(yīng)該做什么樣修改。在頭文件需要加入C編譯頭,如圖1-10圖1-10c編譯頭加入C編譯頭的目的,如果在C++程序中使用,將自動(dòng)以C語言方式編譯和連接,其意義是強(qiáng)制編譯器不要修改你的函數(shù)名。只有用這種方式,才能在C++程序中正常使用。3編寫源代碼在源文件中給reset函數(shù)添加代碼。returnVI_WARN_NSUP_RESET;//不支持復(fù)位這就是reset函數(shù)體內(nèi)容。復(fù)位根據(jù)板卡要求,有些板子支持復(fù)位,有些板子不支持復(fù)位。我們使用的本振,并不支持復(fù)位。所以代碼就一句。源代碼的實(shí)現(xiàn)主要根據(jù)負(fù)責(zé)開發(fā)板子的人提出的需求,程序員根據(jù)需求來實(shí)現(xiàn)的。后面我會(huì)講些具體的例子。怎樣去分析需求,來編寫源代碼。4編譯生成dll在編譯之前需要對(duì)程序的一些屬性進(jìn)行設(shè)置。首先,單擊“Build”下拉菜單,選擇”targettpye”子菜單,再選中“DynamicLinkLibrary”。這是最重要的一步,否則無法編譯成動(dòng)態(tài)鏈接庫。其次,單擊“Build”下拉菜單,選擇“Targetsetting……”,打開對(duì)話框,如圖1-11圖1-11targetsetting最上方是設(shè)置動(dòng)態(tài)鏈接庫創(chuàng)建的位置和文件名。當(dāng)前顯示的是Debug狀態(tài),也可以設(shè)置release狀態(tài)下的輸出。對(duì)話框中部有三個(gè)按鈕分別版本說明、導(dǎo)入庫、類型庫。它們的設(shè)置保持持默認(rèn)即可。最下端的兩個(gè)按鈕比較重要:“AddFilestoDLL”:添加文件到DLL,必須將源文件添加進(jìn)去。如圖1-12圖1-12addfilestodll“Change…”:設(shè)置DLL輸出。動(dòng)態(tài)鏈接庫函數(shù)的輸出由這里決定,否則沒有函數(shù)輸出。圖1-13DLLExportOptions該對(duì)話框要按如圖1-13進(jìn)行設(shè)置。在“Exportwhat:”選擇”Includefilesymbols”,在下面的列表框中,選中“zyss.h”頭文件。這樣在編譯DLL時(shí),會(huì)鏈接到頭文件,將頭文件中的函數(shù)作為輸出。單擊OK完成設(shè)置。最后選擇”build”下拉菜單中的”configuration”子菜單,可選擇以調(diào)試版或發(fā)布版編譯動(dòng)態(tài)鏈接庫。最后選擇build下拉菜單中的“Createdebuggable/releaseDynamicLinkLibrary”編譯工程。如果編譯出錯(cuò),可能是一些參數(shù)類型沒有找到,即頭文件沒有引入;5dll轉(zhuǎn)化為llb整個(gè)儀器驅(qū)動(dòng)程序就這樣完成了。我們可以通過該儀器驅(qū)動(dòng)生成的DLL和.fp文件,將DLL中的函數(shù)轉(zhuǎn)換labview可以使用的子VI。在labview7.1的Tools下拉菜單中,選擇Instrumentation->importCVIinstrumentDriver,打開對(duì)話框選擇.fp文件,出現(xiàn)如下對(duì)話框。如圖1-2對(duì)話框中最上面是保存的LLB的路徑及文件名,可以實(shí)際情況設(shè)定。如果使用默認(rèn),那

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論