USB2088 Windows2000XP 驅(qū) 動(dòng) 程 序 使 用 說(shuō) 明 書_第1頁(yè)
USB2088 Windows2000XP 驅(qū) 動(dòng) 程 序 使 用 說(shuō) 明 書_第2頁(yè)
USB2088 Windows2000XP 驅(qū) 動(dòng) 程 序 使 用 說(shuō) 明 書_第3頁(yè)
USB2088 Windows2000XP 驅(qū) 動(dòng) 程 序 使 用 說(shuō) 明 書_第4頁(yè)
USB2088 Windows2000XP 驅(qū) 動(dòng) 程 序 使 用 說(shuō) 明 書_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、設(shè)備驅(qū)動(dòng)程序使用說(shuō)明書PAGE 34USB2088 Windows2000/XP/2003 驅(qū) 動(dòng) 程 序 使 用 說(shuō) 明 書請(qǐng)您務(wù)必閱讀 HYPERLINK l 使用綱要 使用綱要,他會(huì)使您事半功倍! 目 錄 TOC o 1-3 h z u HYPERLINK l _Toc177808385 目 錄 PAGEREF _Toc177808385 h 1 HYPERLINK l _Toc177808386 第一章 版權(quán)信息 PAGEREF _Toc177808386 h 3 HYPERLINK l _Toc177808387 第二章 使用綱要 PAGEREF _Toc177808387 h 3

2、HYPERLINK l _Toc177808388 第三章 USB設(shè)備專用函數(shù)接口介紹 PAGEREF _Toc177808388 h 5 HYPERLINK l _Toc177808389 第一節(jié)、設(shè)備驅(qū)動(dòng)接口函數(shù)列表(每個(gè)函數(shù)省略了前綴“USB2088_”) PAGEREF _Toc177808389 h 5 HYPERLINK l _Toc177808390 第二節(jié)、設(shè)備對(duì)象管理函數(shù)原型說(shuō)明 PAGEREF _Toc177808390 h 6 HYPERLINK l _Toc177808391 第三節(jié)、AD采樣操作函數(shù)原型說(shuō)明 PAGEREF _Toc177808391 h 9 HYPE

3、RLINK l _Toc177808392 第四節(jié)、AD硬件參數(shù)系統(tǒng)保存與讀取函數(shù)原型說(shuō)明 PAGEREF _Toc177808392 h 11 HYPERLINK l _Toc177808393 第五節(jié)、DIO數(shù)字開關(guān)量輸入輸出簡(jiǎn)易操作函數(shù)原型說(shuō)明 PAGEREF _Toc177808393 h 13 HYPERLINK l _Toc177808394 第六節(jié)、DA輸出函數(shù)原型說(shuō)明 PAGEREF _Toc177808394 h 14 HYPERLINK l _Toc177808395 第四章 硬件參數(shù)結(jié)構(gòu) PAGEREF _Toc177808395 h 15 HYPERLINK l _To

4、c177808396 第一節(jié)、AD硬件參數(shù)介紹(主要用于AD數(shù)據(jù)采集部分) PAGEREF _Toc177808396 h 15 HYPERLINK l _Toc177808397 第二節(jié)、DI數(shù)字開關(guān)量輸入?yún)?shù)介紹(USB2088_PARA_DI) PAGEREF _Toc177808397 h 17 HYPERLINK l _Toc177808398 第三節(jié)、DO數(shù)字開關(guān)量輸出參數(shù)介紹(USB2088_PARA_DO) PAGEREF _Toc177808398 h 19 HYPERLINK l _Toc177808399 第五章 數(shù)據(jù)格式轉(zhuǎn)換與排列規(guī)則 PAGEREF _Toc17780

5、8399 h 20 HYPERLINK l _Toc177808400 第一節(jié)、AD原始數(shù)據(jù)LSB轉(zhuǎn)換成電壓值Volt的換算方法 PAGEREF _Toc177808400 h 20 HYPERLINK l _Toc177808401 第二節(jié)、DA電壓值轉(zhuǎn)換成LSB原碼數(shù)據(jù)的換算方法 PAGEREF _Toc177808401 h 21 HYPERLINK l _Toc177808402 第三節(jié)、AD采集函數(shù)的ADBuffer緩沖區(qū)中的數(shù)據(jù)排放規(guī)則 PAGEREF _Toc177808402 h 21 HYPERLINK l _Toc177808403 第六章 上層用戶函數(shù)接口應(yīng)用實(shí)例 PAG

6、EREF _Toc177808403 h 22 HYPERLINK l _Toc177808404 第一節(jié)、簡(jiǎn)易程序演示說(shuō)明 PAGEREF _Toc177808404 h 22 HYPERLINK l _Toc177808405 第二節(jié)、高級(jí)程序演示說(shuō)明 PAGEREF _Toc177808405 h 23 HYPERLINK l _Toc177808406 第七章 基于USB總線的大容量連續(xù)數(shù)據(jù)采集詳述 PAGEREF _Toc177808406 h 23 HYPERLINK l _Toc177808407 第八章 公共接口函數(shù)介紹 PAGEREF _Toc177808407 h 25 H

7、YPERLINK l _Toc177808408 第一節(jié)、公用接口函數(shù)列表 PAGEREF _Toc177808408 h 25 HYPERLINK l _Toc177808409 第二節(jié)、公用接口函數(shù)原型說(shuō)明 PAGEREF _Toc177808409 h 25 HYPERLINK l _Toc177808410 附錄A LabView/CVI圖形語(yǔ)言專述 PAGEREF _Toc177808410 h 30 HYPERLINK l _Toc177808411 第一章 圖形化編程語(yǔ)言LabVIEW環(huán)境及其開放性 PAGEREF _Toc177808411 h 30 HYPERLINK l _

