LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

labview compared to labwindows

Solved!
Go to solution

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?

 

0 Kudos
Message 1 of 11
(6,820 Views)
Solution
Accepted by topic author chan1989

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 Smiley Wink  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.

 



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
Message 2 of 11
(6,804 Views)

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.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
Message 3 of 11
(6,800 Views)

Thank you, Roberto for the response. I‘ve educated myself with the link. They are very helpful.

0 Kudos
Message 4 of 11
(6,793 Views)

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!



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
Message 5 of 11
(6,773 Views)

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.

0 Kudos
Message 6 of 11
(3,978 Views)

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.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 7 of 11
(3,968 Views)

@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.

 

-----------------------
/* Nothing past this point should fail if the code is working as intended */
0 Kudos
Message 8 of 11
(3,951 Views)

@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?

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 9 of 11
(3,936 Views)

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.

-----------------------
/* Nothing past this point should fail if the code is working as intended */
0 Kudos
Message 10 of 11
(3,928 Views)