LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

functions

"Am confused about functions/vi's/express.vi's"

"Bit by bit ( it costs me much efforts and time ) I proceed in developing my LabView 7 applications.
Though, I am still basically confused about some semantics.

When right clicking the Block Diagram, I see icons for :


1. input
2. analysis
3. output
4. exec crt
5. arithmetics / compare
6. signal manipulation
7. user libs
8. functions


## 1/6 contain mostly express.vi's ( blue background ).


# 8 contains express.vi's ( blue ) as well as non-express.vi's ( yellow border ) as well as non-vi.functions ( yellow ).
( BTW : am I right in the colors ? )


If " express.vi's " and " sub.vi's " are " functions" , why are those " express.vi's " and " subvi's " not just called " function " ins
tead of " express.vi " and " sub.vi "?


On the other hand, if " express.vi's " and " sub.vi's " are NOT functions, why are their icons choosable under " functions " ?


If " .vi " is a species of the genus " function " , why are not all " .vi's " ( e.g. under 1/6 ) organised under " functions " ?


I am sorry to have to ask this ultimately basic question, but I could not resolve this one myself and I want definitely try to master LabView in its semantics too.


Any help would be greatly appreciated."

-posted by reteb on 9/25/2004




--------------------------------------------------------------------------------
0 Kudos
Message 1 of 6
(3,128 Views)
> If " express.vi's " and " sub.vi's " are " functions" , why are those
> " express.vi's " and " subvi's " not just called " function " instead of " express.vi " and " sub.vi "?

It's so that you have a clue as to what they can do.
(Much like "Why are apples and oranges both fruit?")
Express vi's are a new type of vi - very useful when solving a very specific type of problem, but don't expect to be able to modify them to go outside their design.
On the other hand, you can get at the code for other sub vi's and change it if you need to.

By classifying the vi's by different types, the programmer knows what to expect of them.

Les.Hammer@CompleteTest.com
0 Kudos
Message 2 of 6
(3,128 Views)
OK, thanks.

I see the difference between express.vi's and non-express.vi's.

But what is the difference between (express or regular).vi's which are functions and (express or regular ).vi's which are not functions ?
0 Kudos
Message 3 of 6
(3,128 Views)
Hello,

Just to clear things out for you:

From LabVIEW 7.0 and higher you can split up Blockdiagram objects in three groups:

1. Functions
2. (Sub) VI's
3. Express VI's

1. Functions: Functions are objects with fixed functionality. For example the add, subtract, multiply ect... functions from the numeric palet. These function have some in and outputs and alway do the same action. They also do not have a frontpanel or blockdiagram but in some rare ocations they have some kind of configuration window.

2. Subvi's: Subvi's have a frontpanel and a blockdiagram of their own (which can be opend by double clicking the icon). They can run autonoom but are disigned to be used as sub routines in a main VI.

3. Express VI's: Express VI's are VI's
which can be configured. When you place an express VI on the blockdiagram (or double click it) a configuration window pops up. Here you can do some settings and in and outputs are created ocording to the settings done. Express VI's can be converted to normal sub VI's by rightclicking the express VI and selecting: Open Front Panel. Once you converted it, you cannot change it back to an Express VI unlees you have the Express VI Toolkit.

Hope this clears things out a little.

Best Regards,

RikP
Application Engineering
National Instruments
Rik Prins, CLA, CLED
Software Development Engineer
Message 4 of 6
(3,128 Views)
OK, thanks.

Yet, I still wonder, when building the Block Diagram ( right clicking in the BD ), why I see many Subvi.'s and even some Express.vi' in the " All Functions " sub-palettes ( LabView 7 ) while they are no Functions.

I still don't get the point.
0 Kudos
Message 5 of 6
(3,128 Views)
Don't get too hung up on semantics. You can consider everything as a function. It really doesn't matter if those little icons are native to LabVIEW or written as subVIs. They all perform some predefined "function" with inputs and outputs. It is the means to extend the G language. You can easily create your own VI, icon, etc., add it to the palette and no one would know the difference between that and any other function there.
0 Kudos
Message 6 of 6
(3,128 Views)