Message Edited by hemmerling on 01-22-2007 03:06 AM
Regarding your first question, you are correct. With Measurement Studio Enterprise Edition, you do receive LabWindows/CVI Full Development System. The same is true if you purchase LabWindows/CVI Full (you receive, Measurement Studio Enterprise Edition). In other words, if you purchase either Measurement Studio Enterprise or LabWindows/CVI Full, you will receive the same CDs in the mail. Measurement Studio Enterprise and LabWindows/CVI Full are the full-featured versions of each package. Either one of these packages will give you tools to create test and measurement applications in both the LabWindows/CVI ANSI C environment and in Microsoft Visual Studio.
As you mentioned, some of the benefits of LabWindows/CVI Full over LabWindows/CVI Base can be found here:
Some highlights are:
· Over 290+ additional analysis functions in LabWindows/CVI Full
· Internet connectivity functions (FTP, Telnet, Email functions)
· Windows SDK
· All the .NET components provided in Measurement Studio (and specifically the Enterprise Edition benefits mentioned below)
Some of the benefits of Measurement Studio Enterprise over Measurement Studio Professional can be found here:
Some highlights are:
· Over 110+ additional analysis functions in Measurement Studio Enterprise
· Ability to debug .NET code from NI TestStand
· LabWindows/CVI development environment (and specifically the Full Development System benefits mentioned above)
<previous post continued>
Regarding your second question about the benefits of LabVIEW vs. LabWindows/CVI vs Measurement Studio, the answer to this question is highly dependent on your application requirements and programming environment experience/preference. The obvious question is what development experience do you want – graphical or textual (ANSI C or Visual Studio)? What is the majority of your current code written in? What language do the majority of your developers know or prefer using? How quickly can you create an application in the particular language/environment? Is your hardware supported in this environment (cRIO, 32 bit processors, etc)?
In general, the functionality in core LabVIEW, LabWindows/CVI and Measurement Studio (such as data acquisition and instrument control libraries, analysis functions, and scientific user interface controls) is the same. Having said that, some key benefits of each environment are:
· Quick time to measurement (you can perform simple acquisition tasks very quickly due to the inherent graphical nature of the environment)
· Extended target support (PDAs, FPGAs, 32-bit processors etc)
· Built upon the ANSI C language, which has been consistent from multiple decades and allows for significant code reuse due to backwards compatibility
· Closely follows Microsoft technologies and programming languages, which allows you to easily create test and measurement applications that use this technology from a native Microsoft development environment (for instance, you can use the latest ASP .NET technology to monitor your test applications from the web)
A large library of instrument drivers written in LabVIEW, LabWindows/CVI and Visual Studio is available from the Instrument Driver Network. In your situation, if you have a LabVIEW VI that you would like to call from Visual Studio, you can either create the VI into a DLL (via the LabVIEW Application Builder) or you can use the LabVIEW’s ActiveX interface to remotely call LabVIEW from Visual Studio and have the LabVIEW run-time engine execute the VI. A brief overview of the interoperability between LabVIEW, LabWindows/CVI and Measurement Studio can be found in the following document. In addition, the new shared variable support in LabVIEW 8.0+ and LabWindows/CVI and Measurement Studio 8.1 give you an addition way to transfer data between the three environments.
Hopefully, I've helped address some of your questions. Rolf, definitely feel free to let me know if you have any further questions or if something is unclear.
Message Edited by Wendy L on 01-22-2007 11:03 PM
Message Edited by hemmerling on 01-22-2007 11:21 PM
That's a great point. In general, LabVIEW does abstract multithreading from users, thus making parallel execution easier in comparision to textual languages. On the other hand, if you do want more fine-grain control over the threads in your application, LabWindows/CVI provides a multithreading library that includes various threading constructs (ThreadPool, Thread-safe Queues, Thread-safe Variables, etc) that allows you to create threads, assign specific priorities to each thread, and safely transfer data between threads. Of course you can always use the lower level Windows SDK threading functions in Visual Studio or in a C environment as well. A document I have found particularly helpful in understanding the multithreading APIs in LabWindows/CVI can be found here.
Message Edited by Wendy L on 01-23-2007 06:32 PM
Message Edited by hemmerling on 01-30-2007 12:22 AM