8、Toc177808412 第一節(jié)、LabVIEW概述 PAGEREF _Toc177808412 h 30 HYPERLINK l _Toc177808413 第二節(jié)、程序設(shè)計(jì)結(jié)構(gòu) PAGEREF _Toc177808413 h 31 HYPERLINK l _Toc177808414 第三節(jié)、LabVIEW的運(yùn)算形式 PAGEREF _Toc177808414 h 32 HYPERLINK l _Toc177808415 第四節(jié)、LabVIEW的開放性 PAGEREF _Toc177808415 h 33 HYPERLINK l _Toc177808416 第五節(jié)、調(diào)試工具 PAGEREF

9、_Toc177808416 h 33 HYPERLINK l _Toc177808417 第六節(jié)、工具軟件包 PAGEREF _Toc177808417 h 33 HYPERLINK l _Toc177808418 第七節(jié)、總結(jié) PAGEREF _Toc177808418 h 34 HYPERLINK l _Toc177808419 第二章 圖形化編程加標(biāo)準(zhǔn)C語(yǔ)言LabWindowsCVI環(huán)境及其開放性 PAGEREF _Toc177808419 h 34提醒用戶:通常情況下,WINDOWS系統(tǒng)在安裝時(shí)自帶的DLL庫(kù)和驅(qū)動(dòng)不全,所以您不管使用那種語(yǔ)言編程,請(qǐng)您最好先安裝上Visual C+6.

10、0版本的軟件,方可使我們的驅(qū)動(dòng)程序有更完備的運(yùn)行環(huán)境。有關(guān)設(shè)備驅(qū)動(dòng)安裝和產(chǎn)品二次發(fā)行請(qǐng)參考USB2088Inst.doc文檔。有關(guān)VC等高級(jí)測(cè)控演示程序的說(shuō)明請(qǐng)參考USB2088Demo.doc文檔。第一章 版權(quán)信息本軟件產(chǎn)品及相關(guān)套件均屬北京市阿爾泰科貿(mào) 所有,其產(chǎn)權(quán)受國(guó)家法律絕對(duì)保護(hù),除非本公司書面允許,其他公司、單位及個(gè)人不得非法使用和拷貝,否則將受到國(guó)家法律的嚴(yán)厲制裁。您若需要我公司產(chǎn)品及相關(guān)信息請(qǐng)及時(shí)與我們聯(lián)系,我們將熱情接待。第二章 使用綱要如何管理USB設(shè)備由于我們的驅(qū)動(dòng)程序采用面向?qū)ο缶幊蹋砸褂迷O(shè)備的一切功能,則必須首先用 HYPERLINK l CreateDevice

11、 CreateDevice函數(shù)創(chuàng)建一個(gè)設(shè)備對(duì)象句柄hDevice,有了這個(gè)句柄,您就擁有了對(duì)該設(shè)備的控制權(quán)。然后將此句柄作為參數(shù)傳遞給其他函數(shù),如 HYPERLINK l InitDeviceAD InitDeviceAD可以使用hDevice句柄以初始化設(shè)備的AD部件并啟動(dòng)AD設(shè)備, HYPERLINK l ReadDeviceAD ReadDeviceAD函數(shù)可以用hDevice句柄實(shí)現(xiàn)對(duì)AD數(shù)據(jù)的采樣批量讀取, HYPERLINK l SetDeviceDO SetDeviceDO函數(shù)可用實(shí)現(xiàn)開關(guān)量的輸出等。最后可以通過(guò) HYPERLINK l ReleaseDevice Release

12、Device將hDevice釋放掉。如何批量取得AD數(shù)據(jù)當(dāng)您有了hDevice設(shè)備對(duì)象句柄后,便可用 HYPERLINK l InitDeviceAD InitDeviceAD函數(shù)初始化AD部件,關(guān)于采樣通道、頻率等的參數(shù)的設(shè)置是由這個(gè)函數(shù)的pADPara參數(shù)結(jié)構(gòu)體決定的。您只需要對(duì)這個(gè)pADPara參數(shù)結(jié)構(gòu)體的各個(gè)成員簡(jiǎn)單賦值即可實(shí)現(xiàn)所有硬件參數(shù)和設(shè)備狀態(tài)的初始化,然后這個(gè)函數(shù)啟動(dòng)AD設(shè)備。接著便可用 HYPERLINK l ReadDeviceAD ReadDeviceAD反復(fù)讀取AD數(shù)據(jù)以實(shí)現(xiàn)連續(xù)不間斷采樣當(dāng)您需要關(guān)閉AD設(shè)備時(shí), HYPERLINK l ReleaseDeviceAD

13、ReleaseDeviceAD便可幫您實(shí)現(xiàn)(但設(shè)備對(duì)象hDevice依然存在)。(注: HYPERLINK l ReadDeviceAD ReadDeviceAD雖然主要面對(duì)批量讀取,高速連續(xù)采集而設(shè)計(jì),但亦可用它以少量點(diǎn)如32個(gè)點(diǎn)讀取AD數(shù)據(jù),以滿足慢速采集需要)。具體執(zhí)行流程請(qǐng)看下面的圖。注意:圖中較粗的虛線表示對(duì)稱關(guān)系。如紅色虛線表示 HYPERLINK l CreateDevice CreateDevice和 HYPERLINK l ReleaseDevice ReleaseDevice兩個(gè)函數(shù)的關(guān)系是:最初執(zhí)行一次 HYPERLINK l CreateDevice CreateDev

14、ice,在結(jié)束是就須執(zhí)行一次 HYPERLINK l ReleaseDevice ReleaseDevice。綠色虛線 HYPERLINK l InitDeviceAD InitDeviceAD與 HYPERLINK l ReleaseDeviceAD ReleaseDeviceAD成對(duì)稱方式出現(xiàn)。開始創(chuàng)建設(shè)備對(duì)象CreateDevice()初始化和啟動(dòng)ADInitDeviceAD()讀取AD數(shù)據(jù)ReadDeviceAD ()用戶對(duì)采集到的AD數(shù)據(jù)進(jìn)行處理其代碼應(yīng)由用戶根據(jù)需要編寫需要再緊接著讀取AD數(shù)據(jù)以實(shí)現(xiàn)連續(xù)采集嗎?是釋放和停止AD設(shè)備ReleaseDeviceAD()需要改變通道或頻率

