LabVIEW Idea Exchange

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

When working with Arrays via VI Server (similar to a previous idea) it's challenging to get at a single element of the array.

 

My workaround involves setting only one array cell visible and then changing the index to move to different elements....

 

Why can't we read / write the current active index of the array via Property node?

 

Shane.

A property node that provides the index(s) of the cursor location in an array would let us know on which element of an array a user had clicked.  That can be usefule for example to provide additional information replated to specific array value, such as using the array as a list of peaks on a graph.  Currently, the mouse down event provides Cord values but those are as pixels.  Similar information for tables would be useful.

 

Hello all,

 

Why we dont ask NI to make a chat room for the online members, to discuss topics faster

Today, the enum data type in LabVIEW only allows having sequential numeric values (0, 1, 2, 3, etc.).

 

It would be very useful to have sparse enums, meaning enums which can have custom numeric values assigned to their strings, just like you can do today with rings.

 

If you want an example where this will be useful, think of error codes - this would allow you to use an enum on the diagram to select the error, or in a case structure.

Here is an idea that I have wanted to make happen for a while. It is the Asyncronous Call By Reference. Basically, it is just a Call By Reference, but split in half so that the call is not syncronous (blocking), and return data can be obtained from multiple locations.  Plus, there should be ways to check the status of the asynchronous call and kill it.  I've even implemented this, to some degree, here http://forums.openg.org/index.php?showtopic=88
 
 
Message Edited by Jim Kring on 06-10-2009 08:14 AM

I read about this idea on LAVA and in fact had this idea a few years before myself: parallel For loops. Of course this does not work with every VI (only reentrant VIs) and shift registers have no function, but it would be cool to start dynamically parallel processes.

 

Regards,

Marc

I think the usability of the express xy graph (i.e. Built XY graph express VI) could be improved if we could configure a fixed history buffer if "clear data between calls" is unchecked, similar to what we have for charts. There is a need for xy charts and this would provide an easy to use solution.

 

Currently, unchecking the "clear data" option is dangerous, because untimately the system can run out of memory.

 

(While we are at it, the "Built XY graph" express VI, is also a bit stale in the code. I would prefer if it could be rewritten with a globally initialized feedback node instead of the local varaible and first run logic. If we have a globally initialized feedback node, the local variable and first run primitive are no longer needed, making for cleaner code.)

NI,

 

Please can you change the icons on the graph controls so that zoom in has a magnifying glass with a + and zoom out has a -

(The root icon of the zoom actually has the + in it!)

 

After 5 years its still a coin toss for me which icon to click on if I want to zoom in or out!

 

It would be much easier to explain to customers that to zoom in you use the planetary wide accepted concept of clicking the magnify+ icon.

 

I know you can customise the controls and its make it as you wish, but this should be the default in my option.

 

ps: I have no problem at all with the other four icons in the zoom sub-pallet, only the zoom in and zoom out.

 

Well, the subject says everything, doesn't it? I have some drivers written as classes and it would be nice to use them on RT, too.

 

Marc

It would be good if you could minimise sections of labview code to give you more working space on the screen. They have this with some text editors, and it would be nice to see it with labview.

I'd like to be able to delete an object from an existing wire and then have that wire be automatically reconnected.  Currently a broken wire is left after deleting something and one must manually reconnect the wire.  This would be the opposite of the popup option to Insert something.  Some deletions may produce a maze of broken wires that would be difficult to determine what to auto-reconnect but perhaps situations where there is only one broken wire (for example removing a Numeric Increment function (+1) from a wire) could be handled.

 

Hello Everyone,

 

it would be cool, if I could change the visibility of plots online by adding a check box for every plot to the legend. These check boxes would be used in the same way as digital displays of chart (option to show them, moving them, etc.), only that they are always inputs and default value is true.

 

Regards,

Marc

 

 

I'm pretty sure I just deleted my originalpost with an edit:

 

I would like some help when wiring up a Connector Pane.

 

On large Monitors and less than 20/20 vision, it's easy to hit the wrong terminal.

 

A visual feedback as to which terminal is currently active would be of help.

 

As would showing a larger version when wiring allowing the user to change active terminal with the arrow keys....

 

Shane.

Message Edited by Intaris on 06-08-2009 06:54 AM
Message Edited by Intaris on 06-08-2009 06:54 AM

I would like to make a small workind change on another suggestion found HERE.

 

