LabVIEW Idea Exchange

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

The graphing and charting types in LabVIEW are VERY old.  We need to have new plotting available for bar charts, area plots, pie charts, scatter plots, slider charts, etc, etc.  There are tons of plots in excel and any plotting tool that LabVIEW jsut cannot do itself natively and its a HUGE limitation.

 

We cannot even put text on an axis of a bar chart in LabVIEW from a data series?  Why not?

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.

 

Perhaps it is just me, but placing the pointer on the outermost pixels of a boolean constant in order to move it can be mildly annoying as instead the "hand" will appear and I end up toggling the boolean rather than moving it.  I now have the habit of "click, drag, encompass" the boolean in order to select it prior to moving it.  Once selected the pointer stays as the pointer no matter where it is on the boolean constant.  Not the best solution but workable.  However, what annoys me even more is that the While Loop Conditional Terminal does not behave the same way when selected!  By that I mean the "hand" tool will appear and allow you to accidentally toggle your "Stop if True" condition to a "Stop if False" even if the Conditional Terminal is selected! 

 

I would like a selected While Loop Conditional Terminal to behave like a selected boolean constant such that the pointer stays the pointer while hovering over it, making it easier to grab and move.  Thanks!

In short:

It should be possible to copy items between targets in the project window. This should be possible with right-click copy option, Ctrl+C/V - AND by Ctrl+Drag&Drop.

 

Background:

If you have multiple targets in the same project and you wish to have some VIs, virtual folders or other resources available under each of these targets (not just to keep things available and tidy, but to avoid recompilation) you cannot just copy them from the reference under a different target. You either have to MOVE them (not what you want to do) or add them again. And and in the case of virtual folders this can be a substantial repetition of work...

 

 

When creating VIs in a class that are meant to be overridden, it would be nice to have a template VI that will be used as the template. The easiest way I though of to accomplish this is to create an Override template that has the same name as the VI but with an extension like .OVIT (Override VI Template). 

 

An new item can be added to the context menu when right-clicking on the class to Create New Template for Override VI, which will give you basically the same format as a new vi from dynamic dispatch template, but will include the call parent VI followed by an error case structure.

 

This will allow an architect to create a template for coders to use and place any useful information on the Front Panel or Block Diagram. When the override vi script runs to create the new override VI from MyOverride.vi, it can search for MyOverride.ovit and if found replace the base class' type with the child class' type. Otherwise you get the default VI which has the call parent method.

 

I know this idea has been pass around before, but I thought I would respire it.

 

My goal is to allow architects to give more meaning full information to other developers and more complete starting points for overridden class VIs.

 

Issues that can arise

What if the VI is renamed? Then the maintainer of the class will need to also rename the template VI, but it would be nice if LabVIEW did this automatically.

What if the VI is removed from the project? The OVIT would also be removed.

What if the OVIT is broken, ie. won't execute? Like all class VIs, it should not be broken, the template should contain working code or disable parts that need to be implemented. It would be nicer if the OVITs were ignored for borken code and not allowed to be place on the block diagram for execution.

 

 

 

 

In the new controls of LV2011 are added the icons, but this icons don't are escalables. the ideal behavior that would be escalables, in the same proportion of the control (ideal selectable).

And to customize this icon, would be ideal to load it, a property directly wiht a selection of a graphic file, not "advanced\customize" and edit the control, and save it wiht a new name.

 

 

now

 

 

 

 

 

When you resize a String at runtime (for instance by resizing a panel and having set the string to scale with the panel), the scrollbar will snap back to the top of the string.

This is NOT the expected behavior.

I'd personally flag this as a bug.

 

Graphical Illustration.

 

Before (notice the position of the scrollbar and the text next to it):

 

Screen Shot 2014-06-11 at 16.56.06.png

 

 

After resizing the Window (objects are set to scale with the Panel):

 

Screen Shot 2014-06-11 at 16.59.13.png

 

Note that I am not saying that the workaround is difficult, but extrapolate to an interface with MANY strings (try an array of strings for kicks) and you start seeing a nasty headache raising its ugly head.

Ok this idea would be trivial for NI to include in 2011.Heck I could do it.

 

The idea is simply to include the JKI state machine in File/New/Design Patterns. It is BSD code and I am sure that JKI wouldn't mind anyway.

 

I must admit that I have an ulterior motive. If this were included in the NI distributed templates then I could use the JKI state machine for my CLD exam. And so could you!

 

Now let the kudos start rolling in so NI will take notice.

It would be nice to have a run button at the project level. Which VI to run could be selected in the project properties. 

 

I find that I often need to go looking for the top VI in projects. This is more true with actor framework based projects, since the launcher / splash screen will be closed after the software is run each time.

 

The icon for the VI in the project tree could be altered to denote top level VI or the VI that will be executed from the project run button.

 

We use the lock/unlock SCC method, and one thing I often forget to do on a new installation of LabVIEW is to set "treat read-only VIs as locked" to true.  I think this option should be set to true by default.

