LabVIEW Idea Exchange

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

The idea is to be able to replace wires running across a case structure with terminals that take the connection on the left side and connect it to the right side.  I would think the left side should allow a through wire for reading variables, but the right side should not, as then the jumping structure wouldn't really be needed.  This is something that would be specific then to that case or entry in the structure, and not the structure itself.

 

JumpAcross.png 

When a string is the input to a case structure's selector tunnel allow selector labels to contain regular expressions.

Currently the native (by which I mean noncustom) numeric data types for shared variables are pure numbers (i.e., without units).  It is simple enough to add units to, say, a DBL numeric control and define this as a custom type, but the DSC module does not support value-based alarming for custom types.

 

Since

1) we would like to support value-based alarming AND units

and

2) I suggest this is (or should be) a very common use case

I propose that LabVIEW have numeric types with units as native shared variable data types.

 

I suggest that using units for engineering applications would be both more convenient and safer

 

I also think this would be quite simple to implementThe only question is on which unit to do the value-based alarming.  (Likely this would be on the SI unit on the wire.)

 

I have attached a very simple example that shows the current state of things.

I have done it again!  Every so often I get a VI running just the way I like it, save it (back it up as well), but when I go to use it the next time, all of my carefully chosen control values are gone.   Having seen similar problems on the forum (in both questions and answers), I am not the only one.  There is by default no keyboard shortcut to 'Make current values default', I have changed Ctrl-D (default) to do it so I usually go Ctrl-D Ctrl-S.  (Ctrl-D is set to do something else, I forget what, but I never used that shortcut anyway).  I suggest a modest change to the save dialog to add a little checkbox option (default unchecked) to 'Make current values default'.  A gentle reminder the first time we save a VI.

 

NewSaveDialog.png

I would like to see a setting on an lvlib or lvclass that would prevent private and/or protected items from showing up in the VI hierarchy.

 

In a .lvlib or .lvclass we can set different scopes on items, but why not add a property to define (on lvlib/lvclass level) which scopes that should be visible in the hierarchy view? The items listed as private in a lvlib (or lvclass), are mostly not necessary to see in the hierarchy window as these are internal anyway (and are not intended to be used or seen by the end user).


This change would mean that large scale projects could look much cleaner in the hierarchy window, and that the relationship between reuse components gets much clearer.

 

To make this work for older projects, I would also like the end user to be able to filter out private/protected items directly from the hierarchy window, as we today can filter out vi.lib, globals or controls. Turning on private view would still not reveal the items set as not-visible in the lvlib/lvclass, as this was defined by the developer.


 

When you have a lot of cases (or events) in your case (or event) structure it can be tedious to go back and forth between them (yes, Ctrl + Mouse wheel works great but can be hit and miss to get to the right one that is many cases away).  Often times I am in one case, I need to grab/do/look at something in another case and then return to the case I am working on.  It would be nice to have a Back and Forward button (similar to a web browser) so after I can quickly jump back to where I was.  The only way to do it now is to click on the case titles, scroll up/down (which can be very tedious if you have enough cases that it goes off-screen) to switch between.

Would like to target Labview embedded on a host of platforms. Specifically x86, lynuxworks, Vxworks and xilinx platforms - boards, SBCs, COMs, stacks, PC/104... Like PXI, the way to get the users onboard is to show that the industry supports this direction and you are not tied to one vendor. It would be expensive if in an iterative learning process (necessary but collaboration is also necessary with well established & matured platforms/standards) the users one chosen platform vanishes (maybe like fieldpoint?). Packaging options is also very important to achieve something like Adlink's MilSystem 800 that the application demands.

 

Pavan Bathla

  Why?

- To implement OO design patterns.

A conditional terminal for each frame of a sequence structure would allow one to exit the sequnce at any frame.  This could be useful in case something occured in one frame that meant the remaining frames should not be executed.  Easier than having to use case statements in the later frames.

 

We are getting into trouble with all these run-time engine updates! Every time a new release or service pack come out we have to create a new installer with the new run-time engine and send it out onto all our customer's machines. It is not convenient to develop in 20 different versions of Labview and we like to keep our executables and updates recent.

 

Our instruments run on XPe with very little extra room for an additional RTE every 6 months. Asking the customer to uninstall old RTEs is painful as they are not supposed to go that deep inot our XPe build. 

 

I would like to see a modularized run-time engine where we don't need to update the whole thing every release. I know  with .NET updates are only necessary in 3-5 year increments. That would be much more acceptable IMHO:smileyhappy:

 

