LabVIEW Idea Exchange

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

With the advent of the IoT and the growing need to synchronize automation applications  and other TSN (Time Sensitive Networking) use cases UTC (Coordinated Universal Time) is becoming more and more problematic.  Currently, there are 37 seconds not accounted for in the TimeStamp Which is stored in UTC.  The current I64 portion of the timestamp datatype that holds number of seconds elapsed since 0:00:00 Dec 31, 1900 GMT is simply ignoring Leap Seconds.  This is consistent with most modern programming languages and is not a flaw of LabVIEW per se but isn't quite good enough for where the future is heading   In fact, there is a joint IERS/IEEE working group on TSN 

 

Enter TAI or International Atomic Time: TAI has the advantage of being contiguous and is based on the SI second making it ideal for IA applications.  Unfortunately, a LabVIEW Timestamp cannot be formated in TAI.   Entering a time of 23:59:60 31 Dec 2016, a real second that did ocurr, is not allowed.  Currently IERS Bulletin C is published to Give the current UTC-TAI offset but, required extensive code to implement the lookup and well, the text.text just won't display properly in a %<>T or %^<>T (local abs time container and UTC Abs time container)  We need a %#<>T TAI time container format specifier. (Or soon will!)

I want class modifications to be saved immediately. It's very rare that I need to revert any change I have made to a class.

 

One of the most time consuming tasks is fixing a class after I close and reopen it because I forget to [right-click > save > save]. In fact, I frequently make two source commits because I have forgotten to save the class and I don't realize until after I have made the first commit.

 

If not exposed through the options dialog, can we at least get a new LabVIEW.ini key?

 

autosaveClass=True

 

OR

 

saveClassOnChange=True

Often when using tables (and multicolumn listboxes), the content of the table column or row header is longer than the desired width of the cell.  It would be nice if there was an option to make the contents of the cell wrap to the next line, similar to how tables work in Excel or Word.

 

Also, adding vertical justification options such as Top, Center, Bottom to the Active Cell property subset would be nice.

 

Here's a crude illustration of what I'm talking about.

 

new Table options.PNG

 

The title says it all, for the reference this discussion on LAVA that explains how to do it using .NET :http://lavag.org/topic/9216-deletion-of-folders-and-files/

 

Please give us a native way to do that in LabVIEW.

The Preferred Execution System setting of a VI allows for more explicit developer control of a VI's thread allocation. Currently there is no way to quickly view which VIs have been configured for which execution system. Furthermore it's not easy to see what execution system a VI configured with 'same as caller' will run under.

 

 

This idea is to add an optional color coded representation of each execution system to the VI Hierarchy window. When enabled, each of the execution systems is highlighted with a certain color around VIs, and applied to the lines between VIs.

 

vi_hierarchy_idea.gif

 

For VIs with an explicitly configured execution system, the color around the VI would be solid. For VIs set to 'same as caller', the color around the VI would match that of parent in the call chain, but have a different appearance (shaded diagonal colored lines in this example). For VIs which are 'same as caller', but called from multiple different execution systems, the color around the VI would be shaded black.

 

Full resolution example:

Spoiler
vi_hierarchy_idea.png

Adding this option would allow the developer to quickly view what execution systems have been configured, which ones are not is use, and potential call chains of each execution system.

Something that bugs me is when I right click on a terminal to create a Indicator, for instance, and the frames around it expands to fit the new Indicator and it's label default. This is much worse in complex diagrams with many nested frames.

I propose that the frame expansion should be done only after the text validation in order to increase the minimum necessary, as shown below:

 

If you attempt to write an Enum to a TDMS Property the function will return error -68007.  "This channel or property value contains a data type that is not recognized by this version of LabVIEW."  Reading and writing Enums as Channel Data however works just fine.

 

There are a few work arounds for writing and reading TDMS properties as Enums, attached is one such example where we write the value as a string, then have to convert that back later.  There is extra work involved because we need to generate an error if the string value doesn't exist in the enumeration provided.

 

Example_VI_BD.png

 

This idea is to ad native Enum Reading/Writing to TDMS properties.

 

                                              With only 2 subdiagram, the Disable structure should behave in all cases like a flip-flop.

 

                                                                                        it's not currently the case and it's annoying

 

 

SR1.png

Did you know you can make property nodes and invoke nodes smaller by not showing the names?

 

18885i5C350C6F75475F32

 

Well, forget you know, it's a terrible idea to hide that information! You lose the self-documentating nature of LabVIEW. I use this as a comparison for Call Library Function Nodes (CLFN) - by default, these are dropped on the block diagram without showing names. I propose that the default is to show names for CLFNs for the sake of documentation, and so you don't have to hover over each terminal to find the one you're looking for. The biggest perk is simply the name of the function on the banner of the node. YES, there is a tradeoff between BD real estate and documentation, but I think "Names" trumps space virtually all the time.

 

18887iBEE93A577FAAFAA3

taking ideas like that seen here  , I got this idea: 

 

 

When working with "Path Constant", which works with a path too long, we observe look like this:

path2editado.PNG

Would be much nicer if we could double-click the “Path Constant” for us to see something like this:

path3 editado.PNG

The idea is this.

path idea labview editado.PNG

 

The title says it!

 

It is often confusing "Which is the opposite end in a queue?/What does opposite end mean?", esp for new user of LabVIEW. Smiley Frustrated

 

Seems here, even the author of the LV Queue primitives was not able to recollect its name correctly. Smiley Wink

 

Also, please see below from the LV Help. Smiley Happy

 

 

Enqueue Element At Opposite End.jpg

I wonder whether it has been posted before.

 

When creating an Indicator out of Index array, Replace Array subset and Insert into array the indicator are not inline with the output terminal. We cannot call that as a bug, I propose it here so that it may be corrected in future.

 