15、或清FIFO后再采集嗎?否釋放設(shè)備對(duì)象ReleaseDevice()不需要結(jié) 束圖2.1.1 AD采集實(shí)現(xiàn)過(guò)程接著上次再讀AD數(shù)據(jù)重新初始化AD三、哪些函數(shù)對(duì)您不是必須的?當(dāng)公共函數(shù)如 HYPERLINK l CreateFileObject CreateFileObject, HYPERLINK l WriteFile WriteFile, HYPERLINK l ReadFile ReadFile等一般來(lái)說(shuō)都是輔助性函數(shù),除非您要使用存盤功能。它們只是對(duì)我公司驅(qū)動(dòng)程序的一種功能補(bǔ)充,對(duì)用戶額外提供的。第三章 USB設(shè)備專用函數(shù)接口介紹第一節(jié)、設(shè)備驅(qū)動(dòng)接口函數(shù)列表(每個(gè)函數(shù)省略了前綴“USB

16、2088_”)函數(shù)名函數(shù)功能備注 設(shè)備對(duì)象操作函數(shù) HYPERLINK l CreateDevice CreateDevice創(chuàng)建USB總線的設(shè)備對(duì)象HYPERLINK l GetDeviceCountGetDeviceCount取得設(shè)備總數(shù)HYPERLINK l GetDeviceCurrentIDGetDeviceCurrentID取得設(shè)備當(dāng)前ID號(hào) HYPERLINK l ResetDevice ResetDevice復(fù)位USB設(shè)備 HYPERLINK l ReleaseDevice ReleaseDevice關(guān)閉設(shè)備,且釋放USB總線設(shè)備對(duì)象 = 2 * GB3 AD采樣操作函數(shù) HY

17、PERLINK l InitDeviceAD InitDeviceAD初始化USB設(shè)備AD部件,準(zhǔn)備傳數(shù) HYPERLINK l ReadDeviceAD ReadDeviceAD連續(xù)批量讀取USB設(shè)備上的AD數(shù)據(jù) HYPERLINK l ReleaseDeviceAD ReleaseDeviceAD釋放USB設(shè)備對(duì)象中的AD部件 = 3 * GB3 輔助函數(shù)(硬件參數(shù)設(shè)置、保存、讀取函數(shù)) HYPERLINK l LoadParaAD LoadParaAD從Windows系統(tǒng)中讀取硬件參數(shù) HYPERLINK l SaveParaAD SaveParaAD往Windows系統(tǒng)保存硬件參數(shù) =

18、 4 * GB3 開關(guān)量函數(shù) HYPERLINK l GetDeviceDI GetDeviceDI開關(guān)輸入函數(shù) HYPERLINK l SetDeviceDO SetDeviceDO開關(guān)輸出函數(shù) = 5 * GB3 DA輸出函數(shù) HYPERLINK l WriteDeviceDA WriteDeviceDADA輸出函數(shù)使用需知Visual C+ & C+Builder:首先將USB2088.h和USB2088.lib兩個(gè)驅(qū)動(dòng)庫(kù)文件從相應(yīng)的演示程序文件夾下復(fù)制到您的源程序文件夾中,然后在您的源程序頭部添加如下語(yǔ)句,以便將驅(qū)動(dòng)庫(kù)函數(shù)接口的原型定義信息和驅(qū)動(dòng)接口導(dǎo)入庫(kù)(USB2088.lib)加入

19、到您的工程中。#include “USB2088.H”在VC中,為了使用方便,避免重復(fù)定義和包含,您最好將以上語(yǔ)句放在StdAfx.h文件。一旦完成了以上工作,那么使用設(shè)備的驅(qū)動(dòng)程序接口就跟使用VC/C+Builder自身的各種函數(shù),其方法一樣簡(jiǎn)單,毫無(wú)二別。關(guān)于USB2088.h和USB2088.lib兩個(gè)文件均可在演示程序文件夾下面找到。Visual Basic: 首先將USB2088.Bas驅(qū)動(dòng)模塊頭文件從VB的演示程序文件夾下復(fù)制到您的源程序文件夾中,然后將此模塊文件加入到您的VB工程中。其方法是選擇VB編程環(huán)境中的工程(Project)菜單,執(zhí)行其中的添加模塊(Add Module)

20、命令,在彈出的對(duì)話中選擇USB2088.Bas模塊文件即可,一旦完成以上工作后,那么使用設(shè)備的驅(qū)動(dòng)程序接口就跟使用VB自身的各種函數(shù),其方法一樣簡(jiǎn)單,毫無(wú)二別。請(qǐng)注意,因考慮Visual C+和Visual Basic兩種語(yǔ)言的兼容問(wèn)題,在下列函數(shù)說(shuō)明和示范程序中,所舉的Visual Basic程序均是需要編譯后在獨(dú)立環(huán)境中運(yùn)行。所以用戶若在解釋環(huán)境中運(yùn)行這些代碼,我們不保證能完全順利運(yùn)行。Delphi: 首先將USB2088.Pas驅(qū)動(dòng)模塊頭文件從Delphi的演示程序文件夾下復(fù)制到您的源程序文件夾中,然后將此模塊文件加入到您的Delphi工程中。其方法是選擇Delphi編程環(huán)境中的View

21、菜單,執(zhí)行其中的Project Manager命令,在彈出的對(duì)話中選擇*.exe項(xiàng)目,再單擊鼠標(biāo)右鍵,最后Add指令,即可將USB2088.Pas單元模塊文件加入到工程中。或者在Delphi的編程環(huán)境中的Project菜單中,執(zhí)行Add To Project命令,然后選擇*.Pas文件類型也能實(shí)現(xiàn)單元模塊文件的添加。最后請(qǐng)?jiān)谑褂抿?qū)動(dòng)程序接口的源程序文件中的頭部的Uses關(guān)鍵字后面的項(xiàng)目中加入:“USB2088”。如:uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, USB2088; /

