Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

iviDigitizer simulation error 0xBFFA1207

We have embedded PXI-1042Q system. Our development environment does not install NI boards so I am trying to setup every thing using simulation drivers.

I want to setup and use iviDigitizer (added to the latest ICP) for continious acquisition. The reason I want to use iviDigitizer rather than niScope is that the former should be more natural to expand to multiple digitizers in a MIMO system, I guess.

As can be seen in my MAX report, I have added a a logical name "Digitizer" that uses "niDigitizer" driver session. "niDigitizer" is setup to simulate with "nisDigitizer"

 

I have two questions:

1- Why init returns error  0xBFFA1207 ("not in the collection")

2- How can I setup continious acquisition with iviDigitizer? with niScope I know there is an example.

 

MAX report:

MAXSetup.jpg

 

This is NI SPY result:

 

> 1.  IviDigitizer_init ("Digitizer", VI_TRUE, VI_FALSE, 0x00409008)
> Process ID: 0x00000E64         Thread ID: 0x00000944
> Start Time: 21:02:57.625       Call Duration 00:00:00.110
> Status: 0xBFFA1207


It says that  the item does not exist in the collection.

0 Kudos
Message 1 of 10
(6,044 Views)

Hello Dashesy,

       Please try using the agl453xdni IviDigitizer specific driver and see if the problem persists.  Also, please tell us which ADE you are using.

 

Cheers,

 

NathanT

Message 2 of 10
(6,031 Views)

Thank you Nathan for your answer!

 

With the same MAX structure,

I tried the driver you suggested, set "niDigitizer" driver session to simulate with specific driver and in the software tab I selected "agl453xdni".

Now IviDigitizer_init function passes fine but later the driver does not support ConfigureDownconversion:

 

NI SPY result:

> 2.  IviDigitizer_ConfigureDownconversion (Digitizer, "", VI_TRUE, 1E+007)
> Process ID: 0x00000AA8         Thread ID: 0x00000B8C
> Start Time: 20:11:19.891       Call Duration 00:00:00.000
> Status: 0xBFFA0011 (IVI_ERROR_FUNCTION_NOT_SUPPORTED)

 

I also tried setting "niDigitizer" driver session to simulate with "nisDigitizer", while leaving "agl453xdni" as the software module. This time the GUI to enter simulation parameters pops up, but again the same function "IviDigitizer_ConfigureDownconversion"is not there.

0 Kudos
Message 3 of 10
(6,012 Views)
I forgot to say, I am using both Visual Studio 2008, and also MingWin for development.
0 Kudos
Message 4 of 10
(6,009 Views)

Hello Dashesy,

       The agl453xdni installer should create a "agl453xdni" driver session in MAX.  I recommend that you use that driver session instead of just changing the software module of an existing "niDigitizer" driver session.  Different driver sessions have different virtual names and initial settings (among other things) that make them specific for a certain software module.

       Please try specific driver simulation with the agl453xdni and see if there are any problems.  I am not seeing any.

 

Thanks,

 

NathanT

0 Kudos
Message 5 of 10
(5,985 Views)

I tried "agl453xdni" driver session as you suggested, the result was the same:

 

NI SPY result:

> 2.  IviDigitizer_ConfigureDownconversion (Digitizer, "", VI_TRUE, 1E+007)
> Process ID: 0x00000F2C         Thread ID: 0x00000F7C
> Start Time: 19:17:48.703       Call Duration 00:00:00.000
> Status: 0xBFFA0011 (IVI_ERROR_FUNCTION_NOT_SUPPORTED)
 

Primary Error: (Hex 0xBFFA0011) Function or method not supported.
Elaboration: FunctionId: 83,  FunctionName: ConfigureDownconversion

 

I believe agl453xdni IviDigitizer specific driver does not support Downconversion [DC] class:

Extensions Supported:

PretriggerSamples,
SoftwareTrigger, MultiRecordAcquisition, SoftwareArm, Arm,
WindowTrigger, ReferenceOscillator, TriggerHoldoff, Base

 

 

