LabVIEW Idea Exchange

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

I think this is about time that we can have more than 256 colors in our VI icons.

 

I would really like to have support for 24 bit images so this nice icon 24 bit icon example.png does no longer become this:

 256 color icon limitation.png

 

PJM

Sometimes we have a big application that uses "MyTweakSubVI_A.vi" in many places. One morning we wake up and discover that this subVI could be made much better, so we wire up "MyTweakSubVI_B.vi" and do a few sandbox tests to verify that it operates correctly. After we are satisfied, comes the time where we need to replace every instance of  "...SubVI_A..." with "...SubVI_B...".

 

The typical way would be to go to the VI hierarchy and "right-click...find all instances...select all...pick the replacement...replace all selected". Tedious!

 

Wouldn't it be easier if we could just right-click...replace (in the VI Hierarchy!)...pick the new VI and it would globally replace the old VI with the new VI.

 

IDEA: The VI hierarchy should have a "right-click..replace" menu entry that would directly do a global replacement of all instances of the selected VI.

 

(Of course there should be some protection in place so that anything in VI lib is not modified)

This is one of those existing "features" that I cannot understand, no matter how long I ponder why it is implemented this way. (WHY!!!?????). Somebody must have consciously programmed this behavior in the early days of LabVIEW, but I simply don't get it. 😉

 

Try the following yourself and you'll see what I mean: 😄

  1. Create a structure (For loop, while loop, case, event, etc) with a few tunnels.
  2. Select one of the tunnels, and, using the arrow keys move it towards one of the structure corners.
  3. Observe: As soon as we move within a few pixels of the corner, the tunnel jumps to the corner and can no longer be moved with the arrow keys alone.
  4. To move it away again, we need to grab it with the cursor using the mouse and move it at least a few pixels away from the corner or use "shift-arrow" to move it by a bigger step. THis should not be necessary.

Idea: There should be no such stickyness!

 

IF a tunnel is moved towards a structure corner with the arrow keys, it should simply stop moving at the corner and we should be able to move it away again by pressing the opposite arrow key (or the arrow key following around the corner by 90 degrees)

Hello all,

 

Being accustomed to using the right-click copy and paste text function in most of my other Windows applications (this is a standard feature), I'd much appreciate being able to do this within LabVIEW text fields as well.  Among several places in LabVIEW that would benefit from this, this feature would be an especially useful timesaver while editing the Documentation field (for VI / control / indicator properties etc).

 

Best regards,

Oliver Barrett

www.linkedin.com/in/orbarrett

A typedef control has no block diagram.  When you modify an existing typedef, block diagram instances of that typedef are updated; but any block diagram display customization is lost. This can seriously affect the appearance of a block diagram when the typedef is inside a state machine.

 

I suggest that a typedef control should have the ability to define the block diagram appearance, and that it should have it's own flag for regular or strict.  A typedef could be defined as regular for the front panel while the block diagram could be set as 'strict'.

 

The typedef editor could display the front panel and block diagram appearance in adjacent panes (see image below).

 

 

bd-typdef.png

 

 

Hello,

 

I work as a LabVIEW integrator and for one of my customer I develop application, with maintenance goal for their installation all over the world with RS232 or Bluetooth communication for example, deployed on targets as PDA (PocketPC 2003 & Windows Mobile 6) or Touch Panel (Windows CE 4.2 to 5.0) using LabVIEW 8.6 Mobile Module.

This LabVIEW additonal module works quite well to deploy the same application in this differant targets, but I encountered some problems and I have some suggestions for Mobile Module :

 

1/ MMI (Man Machine Interface)

      -  for graphics indicators (as Gauge or Slide) graphical object ramp or multi Slider is deleted by LabVIEW when you build an EXE => I think that a graphical objets with all its graphical property could be added in Mobile Module (and works on these all targets). See examples in GraphicalObjects.PNG

      - as I say in my introduction my application is deployed all over the world and usually I used "Caption" dynamic modification for multilingual management for all my controls & indicators. But in mobile module we can't do this (but we can modify dynamically boolean text), so I think that it could be possible.

 

2/ VISA (& Bluetooth) Management

      -  I think there is a bug with VISA installation. Indeed with the installer you can choose the installation directory (default directory or specific directory : in non volatil memory) but if you don't install VISA support in default directory it doesn't work (with PocketPC 2003 for example) I think that could be resolved

-  As I said in introduction my application could communicate throught different protocols (RS232, Bluetooth) and with LV 8.6 Mobile Module we can now use VISA : great !!!. But in Windows Mobile 6, VISA does not support bluetooth (it seems to have an incompatibility with virtual aliases in the registry) ; and in PocketPC2003 it works very well. I think that could be resolved

