Unsupported Ivi Class Driver

We developed a new ivi class driver (for counters) and everything works well, the problem comes when we try to use the ivi tool step type to acces functions such as Reset, selftest Get/Set attributes etc. When we use this functions we get the following error
Error executing substep 'Post'.
An exception occurred calling 'RunStep' in 'ISubstep' of 'TestStand Ivi Step Types 1.0 Type Library'
An error occurred while executing the step.
Component Works IVI Control Error: The IVI operation failed for logical name 'SampleCounter'.
Details: The session handle is invalid or refers to a session that is not from a supported IVI class driver.
Source: TSIviStepTypes
The strange thing is that the functions Close and init with options in ivi to
ols work very well..so what's the problem with the functions reset, selftest, etc..
With this functions we can't even access the generic driver code because the error shows up before we can get to the code in debbigging mode. Any ideas?.

eromero,
I sounds like there's either an error in the configuration for SampleCounter, or that the IviStepTypes only support the DMM, Scope, Switch, FGen, and DCPwr class drivers.
If you could send/post your ivi.ini file and your driver, I'd be happy to check it out and see if there's a configuration issue. If you don't want to post it to DevZone, you can e-mail it directly to [email protected]
As for why the init and close functions work, but not the others, I will investigate further.
One option to get your application to work is to not use the IviStepTypes. You can still use the driver using C function calls directly through the DLL. This will still work, but may not give you all of the features
of the step types.
Thanks,
Bankim Tejani
Instrument Drivers/IVI
National Instruments