One more question what s the criteria to choose between niScope/iviScope and iviDigitizer? My uderstanding is that, niScope is a simplified form of iviScope, but what is the purpose of iviDigitizer? Does it make integration of multiple digitizers easier? does it support special features/hardware?

 

 

 

0 Kudos
Message 6 of 10
(5,959 Views)

Hello Dashesy,

        Well then, it looks like that "Not supported" error is expected behavior.  I was using one of the IviDigitizer Class Driver examples in LabVIEW, so that is why I did not see the error.

 

niScope is an IVI-C Specific Driver, and IviScope is an IVI-C Class Driver.  If you are using an IVI-C Class Driver, you must also use a Specific driver.

 

IviDigitizer is also an IVI-C Class Driver.  Using an IVI Class Driver allows you to interchange instruments as long as each instrument has the appropriate IVI compliant Specific Driver.

 

Here is a document that explains more: How IVI-C Instrument Driver Technology Enables System Longevity and Platform Portability

 

I will defer your questions about the difference between Scope and Digitizer to someone who specializes in them.

 

Cheers,

 

NathanT

0 Kudos
Message 7 of 10
(5,935 Views)

Please correct me if I am wrong, I think niScope has some extra classes, like Downconversion [DC] and [OSP] which is not there in iviScope. Therefore some boards which do support these features (like our NI5142) can not be fully utilized only with iviScope.

Now it makes sense if iviDigitizer is an effort to generalize iviScope to add all those classes. To make thing more complex, niScope might  be considered specific driver for iviDigitizer as well as iviScope!

 

I am going to work with niScope now and hope that it would be easy to go to ivDgitizer if later it proved to be better suitted for MIMO.

 

 

0 Kudos
Message 8 of 10
(5,915 Views)

Hello Dashesy,

       niScope is an IVI Specific driver.  To be Class-compliant, a Specific driver must implement all of the Classes base capabilities.  The capabilities are defined in the IVI Specifications.  Here is the one for IviScope.  By implementing at least the base capabilities, interchangeability can be achieved if you use the Class driver in your application and use the base capabilities.

 

The second type of capabilities are Extensions, which I believe that you are already familiar with.  The Class Extensions can be implemented by the Specific driver, and are defined in the Class spec.

 

The third type of capabilities are Instrument Specific, which are not defined in the Class spec, the extra capabilities that you mention probably fall under this category.

 

The main benefit of using the Class drivers is interchangeability.  If you don't need interchangeability, and need to use Instrument Specific capabilities (which impede interchangeability anyway), using the Specific driver directly is a good choice.

 

Cheers,

 

NathanT

Message 9 of 10
(5,903 Views)

Here is the official answer:

 

 What are the differences between IviScope and IviDigitizer, and how does NI-Scope compare to them?

 

 IVI classes provide software interfaces to common instrument classes that allow users to potentially interchange instruments within a class with minimal or no software changes.  IviScope defines that interface for oscilloscopes.   IviDigitizer is an IVI class created to support the IEEE 1671.2-2008 (Synthetic Instruments working group) need for a digitizer software interface.  IviDigitizer is similar to IviScope, but contains some different functionality, including multi-record acquisitions, binary data types, interleaved data, arm triggers, and a few other things.

NI-Scope is actually a superset of IviScope for NI oscilloscopes/digitizers.  NI-Scope implements the IviScope class interface (so it can be used by programs that use IviScope), but it also contains additional features specific to NI products, including multi-record acquisitions, binary data types, interleaved data, advanced timing and triggering, a many other features.   The additional features must be accessed as instrument specific features.

As you can see, IviDigitizer actually added many of the features that were already present in NI-Scope.  So, functionality-wise they are fairly comparable.   NI-Scope does not currently implement the IviDigitizer class interface, however.

 

Cheers,

 

NathanT

Message 10 of 10
(5,846 Views)