LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

When to use c/ python instead of LabVIEW

Solved!
Go to solution

I was recently asked when would you use c/python and not LabVIEW.

 

As someone who has been working with LabVIEW Kool for quite a while I actually found it hard to answer as there seems to be very few limitations to what labVIEW can achieve.

 

LabVIEW is obviosuly great for manufacturing test systems, control systems, quick prototyping, developing ideas and I've even used it to build executables to decipher wireshark data, edit MySQL databases, encryption programs, etc.

 

However, in my head the following spring to mind that might force a project to lean towards python.

 

1. Development license ( free versus paid)

2. Disk Usage - labVIEW run time engine requires quite  alot of space

3. MCU's/ Smartphones in particular could benefit from C/ python/ Java platforms

 

I recently worked in a company where all the R&D product development and manufacturing was done through LabVIEW but the regression testing was done through python. In truth, I probably could have set up the regression testing in LabVIEW but typically people working int hose environments will use PHP/ Python or similar and it is easier to hire a team on that basis.

 

I not trying to put down LabVIEW rather trying to answer a customer question honestly.  Any ideas ow to answer the question?

 

 

0 Kudos
Message 1 of 11
(9,800 Views)
Solution
Accepted by SeanJ

I think the shortest way I can put it is: LabVIEW is best suited to hardware interaction. 

 

Yes, you can write a small desktop app in LabVIEW...but the requirement to install the runtime engine (which can be quite slow) makes it difficult to create a 'portable' app (there are lots of workarounds...but still). I don't see why even a simple 'Hello World' executable should require 100's of MB of installation.

 

I have seen quite a few posts on here that have spoken about creating applications for managing data in a database (e.g. a stock inventory system), or running a LabVIEW executable on a server to act as a web-server - yes, you can use LabVIEW to do those things but there are other tools that I think are much more suitable (e.g. Apache/IIS and PHP/ASP) - basically a nice web-front end - I also feel the same about creating something to examine test data - I believe it should be done in a more appropriate tool (e.g. a web front end so anyone can access it without needing the RTE).

 

The cost of the development license is there, yes (but not for deployment) but it's more easy to justify that when it's just a small part of an expensive test/measurement system. I also don't really think that disk usage is that important these days with TB of HDD space being so cheap.

 

