06-11-2016 06:00 PM
Dear all,
I have been using LabWindows for 3 years and just recently started to learn LabVIEW.
LabVIEW seems to be more popular and straightforward to program. This forum is full of engineers who are experienced in the test, automation, and programming. How would you compare these two products of NI? What are their advantages and disadvantages?
Solved! Go to Solution.
06-12-2016 04:46 PM
NI has made a hard work trying to broadcast the idea of LabVIEW everywhere and to encourage the use of LV in schools and universities, and in effect you see several teaching institutions introducing the use of LabVIEW all over the world. It is to be said though that being CVI "just another C compiler" you won't see it advertised frequently out there. Nevertheless, C remains a valid option and a good C programmer will approach CVI very easily, having to familiarize only with proprietary labraries and functions.
LabWIndows/CVI and LabVIEW are different tools you can use to achieve your goals, each of them has pros and cons; being a long time CVI user with only little LV experience I feel CVI is better, LabVIEW users will feel the same for graphical programming That is to say, in my opinion both instruments are good and powerful and nowadays are similar in power and flexibility.
CVI started from the beginning with a native compiler that made it good for industry applications where the ability to modifiy the code was neglected in favour of repeatability of tests; LabVIEW has always be looked at as an "easy" programming language everybody can use. As every programmer can confirm, both need some time to be used in the best way, and how steep is the learning curve in my opinion depends on your previous experience rather that in the intrisic characteistics of the development environment.
This comparison has already been addressed in the forum: here you can find a long-lasting discussion that you may find interesting to read.
06-12-2016 04:59 PM
When we started using NI products back in the 90's we were addressed to CVI mainly for two reasons: 1. having a long experience with text.based programming, the learning curve promised to be fast, and 2.having to develop applications for quality check at end of production, a compiled executable was preferable since it guarantees repeatability of tests in the same conditions (at that moment the Application Builder was sold as a separate module, not so user-friendly in use).
A few years later, we had to develop a few applications for a customer of ours that had standardized the use of labVIEW in their laboratories so I approached LV as well, but that didn't convinced me to permanently change to graphical programming as a standard developmente environment.
06-12-2016 11:02 PM
Thank you, Roberto for the response. I‘ve educated myself with the link. They are very helpful.
06-13-2016 03:52 AM
As an addition to what I already wrote, where I find CVI a lot more powerful and user friendly that LabVIEW is when designing a parametric UI, that is a user interface that depends on configuration data and / or the state of the application.
Consider the case of a variable number of attached devices, or if you must manage different hardware or a variable number of AI or AO per each device, or if they have different capabilities... since in CVI you can programmatically create controls at runtime you can design a single application that automatically adapts its UI to every situation. I find it very simple and useful.
You could even design the whole user interface from scratch, if you want!
09-10-2021 06:49 PM - edited 09-10-2021 06:51 PM
I've had the opportunity of using both LabVIEW and LabWindows/CVI for test development and have to say that CVI is better, hands down.
My progression went from LV to CVI back to LV. Now that I've gone back to LabVIEW everything feels like a huge pain. The constant rearranging of wires. The constant mouse clicking. All get annoying real fast. Most code is just faster to type out. Especially if you have to revisit and rework it.
NI does a good job of brainwashing people into believing that graphical programming is faster and better. None of that is true. LabVIEW is NI's cash cow and NI doesn't want to cut into it by promoting CVI. Even though it's better. Try both and see for yourself.
09-11-2021 06:43 PM - edited 09-11-2021 06:52 PM
It very much depends. For me I come from an electronics background, always having been busy with electronics circuit drawings and while we did have Pascal programming during our education (Yes I’m an old guy) I always felt the text programming took more attention for typing the correct syntax and remembering all the variable and function names than solving the actual logical problem. When I started working for NI as Application Engineer and encountered LabVIEW, I “knew” this was how I always had wanted to program. It felt very logical and straight forward and resembled the electronic schematic drawings. Incidentally I also was the main technical support for LabWindows for DOS and later LabWindows/CVI and while I could work with them and support them fully I still always felt more attracted by LabVIEW programming. I also thought both LabVIEW and LabWindows/CVI courses, probably a few more for LabVIEW than LabWindows.
Nowadays I still use LabVIEW in my daily work and regularly program low level routines in C but usually just use Visual C and GCC for that. I would however hate to have to do UI programming in them and while CVI has a powerful UI library (which incidentally is based on much of the early C code developed for LabVIEW back in the early 90ies of last century) I don’t quite see the advantage of CVI to LabVIEW for me.
And no, LabVIEW is not the cash cow of NI and never really has been. If LabVIEW sales would have to fully pay for its development alone it would not exist anymore. It always was a means for NI to sell their hardware rather than a profitable product in itself. The same is true for LabWindows, the difference just is that LabVIEW is quite unique while LabWindows is simply another C development environment out there and NI kind of stopped trying to even compete with the others.
09-13-2021 02:42 AM
@rolfk wrote:
... LabWindows is simply another C development environment out there ...
IMHO CVI is quite unique in its ability to create an UI with a few clicks and have the buttons and stuff do something. And the debugger can find some nasty issues. That's why it's so sad that CVI is slowly dying and starting to smell.
What alternatives are there?
Qt is a license disaster: you can crate new stuff only as long as you pay and you have to pay extra for a list of slowly growing things like a graph control.
And other environments (like .Net) throw classes at you left and right.
09-13-2021 11:31 AM
@CVI-User wrote:
@rolfk wrote:
... LabWindows is simply another C development environment out there ...
IMHO CVI is quite unique in its ability to create an UI with a few clicks and have the buttons and stuff do something. And the debugger can find some nasty issues. That's why it's so sad that CVI is slowly dying and starting to smell.
I did mention the UI library and editor and yes, it is a fairly unique feature. It is maybe not quite state of the art in UX design terms, but if your aim is not to copy the latest and greatest UX hype but instead simply have a functional UI, then the LabWindows UI Editor and library is very powerful.
I also find the function panels quite a handy feature.
What alternatives are there?
Qt is a license disaster: you can crate new stuff only as long as you pay and you have to pay extra for a list of slowly growing things like a graph control.
And other environments (like .Net) throw classes at you left and right.
I fully agree about QT. It's licensing is a mess and seems to get worse every year. As to your last comment about .Net, yes you do use classes everywhere, but isn't that what QT is build around too?
09-14-2021 02:53 AM
Well, Qt is using C++ so you can get away with a lot of C code. C# starts with a "class Program".
(Not implying that it is good or recommended to use C++/Qt that way but it may help some folks or your code base in the transition.)
Also: the advanced math functions like (inverse) FFT or filters are something all the alternatives are missing. But I guess (hope) LV has those, too.