22、注意: 在此加入驅(qū)動(dòng)程序接口單元USB2088LabView / CVI: LabVIEW是美國(guó)國(guó)家儀器公司(National Instrument)推出的一種基于圖形開發(fā)、調(diào)試和運(yùn)行程序的集成化環(huán)境,是目前國(guó)際上唯一的編譯型的圖形化編程語(yǔ)言。在以 PC 機(jī)為基礎(chǔ)的測(cè)量和工控軟件中,LabVIEW的市場(chǎng)普及率僅次于C+/C語(yǔ)言。LabVIEW開發(fā)環(huán)境具有一系列優(yōu)點(diǎn),從其流程圖式的編程、不需預(yù)先編譯就存在的語(yǔ)法檢查、調(diào)試過(guò)程使用的數(shù)據(jù)探針,到其豐富的函數(shù)功能、數(shù)值分析、信號(hào)處理和設(shè)備驅(qū)動(dòng)等功能,都令人稱道。關(guān)于LabView/CVI的驅(qū)動(dòng)程序接口的詳細(xì)說(shuō)明請(qǐng)參考其演示源程序。第二節(jié)、設(shè)備對(duì)象管理

23、函數(shù)原型說(shuō)明 創(chuàng)建設(shè)備對(duì)象函數(shù) 函數(shù)原型: Visual C+ & C+ Builder: HANDLE CreateDevice(int DeviceID = 0) Visual Basic:Declare Function CreateDevice Lib USB2088 (Optional ByVal DeviceID As Long = 0) As LongDelphi:Function CreateDevice(DeviceID:Integer = 0):Integer; StdCall; External USB2088 Name CreateDevice;LabView:功能:該

24、函數(shù)負(fù)責(zé)創(chuàng)建設(shè)備對(duì)象,并返回其設(shè)備對(duì)象句柄。參數(shù):DeviceID 設(shè)備ID( Identifier )標(biāo)識(shí)號(hào)。當(dāng)向同一個(gè)Windows系統(tǒng)中加入若干相同類型的USB設(shè)備時(shí),系統(tǒng)將以該設(shè)備的“基本名稱”與DeviceID標(biāo)識(shí)值為名稱后綴的標(biāo)識(shí)符來(lái)確認(rèn)和管理該設(shè)備。比如若用戶往Windows系統(tǒng)中加入第一個(gè)USB2088 AD模板時(shí),系統(tǒng)則以“USB2088”作為基本名稱,再以DeviceID的初值組合成該設(shè)備的標(biāo)識(shí)符“USB2088-0”來(lái)確認(rèn)和管理這第一個(gè)設(shè)備,若用戶接著再添加第二個(gè)USB2088 AD模板時(shí),則系統(tǒng)將以“USB2088-1”來(lái)確認(rèn)和管理第二個(gè)設(shè)備,若再添加,則以此類推。所以

25、當(dāng)用戶要?jiǎng)?chuàng)建設(shè)備句柄管理和操作第一個(gè)USB設(shè)備時(shí),DeviceID應(yīng)置0,第二應(yīng)置1,也以此類推。默認(rèn)值為0。返回值:如果執(zhí)行成功,則返回設(shè)備對(duì)象句柄;如果沒(méi)有成功,則返回錯(cuò)誤碼INVALID_HANDLE_VALUE。由于此函數(shù)已帶容錯(cuò)處理,即若出錯(cuò),它會(huì)自動(dòng)彈出一個(gè)對(duì)話框告訴您出錯(cuò)的原因。您只需要對(duì)此函數(shù)的返回值作一個(gè)條件處理即可,別的任何事情您都不必做。相關(guān)函數(shù): HYPERLINK l ReleaseDevice ReleaseDeviceVisual C+ & C+Builder程序舉例 : HANDLE hDevice; / 定義設(shè)備對(duì)象句柄 hDevice=CreateDevic

26、e(0); / 創(chuàng)建設(shè)備對(duì)象,并取得設(shè)備對(duì)象句柄 if(hDevice=INVALIDE_HANDLE_VALUE) / 判斷設(shè)備對(duì)象句柄是否有效 return; / 退出該函數(shù) : Visual Basic程序舉例 : Dim hDevice As Long 定義設(shè)備對(duì)象句柄 hDevice = CreateDevice(0) 創(chuàng)建設(shè)備對(duì)象,并取得設(shè)備對(duì)象句柄,管理第一個(gè)USB設(shè)備 If hDevice = INVALID_HANDLE_VALUE Then 判斷設(shè)備對(duì)象句柄是否有效 Else Exit Sub 退出該過(guò)程End If: 取得在系統(tǒng)中的設(shè)備總臺(tái)數(shù) 函數(shù)原型: Visual C

27、+ & C+Builder: int GetDeviceCount (HANDLE hDevice) Visual Basic: Declare Function GetDeviceCount Lib USB2088 (ByVal hDevice As Long ) As Long Delphi: Function GetDeviceCount (hDevice : LongInt):LongInt; StdCall; External USB2088 Name GetDeviceCount ; LabView:請(qǐng)參考相應(yīng)演示程序。 功能:取得在系統(tǒng)中物理設(shè)備的總臺(tái)數(shù)。 參數(shù):hDevice

28、設(shè)備對(duì)象句柄,它應(yīng)由 HYPERLINK l CreateDevice CreateDevice創(chuàng)建。 返回值:若成功,則返回實(shí)際設(shè)備臺(tái)數(shù), 否則返回0, 用戶可以用GetLastError捕獲錯(cuò)誤碼。相關(guān)函數(shù): HYPERLINK l CreateDevice CreateDevice HYPERLINK l ReleaseDevice ReleaseDevice 取得當(dāng)前設(shè)備對(duì)象句柄指向的設(shè)備所在的設(shè)備ID 函數(shù)原型: Visual C+ & C+Builder: int GetDeviceCurrentID (HANDLE hDevice) Visual Basic: Declare F

