LabVIEW Idea Exchange

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

Here's something that makes FP design difficult: shadows behind floating objects on FP. Add an IDE preferences option to disable shadows.

 

NOTE 1: The default is for shadows should be enabled. This is a handy feature that alerts a new FP designer that something may not be right with the arrangement.

 

NOTE 2: This does not apply to the BD. I think you should ALWAYS correct objects floating over structures on the BD.

 

NOTE 3: Give us an option to "Show Floating Objects." Like Show Buffer Allocations, SFO would flash the floating objects. Alternatively, give a list of floating objects (this should work on BD and FP)

 

 

FloatingIndicatorShadows.png

As part of the base package in the LabVIEW Developer Suite, include an integrated SCC in the IDE. We are using a third party SCC program right now, and it has it's quirks when integrating with LabVIEW. Our group is comfortable with the quirks now, but for a new group starting a new project, the hurdles might be big enough to nix SCC. If a LabVIEW-specific package was maintained with the IDE, those quirks could be reconciled for the LabVIEW-specific style (i.e., a file is "modified" when compiled, diffing two VI's, ...)

 

NI has been really promoting SCC recently, and I think they should officially develop (or adopt) an integrated package with the LabVIEW IDE.

We can easily open multiple instances of the control editor if we open controls from the file manager.

 

For some reason, if we customize a control from within a VI (right-click...advanced...customize), we can only work on one control at any give time. If we try to customize a second control, the option is grayed out (image) until we close the first one.

 

Many times it would be useful to be able to work on multiple controls at the same time, for example if we need to cut&paste elements from several other controls into a new one. (One example would be making a color LED).

 

Please remove this seemingly arbitrary restriction that limits us to one instance of the control editor. Is there a good reason why this is currently not allowed?

 

Message Edited by altenbach on 06-14-2009 10:30 PM

Virtually ALL of my more complex typedefs have multiple datatypes wrapped in a cluster. The result? A pink wire. I have fat, pink wires all over my code.

 

Allow us to choose different patterns and colors for wires on a typedef. Increases the ability to spot a typedef, and allows for distinction between two complex datatypes.

 

(Note: I am not condoning making a new wire for every typedef... that would be a point of confusion when collaborating. I would just like to add distinction to some of my more distinct typedefs).

 

CustomWiresForTypedefs.png

 

 

The current behavior of LabVIEW is as such:

 

UserEventsWithClusters.png

 

The pick list of event data strips the cluster, only allowing access to the elements inside the cluster. In order to manipulate the native datatype, you must reconstitute the cluster inside the event structure, a performance hit on large data structures firing at quick event rates. This is not to mention a messy FP.

 

I suggest that User Events preserve the clustered event datatype, allowing the programmer to access to the native datatype on the consumer end. The option to select only the element "Clustered Typedef.Array of I32s" of course still remains, but is not forced upon you. (Note that the below block diagram is NOT a direct LabVIEW screenshot... brought to you by trickery and a paint program. I clustered the cluster on event datatype [not shown] so that the event structure could eat the outer layer)

 

NewUserEventsWithClusters.png

 

My motivation with this suggestion is directly linked with my other post on the Big Typedef Issue.

Currently, you can place a probe on a wire while developing, which is an indicator of the data on a wire. I want the ability to CONTROL the data on the wire, with a data forcing mechanism.

 

The implementation would be very simple... right click on a wire, and in the context menu the option "Force" would be right under "Probe." It would pop up a window of the forcing control, and while the VI is running and forcing is set to "Enable", the programmer can control the values that pass on the wire. If the force window were set to "Disable", the data in the wire would be completely controlled by the VI's logic.

 

DataForcing.png

 

I think the implementation by NI could be trivially simple. If you only allow a forcing control to be added during edit mode (not while the VI is running), the force could be added as an inline VI (as denoted by the green rectangle on the wire). The code inside the inline VI would be as follows, and the front panel would be "Data Force (1)" as shown above.

 

ForcingImplementation.png

 

Of course, if you could add a force to a wire during runtime like probes, props NI. But I would be PERFECTLY happy if you could only add these force controls in edit mode prior to running.

 

