LabVIEW Idea Exchange

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

My apologies if this has already been suggested ...  I've written many VIs with a While loop that has True wired to the Stop terminal, making it a "Do Once" loop.  This is such a common construct (i.e. a VIG) that it might merit its own "structure", something that "looks like" a While loop but has no Stop terminal, no "i" indicator, and is guaranteed to "Run Once".  I think having a unique "look" for this common special use of the While loop would be a useful addition.  Among other things, it would clearly distinguish "purpose" as different than a While construct.

 

Bob Schor

Ok, here's my suggestion: 

 

One minor annoyance with building pop-up subVIs is gracefully terminating the UI execution loop if the user closes the panel using the standard MS Windows "X" close button (upper right-hand corner of all standard Windows panels.)

 

Of course there are at least a couple of work-arounds -- disabling the Windows functionality completely, or polling to see if the panel is still open using a property node (and programmatically exiting the loop if it isn't). But I was thinking it would be nice if there was an option in the pop-up menu that forces a loop to terminate if the front panel window changes state from 'open' to 'closed'.

 

Alternatively, there could be a check-box option in the "Window Appearance" catagory of the "VI Properties" dialog that is something like this: "Auto-terminate loops when front panel closes". 

 

It's nice to offer users the familar functionality of the standard OS close buttons, but it would also be nice if there was a simple way to do this, without the programming overhead. (I've enclosed this functionality inside a subVI and it's relatively easy to drop this in and wire it up. Presumably, it wouldn't be too much work to add this capability right into the loop structure itself.)

 

I realize that this leads to questions about what to do with parameters that are usually passed when the loop is terminated in the 'correct' way -- the whole question of "OK" versus "Cancel". Perhaps Windows itself has a an answer to this question, and that could be adapted into the LabVIEW environment.

 

Anyway, it would sure be nice if there was a way to enable the standard OS close boxes without incurring the minor annoyance of programmatically terminating an active (while) loop or UI state machine after-the-fact.

 

Anyone agree?

 

 

 

I use a number of file and libraries common to all my applications.
To lighten the display would be nice to exclude certain folder from VI Hierarchy

It should be nice to add new VIs in the error handling palette.

 

These VIs could give, without having to analyse the satus or the error code, if there is no error, an error, a warning ....

 

So instead of testing the Status it could be ...

 

ErrorClusterOk.PNG

 

 

I know that the error cluster can be directly wired to a conditional terminal ...

but everytime you are in front of such a  diagram, you have to think of what will happen ? If i get an error the loop will stop or not ???

But using a kind of VI i describe previously ... there is no ambiguity ... it's clear !

 

 

 

 

Currently when you open a Front Panel or Block Diagram it will open on whichever monitor you previously were working with it.    I suggest that when you move a VIs front panel to a specific monitor and then open the block diagram, it should open the BD on whichever monitor the FP is on.  This will help save user from having to continuously move many different windows from monitor to monitor.  This can also be extended to opening subVIs.  The subVIs front panel should open on the same monitor that the caller's block diagram is opened on.

When working on a queued statemachine today, I realized its difficult to keep the wires straight. Usually you want one error wire going through your queue functions and into your subVIs but lining them up to keep the error wire straight often causes wires connected to the top connection terminal to get in each others way. If the queue functions icons were taller, this problem would be eliminated. See attached pictures

 

 

Message Edited by for(imstuck) on 02-05-2010 02:37 PM

In addition to vision assistant script files (.scr) directly opening in vision assistant as suggested here, The icon can also be changed from this

 

 

script.JPG

to

 

 

niscript.JPG

 

Not neccasarily with the extention .scr as it will clash with windows screen saver. It can be .nscr or .niscr

I want to swap sides for the scale on my Front Panel Tanks and DSC vessels like Pressurized Tank. 

 

This is very easy to do with a Waveform Chart or Graph but impossible with Tanks and Vessels unless you wire up some property node scheme to change the position of the scale, but then the indicator numbers are now between the vessel and the tick markers, making it a look a bit unnatural.

 

This would be very handy, especially for DSC processes where I'm trying to mimic process flow on the Front Panel and pipes could enter tanks from different sides.

Search waveform  in LV2009

