Disclaimer

This is a FAQ compiled from observations and information gleaned from the wider LabVIEW community, most noticeably the scholars lurking on the Info-LabVIEW mailing list. It is not meant to replace the excellent resources supplied by National Instruments. Since this document is always a work in progress and can be based upon opinion (popular or not), the usual caveats on damage, user idiocy, etc, are implied.

(back)


Copyright Notice

Copyright © 2000 by Alexander C. Le Dain. No part of this publication may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, without prior written permission from the author. License is granted to produce a printed copy of this document for individual use.

(back)


Introduction

What is the purpose of this FAQ?
<Alex Le Dain alexATicon-tech.com.au>
(Timeless)

This FAQ describes many of the common questions that have arisen in the Info-LabVIEW mailing list. As these questions germinate many times and the answers have been explored sometimes ad nauseum, it is hoped that new (and experienced) LabVIEW programmers will use this FAQ as their first source of knowledge before posting to the Info-LabVIEW list.

This FAQ is not the definitive source on LabVIEW programming and does not detail specifics that can be found in the LabVIEW manuals. It does not describe specific functions and procedures (VIs in LabVIEW parlance) unless they relate to the topic in hand.

Many different resources were combined to produce this FAQ. However, most of this information was received as donations from the many LabVIEW programmers that provide regular helpful input to the Info-LabVIEW mailing list. In some areas direct copies of replies have been pasted from the list into this FAQ. Where the original authors of these comments were able to be contacted their names have been attributed, if they so desired. If you believe that one of your postings has been added without due recognition, please contact the editor at the address given in Acknowledgements.

(back)

What do the dates under the author names signify?
<Alex Le Dain alexATicon-tech.com.au>
(Jan 2001)

This FAQ has been compiled from archeological resources that existed in the last millenium! With the rapid advancement of knowledge that occurs in the NEW millenium, such information may be obsolete entirely or in part. While every effort is made to update the FAQ articles, there may exist latent ambiguities arising from these prehistorical records. All the original articles have no dates associated with them (they are timeless), but as the articles are revised/updated to our current level of knowledge the date at which the last update was made is left as a reminder of the relative currency of said article.

(back)

What is LabVIEW?
<Alex Le Dain alexATicon-tech.com.au>
(Timeless)

LabVIEW is a fully featured programming language produced by National Instruments. It is a graphical language quite unique in the method by which code is constructed and saved. There is no text based code as such, but a diagrammatic view of how the data flows through the program. Thus LabVIEW is a much loved tool of the scientist and engineer who can often visualise data flow rather than how a text based conventional programming language must be built to achieve a task.

(back)

Where can I get LabVIEW?
<Alex Le Dain alexATicon-tech.com.au>
(Timeless)

LabVIEW is developed and sold by National Instruments. This is an American company with distribution via international offices and National Instruments Alliance members. For more details check out National Instruments Web site at http://www.ni.com

(back)

What versions of LabVIEW are available?
<Alex Le Dain alexATicon-tech.com.au>
(Feb 2002)

There are many versions of LabVIEW still in use, although the earlier versions are constrained to hard core dedicated enthusiasts. The editor has heard whispered mention of the use of Version 3 and there are many active Version 4's in circulation. More recent additions to the legacy software bin are versions 5.0, 5.1 and 6.0i, while the current version is 6.1. In addition there are demo versions (of 6.0i) available from National Instruments, as well as a student version 5.0 available from Prentice-Hall (note: there may be a later version than this but I haven't checked).

From version 6.0 onwards NI released the product formerly known as BridgeVIEW as a LabVIEW plugin module called the Data Supervisory and Control module (DSC) and with the advent of real-time boards and the release of the Fieldpoint real-time network module, there is also a module that allows writing of code for embedded processors referred to as the Real Time module (RT). These modules now keep track with the current LabVIEW version.

(back)

What operating systems does LabVIEW support?
<Alex Le Dain alexATicon-tech.com.au>
(Timeless)

LabVIEW source code and development is supported by Windows 9x/2000/NT, Macintosh, PowerMax OS, Solaris, HP-Unix, Sun, Linux, and Pharlap RTOS (Real-Time Operating System). Executables can be compiled under their respective development systems to run on these platforms. Code developed under one platform can be ported to any of the others, recompiled and run.

There are of course exceptions to every rule. In this case platform specific sections of the LabVIEW development system will not be transferable. For example, Active X which is Windows 9x/NT specific. Furthermore, certain third party device drivers or LabVIEW toolkits installed under one system may not necessarily run or be recompiled on a different operating system.

(back)

What is G?
<Alex Le Dain alexATicon-tech.com.au>
(Timeless)

G is the "native" language of LabVIEW. Some arguments might be made as to whether LabVIEW code should instead be called G source code. Let it therefore be said that strictly speaking LabVIEW is the development environment, while G is the code produced under the LabVIEW system. Let it also be added that the graphical language G cannot be re-interpreted into a text based language. You cannot pop the hood on LabVIEW generated code and see the underlying text code, because there is none! Thus G remains the underlying source code that LabVIEW developers work with.

(back)

What is OpenG?
<Alex Le Dain alexATicon-tech.com.au>
(Feb 2003)

OpenG is the open source development project for LabVIEW. Contributors range from a wide variety of scientific and engineering disciplines and together represent a truly vast sum of LabVIEW knowledge. There are toolkits, examples and literally tons of cool tricks and tips to be found in this collection. For more information check out the OpenG web site at: http://www.openg.org

(back)

What is data flow programming?
<Alex Le Dain alexATicon-tech.com.au, Wayne Galbraith waynegATcyllene.uwa.edu.au>
(Timeless)

