NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

請教一下使用IVI驅動問題

我用的是VB6.0

 

1、IVI配置文件用VB樣怎管理(不用Max) ,有無提供VB操作的函數?

 

2、裝NI IVIEngine,安裝具體儀器IVI驅動,在VB裡引用iviscope.dll,在max裡配置,用分類驅動例:iviscope進行操作,就是完成一個IVI驅動,實現互換儀器的過程? 是這樣的嗎?

 

3、用邏輯名方式初始成功:iviscope.InitializeWithOptions.IviScope_InitWithOptions("tkds30xx", True, True, "Simulate=0,RangeCheck=1,QueryInstrStatus=1,Cache=1", mlngInstrSession(i))

 此時邏輯名Resource: "TCPIP::192.168.0.2::INSTR"

 改為:iviscope.InitializeWithOptions.IviScope_InitWithOptions("TCPIP::192.168.0.2::INSTR", True, True, "Simulate=0,RangeCheck=1,QueryInstrStatus=1,Cache=1", mlngInstrSession(i))

  失敗!如果還是可用Resouce初始化,那邏輯名就沒什麼用了,可以這樣理解嗎?

 

4、 用邏輯名與直接用Resource初化有何區別。 

 

5、如果使用Tek 的ivi-com驅動做互換儀器,就要裝Agilent的IVIEngine(還沒看到過),試過將羅名為“tkds30xx”(ni ivi)指向Tek的"TekScope.dll" ivi驅動,不成功。

 

 

 

0 项奖励
1 条消息(共 12 条)
7,519 次查看

1. 关于Config Store File(IVI配置文件)和MAX

建设使用MAX来配置Config Store File:MAX提供了图形界面,配置起来安全方便。

