Search code examples
c#usblabviewvisa

Virtual instrument software architecture


I'm confused about VISA. I try to build an VISA Interface to my Device. Which means applications should be able to control my device via VISA. The device is connected via USB to the PC and there are some DLLs, or TLB (what ever i want) to control it.

Now my Question: Is it possible with VISA to build an Interface where i am able to use this DLLs, or TLB ... to control the device?

This Means:

Any VISA Application (LabView...) ---> VISA Interface ---> My DLLs ---> USB ---> My Device

Is this possible? Or do i understand something terrible wrong about VISA?

Thank for your help.


Solution

  • If you are developing the device itself, consider implementing USB-TMC. That allows VISA to find and open the device. The commands to interact with the device (usually following the SCPI standard) are then between the application and the device.

    Then, if you'd like to provide some users with a function and attribute based interface, you can write an IVI driver on top of VISA. This works particularly well if one or more of the IVI instrument classes cover the functionality your users need; they use the well-known class driver, which delegates to you instrument-specific driver. If the classes aren't sufficient, users can program directly to your driver.