Data flow is the fundamental tenet by which LabVIEW code is written. The basic philosophy is that the passage of data through nodes within the program determines the order of execution of the functions of the program. LabVIEW VI's have inputs, process data and produce outputs. By chaining together VI's that have common inputs and outputs it is possible to arrange the functions in the order by which the programmer wants the data to be manipulated.

Often a single input is used as a common "thread" running through several VI's and the program to force the order of operations. Examples include the error cluster or the refnum data structure.

(back)

How can I learn more about LabVIEW?
<Sergey Krishnov sergey_acsATlevsha.ru>
(Sep 2000)

There are a lot of useful resources in your LabVIEW package: online help, the online reference manuals, and the LabVIEW code examples. You can find a also find plenty of articles, ready made applications and technical notes on the National Instruments Web site at www.ni.com/appnotes.nsf/ and in the Developer Zone at zone.ni.com.

However the most efficient and quick way to understand LabVIEW is to take the courses offered by National Instruments. The recommended units for those with no knowledge of LabVIEW are Basics I and Basics II. These will allow you to start building your code even if you have never programmed a computer before.

You could argue: why should I spend more to get this training? The answer relates to how much is your development time and the cost of making simple errors? LabVIEW as a graphical programming language is quite different from text based programming and there are many traps for the novice.

If your preference is not to spend this amount of money, you can spend less for any number of very good books about LabVIEW. The list of books which most of the LabVIEW gurus recommend or have written themselves can be found at http://www.ni.com/reference/books/labview.htm.

If you like to pay nothing at all, spend some of your cheap time with free "training" at a local NI branch "LabVIEW Hands On" day. Then read the "G Programmer's reference manual" and the LabVIEW "User Manual" found in your LabVIEW documentation.

(back)

Does someone have a VI to do X?
<David A. Moore David_A_MooreATMooreGoodIdeas.com>
(Sep 2000)

When X is connecting to a particular piece of hardware, you can first use the NI Developer Zone search tool found at http://zone.ni.com/idnet97.nsf/browse/ to see if NI has a VI you can use. Next, check with the manufacturer. Next, you can see if a third party has produced one by reading the listings on the Find All VIs site at http://www.mooregoodideas.com/FAVIs/Specific_Instrument_Driver.htm

If you're still looking, post your question because many people have additional drivers that aren't published anywhere. When X is more general, there are several places to check for an immediate answer before posting your question:
1. NI Developer Zone Resource Library http://zone.ni.com/libraries/
2. NI Developer Zone Developer Exchange http://zone.ni.com/dev_exchange/
3. NI Example Programs Database http://www.ni.com/support/epd/
4. Find All VIs Project http://www.mooregoodideas.com/FAVIs/Catalog.htm

Number 1 is probably the easiest to use because it has categories, a search engine, and good VI descriptions. Number 4 has even more categories and the most complete set of content, but no search tools or VI descriptions. Number 3 still has some items that number 1 doesn't, but far fewer categories. Number 2 is still small and uncategorized but is slated for improvements. You probably should be able to find what you're looking for among these resources, but you may need to post your question if you can't find the answer yourself.

(back)

Is my LabVIEW code development protected into the future?
<Greg McKaskle, Scott Hannahs sthATmagnet.fsu.edu>
(Sep 2000)

LabVIEW has become widely used in so many applications it is hard to think about it going away. It would only disappear if it stopped being used so widely.

From a message posted to Info-LabVIEW in Feb '97:

> > In buying CINs (or LV code) for that matter one must check the reliability
> > of the company and if it will be in business later.  Some responsible
> > companies put their source code in escrow to be given out if the company
> > goes belly up.  Some don't.  What would we all do if NI stopped supporting
> > LV on our favorite platform?  We bought it to run on a given platform and
> > it does but we have a big investment in code now and unlike C I can't go
> > out an buy a "different" compiler!  I guess this begs the question to some
> > one from NI out there.... "Is the source code for LV in escrow or could we
> > be in deep yogurt if NI goes out of business (not that I am suggesting that
> > this is likely!)?"

Greg McKaskle writes in response:

>NI's quarterly report was posted last week, symbol is NATI, and I think
>that you will agree that NI is still growing strong.  Never-the-less, the
>LV source code is escrowed, and if someone wants details they can
>contact the NI legal department. NI manufacturing is ISO certified and
>all hardware drawings as well as software source code is kept under
>revision control.

The fact that LV is escrowed and is ISO certified means that it can exist beyond the existence of NI. If this is of interest to you or your company you might want to contact the NI legal department for a letter explaining the exact circumstances that would release the escrow.

(back)

Can I search the Info-labview mailing list?
<Brian Renken BrianATRenken.org>
(Feb 2003)

Yes you can. A search engine is maintained at: http://www.searchview.net/

(back)


Other Links and Resources
(May 2002)

National Instruments http://www.ni.com

The Info-LabVIEW Mailing List http://www.info-labview.org/

Microsys Technologies ("FAX Now" and "Modem Now" toolkits) sales@micro-sys.com

E & L Software Solutions (XL-VIEW Excel toolkit) http://members.aol.com/ELSSsales

VIWorx (WordVIEW Word toolkit) http://e-notebooks.com/products/wordview/index.shtml

LabVIEW Technical Resource http://www.ltrpub.com

(back)


Acknowledgements

Editor: Alexander C. Le Dain, PhD alexATicon-tech.com.au
Web Page Design: Sandra Trotman, PhD
Hypertext Links: Paul F. Sullivan PaulATSULLutions.com
Resources:   ICON Technologies Pty Ltd
                    PO Box 651
                    Victoria Park, WA 6979
                    AUSTRALIA
                    http://www.icon-tech.com.au
Information: The numerous and talented members of the Info-LabVIEW mailing List.

(back)