When loading a VI where some or many of the VI's are missing (like a forum post where the person used 3rd party driver subVI's you don't have or used numerous subVI's and typedef's that they did not bundle into their attachments) you have to click ignore on each subVI as it comes up with the dialog box as it searches for it on your system.  If there are only a few such subVI's, it is no big deal.  But some people will be missing dozens of VI's, and you have to continually click ignore over and over again until the main VI loads broken.

 

It would be good if that dialog box had an Ignore All button, so that once you come across the first subVI it can't find, it will ignore it and all other subVI's it can't find.  Then the main VI can load in it broken state in just one or two clicks.

Hi everyone, it's Mike out in West LA Sales.  This one came from one of our customers that we'd like to see added:

 

E-mail from customer:

On input limits for controls, you have the option to “ignore” or “coerce” if you go over/under a limit.  Right now, “ignore” will ignore the limits you enter, not ignore the command that someone types into a control.  It would be nice to have an “ignore” that, if I type a value of 2000, and the upper limit is 200, then it completely ignores what I have typed in.

 

Example:

 

Someone goes to set a pressure setpoint to 70 psi.  The limit is 130 psi.  The way the limits work now, if a [customer's vulgar language removed by Berto :] walks by and I mistype and entered 700 psi, then it would coerce my entry to 130 psi!  It would be nice to have it completely ignore what I have entered if my entry is over the limit.

 

 

Thanks team!  We love the Idea Exchange!

The "right-click...replace" option has few choices, typically the home palette of the current selection if available and "All Palettes".

 

Quite often, I need the entry "Select a VI...", all down at the bottom after selecting "All Palettes".

 

Suggestion 1: Add "Select a VI..." to the first menu, see image.

 

Especially when benchmarking or trying different algoritms, I often like to replace the current VI with another VI that is already in memory. 

 

Suggestion 2: Also add a "VIs in memory", which would allow picking from list of all VIs in memory (except things located in VI.lib or in the standard palettes).

 

Here's an image how it could look like:

 

 

 

Message Edited by altenbach on 07-05-2009 09:35 PM

It has been mentioned before (here, and here, and here) that there are some problems with the connector pane. Let me add my suggestions. Does the image below ring a bell? WHAT GOOD ARE ALL THOSE CONNECTOR PANES FOR?

 

WhatPaneAreYou.png

 

I suggest the following view:

 

ProposedConnectorPane.png

 

The "Define New Connector Pane" will allow you to contrive custom panes to suit your fancy. It could have templates of the current connector pane collection. Below is a pane you could create with the new editor (I would suggest combining the Icon Editor with the Connector Pane Editor!!!!). The only constraints that need to be imposed on a connector is that it is rectangular and touches the edge of the icon. Otherwise, you can make it however big you want it (for all the myopics out there like me!), and wherever you want it.

 

DefineNewConnectorPane.png

 

Two new concepts are introduced above: empty space, and the ability to land a wire NOT directly in the center of the connector. Placing the landing as close to the center as possible would alleviate the current problem of the "gapped wire" that does not touch slim icons (look at gap on top input and the output).

ConnectorPaneProblem.png

Inspired by Altenbach's Boolean constant design, I thought of the following....

 

When we have a SGL or a DBL constant on the block diagram, we have to right click, selece "representation" to find out exactly what type it is.  Why not have some indication as to the actual data type which could conveniently act as a menu for changing the data type.

 

BD Constant Data Type.PNG

 

The same thing goes for U8, I8, U16, I16 and so on.

 

Shane.

The current boolean diagram constant is potentially confusing and too elaborate.

 

Confusing, because it almost looks like a toggle switch, so the new user might click on the right half, expecing an unconditional FALSE. However, there are no active areas, and an inversion of the current value occurs no matter where we click.

 

Too elaborate. All we need to see is the current value! Why do we need to see the "other" value greyed out??? We can guess that by simple elimination. 😉 There is too much redundant information, wasting twice as much diagram space than actually needed to display relevant information. The current design also makes e.g. 2D boolean diagram constant very confusing. Have a look at the image. Can you immediately tell that the 2D array on the left is only true on the diagonal? (I did not think so!). Now look at the suggestion on the right. Ahh... much better! 😄

 

 Suggestion:

The boolean diagram constant should be smaller, simpler, and cleaner.

The image shows the current design on the left and the suggested design on the right.

 

 

What a difference in clarity and economy!!

 

Message Edited by altenbach on 07-03-2009 02:39 PM

I've formally made this product suggestion a couple of times, but maybe with community support it will be addressed...

 

As an integrator, we work at customer sites where they only have the LabVIEW Run-Time Engine.  So, remote debugging is a great tool, except that is has a major bug:  Value Signalling does not work properly.  It generates 3 events instead of 1 (in remote debugging mode).

 

Check out the attached project with EXE to demonstrate the behavior.

 

 Value Signalling with Remote Debug

Following on from a suggestion made HERE, I'd like to suggest allowing us to give Breakpoints descriptive labels.  Especially when using the breakpoint manager, it would sometimes be very helpful to see at a glance which breakpoint is which based on their label.

 

 Breakpoint labels.PNG

 

Shane.

There are occasions to interrupt a user generated Windows Shutdown, discard the event, and generate a Windows Shutdown event at a later point (e.g. to allow an acquisition to finish).  This is not always possible within the Event case for Application Instance Close? (e.g. an acquisition is non-deterministic).

Why not add a Windows Shutdown event to the event structure and allow me to discard it?  Can you also write a VI to generate a Windows Shutdown?

According to an NI applications engineer:

"The Application Instance Close? event triggers when LabVIEW application is closing. It does not tell you if Windows is shuting down. The only way to know when Windows is shuting down is to trap the WM_QUERYENDSESSION message that you were talking about yesteray. I have consulted with a R&D engineer to see if there's any way to do this in LabVIEW. The only possible solution we can think of is to write an .NET program that can trap the WM_QUERYENDSESSION message and trigger a event callback that you can register in LabVIEW using "Register Event Callback" VI . None of the engineers I've talked to have done this yet, so I cannot garantee if this will work."

Wouldn't it be more elegant to do this in LabVIEW?
We can drag and drop VIs onto the diagram from the Project Items tab and even from Windows Explorer but not from the Project Files tab.  Seems like an oversight...

Edit >> Create SubVI:  I almost never use this function... but it could be so nice!

Imagine being able to develop code on some diagram, check functionality in line, and quickly generate a subVI.  We're so close with "Create SubVI", but in 7+ years, I've never really used it.

 

Suggested Tweaks:


1) Use default connector pane (12 terminals)
2) If there are error clusters, wire them to the bottom terminals.
3) If there are error clusters, auto create a case structure and put the code in the No Error case.  Wire the error cluster through the Error case.
4) If there are in and out references (e.g. File In, File Out), wire these to the top terminals.
5) Run Clean Up Diagram.

