LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Express VI usage

Solved!
Go to solution

I know that express VI's are generally frowned upon here. My question is why?

 

Is it because people think that the programmer should be able to do (manually) what the express VI is doing?

Or is it because express VI's generally dont perform very well?

 

The reason I ask is because I know how to use the DAQ stuff, but I still use express VI's when I need to send a lot of data at once.

 

As an example... if I need to read or write single lines or ports I'll do it manually.

If I need to dump a 1K buffer onto a FIFO memory board, I'll use an express VI.

0 Kudos
Message 1 of 4
(2,204 Views)

No


@WayneS1324 wrote:

I know that express VI's are generally frowned upon here. My question is why?

 

Is it because people think that the programmer should be able to do (manually) what the express VI is doing?

Or is it because express VI's generally dont perform very well?

 

 


 

 

No, none of those.  I never use Express VI's cause there is way to much overhead in there and often "bad written" if you're looking at performance.

 

Kind regards,

- Bjorn -

Have fun using LabVIEW... and if you like my answer, please pay me back in Kudo's 😉
LabVIEW 5.1 - LabVIEW 2012
0 Kudos
Message 2 of 4
(2,192 Views)
Solution
Accepted by topic author WayneS1324

Other people will tell you theirs reasons for not using them. When Express VIs were introduced seasoned LabVIEW programmers saw them with much chagrin. In fact, there's a famous video that was taken at one of the NI meetings in which seasoned LabVIEW programmers were asked to name 10 Express VIs. They couldn't. Not because they didn't know LabVIEW, but because they stayed away from them. My own personal opinion is that NI was basically trying to take a cookie-cutter approach to programming. On the one hand they wanted to say that LabVIEW was a full-featured programming language. And on the other hand they wanted to say that non-programmers could use it. Hence the Express VIs. When they first came out they were horrendous in terms of complexity and overhead. They've gotten better. For instance, the Time Delay VI is quite useful. So is the Elapsed Time VI. So is the File Fialog.

 

One additional reason why Express VIs are frowned up is because in data acquisition they use the dynamic data type which is a pretty much next to useless data type. I'm sure NI will tout it as being the greatest thing since sliced bread, but I'll take the waveform data type over the dynamic data type any day of the week.

Message 3 of 4
(2,187 Views)

Wayne,

 

While express VIs may be frowned upon here, they do have their uses, and meet their intended goals quite well.Theyre great for people trying to do relatively simple tasks which arent very process intensive, like taking some thermocouple data and writing it to a file. They can greatly speed up design and built time, which saves money as LV developer time can get very expensive. They also take off a good chunk of the learning curve for new users, while still giving more functionality than something like SignalExpress. 

 

For an experienced programmer, there absolutely can be more efficient and flexible solutions created, but there is also typically a higher development cost.  

 

This is a community of labview developers, so of course there will be some bias to the more rigorous, higher performance way of doing things. That being said, a huge number of people in industry use express VIs on a daily basis because of the simplicity they offer. 

 

Regards,

 

Kyle Mozdzyn

Applications Engineering

National Instruments

Regards,

Kyle M.
Applications Engineering
National Instruments
0 Kudos
Message 4 of 4
(2,161 Views)