Currently VISA only has a single timeout value and there are use cases where a different read and write timeout is required. Today you need to constantly modify the timeout between each read and write. It would be prefered if these timeouts could be set independently.

On a Mixed Signal Graph with two plot areas, dragging the splitter that is located between the two plot areas changes the absolute height of the top plot area while keeping the height of the bottom plot area constant.   So if the splitter is dragged down to increase the top plot area height, the bottom plot area scrolls down off the graph and a vertical scrollbar appears.  I wish to keep the total sum height of all the plots constant and instead have the relative ratio of the two plot areas change when the splitter is dragged, i.e. the scrollbar would not appear and the bottom of the lower plot area would remain fixed at the bottom of the graph.  This behavior would be general for multiple plots.

Wiring an array (1 D) to a For Loop's Count (N) Terminal would automatically set the number of iterations to the array size.  This would avoid having to insert an Array Size primitive to accomplish that.

I'm finding that often my classes have some sort of dynamic private data that needs to be initialized before the object will work correctly.  (Queues, User Events, etc.)  Currently I have to implement some sort of initialization vi that the class user must call every time an object is created.  If the user forgets to do this Labview raises an invalid refnum error.  There are workarounds such as wrapping the class in a .lvlib, using class factories, or checking the queue refnum with every class sub vi.  However, they are workarounds that require extra coding and add complexity.

 

I'd like to have the ability to define a private class constructor that fires behind the scenes every time an object constant or control returns the default value during execution.  With this ability I can be certain the object's dynamic resources have been allocated correctly and it simplifies the api for class users.

I spent some time the other day troubleshooting a problem and couldn't for the life of me figure out why my program wasn't working. By chance, the guy who'd installed the runtime engine on the computer I was installing to had left the executable on the desktop. He had used the minimum install that's normally for remote front panels. It would be great if there was a warning when you tried to run a program that needs the full run-time install but only the minimum was installed. Most of the program worked (a suprising amount actually), but it was only certain features that didn't. The features that didn't work (like TDMS logging) wouldn't throw an error either, even with debugging enabled. If there had been a pop-up warning that the program wouldn't work completely with the current run-time engine, I would have saved a couple of hours of combined time between me and the other engineers trying to run a test.

When you press 'Build All' in a project, it builds each build spec in the order they appear in the project.  This will cause some build specs, like an installer, to fail or package the wrong version of components if it appears in the list before one of the components it is packaging, like an exe or web service.

The process that performs the 'Build All' needs to inspect each item for dependants and build those first.

If this is too hard, at least add some documentation that warns developers of this issue. 

I'd like to have a user dialog that shows a message to the user but doesn't wait for the OK button being pressed to continue. I want to use it as a simple informative pop-up window that the user can close whenever he or she read it, without my code having to wait for the OK button.

I now use a self made VI that I call using the VI Server method 'Run VI' with 'Wait until done' set to FALSE. Or did I miss something obvious?

 

Manu

The Lego NXT software release (not toolkit) is a wonderful interactive environment, that should be provided as an add-on application

on its own, call it "block application builder".  I see many useful applications in a variety of different industries where businesses wish to extend to their customers interactive and intuitive interface that they can program in their desired configuration of the product's behavior according to their own use cases.

 

That means we need an environment where we can prepackage blocks that is functionally specific to their applications, with ability to sequence them, run them in parallel, add conditional runs, and iterative loops. The blocks themselves could be computational in nature, or additionally provide user interface popups for interrogating the user, and have access to the full range of Labview functionality. Each block properties settings can appear as front panel settings for user to customize the behavior of that block. This is exactly how the

Log mindstorm software was configured, except we ask that you extend the availability of that functionality for the general users to develop their own intuitive applications using the same environment framework design. This application can target building the customer created sequence of operations as a windows .exe or .dll. We also would like to customize the menus in the application. In other words, make the Lego mindstorm application a generic template for us to develop our own applications with similar intuitive framework.

What if I had this:

 

idea1_1.PNG

Then I wanted to insert something with similar terminals:

 

idea1_2.PNG

 

I'd end up with this:

 

idea1_3.PNG

 

But the Error terminals aren't wired! So maybe I should be able to select both wires:

 

idea1_4.png

 

Then Right Click » Insert Write Node:

 

idea1_6.PNG

 

Then I'd have this:

 

idea1_5.PNG

 

How easy would that be!?

 

 

 

 

 

Traditional IVI drivers haven't worked. The industry has been waiting for this for too long.

 

Best regards, Pavan