LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

select signals

Hey, 

 

I have a problem with the VI Select Signals. It can only select 8 signals, and I should have at least 14. 

 

I'm using the VI Select Signals because they have told me it is quick (quicker than the VI Index Array).

 

Does someone has a solution (I'm reading in via DAQmx ). 

 

Thanks

 

Sven. 

0 Kudos
Message 1 of 10
(3,818 Views)

If you right click on the Select Signals node and select open front panel, you can see what the express vi does under the hood in it's current configuration. You can then modify it to handle more channels.

 

Index array will execute quicker than Select Signals, since Select Signals uses index array as well as stuff for the selector signal and for converting between waveform arrays and dynamic signals.

0 Kudos
Message 2 of 10
(3,807 Views)

I seem to have a similar problem with select signal VI.  I originally had 8 signals going into this VI and selected a couple of signal to send out of the VI and all worked well.  Then I wnet back into MAX and configured 2 more channels which seemed to be no problem.  But when I went into the original select signal VI, the property node showed only the original list of 8 signals and not the two additional signals I just made in MAX.  Putting a probe into the input of the select signals VI showed that there were 10 signals! But the list of signals to be selected from the properties of the VI still showed only 8 signals.   Does this VI have a limit to the amount of signals it can select?  What to DO!

0 Kudos
Message 3 of 10
(3,736 Views)

Are you using the Express VI to select signals?  If so, then using the front panel mode of the Express VI will limit you.

 

But if you wire in an array of booleans to the selector input of the express VI, you should be able to get more than 8 channels to select from.

0 Kudos
Message 4 of 10
(3,724 Views)

I am using the select signals express VI and have looked at the converted code to see what is going on in there.  I did run the example VI that contains the select signals VI and found, much to my astonishment, that the list of signals in the property popup box now contains all the signals from the updated tasks!  So I guess this was just an anomily.

0 Kudos
Message 5 of 10
(3,720 Views)

There is a lot of background code that is running on an Express VI.  It's possible that some of that code runs and determines how to populate the signal list based on the incoming data wires.  But perhaps it doesn't know what is on that wire until you've run your VI at least once.  So running the VI puts some data on the wire, then configuring the express VI then knows the data that is on the wire and allows you to configure the Express VI.

0 Kudos
Message 6 of 10
(3,716 Views)

Simon's message here seems to confirm my theory that running the VI allows the Express VI to know what the signal names are.

0 Kudos
Message 7 of 10
(3,691 Views)

Actually, after fooling around with the select signals VI I found that there seems to be an anomily with this VI>  The first time that I open the code up and look at the list of signals to be selected, I aways seem to get some osrt of defaut list which is in no way related to the actual signals being sent into this VI. This was ascertained by looking at the list of signals going into the  VI by using the probe tool: all the signals were there exactly as configured in MAX!  However, upon running the code using this sub VI and then stopping the code, and then looking at the list signals in the select signals VI, I found that the list is now populated with the actual signals being input into the select signals VI!  If I close out the project and then reopen it and look at the select signals VI once again, the list once again is not populated with the tasks taken from MAX until I run it again!  This works but not the way that I expected.

0 Kudos
Message 8 of 10
(3,674 Views)

OK so it is another day and I went back into the project using the select signals express VI figuring that after I run the code once the list of channels will be what was configure in MAX. After all this worked the day before! Much to my surprise, today the list will not populate with the tasks configured in MAX even after running the VI once  to populate the select signals VI list from the properties dialog box! In the create virtual channel VI, where the channels are created the channels were all given relevant names to make it easier to see what is being displayed on the graph indicators, and that works fine: the graphs all show the correct channel names that were configured.   I put a probe onto the inputs and the output of the select signals VI, and the probe shows all the input channels as configured in MAX, while the output probes all show the selected signals that were selected the day before, while the listing in the select signals VI still does not show these channels but instead shows a list of 8 channels, Signal 0 thru Signal 7.  I  know tha correct signals are still coming out of the select signals VI, but it would sure be nice to see the correct list of the channels going into the VI so I can change the selection at some point in the future without seeing the wrong list in the properties dialog box.  I could go back into the code and use the split and merge VIs to do the same thing, and I have done this in another copy of this VI, but it is a little more laborious to do it that way when the select signals VI is so much earier to use when it works. Any clues to this predicament?

0 Kudos
Message 9 of 10
(3,654 Views)

I have no idea why something would work one day and not the next unless you aren't actually doing the same thing you think you are.

 

The best thing to do when you have problems with Express VI's is to stop using them and the blue dynamic datatype wire.  Start using real LabVIEW functions such as the lower level DAQmx functions.  Work with arrays of waveforms rather than the blue DDT wire which is a catchall that kind of magically packages anything and everything together without actually giving a clue as to what is going on inside.  Blue express VI's and blue DDT wires are great for throwing together something quick and easy, especially for new users.  But they hide what is going on and don't offer any real programming flexibility.

0 Kudos
Message 10 of 10
(3,639 Views)