LabVIEW Idea Exchange

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

Unless the programmers is pretty familiar with LabVIEW, debugging can be confusing, for example if uninitialized shift registers and feedback nodes retain data. Suddenly the results are different between different runs with the same setting.

 

One might innocently expect that if I do "menu...edit...reinitialize values to defaults", I start again with a clean slate, which is of course not true if there are USRs. There is hidden extra data lurking beneath the surface.

 

I remember that this confused me when I first started with LabVIEW 4.0 many years ago. There is currently no direct way to "reset" a VI to the way it was right after loading (all controls at the defauls, all USRs cleared, etc). The only way to clear USRs is with a "file...revert", which has the unwelcome side effect that we lose all edits, meaning we need to constantly save versions to keep up.

 

I would prefer if there was a menu to clear all internal data structures from a VI without having to save the VI first. Alternatively, maybe this action should be included automatically if we reinitialize a Vi to defaults.

Message Edited by altenbach on 06-11-2009 01:23 PM

Looking at code of others, it is sometimes difficult to tell what kind of control or indicator we have, especially since some can be made to look quite similar, even though their function is quite different.

 

Example: If there is a graph and the label has been changed, it is not easy to find out if it is a waveform chart, a waveform graph, or an xy graph.

 

To figure it out, we have a couple of options, and none are very intuitive:

  • Look at the datatype (not reliable, because there is overlap) 
  • Look in the right-click menu for specific items (e.g. if there is a chart history entry, it's probably a chart). 😉
  • Show the terminal as icon and look at the icon, then try to remember how each looks like by comparing with the palette.
  • ...

 

Suggestion:

 

Maybe always, but at least whenever there is no custom description (i.e. cases where the context help shows "no description available"), it should also give the generic name of the object, the way it was called in the palette.

 

For example if I drop a string from the system palette, the label is simply "string" but the context help should show "system string" in the second line: the tag it had in the palette.

 

Of course customized controls should indicate that fact too somehow.

Similar labeling should also apply to cluster elements.

Comments for code explanation of the block diagram can be added using the text labeling tool but they can occupy too much space.  Many LabVIEW examples use an alternative of placing a marker label such as "1", "2", etc at desired locations which refer the viewer to another comment location on the block diagram where expanded corresponding text is displayed.  This means though that diagram scrolling must be done to see the explanation for the comment.  How about a Help Hint type of "hot" label that when hovered over pops up a short comment and when clicked on shows a more detailed comment.  Similar to the front panel's Description and Tip but available at edit time and maybe not requiring a right click to see the full comment description - just a left click.

 

I use the conditional disable structure in my projects to turn debug options on and off.

At the moment before every build I have to go into the project properties and make sure that DEBUG variable is set to FALSE and after the build I have to change it back.

You can get around this by automating you build but an option in the build specifications would simplify this.

 

It would make life much more convenient if there were a list of the available (non-system) conditional disable symbols in the application builder dialog where the appropriate variables for the build could be set. This would also allow for a simple duplication of a build spec to have one with DEBUG=TRUE, and one with DEBUG=FALSE.

I have run into the problem from time to time that I create a new build specification in my project, hit the Build button in the setup dialog just to have the build hang or crash LabVIEW. To add insult to injury when I opened the project file again (sometimes even after recovery) that new build specification was not there since the project was not saved before building.

I have now trained myself to resist the temptation of hitting that Build button. Instead I will exit the dialog, save the project and then start the build via a right click.

 

I would really like to see the project file being saved before the build is executed. 

With small front panels (in X dimension), Align Objects, Distribute Objects and Resize Objects (in the toolbar) are outside the visible part of the front panel.

 

This makes the alignement/distribution/resizing a little bit longer :

  1. Resize the front panel to make the tools visible
  2. Make the alignement/distribution/resizing
  3. Restore the size of the front panel
Keyboard shortcuts or even better a specific palette (like Controls or Tools palette) would avoid these additional steps.

Subject says it all.

 

Antialias.png  AntialiasProperties.png

 

 

We can specify custom markers for axes, but even if we do so, there will be two additional markers that cannot be hidden: the Min and Max!

 

 

 

I would prefer an option to get rid of these two extra markers. Often they are distracting and not desirable for a clean look. For example we might want the x-axis to start at zero, but we want some padding to the left so data points (e.g. small circles) are not cut off by the other axis. Here we might want the x-axis min to be e.g. -0.02, but we still want the first maker to be at zero with no markers to the left of it.

 

If I specify custom markers, these are the ones I want, nothing else. 😉

Message Edited by altenbach on 06-10-2009 04:22 PM

This is something that would be a great addition for those of us working on different platforms (i.e. Windows and RT).

 

When a VI is compiled for a particular platform, add a seperate area to the actual VI file to keep the platform dependent compiled code. This way a vi that has been compiled for use on windows and for RT would have two sectons that keep a seperate copy of the actual machine code for each OS.

 

Where this issue becomes a problem is when you have common code called from a project that has both Windows and RT components. This creates an endless recompile operation as code is built

 

As an example:

 

Code is compiled for Windows.....windows machine code is generated and saved in the vi

Code is opened under RT.....changes pending because the compiled code does not match the platform

Recompile vi for RT....RT machine code is generated and saved in the vi.

 

When the code is reopened under Windows, it requires another recompile due to the existing RT machine code.

 

Obviously any changes to the FP or BD would cause all of the machine code areas to require a recompile. 

 

This would add more size to each individual VI, however disk space is relatively cheap with respect to LabVIEW development systems.

If you have multiple projects open, they are comingled with all of the other open LV windows under both the Window drop down menu and the All Windows dialog.

 

There should be a new section added to the Window menu (right above the open VI windows) that would be reserved only for open lvproj files.

 

Window menu.png

In the spirit of using as little memory as possible I think the default representation for Enums should be U8. Currently when you create a new Enum its representation is set to U16. Since I assume most people rarely have Enums with more than 256 items I would really appreciate it if the default representation were U8 so I don't have to always change it from U16 to U8.

In the option dialog it could be nice to be able to define the default connector pane. In our company we use 5x3x3x5 from the first day and I imagine other company as there own standard. It's realy annoing to have to change the connector pane all the time on new VI's and on the Class VI Template from 4x2x2x4 to 5x3x3x5.

 

DefaultConnectorPane.png

On my large monitor, the window size for the front panel and block diagram of a new, blank VI is much larger than those for most VIs that I would ever create.  So the first thing I do after creating a new VI is shrink down the FP and BD to something more manegeable.  Could we have an option for specifying the size of new VIs?

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 think that the "Maximum Undo Step by VI" default value (Tools>Options>Environment) should be changed form 8 to the maximum of 99. For every new LabVIEW version I install, I end up changing this (from 8 to 99).

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