LabVIEW Idea Exchange

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

It would be really nice is the IDE, and my program were not the same process.

 

Especially when dealing with 3rd party DLL's, it would really be nice if a bad pointer or misallocated buffer in a DLL didn't crash my whole development environment, but instead just took out the running program.

 

for connecting the Controls & Indicator very diffcult for more connector in the pane . 

 

if automatically zooms the pane while placed the wiring tool on the connector pane the programmer can easily wire the pane with the controls and Indicators.

 

Connector Pane Zoom.png

If I have a path control on my front panel for the user to interact with, I will always show the browse button.  This button makes selecting a path easy from a user perspective, and from a developer I know that the path they selected has some level of validity.  So for instance I know that the path they selected must exist and be a valid path otherwise Windows won't let them select it, and the value change won't be triggered for the control.

 

But the user can manually type in text into the path control, and when focus is taken off the value change event will take place.  The problem with this is the path they entered might not be valid, or may contain characters my platform doesn't support.

 

I doubt a user will manually type in text in the control often, they will use it as an indicator showing the path they selected using the browse button, but on the off chance that they type somthing and it isn't valid, my code might crap out throwing errors.

 

I can add code to check for a valid path, and I can add code to check for illegal characters in the path, but I'd have to do this for every path control on every UI the user sees.  I could also write an XControl for this with a decent amount of work and hopefully meet my needs, but it would be nice if this were a native feature.

 

So what I'm suggesting is that the path control have an option, possibly in the browse options dialog, which makes the interaction with the control, only available by using the Browse button.  This would ensure that any value change event will be from the user picking a valid path with the browse button.

My software is used in microscopy, and the screen brightness can be annoying for people looking into the microscope. Nowadays, all microscopy has a range of dark colour schemes, to suit the user, to either work in complete darkness, or just low-light situations.      

 

I want to be able to do the same, i.e. make custom color schemes.   The system color schemes don't quite satisfy, so I really want to do this programmatically.

 

For most controls, i can nicely change all colors using the property nodes.  But strangely enough, some controls simply don't give the option, even though you can do it manually.  The color options seem to be very inconsistent in this respect...

 

For example, the numeric Knob or Dial are perfect.  You can set the color of the knob, as well as the color of the ticks, the text, etc.   Similar for a slider, where every little detail can be set.

 

But strangely enough, the normal numeric (digital) lacks the option to set the color of increment/decrement button.  However, can set those colors manually.   The menu ring however, doesn't seem to have any way to change the color.

 

That doesn't make senso to me....   Why give the option to set all the colors of some controls, and then not have that option available on other controls?  

 

My request is to make sure that ALL controls have the color properties you need to color them programmatically.  The Knob and Slider are nice examples where it is done very well. 

 

 

Problem:

I faced to delete multiple elements form the array which is having 20 steps.

 

solution:

if able to select multiple elements by holding the shift key we can delete selected items 1 time and can insert 1 time.

 

 

Array element.png

 

 

When first launching the Quick Drop tool it can take a while. This isn't a problem in itself, but the fact that you can cancel the loading or continue working in the background is. This is especially annoying if you launch it by mistake.

 

Not a major thing, just something that could be improved.

 

Quick Drop idea.PNG

Say I paste a function down inside some structure, say a case structure. I wire from the input of the function back to the left hand border of the structure, which creates a tunnel with a 'broken' (dashed) wire to the function.

 

I would like to be able to right click on the tunnel and hit 'create control' and have it work. Although the wire is dashed, there's no ambiguity about the correct control type as it needs to be the same as the function input.

Should be able to specify tolerance instead of just upper and lower limits. This de clutters the application block diagram when you are checking for a value within certain limits.

 

 . Upper limit becomes : x+ tolerance, Lower Limite becomes : x - tolerance when using tolerance instance of the polymorphic vi.

 

For even higher level functionality , specify units of tolerance : absolute, percent(1e-2), parts per million (1e-6), parts per billion (1e-9)

If you have made a custom run-time shortcut menu and saved it as part of the control (always necessary for applications due to this issue), it is currently way too easy to lose that menu. If you replace the control, even though it is with the same type of control, the menu is silently lost. So if you have made right-click shortcut functionality, the user will no longer be able to call that funcitonality.

 

lostmenu.JPG

 

Possible solutions:

 

warning.png

 

a. As a minimum you should be warned that the control you are about to replace has an embedded shortcut menu.

b. The warning could give you the option to copy the menu to the new control (OK set as default), or

c. The new control could automatically inherit the original's shortcut menu

d. -Alternatively only if of the exact same type (if you for example replace a modern styled listbox with a system style listbox).

I would prefer alternative b, as it would draw the developer's attention to the possible issue of the embedded menu (perhaps it is *not* wanted anymore, perhaps it is...), but make it quick and easy to choose to keep the menu (most frequent I would guess).


On all LabVIEW version, we can use Formula node to evaluate mathematical formulas.
We can define input and output variable freely and calculate using some variety of formula.
But when we use undefined variable as output, can execute VIs with no errors.
We think it is a problem because when programmer makes a typo, they cannot notice the mistake.

 

When undefined variable is used as output variable, LabVIEW should forbid to run VI.

 

a.PNG