29、unction GetDeviceCurrentID Lib USB2088 (ByVal hDevice As Long ) As Long Delphi: Function GetDeviceCurrentID (hDevice : Longint):LongInt;StdCall; External USB2088 Name GetDeviceCurrentID ; LabView: 請(qǐng)參考相應(yīng)演示程序。 功能:取得指定設(shè)備對(duì)象所代表的設(shè)備在設(shè)備鏈中的當(dāng)前設(shè)備ID號(hào)(即索引位置)。 參數(shù):hDevice 設(shè)備對(duì)象句柄,它應(yīng)由 HYPERLINK l CreateDevice Create

30、Device創(chuàng)建。 返回值:若成功,則返回由hDevice參數(shù)代表的設(shè)備在設(shè)備鏈中的設(shè)備ID, 否則返回-1, 用戶可以用GetLastError捕獲錯(cuò)誤碼。注意其返回的ID是一定與在 HYPERLINK l CreateDevice CreateDevice函數(shù)中指定的DeviceID參數(shù)值相等。相關(guān)函數(shù): HYPERLINK l CreateDevice CreateDevice HYPERLINK l ReleaseDevice ReleaseDevice 復(fù)位整個(gè)USB設(shè)備 函數(shù)原型: Visual C+ & C+Builder: BOOL ResetDevice (HANDLE hD

31、evice) Visual Basic: Declare Function ResetDevice Lib USB2088 (ByVal hDevice As Long ) as Boolean Delphi: Function ResetDevice (hDevice : LongInt):Boolean; StdCall; External USB2088 Name ResetDevice; LabView: 請(qǐng)參考相應(yīng)演示程序。 功能:復(fù)位整個(gè)USB設(shè)備,相當(dāng)于它與PC機(jī)端重新建立。其效果與重新插上USB設(shè)備等同。一般在出錯(cuò)情況下,想軟復(fù)位來(lái)建決重連接問(wèn)題,就可以調(diào)用該函數(shù)解決此問(wèn)題。

32、參數(shù):hDevice 設(shè)備對(duì)象句柄,它應(yīng)由 HYPERLINK l CreateDevice CreateDevice創(chuàng)建。由它指向要復(fù)位的設(shè)備。 返回值:若成功,則返回TRUE, 否則返回FALSE, 用戶可以用GetLastError捕獲錯(cuò)誤碼。相關(guān)函數(shù): HYPERLINK l CreateDevice CreateDevice HYPERLINK l ReleaseDevice ReleaseDevice 釋放設(shè)備對(duì)象所占的系統(tǒng)資源及設(shè)備對(duì)象 函數(shù)原型: Visual C+ & C+Builder: BOOL ReleaseDevice(HANDLE hDevice) Visual B

33、asic: Declare Function ReleaseDevice Lib USB2088 (ByVal hDevice As Long ) as Boolean Delphi: Function ReleaseDevice(hDevice : Longint):Boolean; StdCall; External USB2088 Name ReleaseDevice; LabView: 功能:釋放設(shè)備對(duì)象所占用的系統(tǒng)資源及設(shè)備對(duì)象自身。 參數(shù):hDevice 設(shè)備對(duì)象句柄,它應(yīng)由 HYPERLINK l CreateDevice CreateDevice創(chuàng)建。 返回值:若成功,則返回T

34、RUE, 否則返回FALSE, 用戶可以用GetLastError捕獲錯(cuò)誤碼。相關(guān)函數(shù): HYPERLINK l CreateDevice CreateDevice應(yīng)注意的是, HYPERLINK l CreateDevice CreateDevice必須和 HYPERLINK l ReleaseDevice ReleaseDevice函數(shù)一一對(duì)應(yīng),即當(dāng)您執(zhí)行了一次 HYPERLINK l CreateDevice CreateDevice,再一次執(zhí)行這些函數(shù)前,必須執(zhí)行一次 HYPERLINK l ReleaseDevice ReleaseDevice函數(shù),以釋放由 HYPERLINK l

35、CreateDevice CreateDevice占用的系統(tǒng)軟硬件資源,如系統(tǒng)內(nèi)存等。只有這樣,當(dāng)您再次調(diào)用 HYPERLINK l CreateDevice CreateDevice函數(shù)時(shí),那些軟硬件資源才可被再次使用。第三節(jié)、AD采樣操作函數(shù)原型說(shuō)明 初始化設(shè)備對(duì)象 函數(shù)原型: Visual C+ & C+Builder: BOOL InitDeviceAD( HANDLE hDevice, PUSB2088_PARA_AD pADPara ) Visual Basic: Declare Function InitDeviceAD Lib USB2088 ( ByVal hDevice a

36、s Long, _ ByRef pADPara as USB2088_PARA _AD) As Boolean Delphi:Function InitDeviceAD( hDevice : Integer; pADPara:PUSB2088_PARA_AD):Boolean; StdCall; External USB2088 Name InitDeviceAD;LabView: 功能:它負(fù)責(zé)初始化設(shè)備對(duì)象中的AD部件,為設(shè)備操作就緒有關(guān)工作,如預(yù)置AD采集通道,采樣頻率等,然后啟動(dòng)AD設(shè)備開始AD采集,隨后,用戶便可以連續(xù)調(diào)用 HYPERLINK l ReadDeviceAD ReadDe

