08-31-2005 07:45 PM
09-01-2005 02:38 AM
09-01-2005 08:28 AM
The key statement in the previous post is the one about Linux not having the Windows O/S specific functions. He glosses over that a bit to quickly. LabVIEW for Windows has a lot of features that aren't available in the Linux version, some that may be important to you or not. Obviously all of the ActiveX and presumably .NET functionality, the report generation features that expect MSOffice components, and some others that aren't coming readily to mind. If you are using instrumentation, writing drivers for them is not impossible, and in fact is fairly straightforward. National Instruments' support for their boards under Linux is growing, but I would really search closely whether your current or future hardware is/will be supported. I am not a great proponent of Windows vs OS-X, Linux, etc., but NI has devoted a lot more money in developing for the Windows platform. That being said, if you can do what you need to in the Linux environment it does bring all of the positives usually attributed to it, just with, as usual, a little more commitment in development work and knowledge.
P.M.

09-01-2005 08:31 AM
One more thought. If the work is for your own "in-house customer" Linux may not be a problem, but if there is any expectation of an external distribution of the final product there are still a lot of companies that are Linux phobic so you might have to get LV for Windows to recompile for them.
P.M.

09-01-2005 06:23 PM
09-02-2005 08:35 AM
A couple of things to clear up (or muddy up!). LabVIEW "compiles" its code the first time you run it after loading or changing code. It doesn't, at this point, create a file that can be executed on another computer without the development package. To do that you need to purchase the Professional Development package, or one of the lower versions and the Application builder toolkit. This toolkit creates an installation package that includes a ".exe" file. To run it you will need to install the LabVIEW runtime engine on the target machine. This can be done by the installation package created by the application builder, if so configured. The runtime engine is a fairly big package in version 7.1, and this causes a lot of comments by the VB and VC++/.NET folks, but the truth is they also have a runtime engine requirement, theirs is just automatically installed as part of Windows.
Instrument drivers, for standalone instruments (GPIB, serial, etc.), usually do include the source. In the current (this does not apply to IVI drivers, they are a whole different category) method of writing these types of drivers, calls are made to some LabVIEW resources that use what are called VISA functions. VISA is a technology that provides a level of abstraction between us and the actual hardware port (GPIB, serial, etc.) Most of these standalone instruments are setup, programmed, read, using commands that consist of ascii strings. So drivers in this case are functions that convert settings for instance into the appropriate string of commands, i.e. "RB 3000000HZ;VB 1000000HZ;VAVG OFF;VBR 0.300000;" sets the resolution bandwidth, video bandwith, video averaging and video bandwidth resolution on a HP859x series spectrum analyzer.
For the National Instruments cards LabVIEW comes with a bunch of tools to make talking to them easier, it still being at a relatively high level of abstraction, where a settings, etc. are passed to and from some built in function. The problem comes with boards from other vendors. There you are at the mercy of drivers they supply, as obviously National Instruments is not going to devote their development resources to drivers for hardware from competitors. The drivers from the other vendors range in quality from pretty good to what looks like it was written by the new hire engineer that had a copy of LabVIEW dropped on their desk and were told "we need some LabVIEW drivers for the biphase framistat by next Friday!".
P.M.