I feel LabVIEWs strengths are its ability to allow non-computer scientists to write their own code to run tests (e.g. prototyping a DAQ system in LabVIEW takes minutes...how long would it take in C if you'd never used C before?) for the beginner users, and to allow advanced users (LabVIEW professionals) to create advanced test/measurement/research systems much more quickly than they could starting from scratch in C etc.

 

 


LabVIEW Champion, CLA, CLED, CTD
(blog)
Message 2 of 11
(9,786 Views)

@Sam_Sharp wrote:

Yes, you can write a small desktop app in LabVIEW...but the requirement to install the runtime engine (which can be quite slow) makes it difficult to create a 'portable' app (there are lots of workarounds...but still). I don't see why even a simple 'Hello World' executable should require 100's of MB of installation.

 


.NET 4.6.1 installation requires 2.4GB of free space, but people don't think/react to it. Companies with LV should have the LVRT as part of the standard computer install.

 

Python is good for rapid prototyping if you're used to text based languages. LV is good for rapid prototyping if you're not and/or as you mention have hardware communication.

 

At a customer we've just made a nice hybrid, a LV program communicates with some systems and a Python library can communicate through TCP/IP and ask for parameters. That way tests can be customized and performed through Python scripts.

/Y

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
Message 3 of 11
(9,745 Views)

@Yamaeda wrote:

.NET 4.6.1 installation requires 2.4GB of free space, but people don't think/react to it. Companies with LV should have the LVRT as part of the standard computer install.

 


Yes - but .NET is so embedded that it's included in Windows (7, 8 and 10?) / with Windows Update. Yes - if you're a company using LV then you should install it as part of your PC configuration but if you're not, it's a bit embarrassing to have to wait for 30 minutes? 1 hour? for NI software/drivers to install on a clients'/customers' PC for an executable that's only a few MB in size.

 

I generally don't mind it - but if I was trying to use LabVIEW for some lightweight/simple/non-hardware applications, I think it would become a significant pain point for my customers having to install my software and it probably is enough to persuade me to use a different language instead.


LabVIEW Champion, CLA, CLED, CTD
(blog)
0 Kudos
Message 4 of 11
(9,735 Views)

@Sam_Sharp wrote:
Yes - but .NET is so embedded that it's included in Windows (7, 8 and 10?) / with Windows Update. Yes - if you're a company using LV then you should install it as part of your PC configuration but if you're not, it's a bit embarrassing to have to wait for 30 minutes? 1 hour? for NI software/drivers to install on a clients'/customers' PC for an executable that's only a few MB in size.

 

I generally don't mind it - but if I was trying to use LabVIEW for some lightweight/simple/non-hardware applications, I think it would become a significant pain point for my customers having to install my software and it probably is enough to persuade me to use a different language instead.


Yup, people don't think about it, but it's there and it's big.

1h sound excessive, unless they have to download the NI runtime over a 256k line. 🙂

I've done a number of small applications, e.g. a database viewer/modifier. In this case the customer was used to our LV based test systems, so the RT wasn't a surprise and a very small factor, but you're right in that selling in a program to a first time LV client will be harder.

After explaining that it's a one time install i haven't faced much resistance. If anything it's the IT departments resisting a runtime install at all and i've had some issues with Policies messing with my programs (rights and stuff needed for the program).

/Y

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 5 of 11
(9,722 Views)

Note the Windows Python installer (26MB) isn't exactly tiny either.  One of the reasons the NI installer for the LabVIEW Run-Time is big by comparision is because we include all of our dendencies like .NET and the Visual Studio Runtimes to ensure the installation will succeed even if your system is disconnected from the network or is fresh and doesn't have anything pre-installed.

 

If Windows would gaurantee that .NET and the Visual Studio runtimes were always installed, we could obviously shrink our installers by a lot.  In addition, we are looking to make our downloads more intellegent such that we won't download a dependency if you already have it installed.

Message 6 of 11
(9,716 Views)

I think aside of things like runtime installation (which can be a problem for high volume application but not for systems you only typically install a few times), the most important aspect remains what you are most comfortable with.

 

I know many programming languages and can in most of them create some code if really needed, but LabVIEW (for high level stuff and hardware IO) and C (for low level programming) are the ones I'm by far most effective in. If someone wants me to do a GUI application in Visual Basic or lets say Python I'm sure I can get there, but the end result will be likely less professional looking (I'm here not talking about exact OS hype style look and feel but functional and usuable UI) and take up more time to develop and debug than if I do the same in LabVIEW. I could also do it in C++ or C# which both would also take up more time to do for me although I can work with them too.

 

Doing Windows (or any other system) API programming in LabVIEW, Python or just about any other programming language than C, is generally a lot more work, pretty error prone and a total pitta to maintain in the long run, so there my preference is also clear.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
Message 7 of 11
(9,606 Views)

its diffculte to founding refernce to learn labiew
i use it in my final year project ...i have alot of diffecult
library now is expired

 

0 Kudos
Message 8 of 11
(4,744 Views)

Quick answer.

 

When you have someone other than me doing the development.  My strengths lie in LabVIEW Development. You don't want to pay me to type text and, although I COULD do it, I wouldn't enjoy it as much.  So, hire the people who best match your expectations. 

 

It's not a SCIENTIFICLY testable question!  It is a matter of management judgment.


"Should be" isn't "Is" -Jay
0 Kudos
Message 9 of 11
(4,743 Views)

Data Science, ML, AI and so on.

0 Kudos
Message 10 of 11
(4,730 Views)