LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

A New Driver - the Way Forward ...

Hi Guys,

I wonder if someone can point me in the right direction?

I want to write a Labview driver for a custom signal conditioning system.

This system provides programmable gains, excitation control etc for various
inputs.

I am leaning towards a IVI-C driver - the docs seem to be pretty useful for
this approach.

Does this sound sensible?

Is IVI over-the-top (interchangeability is not a very high priority in this
case) - is there a better/easier way to provide a Labview driver?

I have many years experience in low and high level C/C++/VB etc, so I am
happy to follow most language/programming models.

Thanks,

Andy
------------------------------------
Andy Reynolds
Alpha Software Design Ltd.
Sussex, UK - Supplying Software and Sys
tems for Science and Engineering
0 Kudos
Message 1 of 5
(2,883 Views)
Andy,

IMHO, IVI is overkill and it is hard to use if a developer wants to build an .exe or mass distribute thier code. IVI is just one more thing to install. I avoid IVI drivers, if I have a choice.

Being a LabVIEW purist, I would suggest "pure G". Check out this document called LabVIEW Instrument Driver Standards

http://zone.ni.com/devzone/conceptd.nsf/2d17d611efb58b22862567a9006ffe76/e7a1635c2166e0728625680a005b0b9a?OpenDocument#4

Good luck - Jim
0 Kudos
Message 2 of 5
(2,883 Views)
Hi Jim,

I would like to make a driver that I can use in Labview but also call from
other languages esp. VB and maybe C/C++.

My personal preference when making software interfaces is to go down the DLL
route - but I don't know if that will sit well with labview....

Is the DLL approach sensible?

Regards,

Andy
----- Original Message -----
From: "Jim Kring"
Newsgroups: comp.lang.labview
Sent: Friday, July 26, 2002 6:10 PM
Subject: Re: A New Driver - the Way Forward ...


> Andy,
>
> IMHO, IVI is overkill and it is hard to use if a developer wants to
> build an .exe or mass distribute thier code. IVI is just one more
> thing to install. I avoid IVI drivers, if I have a choice.
>
> Being a LabVIEW purist, I would suggest "pure G". Check
out this
> document called
>
HREF="http://zone.ni.com/devzone/conceptd.nsf/2d17d611efb58b22862567a9006ffe
76/e7a1635c2166e0728625...

>
>
http://zone.ni.com/devzone/conceptd.nsf/2d17d611efb58b22862567a9006ffe76/e7a
1635c2166e0728625680a005b0b9a?OpenDocument#4
>
> Good luck - Jim
0 Kudos
Message 3 of 5
(2,883 Views)
Andy,

Certainly, a C based driver is probably the most portable approach. However, you can actually export a set of LabVIEW (G-based) VIs as a DLL. That is certainly portable enough to call from VB, C, C++, etc.

So you have some options:
1. Develop a G-based driver
2. Develop a C-based driver using IVI-C
3. Develop a C-based driver without using IVI

IVI-C drivers have more than just interchangeability. They include features such as simulation, state caching, range checking, and coercion recording. NI's IVI development tools and architecture will give you a good starting point, as well as built-in mechanisms for configuration and attribute handling. While these features can be very beneficial, you should honestly evaluate your or your customer's needs
for them. If they matter, you should develop an IVI-C driver.

However, if all you need is a simple way to control your hardware, then writing a LabVIEW native or a non-IVI C-based driver are both better options. You should choose from them the language you are more comfortable programming with and with which your hardware will be most effective.

Regardless of what you choose, you should check out the Development Tools website. Finally, you should seriously consider submitting your driver to IDNet. Not only will we be able to help distribute your driver to a wide audience, but we can review its structure and design for our driver development standards.

--Bankim

Bankim Tejani
National Instruments
Instrument Drivers/IVI
0 Kudos
Message 4 of 5
(2,883 Views)
Bankim,

thanks for that perspective it was useful,

Andy

"btejani" wrote in message
news:506500000005000000B58E0000-1027480788000@exchange.ni.com...
> Andy,
>
> Certainly, a C based driver is probably the most portable approach.
> However, you can actually export a set of LabVIEW (G-based) VIs as a
> DLL. That is certainly portable enough to call from VB, C, C++, etc.
>
> So you have some options:
> 1. Develop a G-based driver
> 2. Develop a C-based driver using IVI-C
> 3. Develop a C-based driver without using IVI
>
> IVI-C drivers have more than just interchangeability. They include
> features such as simulation, state caching, range checking, and
> coercion recording. NI's IVI development tools and architecture will
> give you a go
od starting point, as well as built-in mechanisms for
> configuration and attribute handling. While these features can be
> very beneficial, you should honestly evaluate your or your customer's
> needs for them. If they matter, you should develop an IVI-C driver.
>
> However, if all you need is a simple way to control your hardware,
> then writing a LabVIEW native or a non-IVI C-based driver are both
> better options. You should choose from them the language you are more
> comfortable programming with and with which your hardware will be most
> effective.
>
> Regardless of what you choose, you should check out the
> href="http://www.ni.com/devzone/idnet/development.htm">Development
> Tools
website. Finally, you should seriously consider submitting
> your driver to IDNet. Not only will we be able to help distribute
> your driver to a wide audience, but we can review its structure and
> design for our driver development standards.
>
> --Bankim
>
> Bankim Tejani
> National Ins
truments
> Instrument Drivers/IVI
0 Kudos
Message 5 of 5
(2,883 Views)