Check out the below image.

 

Step 1: Two BD objects were created with labels shown at 120px wide, then the label was dragged to the center of the object.

Step 2: The object was resized from 120px down to 60px

Step 3: The object was resized back to 120px.

 

Notice, the labels do not stay in the center (they need to). Also, notice the snapping behavior of these two objects differs as object is resized. Similar scenario occurs on FP objects.

 

MessedUpLabels.png

 

This post is partially a bugfix/partially related to my own experimentation of this post.

Have you ever had a cluster or control where you needed a user-friendly appearance on your main VI or dialog VIs but desired a more functional appearance on your subVIs?  Traditionally, you might create a Type Definition and customize each instance.  However, if you make a cosmetic change, you have to do it to all instances individually.  Or, worse, if you make a data type change (e.g. add a new Boolean to your cluster), then all instances reset to match the new CTL file appearance *Ouch*.  Or, to avoid this, maybe you created a Strict Type Definition, and lived with dysfunction on your subVI panels.

This idea would allow you to:

- Give a Windows dialog look to strict type def instances on UI panels while providing a more functional look (e.g. showing all controls organized logically) for subVIs
- Show / hide certain controls for certain use-cases
- Appease those end users (who usually also want everything simultaneously visible on the panel) that demand a certain SIZE for controls and indicators that is not useful for subVI I/O.

Why not store multiple representations in your Strict Type Definition CTL file?  Then, open any parent VI panel, right click the border of the strictly type defined cluster, and select from the named representations you've previously created!

See below:  Imagine taking your laptop to the customer site and not having to scroll around looking for your error clusters!


UI Representation

UI Representation


VI with Functional Representation

 

VI with Functinal Representation

Message Edited by LabBEAN on 07-03-2009 11:36 AM
Message Edited by Support on 07-09-2009 10:26 AM

It is currently possible to add space to the block diagram by drawing an area or line with the cursor while holding down Ctrl+Shift.

 

I often wish there was an equivalent opposite shortcut;  where you could draw how much you want the diagram to contract instead...

Message Edited by Mads on 07-03-2009 08:31 AM