I would like to be able to declare LVOOP classes as ABSTRACT.

 

One example is a spectrometer class I have developed which provides much of the needed functionality but which is not designed to actually DO anything (Get name, Set Name, GET calibration coefficients, SET calibration Coefficients and so on).  At the moment I can instantiate an object of this class as with any "VALID" class which then just returns an error at run-time because the functionality is not complete.

 

By preventing users from (either willfully or accidentally) dropping what is essentially an abstract class onto the BD of a program we could prevent some awkward bugs.

 

Shane.

As I had mentioned/asked here, it will be very much useful to have the above feature in future LV versions. It ll be similar to the one already present in NI's Digital Waveform Editor tool. When we have to navigate/play with more digital signal lines, the graph gets too much cramped to view the digital signals.

 

I wonder why NI has NOT implemented/given this feature till now, for the developers? Smiley Surprised

Something like "pure virtual functions" in C++,  I think it makes code more clear.
Message Edited by Support on 06-09-2009 08:32 AM

This idea will probably have a narrow audience... those of us who use the "zip" functions in LabVIEW. There is currently an unzip function that takes a zip file on disk, then writes the unzipped files back to disk. To manipulate zipped files, you must then access the disk and load into memory. In other words, 3 disk operations... read zip, write file, read file.

 

There needs to be a function that unzips the files into memory, with the output of this function as an array of flattened strings, byte arrays, or data pointers.

 

 

UnzipToMem.png


Message Edited by Support on 06-09-2009 08:35 AM

I currently have a 3D array that I need to remap to some strange looking discret calibration data by linear interpolation (there is no good model function, not even polynomial!)

 

(1) This requires deeply stacked FOR loops (image top).

 

(2) In many cases it would simplify code if we could use a single FOR loop, but specify to loop over all scalar elements in all dimensions. (SUGGESTION: right-click tunnel, select "index over all scalar elements" -> different tunnel look). This would cause the autoindexing output tunnels of scalars to produce a multidimensional array of the same size as the autoindexing input. In all respects it should act the same as if we would stack as many FOR loops as needed to strip the input down to a scalar array element (center image). The index terminal [i] would output an array of all current indices (3 elements in this case). I am not sure what to do about N. If it would accept an array, we need to make sure the size (=# of dimensions) is defined elsewhere if there are no autoindexing inputs for example).

 

Case (2) could be useful in many situations, especially for more complicated code than shown here. It would work for all situations where only the innermost loop contains real code.

 

(3) In this particular case, the "interpolate array" function could of course be made polymorphic to accept multidimensional arrays and produce outputs if the same size as shown at the bottom of the image. Case (3) is a more general suggestion. Many existing functions could be made "more polymorphic" to do the same operation on each element of an array such as shown here. Since all operations are independent, it could even be automatically parallelized internally to take advantage of multiple CPU cores. Good candidates are functions that have scalar inputs and output a single scalar. If I have time, I will go over the palettes and identify more candidates. It might even turn into a seperate idea here in this forum. 😉

 

 

Message Edited by altenbach on 06-05-2009 05:25 PM
Message Edited by altenbach on 06-05-2009 05:25 PM

LLBs always had the capability of marking a VI as toplevel.

 

I wonder if it would be possible to set a flag inside a VI so a VI is recognized as such from within e.g. windows explorer. (e.g. different default icon). Since this requires OS integrations, I don't know if this is even feasible.

 

Still, It should at least integrate with the LabVIEW project.

 

The default settings could be very simple:

  • A VI without any defined connectors in the connector pane is "toplevel".
  • If there is at least one defined connector, the toplevel designation is lost.
  • There should be a way to overwrite this in VI properties.

 

Many times, people attach a zip full of VIs without telling us the name of the toplevel VI, so this idea would limit the number of candidates to inspect.

I like using Linux whenever I can, particularly when running large software like LabVIEW, since it tends to crawl on my XP systems. I was happy to realize that LabVIEW works on Linux, but soon after I was disappointed by the lack of usefulness of it when interfacing with hardware. I need to use the RealTime module to interface with my RealTime Compact-RIO. I also need Linux support for the FPGA module, as I need to program the FPGA attached to my cRIO. I'm sure I am not the only person who would like the ability to do this.

 

Without support for any of the hardware or LabVIEW modules I need, the Linux version of LabVIEW is entirely useless to me, and XP as an OS simply cannot perform up to par for me.