37、viceAD讀取USB設(shè)備上的AD數(shù)據(jù)以實(shí)現(xiàn)連續(xù)采集。注意:每次在 HYPERLINK l InitDeviceAD InitDeviceAD之后所采集的所有數(shù)據(jù),其第一個(gè)點(diǎn)是無(wú)效的,必須丟掉,有效數(shù)據(jù)從第二個(gè)點(diǎn)開始。參數(shù):hDevice 設(shè)備對(duì)象句柄,它應(yīng)由USB設(shè)備的 HYPERLINK l CreateDevice CreateDevice創(chuàng)建。pADPara 設(shè)備對(duì)象參數(shù)結(jié)構(gòu), 它決定了設(shè)備對(duì)象的各種狀態(tài)及工作方式,如AD采樣通道、采樣頻率等。 返回值:如果初始化設(shè)備對(duì)象成功,則返回TRUE, 且AD便被啟動(dòng)。否則返回FALSE, 用戶可用GetLastError捕獲當(dāng)前錯(cuò)誤碼,并加以

38、分析。相關(guān)函數(shù): HYPERLINK l CreateDevice CreateDevice HYPERLINK l ReadDeviceAD ReadDeviceAD HYPERLINK l ReleaseDevice ReleaseDevice注意:該函數(shù)將試圖占用系統(tǒng)的某些資源,如系統(tǒng)內(nèi)存區(qū)、DMA資源等。所以當(dāng)用戶在反復(fù)進(jìn)行數(shù)據(jù)采集之前,只須執(zhí)行一次該函數(shù)即可,否則某些資源將會(huì)發(fā)生使用上的沖突,便會(huì)失敗。除非用戶執(zhí)行了 HYPERLINK l ReleaseDeviceAD ReleaseDeviceAD函數(shù)后,再重新開始設(shè)備對(duì)象操作時(shí),可以再執(zhí)行該函數(shù)。所以該函數(shù)切忌不要單獨(dú)放在循環(huán)

39、語(yǔ)句中反復(fù)執(zhí)行,除非和 HYPERLINK l ReleaseDeviceAD ReleaseDeviceAD配對(duì)。 批量讀取USB設(shè)備上的AD數(shù)據(jù)函數(shù)原型: Visual C+ & C+Builder:BOOL ReadDeviceAD ( HANDLE hDevice, PWORD pADBuffer, LONG nReadSizeWords,PLONG nRetSizeWords) Visual Basic: Declare Function ReadDeviceAD Lib USB2088 (ByVal hDevice As Long, _ByRef pADBuffer As Inte

40、ger, _ByVal nReadSizeWords As Long, _ByRef Val nRetSizeWords As Long ) As Boolean Delphi: Function ReadDeviceAD(hDevice : Integer;pADBuffer : Word; nReadSizeBytes:LongWord;nRetSizeWords : PLongArray) : Boolean; StdCall; External USB2088 Name ReadDeviceAD;LabView: 功能: 讀取USB設(shè)備AD部件上的批量數(shù)據(jù)。它不負(fù)責(zé)初始化AD部件,待讀

41、完整過(guò)指定長(zhǎng)度的數(shù)據(jù)才返回。它必須在 HYPERLINK l InitDeviceAD InitDeviceAD之后, HYPERLINK l ReleaseDeviceAD ReleaseDeviceAD之前調(diào)用。參數(shù):hDevice 設(shè)備對(duì)象句柄,它應(yīng)由 HYPERLINK l CreateDevice CreateDevice創(chuàng)建。 pADBuffer 用戶數(shù)據(jù)緩沖區(qū)地址。接受的是從設(shè)備上采集的LSB原碼數(shù)據(jù),關(guān)于如何將LSB原碼數(shù)據(jù)轉(zhuǎn)換成電壓值,請(qǐng)參考 HYPERLINK l 數(shù)據(jù)格式轉(zhuǎn)換與排列規(guī)則 數(shù)據(jù)格式轉(zhuǎn)換與排列規(guī)則章節(jié)。nReadSizeWords讀取數(shù)據(jù)的長(zhǎng)度(以字為單位),

42、為了提高讀取速率,根據(jù)特定要求,其長(zhǎng)度必須指定為32字的整數(shù)倍長(zhǎng),如32、64、128 8192等字長(zhǎng),否則,USB設(shè)備對(duì)象將失敗該讀操作。注意此參數(shù)不能大于AD硬件參數(shù)中的ADPara. HYPERLINK l nReadSizeWords nReadSizeWords成員值。關(guān)于ADPara. HYPERLINK l nReadSizeWords nReadSizeWords的定義請(qǐng)參考 HYPERLINK l AD硬件參數(shù)介紹 AD硬件參數(shù)介紹章節(jié)。nRetSizeWords在當(dāng)前操作中該函數(shù)實(shí)際讀取的點(diǎn)數(shù)。只有當(dāng)函數(shù)成功返回時(shí)該參數(shù)值才有意義,而當(dāng)函數(shù)返回失敗時(shí),則該參數(shù)的值與調(diào)用此函

43、數(shù)前的值相等,不會(huì)因?yàn)楹瘮?shù)被調(diào)用而改變,因此最好在讀取AD數(shù)據(jù)前,將此參數(shù)值賦初值0。需要注意的是在函數(shù)成功返回后,若此參數(shù)值等于0,則需要重新調(diào)用此函數(shù)讀取AD數(shù)據(jù),直到此參數(shù)的值不等于0為止。返回值:若成功,則返回TRUE,否則返回FALSE,用戶可以用GetLastError捕獲錯(cuò)誤碼。相關(guān)函數(shù): HYPERLINK l CreateDevice CreateDevice HYPERLINK l InitDeviceAD InitDeviceAD HYPERLINK l ReleaseDevice ReleaseDevice 釋放設(shè)備對(duì)象中的AD部件 函數(shù)原型: Visual C+ &

44、C+Builder: BOOL ReleaseDeviceAD(HANDLE hDevice) Visual Basic: Declare Function ReleaseDeviceAD Lib USB2088 (ByVal hDevice As Long ) as Boolean Delphi: Function ReleaseDeviceAD(hDevice : Longint):Boolean; StdCall; External USB2088 Name ReleaseDeviceAD; LabView: 功能:釋放設(shè)備對(duì)象中的AD部件所占用的系統(tǒng)資源。 參數(shù):hDevice 設(shè)備對(duì)

