在NI GPIB硬體上使用HP Basic語言



主要軟體: Driver Software>>NI-488.2
主要軟體版本: 1.0
主要軟體修正版本:
次要軟體:

問題: 我有一塊NI GPIB板卡和HP Basic的windows開發環境,他們之間應該如何通信呢?

解答: [這裏的資訊來源於HP公司,因此只要是從他們的角度出發撰寫的,故他們的狀態是”Internal Use Only”]

HPW(HP Basic for Windows) 包含了HPIB和GPIB板卡的5個驅動: GPIB, GPIBH, GPIBN, GPIBTNT以及HPIBS.

GPIB: 主要針對基於TI 9914晶片的I/O映射板卡; (指8234X系列板卡)

GPIBH: 主要針對基於TI 9914晶片的記憶體映射板卡.(這裏指27209以及82335板卡,不能應用於8234X系列板卡);

GPIBN: 針對基於NEC 7210 晶片的I/O映射板卡(這裏指NI的GPIB-PCII/IIA以及 AT-GPIB板卡);

GPIBTNT (HBW 6.32中增加): 這個驅動程式通過NI 的GPIB.DLL檔進行通信,因此原則上可以訪問NI的任何板卡( 這也是WINNT中唯一支援NI板卡的驅動程式). 該程式在大多數NI新的GPIB板卡中都可以得到應用.

HPIBS: 這個驅動程式通過HP SICL介面函數庫進行通信,而不是直接與硬體板卡進行通信; HPIBS驅動可以被用於與HP 82340和82341A/B板卡進行通信;

注意HPIBS不能被用來與82335進行通信. 它是在winnt環境下唯一能支援HP板卡工作的驅動程式,也是唯一能在Win95和WinNT都能支持82341D即插即用板卡工作的驅動.

GPIB, GPIBH, 以及 GPIBN 都能通過使用LOAD BIN命令被載入,當然這裏還需要有定義板卡類型的參數,基底位址, 中斷級別, 介面選擇代碼(ISC – 即HBW用來識別介面類型的數位), 以及這塊板卡是系統控制器還是非系統控制器. 舉例如下:

LOAD BIN "GPIBN;BOARD AT-GPIB BASE 02C0 INT 7 ISC 7 SYS"

注意這裏的”SYS” 表明該板卡是系統控制器, 類似的”NOTSYS”表明是非系統控制器. 參數的正確使用與聲明是讓板卡正常工作的前提: 假如基底位址聲明錯誤, HBW將不能發現這塊板卡; 假如IRQ中斷級別不正確或者與另外的PC介面中斷相衝突, 這塊板卡很有可能就不會回應中斷服務請求(SRQ). (當然, 你不需要指明所需要的所有參數,一般如果該參數沒有被指定,就會應用它的缺省值, 但顯示的指明這些參數是一個開發系統與編寫程式的好習慣).

通過使用NI板卡, 就像在HBW 6.32中一樣你對驅動程式有如下選擇: 或者是基於硬體的驅動程式, 或者是GPIBTNT驅動 (由於它使用更方便,這裏推薦使用). GPIBTNT驅動程式可以通過下面的LOAD BIN語句來進行載入:

LOAD BIN "GPIBTNT;DEV 'Device Name' "

這裏” device name”是在NI的GPIB配置工具中賦予GPIB板卡的設備名(例如DEV1), 僅此而已.

PCMCIA的GPIB板卡使用的命令格式如下:

LOAD BIN "GPIBTNT;DEV GPIB0"

假定一塊GPIB-PCII/IIA板卡已經被設為PCIIA模式, 已經有了缺省設置,然後你就可以使用如下方法載入GPIBN驅動:

LOAD BIN "GPIBN;BOARD PC2A BASE 2E1 INT 7 SYS"

類似的, AT-GPIB板卡載入方法如下:

LOAD BIN "GPIBN;BOARD AT-GPIB BASE 2C0 INT 11 SYS"

* 注意如果你使用LOAD BIN命令但確不能正常工作, 你將會得到錯誤資訊"ERROR 167 -- INTERFACE STATUS ERROR". 這是由於一些及其微小的語法錯誤造成的, 因此請注意您的輸入字元. 然而, 某些情況下你可以載入這些驅動程式, 但卻仍然發現他們不能正常工作, 因此建議先運行一個進行I/O操作的簡單程式作為測試.


相關連結:

附加檔案:





報告日期: 05/26/1999
最後更新: 07/26/2005
文件偏號: 1LPE8PX1