Similar Messages

  • Are there any tools from NI can generate the pass-through layer (IVI class driver) for IVI class specific driver?

    IVI class driver (layer) will provide interchangeable feature for a IVI class specific driver. It would work as a pass-through layer and finally make calls to the IVI class specific driver. Since there could be a lot of functions to be passed through. Are there any tools from NI (Labwindows/CVI or Labview) can do this ?
    Thanks a lot. 
    BTW: the IVI class specific driver interface is generated from Labwindows/CVI tools.

    Hi Chris,
    Yes, I did.  To support interchangability, from my understanding of the IVI specs, there should be another layer IVI-C class driver on top of this IVI class specific driver. As in the IVI‑3.1: Driver Architecture Specification:
    Although IVI‑C class drivers export inherent,
    base, and extension capabilities, they do not actually implement them. Except
    for a few inherent functions and attributes defined exclusively for class
    drivers, class driver functions and attributes provide a pass‑through layer to
    the IVI‑C specific driver. An IVI‑C specific driver is responsible for
    implementing the operations of functions and attributes and for communicating
    with the instrument. The IVI‑C specific instrument driver contains the
    information for controlling the instrument, including the command strings,
    parsing code, and valid ranges of each instrument setting"
    So where is this IVI-C class driver and how is it created and communicate with my class specific driver?
    Thanks a lot.
    Cheers,
    IVI‑3.1: Driver Architecture Specification

  • E3631A IVI class driver can not enable power supply three channel outputs at same time

    Hallo,
    with E3631A IVI class driver i am trying to enable all the channels at the same time,The problem is that class driver supports only Channel Switching between three Channel,i find in this Forums this Discussion 
    http://forums.ni.com/t5/Instrument-Control-GPIB-Serial/E3631A-IVI-class-driver-cannot-enable-power-s...
    is it possible to enable all outputs at same time  that I modify the source code and recompile the drivers,but it is complicated for me.
     Is there a another easy way to solve this problem??
    Would appreciate if someone who has worked on it suggest a method appropriately. Thanks!
    Note:Labview 2009 sp1

    You'll either have to modify yourself, ask the poster in that other thread for it, or use the LabVIEW driver.

  • Can I share Attributes/Variables between 2 different Class Driver Sessions?

    I am designing a Simulator of Instrumentation following these steps:
    1) re-programming, re-compiling, and re-building the DLLs from the advanced class simulation drivers included in IVI Driver Toolset 2.0 using LabWindows/CVI 7.0;
    2) then i create a VI in LabVIEW 7.0 which calls an IVI Class Driver obtaining the desired simulated output data.
    My problem is that I need to share variables between different DLLs in LabVIEW.
    I want to simulate a circuit which consists of a battery and a resistor. I've got 2 instruments: a DC Power Supply and a Digital Multimeter.
    The DC Power Supply acts as the battery providing a certain voltage level, and the Multimeter measures the Voltage and the Current in the resistor.
    I've designed a VI in LabVIEW which uses 2 different sessions: one which calls the class driver IviDCPwr, and the other one which calls IviDmm.
    I wish to be able to access the attributes from "nisDCPwr.c" in the file "nisDmm.c".
    For example, to write a line like this:
    Ivi_GetAttributeViReal64 (ViSession vi, ViConstString channelName, NISDCPWR_ATTR_MEASUREMENT_BASEV, 0, &reading));
    inside the source code "nisDmm.c" of the advanced class simulation driver.
    The problem is that the only ViSession accessible from nisDmm is the handle from the Digital Multimeter, but not from DC Power Supply.
    Would this be possible? Is it "legal"?
    I've tried another approach through the declaration of external variables, but unfortunately I get a run-time error in LabVIEW.
    The only solution I've found is using auxiliary files going between, through the functions included in the Low Level I/O Library .
    Nevertheless, the solution proposed above would result much more convenient, faster and safer in my application.
    I hope everyone has understood my question, and anyone can help.
    THANK YOU VERY MUCH FOR YOUR TIME!!!

    Doesn't anyone have an answer?
    Or any proposal?
    Or even a clue?
    THANKS!

  • Latest IVI Class Step Types in TestStand

    IVI instrument classes have recently been defined for RF Signal Generator, Spectrum Analyzer and Power Meter. There are IVI drivers for these classes available for download from the Instrument Driver network. However, TestStand3 does no contain step types for accessing these drivers. Does anyone know when NI plans to add support for these to TestStand? Has anyone created step types for these classes, or have an example of how to do this?

    David -
    There is no documentation on the low-level workings of the TestStand IVI step types. As with many of the step types that have source code, it is available as examples of developing a step type in various languages.
    The additional work to add the a new class to the TestStand IVI step types is not small, that is why to date we have not done it. The amount of work could be divided into the following areas:
    * Update the TsIviStepTypes to add the new class to the enumeration.
    * Create the new step type definition (subproperty structure) based on the IVI spec.
    * Upcate the TSIviStep and TSIviSFP code to allow you to edit and perform the work to process the expressions and initiate the various IVI class operations.
    * Add low level
    IVI class layer logic to talk to the IVI class driver. This piece was previously done in a VB ActiveX control written by the Measurement Studio group in NI.
    The last two items are the biggest and they would take some time. That is why I was suggesting creating specific Action steps that call into custom code modules to talk to IVI directly, that is, no edit dialog box, no SFP, etc.
    Scott Richardson (NI)
    Scott Richardson
    National Instruments

  • How can i add a new function to the Basic IVI class vi's?

    I need to use the IVI vi's to control some instruments, let's say a DC Power Supply.
    Since there's a DC Power supplyclass, i can used those VI's but waht if one of the VI's does not contains all the functions that i need?. How can i add more functions to the IVI classes?. What do i need to do to add a new function to the iviFGen class?

    If you would like to try developing your own instrument driver (or modify the existing one), we have documentation, model instrument drivers, and driver templates to help at :
    http://www.ni.com/devzone/idnet/development.htm
    We also have a syndicate of third party vendors that specialize in National Instruments' products and services. Some of the vendors specialize in driver development. I would suggest contacting one of the Alliance members at:
    http://www.ni.com/alliance

  • IviSwtch Compliance Test IVI Specific Driver in CVI crashing

    I have problem with IviSwtch Specific driver. I have finished all code for this driver and try to test in CVI tool called "Test IVI Specific Driver". Structure and Function panel test runs without any error. Problem is with Compliance test which returns:
    the driver could not be initialized through the class driver.
    Compliance Test was halted.
    Error returned: bffa0011
    Error Message: Function or method not supported.
    I tried to add exports to dll in according to this solution http://digital.ni.com/public.nsf/allkb/1DCA138862E75119862576C5006EA144
    After doing this Compliance test just crashing and I have to close it down. 
    Does anybody met this kind of problem? I would be grateful for any help.
    Regards
    Tomasz
    Solved!
    Go to Solution.

    >>The DLL version format is valid.
    ERROR: The DLL version is inconsistent with the version in the header file.
    All attributes have correct names.
    All attributes have correct data types.
    This error means the revision of the generated <driver_prefix>.dll does not match the Major and Minor version defined in header. This should not be a conern if you will not release the driver to customers and you take care of revision.
    >>ERROR: The driver is not c>ompliant with the Inherent group because:
    -The following Inherent attributes are not implemented:
    INSTRUMENT_MANUFACTURER
    INSTRUMENT_MODEL
    It is hard to tell the root reason of this issue, but there might be something doesn't work in your code. How about post these attributions' definition? OR send your project to  [email protected] I think NI could help to take a look into it.
    Thanks,
    Charles

  • How to deal with visession in IVI-C driver program ?

    a ViSession is an identifier that corresponds to a session.
    My instrument is a remote internet device . i can call VISA library to implement
    communication between labwindows and my remote internet device.In this case , what is meaning of Visession
    ? It looks as if Visession does not have a relation to my IVI-C driver program.
    if it has a relation to my driver, how to deal with the ViSession in IVI-C driver program?thank you

    ViSession is necessary as part of a larger picture and fills an important role in good architecture.  Intrument handles (stored as the ViSession type) are necessary for large projects, which may require commanding multiple instruments.
    There is no function to call which can get or set a ViSession value, similar to the way other attributes are set with driver functions.  The ViSession intrument handle is created and returned to the application when an instrument is initialized; it represents a connection with one particular instrument.
    This allows users to have multiple instruments connected, which can be controlled programmatically with one application.  Then, the application can quickly specify which instrument it would like to send a command, just by sending one instrument handle or another.
    Yes, you could remove the ViSession as parameter in your functions, but it would cripple the big picture effectiveness of the driver.  In place of the ViSession, you would have to send each function the Resource Name or Resource ID for the particular instrument as well as the Option String.  So really, it is just more practical and better practice to use an instrument handle (stored as the ViSession type).
    That being said, for certain functionality (adding two numbers), you absolutely do not need a ViSession instrument handle parameter.  You will have to use your best judgement to determine where to include or exclude this parameter.  I suggest using the ViSession instrument handle parameter with any function that communicates with an instrument.
    Also, Ebalci is correct regarding the difference between ViSessions and channels.  ViSessions are used to communicate with different instruments.  To reference or read a specific channel from an instrument you will have to refer to the guidance in the manual for the instrument in question.  There will likely be a command to select a specific channel when reading from the instrument.  And for general guidance, I suggest reviewing another IVI driver, possibly for an instrument of the same class or type or maybe from the same family, if such a driver already exists.
    Regards,
    Shawn S. | NIC
    Instrument Driver/IVI PSE
    National Instruments

  • Lack of IviDigitizer class driver in LabWindow/CVI

    Hello,
    I try to create IVI Specific driver in LabWindow/CVI version 9.0.1 for digitizer but I don't see any of this types of instruments. I have installed newest IVI Compliance Package 4.6.1. There is lack of few others IVI class drivers like counter etc. Does anybody know what I should do with this?
    Regards
    Tomek

    Hi Tomek,
    The support for IviDigitizer, IviCounter, IviUpconverter, and IviDownconverter was added in LabWindows/CVI 2009. Please contact us at [email protected] and we'll send you the missing template files. 
    Thanks.

  • IVI-COM Driver

    I have recently prototyped an IVI-COM class-compliant specific driver for an instrument. This is still a BETA version but I am going to contribute the driver as an IVI-compliant driver when the development has completed. I would like to know how we can take compliance test and how we can contribute the driver. I previously contacted IVI foundation but no response.

    Makoto,
    We would be happy to post your contributed driver to the IDNet website in either its beta or completed form. You can submit the driver by completing the submission form on IDNet.
    As stated on the IDNet Website, our test tools are currently configured for drivers written in LabWindows/CVI that come with Function Panels (i.e. IVI-C). The only way for us to test your IVI-COM driver is if you could provide an IVI-C wrapper for it.
    Finally, who did you contact at the IVI Foundation? The best working group to contact about IVI-COM compliance is the COM Working Group
    . I would also suggest that you join the IVI Foundation, so you gain access to shared components and can shape future instrument driver classes.
    Thanks,
    Bankim Tejani
    National Instruments

  • How Do I Solve this IVI Class Conflict?

    I am trying to build a VI that uses the Refnum to Session VI included in the TestStand lib. The Refnum connector on the Refnum to Session VI seems to accept all types of IVI classes, but when i try to pass an IVI Refnum thru My own VI I can´t get it to accept all types of IVI classes. I have to select the specific class that the current instrument uses for the Refnum Control. Is there any solution to this problem? If I could open the Refnum to Session VI I might have a small clue how to do but now I am really lost in the dark.
    I attach a VI that shows how I would like it to work.
    All help is appreciated!
    Attachments:
    Using_the_Refnum_to_Session_VI.vi ‏18 KB

    Hello Jesper,
    as far as I know this is not possible with the current version of LabView 6.1.
    The workaround I use is to build a polymorphic VI. Although you have to spend some effort to build a separate VI for each type of Refnum but it pays back quite soon.
    The reason why you cannot edit "Refnum to Session" is because it's a Labview primitive and not a VI.
    This leads me to another question. Does anybody know on which LabView-Palette other than the TestStand-Palette I can find the "Refnum to Session" and "Session to Refnum" primitives?
    Regards
    Herbert
    Herbert Koltschik
    Sagem Communication Austria
    [email protected]

  • ViClose session not called after Read operation Timeout in an IVI COM driver

    Hi everybody
    I have a small VI sample that is initializaing an IVI COM driver for an OPM instrument, set some parameters into the instrument then is doing a single Read power measurement. My Read operation receives a single parameter called MaxTimeout that user could change depending on his own interest. Inside the Read function I change temporarily the VISA query timeout to user timeout but at the end of Read operation the original VISA session timeout is reverted to its original value before Read operation was called. If the Read operation timeout is long enough for the Read operation to complete ( 100 ms or more) the VI is doing its job and when finished the viClose is called twice for DefaultHandler and for OpenHandler.
    If the Read operation timeout value decrease ( 50 ms) then Read operation could not be completed and a Read Operation Timeout error is thrown from inside this method. This error is then propagated trough Error path until the VI end in a Simple Error Handler. Now on my VI I close all open references to my driver interfaces but I don't know why VISA itself is not calling viClose on the DefaultHandler and OpenHandler as in the case when was no VI error. I could see all these diferences in my NI Spy window and I could post this if that could be of any help. Bear with me cause I am more a C, C++, VB programmer and much less of a LabVIEW programmer. BTW the Error Handling from LabVIEW looks a a little weird and the only sure thing is that I wired in Error In and Error Out path in all my VI calls. What kind of error handling should I perform on the Read method in order for VISA to close properly both OpenHandlers even if there is an error in my VI?
    Thansk
    sorinvalea

    So viClose is not called by VISA after an error takes place in a VI that is calling some operations on an IVI COM driver.
    I discovered that all VI sessions opened trough VI that encountered a timeout error in Read operation and that were not properly closed after VI completed are in fact viClose by the LabView itself when I am closing LabVIEW application.
    So these left over open vi sessions are kept aside by LabVIEW until it closes itself and then clean them one by one by calling viClose on them....

  • USB Video Class Driver on Solaris 10 and Sun Ray

    Hello,
    Is it posible to use the USB Video Class Driver (usbvc) on Solaris 10 and Sun Ray?
    How can I do that?
    Thank you very much.

    It's not possible. The Video Class requires isochronous operation on USB and Sun Ray does not support isochronous mode.
    Even if Sun Ray did support isochronous mode, the libusb library (which is what third-party applications use to interact with USB devices attached to Sun Ray) does not support isochronous transfers. The hard part is the Sun Ray itself. When that gets resolved it probably won't be very hard to add isoc support into libusb.

  • Trying to Print - Receiving "Missing USB Class Driver" Error

    Since I upgraded from Tiger to Leopard, I have not been able to print. I have a Lexmark X5470. At first, any application that attempted to print simply crashed. Then, I removed the Lexmark folder from /Library/Printers, and did a custom install of just the Lexmark printer software from my Leopard DVD. Now the applications no longer crash, but I am getting this error:
    /usr/libexec/cups/backend/usb failed
    Missing USB class driver.
    Does anyone know what this is? I have deleted the printer and re-added it, restarted the computer, disconnected the printer, etc...everything I could possibly think of.
    Thanks!
    (And Lexmark did tell me that they have no plans for making their software for this printer compatible with Leopard, so I need to get it working without their help.)

    There are several posts here on the Lexmark x5470. One that mentions your specific problem is here:
    http://discussions.apple.com/thread.jspa?messageID=5674001&#5674001
    Other have had success using the Lexmark drivers and then disabling or deleting a plugin. There are several threads on this.
    Hope this helps.
    Message was edited by: John Blanchard1

  • Does LabWindows/CVI: IVI Instrument Driver Development Course contain subject like Communicating with Instruments(SCPI commands)

    HI,  I am having query regarding; Does LabWindows/CVI: IVI Instrument Driver Development Course contain subject like Communicating with Instruments(SCPI commands)
    LabVIEW: LabVIEW Instrument Control Course Day 1 coves subject like Communicating with Instruments This lesson describes how you can use LabVIEW tocommunicate with instruments. You will learn how touse NI-VISA, NI Spy, SCPI commands, and theInstrument I/O Assistant to perform instrument I/O. My question is to you,Does LabWindows/CVI: IVI Instrument Driver Development Course covers similar kind of training like Communication with Instruments? I am more interested in learning How to use SCPI commands to perform instrument I/O. Will you please guide me? So I can choose correct training course. Thanks & Regards,Jay +91 90110 62790EXFO Electro Optical Engineering India Pvt. Ltd.701, 7th floor The Ceribrum IT Park,Kalyani nagar. Wadgaown Sheri India, Maharashtra, Pune 411014  

    stick to the original thread.