If one zero-cross point of waveform is to be searched, the search waveform.vi has a bug here. Some waveform from acquisition data may has no value=0 piont. Sometimes, one float data, e.g. 0.001 can be regarded as zero in engineering field, but this point (data) can not be gotten by using such search waveform.

Hopefully , the arithmetic can be improved or give a notice in its help in next version.

 

 2010-1-16 17-54-25.png

 

帖子被Mechtest在 01-16-2010 04:35 AM
时编辑过了
How about creating a palette called "Legacy" or "Old Fashioned" to put controls that we should avoid using and should kept for cases of extreme necessity or compatibility with old code. Examples are the "Stacked Sequence Structure", the whole "DataSocket" palette, etc.

An option to kill a "model" vi which causes the the main applicaton to hang (?)if this model vi is linked to the main application statically (by subvi call).

 

In such a scenario the only option is to kill LabVIEW (by end task). Any way to solve this?

 

 

 

Populating values to the "enum" control is not possible by using the "strings" property node and hence to populate a large data to a "enum" one has to create a "Ring" control use the "strings" property and replace that "ring" with the enum (or if you have enough time enter them manually) .

 

So why not use the "Strings" property of "Enum" to write values to it directly..See the image attached

 

 

I am not sure whether this is a repeated post or not.

 

However i would like to see the 'Tunnel wiring wizard" as a part of the upcoming LV version so that i can wire mutiple cases of my state machine in a single go instaed of wiring in each frame.

 

 

Here is the Tunnel wiring wizard attached

To make your code reusable as subvi's and have less connector space used the cluster is a way to go, but you need to define the types inside your cluster upfront.

If you want to add an other item inside this cluster you have to rewrite all the subvi's this cluster is wired to...... This is at least annoying. (or dull, boring, dreadful, tedious, dreary, tiresome, aggravating, exasperating, irritating)

 

If you could add new types of variables inside this "Dynamic Cluster Array" on the fly, you can expand the clusters on the fly when needed !

 

Example of a "Dynamic Cluster Array":

 

Dynamic_Cluster_Array_example.png

 Look also to the Search 1D node, to see how you can select an array cluster item.

 

You can read and write the cluster as normal clusters but if you want to read or write a variable that does not exist this variable is added.

Reading and writing this variable will add this variable in all clusters in the array, these variables will get the default value until your software changes this value.

 

This behavior is the same as structures in Matlab

 

John

The only method available to assign all the data from one chart to another is to use the History Data property node.  

 

chart property.png 

 

Without using the property node, all you get is the last value of the chart.   

 

Take for example this use case:

   I have several functional globals holding unique chart data.  Using one Front Panel chart on the main VI, i swap whichever operations data i'd like to see in and out of that chart.  Currently, i have to fumble around with searching for the correct reference number of the Func Global chart and use a property node to do my data assignment.  Totally inefficient! 

 

Adding the ability to select assignment of the entire history to the "Data Operations" context menu, and making the chart polymorphic to recognize the input difference would be incredibly helpful. 

I would like to use data probes and custom probes on front panel controls and indicators. I would especially like to pop-up on an indicator of a running VI and bring up a floating chart or graph.

I miss the possibility to 

 

- add COM compatibility to .NET Interop Assembly builds

- add COM  compatibility to Shared DLL builds

 

 

I missed LV help information about the need to add a key file (*.snk) to the project first, before you can select it for signing the assembly. Unless you do that the file filter (*.snk) seems to fail when browsing.

I would love to have an option to remove scrollbars from block diagram.  I have been using LabVIEW since 2001 and I am constantly having to modify code from engineers who are using LabVIEW for the first time.  If there was a way to enforce the good practice of making the block diagram the size of a single screen, this would help me a ton.  I realize that developers use computers with different screen resolutions so the option to display scrollbars still needs to be there but it would be great if it could be disabled.

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.

For controls and indicators created through Block Diagram, the display of the Label in the BD can be made invisible by right clicking on it and select Visible items. I used to do this often when my diagram gets bigger and bigger.

 

Oops lot of mouse strokes.... Instead if by simply pressing delete key, if the label gets invisible, then it will be very good and easy..... Just a thought. Please comment on this.