LabVIEW Idea Exchange

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

It would be nice if there was some consistency in the definition of regions in the vision development kit.  For example, the extract takes a 4 point array as a rectange.  BUT the ROI to rectangle tool outputs a cluster with the rotation:

cluster to array.PNG

It would be nice if there was a generic IMAQ extract ROI and if there was one "rectangle" definition not two.

 

 

Find items with no callers contextual menu on class and library root nodes like available in a projects.

A common use case we have is that we have a functional view component (that has behavior) that we want to reuse on a another view.  (For instance, we often want to show behavior from a subsystem view also on a higher-level view.)  It should be the case that we can just insert the functioning, encapsulated view component on any other view and it should work (provided, of course, it will function correctly in the new context, but in the cases I am discussing it will).  In other words, the larger view will be a composite of smaller elements.  (See the Composite design pattern for a related discussion.)

 

Subpanels offer a means to do this, but I suggest they can be simpler to use for this purpose.

 

Currently, using a subpanel this way requires several steps, most notably sizing the subpanel to match the size of the VI we want to insert in it (which is not straightforward).  (Yes, I know we can size the contents of the subpanel to match the size of the subpanel, but we have yet to have a use case for this.)  We also typically write code in the main view VI to insert a VI into the subpanel, run the subpanel VI, and abort the subpanel VI when closing the main view VI.

 

Since this is what we want to do with a subpanel 99% of the time, I am recommending that LabVIEW include a "smart subpanel" that handles this use case in a straightforward fashion.  (All we want to do is select the VI I want to put in the subpanel, and LabVIEW can handle the rest.)  Why should the particular application deal with these (repeatable) details?

 

Notes:
1) There are other ways to use subpanels (although I don't use those ways), I realize, so I am in favor of keeping the current version of the subpanel as well.

2) I know we can write an XControl to do this, but that is a more complicated solution to implement, not a simpler one, and I think the smart subpanel behavior we are seeking should be part of native LabVIEW.

3) I think the smart version of the subpanel should include a property to change the visibility of the subpanel.

When searching for functions in the functions pallet (or the controls pallet), I instinctively begin typing my search terms immediately after I click on on the search button, thus leaving my mouse in the location it was when I clicked on "search". The sequence is shown below:


image_for_submission.png

 

