SignalExpress

cancel
Showing results for 
Search instead for 
Did you mean: 

Building Run Labview vi steps - need simple comparison step

Solved!
Go to solution

I have looked at both "Building Run LabVIEW VI Steps from a Template" and "Creating SignalExpress Plug-Ins with LabView"  but they do not tell me what to do about errors in the process.

 

I am trying to create a User Step from the Less.VI.  Because it is a "polymorphic vi", I find that I need to "create an instance".  There is no explanation of that phrase to be found, so I created a new blank VI and inserted Less.vi.  Other instructions state that inputs and outputs must be connected to the terminals for the VI.  However, this VI has no Front Panel object and I can find no instructions on how to wire to a terminal from the Block Diagram view.

 

When I go through the procedure in "Creating SignalExpress Plug-Ins with LabView", I still get an LLB with a VI that won't open,when I try to insert it using Add Step - Run LabVIEW VI - Run LabVIEW 8.6 VI (since I created the source distribution in LabVIEW 8.6).

 

I have checked that I removed the exclusion for user.vi and instr.vi in the Build Instructions. 

 

This "easy" interchangeability between LabVIEW and SignalExpress is what I need most.  The "Creating..." document is not really a tutorial because it does not go through an example.

 

Would someone please help who has successfully created and transferred a User Step in LabView - one with no Front Panel objects? 

0 Kudos
Message 1 of 9
(7,636 Views)

Hi wildcatherder,

 

Are you trying to use the less than function from the Comparison palette within SignalExpress?  Or is there another specific VI that you are trying to use?  If so, where is this VI?

 

Also, what do you mean the VI has no Front Panel object?  Is there just no Front Panel for the VI that you've created, or have you not placed any objects on the Front Panel?

Jared S.
Applications Engineering
National Instruments
0 Kudos
Message 2 of 9
(7,610 Views)

I know of no comparison palette in SignalExpress.  The only comparison function compares two digital waveforms to analyze transmission errors.

 

SignalExpress claims to be able to import VIs from LabView but they have to be modified.  I was trying to modify a LabView 8.6 vi called "Less".  It is represented by the less than symbol with a question mark.

 

The modification for SignalExpress involves wiring inputs and outputs to the connector.  As stated, I don't know how to wire a connection except on the front panel. The vi "Less" has no front panel as it is a purely logical operation. 

0 Kudos
Message 3 of 9
(7,599 Views)
Although the Less.vi has its own inputs and outputs already wired.  It is a polymorphic Vi.  I have found indications that there is some way to extract a particular instance (with specific data types in and out) but I have never found how to do that.  So I created an "instance" my putting it in a new VI.  That new VI satisfies the instance requirement (for polymorphic VIs) but does not have inputs and outputs wired to the connector.  Catch-22.
0 Kudos
Message 4 of 9
(7,598 Views)
You keep mentioning this 'Less.vi' but you have not posted it or even explained where you got it.
0 Kudos
Message 5 of 9
(7,596 Views)
Solution
Accepted by topic author wildcatherder

Hi wildcatherder,

 

The Less.vi isn't a normal VI, but instead is a function.  However, you can create a VI from this.  In order to create a connection on the connector pane for a VI you need to go to the front panel where you have your desired input and output controls and indicators (for the Less.vi you can create these simply by right-clicking the terminals of the function on the block diagram and selecting Create » Indicator or Create » Control).  In the upper right hand corner of the Front Panel there will be the VI Icon.  If you right-click this, you can select Show Connector.  This should display the connector pane.  When you click on a terminal in the connector pane, then your cursor should turn into a wire spool.  By clicking a Control or Indicator after this, you will connect a Front Panel Object to the terminal that you selected.  You can find more information about this here.  Go to the section called "Building the Connector Pane."

Jared S.
Applications Engineering
National Instruments
Message 6 of 9
(7,577 Views)

Thanks, Jared, I had begun to suspect that's what I should do.  Will this also satisfy the one instance requirement?  I think I need to do something about picking a specific instance before I can make it a User Step in SignalExpress.

 

The distinction between function-only and controls-only VIs often slips by me because the more complex VIs have both.  I've been working with other people's code for months and am just starting to write new code. 

0 Kudos
Message 7 of 9
(7,573 Views)
That should satisfy the one instance requirement because the VI you will be using as the step - the one you created - isn't polymorphic.  The Less.vi is a function itself, but it can be included in any VI.  VIs can contain either subVIs, which are like any VI, and functions, which have neither a Front Panel nor a Block Diagram.  You can open VIs and see what's inside, but you can't do the same with functions like the less or greater than functions.
Jared S.
Applications Engineering
National Instruments
0 Kudos
Message 8 of 9
(7,566 Views)
Thanks, that's a clear summary of the distinction between function VIs and other VIs, which was confusing me.  I wish there was some kind of Help entry about polymorphism using the keyword "instantiate" which is the term commonly used with polymorphic functions (objects) in other programming languages.
0 Kudos
Message 9 of 9
(7,558 Views)