When I build a LabVIEW application, I do not include the runtime engine in the installer.  Instead, I have a separate project that builds an installer for all the runtime components my applications need.  That way, my users can perform the runtime installation once and then update the app separately many times.  This keeps my installer sizes small and easy to distribute.

One issue I run into is when I move to a new version of LabVIEW.  I need to make sure all my users update their systems to the new runtime engine before they try to install and run my latest release.  Unfortunately there is no way to enforce this in the installer.  You can check for an installation of the LabVIEW development environment (see image) but that is not very useful.

So, my idea is to add the option to check for the presence of the runtime engine for the version of LabVIEW you are using to build your installer.

Additionally, it would be nice to have a way to check for other required components, such as .NET versions or other NI runtime components or drivers.  This is similar to an idea I posted a while ago here.

 

 

installer idea.png

We have software which runs on a variety of slightly different hardware and tend to switch back and forth quiet a lot during programming and debugging (including simulation mode for FPGA) and I was in the progress of cleaning up my project for a colleague today and noticed something missing.

 

I can't add any "Documentation" to any of my target folders or targets themselves.  Even certain virtual folders could use some extra information sometimes when it comes around to sharing more complicated changes to the architecture and explaining things to newcomers.  I know these objects will not appear in the context help (probably the source of the "Documentation" entries for controls and VIs) but I can't help thinking this is something which should be available.  Hey, maybe the documentation SHOULD appear in the context help....

 

At very least being able to add some debugging comments to the targets themselves would be a very useful addition.  And yes, of course I can add a text file to the project detailing all of that.

 

Shane.

There is a coercion dot here. Anyone see it?!?! Can the color please be changed to something else if the terminal is pink? Especially if it's wired into a bundle.

 

I know this is another Raspberry Pi idea, but hopefully the answer is simpler than some of the past requests (maybe as simple as "no"). I am wondering if it would be possible to run a simple labVIEW executable on a Raspberry Pi with the sole purpose of viewing network published shared variables. This could provide a low cost UI terminal for distributed hardware. My hope is that the required drivers are minimal in that only a network connection is required and no hardware drivers for the NI products would be required. Basically, it would be similar to the data dash board app but would allow much more customization by the developer for software based analysis and display.

There is no way how to programatically disable the Run-Time Shortcut Menu with a property node.

The only way is to work with event structures what is quite unhandy:

https://forums.ni.com/t5/Example-Program-Drafts/Disable-Right-Click-menu/ta-p/3500824

I recommend the implementation of architectural warnings in the error log for detection of architectural mistakes. It would be nice if this could be toggled from the error log (like warnings) or had a viewer of some sort.

So far, I only have one architectural error that I’d like to catch, but I’m sure there are many others as well. Feel free to add suggestions for more architectural errors you'd like to catch.

Below I’m demonstrating the problems with bi-directional library dependence when using ppls. In this case the warning should state that: “Bi-directional dependence detected between Lib3 and Lib4”.

 

  • Initial state:
    Lib4 initial stateLib4 initial state
    and
    Lib3 initial stateLib3 initial state
    So we have bi-directional dependence which can only be seen through usage of multiple projects.
  • Lib3 built to Packed3 and replaces Lib3:
    Lib 3 replaced with Packed3Lib 3 replaced with Packed3
    Everything seems fine and the replace operation worked.
  • Now look at the project used to build Packed3:
    Lib3 code lockedLib3 code locked
    Lib3 depends on Lib4 but Lib4 has had a replace operation so it depends on Packed3 --> Packed3 will always be in memory --> it is no longer possible to rebuild Packed3.
    Reverse replace not possible, so manual reverse is required to fix the code again.

 

Note:

The VI hierarchy does not help at all 😞

:No help from VI HierarchyNo help from VI Hierarchy

Hi all,

 

wouldn't it be great if LV would be capable of VPN (Virtual Private Network). This would make tunneling connections into internal company networks much easier, without the need of a further software program establishing the IP tunnel.

If you think this is a great idea, please give Kudos.

 

Regards,

Torben

A 3-numeric cluster will be interpreted as "start - step - stop" if connected to a for loop:

main.jpg

 

The feature can be enabled or not, like "indexing" on arrays.

The structure will be changeable to an array by accessing the popup menu:

change to array.jpg

 

The result, of course, will be:

resulting array.jpg

This is more of an object orientation thing rather than actor thing but would have huge implications for actor core VI, or Receive Message VI. Please add pattern matching into OO LV. It could look like a case structure adapting to a class hierarchy on case selector and doing the type casting to the specific class inside the case structure. You could have dynamic, class based behavior without creating dynamic dispatch VIs, and you would still keep everything type safe. https://docs.scala-lang.org/tour/pattern-matching.html

Please include into AF:
Certain templates, standard actors, HALs, MALs should be part of the framework e.g. TDMS Logger Actor, DAQmx Actor. Right now the framework feels naked when you start with it, and substantial effort is required to prepare it for real application development. The fact that standard solutions would not be perfect for everyone should not prevent us from providing them, because still 80% of programmers will benefit.