The problem here is that if I use the search function naturally, I can't see my search text as I'm typing (or after I've typed it). Obviously I can avoid this problem by moving my mouse after clicking "search", but that's a less intuitive way to use the search feature. The LabVIEW overall experience could be improved if this mouse-over context help popped up somewhere other than on top of the search text (or not at all).

The 'Prompt User for Input' express VI (LabVIEW 2010) conveniently sets up the return and escape keys as shortcut keys for  the OK and Cancel buttons if you want a 2-button dialog, but if you only want one button (OK), it doesn't get assigned a shortcut key, so you end up having to customize every such express VI . Surely it makes sense to retain the use of the return key to complete data entry in a 1 button dialog?

Although it might be tricky to implement I would like to suggest the option to add comments to a block diagram while the code is running.

 

This way you can make notes to the block diagram for debugging and/or "reverse engineering" (examining LabVIEW spaghetti for example).

Add a quick way to start a new LV project in the folder where you want to save it.

 

 

window new menu

Right now, we can only edit a few select build specification properties, such as Icon, Name, and DisplayName. I think it would be very useful to be able to edit more of these properties programmatically.

 

Things I would like to be able to set/read via property nodes:

Build specification name

Target filename

Destination directory

Build specification description

everything under "Version Information"

 

Other items would be useful as well, but those are the ones I care about the most.

 

This isn't a major issue, but it hurts my LabVIEW OCD. Global variables are one pixel too tall and it gets annoying when unbundling a cluster of values into globals.

 

Globoal Vars.png

 

Typically, when working with classes, one tend to work on one class at a time. Consequently, opening a specific dynamically dispatched VI (from another VI) should result by having the class implementation opened (like if it was opened from the lvclass). The Choose Implementation dialog should not be shown (in most cases).

 

10-16-2010 1-47-24 PM.png

 

I did some quick statistic, and in most situation, I care about the class implementation (about 80% of the time). In some instance I care about parent or children implementation (about 10-15% of the time). Finally, in some rare instance (<5% of the time) I care about the sibling implementation. Note: I confirm this with a few of my colleagues as well.

 

So what I am proposing is that by default we should not see the Choose Implementation dialog. When we specifically want to see this dialog we could use either of these methods:

 

  • Access it through a menu option (Ex: View>>VI Implementation).
  • Access it through a right click menu (Ex: Open Implementation).
  • Use a key modifier such as adding SHIFT (so SHIFT + Double Click or SHIFT + CTRL + Double Click will open the Choose Implementation dialog).

Comment and improvements welcome.

 

 

We have a software product where we have started working with branches and sometimes have a few different versions of the repository checked out for code implementation / testing / exploration.

 

It happens that I have two (or even more) versions of projects with the same name open at a time from different paths.  Currently I switch to files view and back to check which version I am currently looking at and I just thought it would nbe nice to see the path of the project file int he title bar of the project window.

 

I know I can right.click the project, I know there are other ways to get this information but can't we have a simple indication as to the path at least SOMEWHERE in the project window?

Right-clicking a subVI and selecting "Find all instances" is extremely useful. However there is currently no way to filter the results by a particular input or output being wired in the caller VI.

 

My proposal is: It would be great to be able to filter by a particular input or output, or a particular combination of inputs and outputs, being wired in the caller (i.e. being used by the caller) when using "Find all instances". There are multiple ways of exposing such a filter to the user, so I won't attempt to mock up a design here.

 

Background

Recently I refactored parts of a medium-size LabVIEW project that I was working with for the first time. As part of the refactoring I wanted to remove an output of an FGV-type subVI with multiple inputs and outputs, because I suspected that that output was unused by any of the callers. Using "Find all instances" I found around 60 instances where this subVI was called. I had to Ctrl + G through the results list and check that the output I wanted to remove was not used in any of the callers. This would have been simpler if I could have set a filter condition to this effect, as the search would have returned only those callers that were using that output. In this case, the search would have returned 0 results, thus confirming that the output was unused.

 

Side-note: You are probably thinking "You could have disconnected the output terminal from the connector pane, and used the Error List (broken run arrows) to find the broken callers." That's what I intended to do before I realised that virtually all of the caller VIs were dynamically called VIs. Therefore those VIs being broken wouldn't have broken the main VI of the app. I put those dynamically called VIs into the disabled case of a Diagram Disable Structure such that they were loaded in memory and "Find all instances" would search inside them.

Thanks

Background

This idea is derived from the following idea: Front panel controls and indicators should be genuine after being replaced with control or indicator of different style . Please read that thread for background.


Problem

There are three ways to replace front panel controls and indicators:
1. Right-click the control or indicator, select Replace, then select the select the object to replace with.

2. Select the control or indicator, press Ctrl + Space to bring up QuickDrop, search for the object to replace with, then press Ctrl + P.

3. Select a control or indicator and press Ctrl + X. The control will disappear from the front panel. Select another control or indicator. Press Ctrl + V. The second control is replaced by the first control.

 

The first two methods preserve some of the look and feel of the original object. For example, when replacing a Modern-style string control with a classic-style string control, the end result is a control that looks like a mixture between the two styles. This may or may not be desired behaviour.


The third method does not preserve any of the attributes of the object that was replaced. The end result is a control that looks exactly like the control that was selected when Ctrl + X was pressed.

 

Both behaviours can be desireable in different situations, and it's good that there are ways to achieve both. However, the third method is not easily discoverable.

Proposed solution

A more intuitive and discoverable solution could be: After right clicking an object, selecting Replace, and selecting the object to replace with, a two button dialogue message could popup. The message could ask something like "Preserve attributes?" The buttons' Boolean text could be "Yes" and "No".

 

Ideally the same popup would appear when using the QuickDrop Ctrl + Space, Ctrl + P method.

 

This would:

1. Enable the user to select either to preserve attributes or not, depending on their intention at that particular moment. (the same user may prefer either behaviour at different times)

2. Increase awareness that two behaviours are available

Thanks

When we try to replace a small function in the function palette its easy... But while trying to replace a VI which is inside some sub palettes and sub palettes its really time taking..

 

So while replacing a VI its good to pin the function palette and select the item for replacing.

 

I hope this has not been posted earlier.

 

 24538iC5BC357EF8C806A8         

 

                  Existing    

       24540iB2819A79BDB1AC92

 

                              Suggested

 

Smiley Wink

Download All

It would be great if Labview had saveable views. I sometimes find myself looking at one part of a block diagram, and then switching back to another part of it to do some work. It would be great if I could just save both views (maybe with shift-F1, shift-F2 etc..) and then recall them (maybe with ctr-F1, ctr-F2 etc..). Sometimes it's annoying to have to keep scrolling through case structures or across my block diagram to get back to the code I want to look at. If I could just find it once, save the view, and then go back to it with a shortcut key combo, it would save me a lot of time.

 

I got this idea from RTS games (specifically Startcraft 2). In that they let you quickly jump to different places of the map with shortcut keys. I find myself wishing Labview had the same functionality. (for an example: http://www.youtube.com/watch?v=SKuqC1FpGuU Watch from 1:00 to 1:36 or so.)

 

Thanks!

When I start LabIVEW, it will eventually ask me to log into my SCC (I use Perforce) as part of the startup process.  Unfortunatly, LabVIEW requires that I type my password into the Perforce login dialog and then Perforce responds within 60 seconds or this will fail and I will get the following dialog:

 

scc error.jpg 

 

So, if I start LabVIEW and then go off to do some other task and miss the window, I get this error.  If I then open a project, it is not linked to my SCC system and none of the SCC status indicators show up on the project items.  The only way to fix this is to close LabVIEW and reopen it.

 

All I am asking for here is a 'RETRY' button next to the 'OK' button so I can get a second chance at this.  It is a small thing, but it would make my life much happier...  So, please vote for this idea, even if you don't have the same problem. 

Message Edited by Support on 08-10-2009 08:40 AM

If you try to build an executable of a VI that only uses a static VI reference to call a subVI - you must either select

 

1. "show FP on call" in the referenced subVI

 

OR

 

2. you must include a property node or reference on the block diagram of the referenced subVI

 

I believe "always including" the subVI in the build spec works as well.

 

Failing to do so apparently results in the builder to NOT include the called vi's front panel with the build, resulting in the subVI failing to function in the executable environment.

 

While that all makes "sense" - it is unintuitive and the workarounds are not ideal.

 

The application builder should look at static VI references when looking at the build and automatically include the referenced VIs in the build.

VI Analyzer has a "Error Cluster Wired" check, that does a great job of helping to find instances where you (accidentally) forgot to wire up the error out of a item on your block diagram.

Unfortunately, it only considers "Nodes" on the block diagram, and ignores tunnels through structures.

 

So you get problems like this:

droppedErrorLine.png

Where it won't notify you about not connecting the error tunnels (any flavor of tunnels, only shift registeres shown).

 

I'd like to see VIanalyzer Error Cluster Wired check to include ability to check for error tunnels (inside or outside terminal) in structures wired:

 

CheckTunnels.png

As discussed initially in this thread, I'd suggest that folders in the Project Explorer do not automatically expand to reveal their content when dropping an object in them. It could be a possible behavior, but not the default one, which is VERY annoying. A possible behavior would be that of the Windows Explorer (PC) or Finder (Mac) folders:

- drag and drop an object: it will disappear in the folder

- drag and hold the object over the folder for 1-2 s and the folder will open up. You may or may not drop the object in it. If you don't and move on to another folder or location, the folder should revert to its initial state (closed in this example).

 

Check the thread I refered to above for graphic details (if I may say).

Thanks.

When working on a large project I sometimes want one of my subVIs from some where else within the same project.

I then have to either find it in the long list of VIs in the Project Explorer window (if I remember the exact name) or navigate through my code to find it and drag it into the location I am currently working.

 

How cool would it be if there were a Current Project subpallet that contained all the VIs being used in the current project (minus the NI VIs).

 

Something like the view in the pallet of the Find window's Select Object:VIs.

 

Find VIs Pallete.png

 

 

I have heard of users getting something like this by putting their project in the user.lib folder.

 

mck