45、象句柄,它應(yīng)由 HYPERLINK l CreateDevice CreateDevice創(chuàng)建。 返回值:若成功,則返回TRUE, 否則返回FALSE, 用戶可以用GetLastError捕獲錯(cuò)誤碼。相關(guān)函數(shù): HYPERLINK l CreateDevice CreateDevice HYPERLINK l InitDeviceAD InitDeviceAD HYPERLINK l ReleaseDevice ReleaseDevice應(yīng)注意的是, HYPERLINK l InitDeviceAD InitDeviceAD必須和 HYPERLINK l ReleaseDeviceAD Rel

46、easeDeviceAD函數(shù)一一對(duì)應(yīng),即當(dāng)您執(zhí)行了一次 HYPERLINK l InitDeviceAD InitDeviceAD,再一次執(zhí)行這些函數(shù)前,必須執(zhí)行一次 HYPERLINK l ReleaseDeviceAD ReleaseDeviceAD函數(shù),以釋放由 HYPERLINK l InitDeviceAD InitDeviceAD占用的系統(tǒng)軟硬件資源,如系統(tǒng)內(nèi)存等。只有這樣,當(dāng)您再次調(diào)用 HYPERLINK l InitDeviceAD InitDeviceAD函數(shù)時(shí),那些軟硬件資源才可被再次使用。這個(gè)對(duì)應(yīng)關(guān)系對(duì)于非連續(xù)采樣的場(chǎng)合特別適用。比如用戶先采集一定長(zhǎng)度的數(shù)據(jù)后,然后對(duì)根據(jù)

47、這些數(shù)據(jù)或其他條件,需要改變采樣通道或采樣頻率等配置時(shí),則可以先用 HYPERLINK l ReleaseDeviceAD ReleaseDeviceAD釋放先已由 HYPERLINK l InitDeviceAD InitDeviceAD占用的資源,然后再用 HYPERLINK l InitDeviceAD InitDeviceAD重新分配資源和初始化設(shè)備狀態(tài),即可實(shí)現(xiàn)所提到的功能。 以上函數(shù)調(diào)用一般順序 HYPERLINK l CreateDevice CreateDevice HYPERLINK l InitDeviceAD InitDeviceAD HYPERLINK l ReadDe

48、viceAD ReadDeviceAD HYPERLINK l ReleaseDeviceAD ReleaseDeviceAD HYPERLINK l ReleaseDevice ReleaseDevice用戶可以反復(fù)執(zhí)行第 = 3 * GB3 步,以實(shí)現(xiàn)高速連續(xù)不間斷數(shù)據(jù)采集。如果在采集過(guò)程中要改變?cè)O(shè)備狀態(tài)信息,如采樣通道等,則執(zhí)行到第 = 4 * GB3 步后再回到第 = 2 * GB3 步用新的狀態(tài)信息重新初始設(shè)備。注意在第 = 3 * GB3 步中,若其 HYPERLINK l ReadDeviceAD ReadDeviceAD函數(shù)成功返回,且nRetSizeWords參數(shù)值等于0,則

49、需要重新執(zhí)行第 = 3 * GB3 步,直到不等于0為止。第四節(jié)、AD硬件參數(shù)系統(tǒng)保存與讀取函數(shù)原型說(shuō)明 從Windows系統(tǒng)中讀入硬件參數(shù)函數(shù) 函數(shù)原型: Visual C+ & C+Builder:BOOL LoadParaAD(HANDLE hDevice, PUSB2088_PARA_AD pADPara) Visual Basic: Declare Function LoadParaAD Lib USB2088 ( ByVal hDevice As Long, _ ByRef pADPara As USB2088_PARA_AD) As Boolean Delphi:Function

50、 LoadParaAD(hDevice : Integer; pADPara:PUSB2088_PARA_AD):Boolean; StdCall; External USB2088 Name LoadParaAD;LabView:功能:負(fù)責(zé)從Windows系統(tǒng)中讀取設(shè)備硬件參數(shù)。 參數(shù): hDevice 設(shè)備對(duì)象句柄,它應(yīng)由 HYPERLINK l CreateDevice CreateDevice創(chuàng)建。 pADPara屬于PUSB2088_PARA的結(jié)構(gòu)指針型,它負(fù)責(zé)返回USB硬件參數(shù)值,關(guān)于結(jié)構(gòu)指針類型PUSB2088_PARA請(qǐng)參考相應(yīng)USB2088.h或該結(jié)構(gòu)的幫助文檔的有關(guān)說(shuō)明。返