ArrayFunction-Proper-Indicator-Position.png

 

Hi

I don't know if this idea posted before.

When I want to customize a Boolean button by adding picture to it I have only three options which are import picture to True, False and decal. My suggestion is to add more options from which the user can add true and false picture on the Boolean button without changing its original shape. Here an example:

 

Let us say that I want to customize the Start Test/Stop Test button by adding a picture on the button that represents the start state and another picture to represents the stop state. In order to do this I have to import the true picture as decal then take a print screen for the control, also I have to import the false picture as decal then take a print screen, then I have to import the two print screens for true and false state

 

It will be nice if it is possible to have an option to add multiple picture same as the multiple test option

 

Untitled.png   Untitled1.png

I like that there is a zoom feature in the latest release, however, I don’t like how it was done.  Zooming in causes fonts to get really funky. I’m sure there are major reasons for this since LabVIEW IDE is not based on vector graphics.  I would just like to see better font handling for fonts.  

Many of us at some point have wondered "Why the heck is the default number of elements for Array To Cluster equal to nine?"  No good explanation is forthcoming.  My new question is "Why should there be a default setting?".  I suggest that instead of defaulting to nine elements leading to some hidden bugs (I have at least 3 solutions involving this function), that the Array to Cluster function simply breaks the VI until a value is chosen.  Some possibilities for discussion.

 

1) Pop up the dialog upon dropping the node?  A bit Express-y

2) Double clicking the node should pop up the dialog?  I'd like that.

3)  A visual indication that the value has not been set? A few possibilities:

 

ArrayToCluster.png

4) Make the value an editable text field along the lines of the comments here:

http://forums.ni.com/t5/ideas/v2/ideapage/blog-id/labviewideas/article-id/2430/page/1#comments

 

If it is easy to do I say yes.  Don't even start down the dynamic adaptation road, that is not going to happen any time soon.

 

My main point is that this function is not used very often by most of us which means that it is not worth a major overhaul, and it is all the more unlikely that we remember all of the hidden behavior.  Therefore a simple tweak, breaking the code until a value is set makes sense.  Making it easier to set the value is a nice bonus, but secondary.

 

Someday a better method will come along (cluster support for Coerce To Type?) and this function can be put out to pasture, until then I would suggest just a little tweak.

I have a Red-Green colorblind coworker.  When he looks at the Silver Error Cluster, he actually cannot tell if there is an error.  Why?  Because NI decided to make green the false state and red the true state of the boolean.  So he updates his error clusters to use black for the false state.

 

Simply put, that boolean display needs either icons (like in the Modern Error Cluster) or different colors to help these people.

 

There have been numerous ideas on how to improve the for loop. Some people want more information. Some people want the option to have less. Some people want to be able to move the terminals or hide them altogether.

 

This suggestion should take care of some of these issues, and open the for loop for future expansion: Let the for loop data be exposed through a terminal block, similar to what event structures have:

 

FL Node.png

 

 

This would be resizable in the same way that the event structure node is and would allow you to change the order of terminals. This would also allow NI to add additional loop data without worrying about cluttering the loop for those who don't want it.

 

Additionally, if NI implemented this idea, then we would also be able to hide this node entirely, which is useful in some cases.

 

 

Here are some relevant ideas which would be helped by this idea:

 

  1. http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Option-to-Show-Hide-the-Iteration-and-Count-Terminals-on-For/idi-p/1057793
  2. http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Option-to-quot-Dock-quot-the-Iteration-Terminal/idi-p/1087200
  3. http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Sliding-N-Terminal-on-FOR-Loop-and-or-Progress-Terminal/idi-p/1238178
  4. http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Reverse-Iteration-Terminal-in-For-Loop/idi-p/1174449
  5. http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Progress-Terminal-for-FOR-Loop/idi-p/1236224
  6. http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Diagram-Cleanup-should-not-move-loop-terminals-option/idi-p/974415

Interfaces are a great improvement in LabVIEW OOP. For me steepest learning curve was in figuring out how to implement default behavior when interface class doesn't have a private data control.
For example I have created Collectable interface (inspired by iterable interface found in other languages). It has default implementation for methods like Next and Add. It has accessors methods like Read and Write Items, which descendants must override.
When I create a new class which inherits from my Collectable interface, I need to override those accessors, and manually add required controls to new class private data control, and unbundle/bundle elements, and wire the controls and indicators.

data accessorsdata accessors

My idea is that there should be a tool to do automate this code generation.

 

I think the straight forward way would be to use scripting and project providers to create something similar to Actor Framework Create message etc. tools. 
But a more fundamental change would be to implement this as part of property definition folders and property nodes. Which I think in this case should be in protected scope by default.

property nodesproperty nodes

The Collectable interface can be found from lavag.org 

I like to have my project window open, nice and skinny, on the left of my screen.  I have some extra stuff installed into my environment, which means more buttons, and that means that I can't see all the buttons unless I expand it out a lot:

 

Good.jpg

 

I'd prefer to be able to have more than just one row of buttons:

 

Better.jpg

When a complex application uses deeply nested clusters to organize their application data, it can be difficult for others trying to extend/maintain that code if they are not intimitely familiar with the names and the datatypes of the elements within the data structure.  Is that element a integer, enum, string, path, array, cluster, object?

 

The context help provided when hovering over wires and the color and texture of the wire on the diagram is very useful, but neither of these are available when you are attempting to select the correct element from the bundle/unbundle nodes.

 

I propose that the same datatype glyphs shown in the context help when hovering over wires should also be visible when attempting to select the correct element in the bundle/unbundle nodes.

 

Enhanced Bundle Element Selector, no context help.JPG