One level further (and this would be AMAZING, NI, AMAZING): enable and disable certain parts of the cluster that you would like to force and allow the other elements to be controlled by the VI logic. I made the example above because it would be very natural to ONLY force Sensor1 and Sensor2, and letting the output run it's course from your forced input.

When you "Find All" on an object, there may be dozens or hundreds, but you cannot resize the window! It's limited viewing 10 slots at a time. (By comparison, the generic "Search Results" window can be resized when you search for an object or text.)

I use the search function everyday, but there is a feature missing. For a state machine with a lot of state data, I would like to specifically find every place a certain element is being read and written. You can search for the text, but this often turns up "false positives" such as constants, FP objects, property nodes... when all you want is the bundle/unbundle.

 

The  way I currently find every place state data is used is pull the element out of the state data definition, then use the error list to find all the places that the confused bundle/unbundle broke the VI!

 

FindCluster.png

I could be easier to insert or delete element from array by only select and hit Insert or Delete on keyboard.

 

Insead of this:

 

DeleteFromArrayOld.png

 

Select like this:

 

DeleteFromArrayNew.png

 

 

SubPanels are the life of the party for scalable HMI projects. I use SubPanels inside of SubPanels inside of SubPanels. Currently, when you drop a SubPanel, all you get on the BD is an invoke node:

 

NewSubpanel.png

 

If you delete that one invoke node, you have no indication on the BD whatsoever that the SubPanel still exists! If you have hidden that SubPanel and have no references to it on the BD, it's a nightmare trying to re-show it through the VI server (especially if it's nested, or in a Tab Container). Further, there is no method that allows you to query the SubPanel what VI is currently inserted into it.

 

Here's a suggestion for updating the implementation. The "datatype" of the SubPanel is a VI reference, so you can directly write to it or read from it without an Invoke Node. This also allows the parent to query what VI is currently inserted. The "Insert VI" and "Remove VI" Invoke Nodes could go away (wire null ref for "Remove).

 

NewSubpanelImplementation.png

 

 

This is an excellent feature for populating a new cluster that I use everyday:

 

DragAndDropCluster.png

 

This is a feature that needs to be added:

 

DragAndDropArray.png

 

Stipulation: if several constants are highlighted, and they are the same datatype, then allow them to be dropped into an empty array; else, disallow dropping. This will determine the datatype of the array, and initialize the first n items that you dropped in.

 

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.

 

The clean-up feature that was introduced in LV 8.6 can sometimes do wonders, but very often it fails miserably on parts of the code...

 

It would be nice if it was made possible to select just an area of the diagram - or a structure (one particular case in a case structure e.g.) - and apply the clean-up algorithm only to that part.

Most of us have developped our own VI to handle the difference of a VI's path when in development and EXE. See here for an example.

 

The numerous pages on ni.com and questions on the forums about this topic show the need for an improved native Current VI's Path function.

 

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.

Currently, the block diagram has an endlessly useful feature. I use it every day - the Distribute Tool.

 

FrontPanelSpacingTool.png 

 

 

The following feature would be AWESOME for expediting BD readability:

 

BlockDiagramSpacingTool.png

Is there a compelling reason that enums cannot be a signed integer? 

 

EnumDatatypes.png 

 

 

 This would provide the very handy function of assigning them the I32 "base" datatype, eliminating coercion dots on most LV primitives.

 

EnumCoercionDots.png

On that note, how about supporting sparse enums (enums with non-consecutive value-string pairs)?

 

OK, I know rings support both features, but rings have the distinct disadvantage of only showing their numeric value in a case structure.

I think NI should refine the Context Help for ES, inthe sense, it should show the exact content of the section we hover over.

 

Like, when we hover over Discard?, it should show this particular content. When we hover over Mouse Up, it show that corresponding content inthe pop-up small window.

 

This would save enormous time in trying to search & find the exact content we want from the main chm help file.

I feel that this feature will be beneficial when building search algorithms.

 

Suppose a situation like this, where we use the String control for the user to enter an item for search. We need to find if this item is already present in another drop-down control & then add to it, if not already present.

 

But if we have this property for the Combo itself, it will trigger a value change event in which we can search & add the new entry to the Strings[] of Combo in one event itself.

 

This is what I feel...