When creating a state machine it's often handy to use an enum that lists all your states.  

You then take that enum and make it a type def so that if/when you update the enum (to add or remove a state) throughout the states, all instances of the enum get updated.  

 

But the thing is, now this potentially simple state machine VI requires this secondary type def file.  No other VIs would need access to this type def so making it a seperate file just shouldn't be necessary.

 

Vi Scoped.jpgVi Scoped_2.jpg

 

Have the quickdrop catch the keyboard shorcut keypresses while it is loading the list.

 

At the moment my VIs keep trying to run becuase I've pressed Ctrl+R quicker that quickdrop has loaded the list in.

Maybe this has been brought up along with all the other ideas/wishes dealing with graphs, but there is a couple of things with the intensity graph – z scale, that could be improved:

 

 1. Fit Z-scale with the top and bottom of the graph when resizing.

zscale fit.png

 

2. Z-scale should be in front of the graph frame

Z-scale in front.png better.png

                                       Now   Smiley Mad                                                                     Better   Smiley Very Happy                                                     

In addition or extention  to this idea

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Graphs-and-Charts-with-semi-transparent-fill-option/idi-p/1530960

 

I would like to have a transparency control/property in the colour selection for plots in graphs and charts.

 

Picture says it all.

 

Concatenate with an option of 'concatenate to new line'

 

 


I am not allergic to Kudos, in fact I love Kudos.

CLA_Short.jpg

 Make your LabVIEW experience more CONVENIENT.


I searched but didn't see this idea anywhere yet.  There is problem with ring and combobox typedef constants.  Since the values are not actually part of the data type (like an enum), when a their typedef values are modified they are not propogated like you'd expect.  Since I've run into this problem I've seen a lot of posts, but not real solution. Search and replace hundreds of constants...I suppose.. Anyway, most assume this is a bug, but it's not.  See link below. 

 

Item Lists of Combo Box/Ring Constants Do Not Update from Type Definitions

 

While not a bug, there is missing functionatlity here, as is evident by the amount of posts, questions, and confusion around the topic. 

 

The idea is simple, make some way to force typedef constants for rings and combo boxes to update, not just "data type", but default values.  Maybe a 4th typedef type that includes data values?

 

Ring values not updated.JPG

 

**Side note (and plug for a related idea):  One motivating factor is the lack of sparse enums.  If you have large spread of name/value pairs, an enum could require hundreds of unused value "placeholders" which makes it too large and cumbersome to use. Either a ring with the appropriate values (that could update) or a sparse enum would probably help many people.**

 

LabVIEW idea exchange: Add sparse enums to LabVIEW

 

Thanks for reading.

I use Splitter extensively to create resizable GUIs. However, if I create my resizable GUI and then my customer asks me to add parameters in a new pane on the left, I can't add to an existing GUI a splitter in the top of the hierarchy, i.e. a new vertical splitter that all the existing splitters will be on the right of the splitter and a new empty pane on the left. Any splitter I add will be added to the bottom of the existing hierarchy, and there is no way to change this. So to do this I basically need to rebuild the GUI again from scratch.

 

Another example, if this is my GUI:

scope.PNG

I can't add a status bar now, as any horizontal splitter I add will be inside an existing pane, and this can't be modified. However, if this idea were implemented, I could View splitter hierarchy and create a new horizontal splitter at the top of the hierarchy so that I would have my status bar without rewriting the whole thing.

 

 

Thanks,

Danielle

 

Include a pallette item under Structure for VI Descrption constant placed on the Block diagram of the code instead of going to VI Properties to read/write the descrption. It's very useful to set and read the VI description on the black diagram for self documenting code, code reviews and distribution of drivers simplifies the help others may need.

Include the name of the class in error messages for common error codes such as:

1400 Attempted to read flattened data of a LabVIEW class. The flat data could not be converted to the requested type because the flat data is not the same as the requested type nor is it the same as any child class of the requested type.
1401 Attempted to read flattened data of a LabVIEW class. The version of the class currently in memory is older than the version of the data. You must find a newer version of the class to load this data.
1402 Attempted to read flattened data of a LabVIEW class. The data was written by an old version of the class and the class in memory no longer supports loading and mutating data from that older version.

 

For those of us that aren't using the AQ Character Lineator and do just simple flatten/unflatten of objects (e.g. when sending over TCP), it's pretty common to run into these errors. It would be nice to see the specific class that is showing disagreement. 

 

---

 

Yes, we could probably match the *.lvclass pattern out of the flattened string, but then we have to do some wire branching just in case there might be an error...and we also can't easily wrap up that logic for generalization for anywhere that we unflatten class data (without fancy xnode polymorphism).

There is an option to add the [VersionNumber] tag to the build path, so the exe gets compiled into a folder which actually shows the version number. Thats great!

 

It would be great though if the [VersionNumber] tag could be used everywhere, because while the folder name has the version information the actual exe filename doesn't so I have to rename the exe file everytime when I compile it to an EXE. (or rename it in the build properties everytime which is the same hassle)

 

I'd like to add the tag to the build name itself displayed in the project explorer, so I would always know what's gonna be the version of the next build without openning the properties window.

 

I have submitted this request earlier HERE and it was closed as already implemented. But it is not, as currently the version number only can be added to the folder name.