51、回值:若成功,返回TRUE,否則返回FALSE。相關(guān)函數(shù): HYPERLINK l CreateDevice CreateDevice HYPERLINK l SaveParameter SaveParameter HYPERLINK l ReleaseDevice ReleaseDeviceVisual C+ & C+Builder舉例: : USB2088_PARA_AD ADPara; HANDLE hDevice;HDevice = CreateDevice(0) ; / 管理秕一個(gè)USB設(shè)備 if(!LoadParaAD(hDevice, &ADPara) AfxMessageBox

52、(“讀入硬件參數(shù)失敗,請(qǐng)確認(rèn)您的驅(qū)動(dòng)程序是否正確安裝”);Return; / 若錯(cuò)誤,則退出該過(guò)程 :Visual Basic舉例: : Dim ADPara As USB2088_PARA_AD Dim hDevice As Long : hDevice = CreateDevice(0) 管理第一個(gè)USB設(shè)備 If Not LoadParaAD(hDevice, ADPara) Then MsgBox “讀入硬件參數(shù)失敗,請(qǐng)確認(rèn)您的驅(qū)動(dòng)程序是否正確安裝” Exit Sub 若錯(cuò)誤,則退出該過(guò)程 End If : 往Windows系統(tǒng)寫入設(shè)備硬件參數(shù)函數(shù) 函數(shù)原型: Viusal C+ &

53、C+Builder: BOOL SaveParaAD(HANDLE hDevice, PUSB2088_PARA_AD pADPara) Visual Basic: Declare Function SaveParaAD Lib USB2088 (ByVal hDevice As Long, _ ByRef pADPara As USB2088_PARA_AD) As Boolean Delphi: Function SaveParaAD (hDevice : Integer; pADPara:PUSB2088_PARA_AD):Boolean; StdCall; External USB20

54、88 Name SaveParaAD; LabView: 功能:負(fù)責(zé)把用戶設(shè)置的硬件參數(shù)保存在Windows系統(tǒng)中,以供下次使用。 參數(shù): hDevice 設(shè)備對(duì)象句柄,它應(yīng)由 HYPERLINK l CreateDevice CreateDevice創(chuàng)建。 pADPara AD設(shè)備硬件參數(shù),請(qǐng)參考 HYPERLINK l 硬件參數(shù)結(jié)構(gòu) 硬件參數(shù)結(jié)構(gòu)章節(jié)。 返回值:若成功,返回TRUE,否則返回FALSE。相關(guān)函數(shù): HYPERLINK l CreateDevice CreateDeviceHYPERLINK l LoadParaADLoadParaAD HYPERLINK l Release

55、Device ReleaseDevice第五節(jié)、DIO數(shù)字開關(guān)量輸入輸出簡(jiǎn)易操作函數(shù)原型說(shuō)明 十六路開關(guān)量輸入函數(shù)原型: Visual C+ & C+Builder:BOOL GetDeviceDI (HANDLE hDevice, PUSB2088_PARA_DI pDIPara) Visual Basic:Declare Function GetDeviceDI Lib USB2088 ( ByVal hDevice As Long, _ ByRef pDIPara As USB2088_PARA_DI) As BooleanDelphi:Function GetDeviceDI ( hD

56、evice : Integer; pDIPara:PUSB2088_PARA_DI):Boolean; StdCall; External USB2088 Name GetDeviceDI ;LabView(包括相關(guān)演示): 功能:負(fù)責(zé)將USB設(shè)備上的輸入開關(guān)量狀態(tài)讀入內(nèi)存。 參數(shù): hDevice 設(shè)備對(duì)象句柄,它應(yīng)由 HYPERLINK l CreateDevice CreateDevice決定。 pDIPara八路開關(guān)量輸入狀態(tài)的參數(shù)結(jié)構(gòu),共有8個(gè)成員變量,分別對(duì)應(yīng)于DI0-DI7路開關(guān)量輸入狀態(tài)位。如果pDIPara-DI0為“1”則使0通道處于開狀態(tài),若為“0”則0通道為關(guān)狀態(tài)。其他

57、同理。具體定義請(qǐng)參考 HYPERLINK l DO數(shù)字開關(guān)量輸出參數(shù)介紹 DO數(shù)字開關(guān)量輸出參數(shù)介紹章節(jié)。返回值:若成功,返回TRUE,其pDIPara中的值有效;否則返回FALSE,其pDIPara中的值無(wú)效。相關(guān)函數(shù): HYPERLINK l CreateDevice CreateDeviceHYPERLINK l SetDeviceDOSetDeviceDO HYPERLINK l ReleaseDevice ReleaseDevice以上函數(shù)調(diào)用一般順序 = 1 * GB3 HYPERLINK l CreateDevice CreateDevice = 2 * GB3 HYPERLIN

58、K l SetDeviceDO SetDeviceDO (或 HYPERLINK l GetDeviceDI GetDeviceDI,當(dāng)然這兩個(gè)函數(shù)也可同時(shí)進(jìn)行) = 3 * GB3 HYPERLINK l ReleaseDevice ReleaseDevice用戶可以反復(fù)執(zhí)行第 = 2 * GB3 步,以進(jìn)行數(shù)字I/O的輸入輸出(數(shù)字I/O的輸入輸出及AD采樣可以同時(shí)進(jìn)行,互不影響)。 十六路開關(guān)量輸出函數(shù)原型:Visual C+ & C+Builder:BOOL SetDeviceDO (HANDLE hDevice, PUSB2088_PARA_DO pDOPara) Visual Ba

59、sic:Declare Function SetDeviceDO Lib USB2088 (ByVal hDevice As Long, _ ByVal pDOPara As USB2088_PARA_DO) As BooleanDelphi:Function SetDeviceDO ( hDevice : Integer; pDOPara:PUSB2088_PARA_DO):Boolean; StdCall; External USB2088 Name SetDeviceDO ;LabView(包括相關(guān)演示): 功能:負(fù)責(zé)將USB設(shè)備上的輸出開關(guān)量置成相應(yīng)的狀態(tài)。 參數(shù): hDevice 設(shè)

60、備對(duì)象句柄,它應(yīng)由 HYPERLINK l CreateDevice CreateDevice決定。 pDOPara八路開關(guān)量輸出狀態(tài)的參數(shù)結(jié)構(gòu),共有八個(gè)成員變量,分別對(duì)應(yīng)于DO0-DO7路開關(guān)量輸出狀態(tài)位。比如置pDOPara-DO0為“1”則使0通道處于“開”狀態(tài),若為“0”則置0通道為“關(guān)”狀態(tài)。其他同理。請(qǐng)注意,在實(shí)際執(zhí)行這個(gè)函數(shù)之前,必須對(duì)這個(gè)參數(shù)結(jié)構(gòu)的DO0至DO7共8個(gè)成員變量賦初值,其值必須為“1”或“0”。具體定義請(qǐng)參考 HYPERLINK l DO數(shù)字開關(guān)量輸出參數(shù)介紹 DO數(shù)字開關(guān)量輸出參數(shù)介紹。返回值:若成功,返回TRUE,否則返回FALSE。相關(guān)函數(shù): HYPERLI

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論