当然除了使用MAX,你也可以通过调用函数来配置Config Store File。IVI Configuration Server 提供了一系列访问Config Store File 的接口函数(包含C的接口和COM的接口)。具体的接口信息参见规范IVI-3.5(http://www.ivifoundation.org/specifications/default.aspx)。

为了使用这些接口函数,你需要先安装IVI Shared Components (http://www.ivifoundation.org/shared_components/Default.aspx)。当然你也可以只安装NI公司的IVI Compliance Package(简称ICP),ICP(http://joule.ni.com/nidu/cds/view/p/id/1095/lang/en)包含了IVI Shared Components,IVI Class Drivers,IVI Engine等。

 

2. 关于Interchangeability(可互换性)

为了实现可互换性,还需要有IVI Class Driver这一层。你可以安装NI公司的IVI Compliance Package(http://joule.ni.com/nidu/cds/view/p/id/1095/lang/en),它包含了IVI Class Driver。

0 项奖励
2 条消息(共 12 条)
7,489 次查看

感謝樓上的回復,再請教:

 

1、http://www.ivifoundation.org/downloads/Architecture%20Specifications 找到例子。

2、 iviscope應是IVI Class Driver这一層吧?但NI tkds30xx所帶IVI例子用的語法是:checkErr( tkds30xx_InitWithOptions ("tkds30xx",.....);感覺還是Visa驅動呀,這樣怎個互換?

3、iviscope.InitializeWithOptions.IviScope_InitWithOptions("TCPIP::192.168.0.2::INSTR",...)

   同樣用邏輯名可以初始化,不知為什麼?

4、IVI Class Driver的IVIScope調用Tek的TekScope.ll IVI-COM驅動不成功,是因為NI IVIEngine不支持Tek的IVI驅動?

 

0 项奖励
3 条消息(共 12 条)
7,483 次查看

如附件中的图所示,通常来说使用仪器驱动有两种方式:

 

1. 直接使用Specific Driver。tkds30xx驱动就是属于一个Specific Driver,通过checkErr( tkds30xx_InitWithOptions ("tkds30xx",.....);就属于直接使用Specific Driver。

 

2.使用ClassDriver。由于tkds30xx驱动是一个符合IVISCOPE规范的驱动,应用程序可以通过IviScope这个ClassDriver来间接调用tkds30xx驱动。通过IviScope_InitWithOptions(...)就是调用了Class Driver的函数。但要注意的是,在使用Class Driver前要通过MAX配置好Config Store File,包括Logical Name(逻辑名),Driver Session, 以及在Software Module中的DLL路径。在你的应用中出现调用不成功的原因有可能是Config Store File没有配置好。-:)

 

 

 

如何体现可互换性:在应用程序中调用Class Driver可以体现互换性。

 

举一个例子,假设2008年租用了Tek的示波器,Specific Driver是tkds30xx;2009年租用的却是Agilent的示波器,Specific Driver也改为Agilent的驱动。但由于应用程序中调用的是Class Driver,不管Specific Driver如何变化,我们只需要更改Config Store File (通过MAX配置),而应用程序不需要做任何修改就可以继续使用。

帖子被zhou jiang在 03-25-2009 03:37 AM
时编辑过了
0 项奖励
4 条消息(共 12 条)
7,466 次查看

再謝!

大致疏通了.

1、IVI驅動分IVI-COM & IVI-C,如果用VB之類,用IVI-COM方便些。不知NI的DSO有IVI-COM驅動沒,如果我現用IVI-COM,還是不能與NI DSO互換?

2、ClassDriver -COM是IVI 基金會發布的,ClassDriver -C是NI發布的,是這樣嗎?

0 项奖励
5 条消息(共 12 条)
7,424 次查看

安裝ICP3.3選了COM 支持的Adapter, 應是IVI-C與IVI-COM互換的支持。也就是IVI-C Class function用IVI-Com驅動嗎?

http://digital.ni.com/public.nsf/allkb/5499F9DBD07522F686256F260066BA86?OpenDocument

 

MAX指向IVI-C specific drivers, 用IVI-C Class IviScope.InitializeWithOptions成功!

 

MAX指向IVI-COM specific drivers,用IVI-C Class IviScope.InitializeWithOptions錯誤:"The option string parameter contains an entry with an unknown option value”

0 项奖励
6 条消息(共 12 条)
7,411 次查看

這個:

lngStatusCode = IviScope.InitializeWithOptions.IviScope_InitWithOptions("tkds30xx", True, True, "Simulate=1,RangeCheck=1,QueryInstrStatus=1,Cache=1", mlngInstrSession(i))

0 项奖励
7 条消息(共 12 条)
7,409 次查看

低級失誤!

安裝的是TDS5/6/7000的IVI-COM。

還沒看到3000系列IVI-COM,隻有NI的IVI-C。

0 项奖励
8 条消息(共 12 条)
7,396 次查看

你说得很对:IVI驱动分为IVI-C和IVI-COM两种。NI公司只开发IVI-C的驱动,并且提供了一些列的工具来支持IVI-C驱动(比如IVI Engine,以及集成与CVI中的IVI Driver Wizard,IVI Specific Driver Test Suite等等)。但为了方便IVI-COM的用户,NI也提供了COM Adapter,使得通过IVI C Class Driver可以调用IVI COM Specific Driver。
NI的官方网站免费提供了6000多种仪器的驱动程序(http://www.ni.com/devzone/idnet/zhs/),支持诸如LabVIEW,CVI, Visual Stdio等多种平台。
 
回到你的问题,在初始化时出现了"The option string parameter contains an entry with an unknown option value”的错误消息。我猜想对应的错误代码应该是IVI_ERROR_BAD_OPTION_VALUE (BFFA004C),这是IVI Foundation定义的错误代码。请确认你传入的Option String是否正确无误,你的Specific Driver是否支持Simulation等。

帖子被zhou jiang在 03-26-2009 02:17 AM
时编辑过了
0 项奖励
9 条消息(共 12 条)
7,387 次查看
呵呵,原来是你没有安装正确的驱动:)
0 项奖励
10 条消息(共 12 条)
7,385 次查看