Maybe you are looking for

  • Problems to install Oracle8i (1.6) enterprise edition on Windows 2000. PLEASE HELP

    Hi all, I am failed to install oracle 8i 1.6 on windows 2000 server. I am getting following error. ORA-XXXX CREDIENTIAL RETRIVAL FAIL. I am getting this error while creation of database. It is giving option abort or Ignore. When I pressed Ignore afte

  • Touch Screen Less Responsive on Right Edge with iPhone 5

    So I've been having this issue with my iPhone.  I actually had it replaced because of this and have the same issue with the new one.  What happens is that it seems like the right edge of the screen is either intermitently or always unresponsive.  Thi

  • APEX post restful service inserts null value

    Oracle APEX 4.2.5 Oracle Rest Data Service 2.0.7 Apache Tomcat 7 Oracle database 11.2.0.4 Oracle APEX PUT web service inserts null value into column. This is either a bug or the documentation does not properly cover how to correctly set PUT restful s

  • Opera stores and recalls commonly used name address and numbers. Why not FireFox?

    Opera has a 'form filling' feature that stores and recalls many useful items like name, address, email addresses, numbers (like credit card numbers) and supports typing them by offering to complete an item from its stored data. This facility is sorel

  • Can't wake up my Mountain Lion after sleep

    I upgraded my macbook pro from Snow Leopard to Mountain Lion. Everytime it goes into sleep mode, turning it back on is proving difficult. I have to hold the power button down for a very looooong time before it starts all over again (and by then all m