Sunday, October 01, 2006

Instrument Drivers and the LabVIEW Community

Sorry it's been a couple of weeks since my last posting. I've been on vacation in the Big Bend area of Texas. It's a beautiful part of the state, and here's a taste for those of you who've never been there...



Agave HavardianaThis is an Agave Havardiana in the Chisos Basin in the central part of the park. (Image Copyright © 2006 Brian H. Powell. All Rights Reserved.)


This area is a long way from, well, anywhere. Not a lot of people live here on either side of the border. There are a few small towns, such as Terlingua and Marfa. These places have developed a strong sense of community. We went to the community theater in Terlingua on the opening night of a three-night run. Most of the town was there in the un-air-conditioned building, with a few dozen plastic lawn chairs for the audience. And we were most welcome. It didn't matter that we were only staying a few days; we were part of the community. People look after each other out here.


And that's why it's great to have a LabVIEW community. While it's good to know that you can contact NI and get technical support, we have the tremendous privilege of having a community of amazingly smart and experienced users around us. If you spend much time on the NI Discussion Forums, you know of helpful contributors such as Dennis Knutson, Christophe Altenbach, Albert Geven, and many others.


There are many other parts of the community...


These groups foster the sharing of ideas, techniques, and code. Sorry if I left out your favorite site.


Like every community, these places are only useful as long as people participate. If nobody is willing to get on stage, it's not going to be much of a play.


There's one important part of the LabVIEW community I want to highlight, and I want to encourage you to contribute to it. It's the Instrument Driver Network (IDNet). Have you ever noticed the button that says, "Submit Drivers"? It's a way for people to share their instrument drivers back to the LabVIEW community.


We have instrument drivers for thousands of instruments on IDNet, but there's room for more. We write a lot of the drivers ourselves, but only if we can get an instrument in-house to work with. We don't have easy access to older instruments, or obscure or expensive instruments. When you can't find an instrument driver for your instrument on IDNet, you can always try posting a query on the Discussion Forums to see if someone else has done it. Failing that, you may end up having to write your own driver.


When that happens, I encourage you to submit your driver back to IDNet, so we can share it with the rest of the LabVIEW community. You could save somebody a lot of time.


And I encourage you to do this even if you've only written a few VIs and haven't done a full-fledged instrument driver. If you needed only a few functions, the next user may also need only those same functions. Regardless, it's easier for the next user to start from your code instead of starting from nothing.


When you submit your driver, we'll take a look at it before posting it. We'd obviously enjoy receiving a complete, tested driver that conforms to our guidelines, so that we can certify it, but we can post "un-certified" drivers, too. (More on certification in a future post.)


So next time you're writing some VIs to talk to an instrument, support your community and volunteer to go up on stage.


4 comments:

Unknown said...

A recent posting on LAVA noted that instrument images for creating technical diagrams are lacking, or expensive. (http://forums.lavag.org/index.php?showtopic=4236&pid=17452&mode=threaded&show=&st=0&#entry17452)

It would be helpful if NI could add an optional "SVG front and rear images" to the driver checklist. These could be used on front panels of VIs for hookup diagrams, or imported to other tools such as Visio for creating "rack and stack" drawings.

Brian Powell said...

This is an interesting suggestion. I support the idea of better documentation, but I do have a couple of concerns.

First, I do not want to create a high barrier to creating a LabVIEW Instrument Driver. As the LAVA post points out, such diagrams are not readily available.

Second, I think such a requirement would encourage copyright infringement for drivers developed by someone other than the instrument vendor. (And as a fine art photographer, I think a lot about copyrights.) One of the LAVA comments talked about "scraping" pictures from a manual. Whether this constitutes "fair use" is situational, and can't be applied to all uses of the instrument driver.

Still, it would be great if instrument vendors provided royalty-free images.

Anonymous said...

Is there a Labview driver for a pfeiffer vacuum gauge model number tgp 261? any sort of help or direction would be greatly appreciated

Brian Powell said...

Commenting on my blog is probably not the fastest way to find the answer to this.

First, I'd consult the Instrument Driver Network at ni.com/idnet. There, you'll find several drivers for Pfeiffer Vacuum instruments. The TGP 261 isn't among them, but you might be able to adapt one of these drivers for use with the TGP 261. I'm not familiar with those devices to know if that will be easy or hard.

You can also request an instrument driver from NI. The IDNet page has a "Request a Driver" link to help us prioritize future work. If we've got something in progress, we can let you know about it.

You can also contact the instrument vendor directly to see if they have a LabVIEW driver.

Another approach is to try posting to the NI Discussion Forums, the LAVA Discussion Forums, or the Info-LabVIEW Mailing List. Another user may have written his or her own driver for the TGP 261 and may be willing to share it with you.

Good luck!