LabVIEW Idea Exchange

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

The LabVIEW Project Explore has Standard Toolbar and it’s been greatly appreciated.

Why not Standard Toolbar for VI? Most programmers are used to Ctrl+S for saving the change (one hand use), but there aren’t many to use or use to Ctrl+N and Ctrl+O.

 

t2.png

 

I think Standard Toolbar for VI would be very useful option!

Given a multiframe flat sequence, there is sometimes the need to remove one of the frames because it is not needed. This is currently hard.

 

We can add frames, merge frames, insert frames, and remove the entire frame structure, but if we try to remove a single frame, it drags it's entire contents with it to neverland.

 

IDEA: When removing a frame of a flat sequence, the code should stay, just the frame should disappear.

 

This is a more natural operation. Deleting the code first or later if desired is trivial.

 

(Originally I was only thinking of edge frames (Inner frames can already simply be merged). Another option would be to split the existing sequence into two sequences if an inner frame is removed. Would that be useful too? Maybe!)

I was inspired by the idea 'Color properties should default to colorbox data' to post this one.

 

You can drop the listbox symbol constant from the pallet onto the block diagram.  But, if you create a control or convert it to a control, you end up with a numeric control, not a pict ring of the symbols.

It would be nice, when including the listbox symbol in a data structure to allow for it's graphical representation.  That way you would not have to lookup the index number with the constant to figure out what symbol had been set in the data structure when you are debugging.

 

If there is a work around for this, please let me know! 

If you do a dynamic call from a built application and it fails because the VI in question depends on a VI that it is unable to locate when called in a built application environment - the only way to figure out what went wrong is to rewrite your app so that it opens the front panel of the VI, and then click on its broken run-button...There should be a way to get that error description without having to do anything with the application.

 

The real challegne however comes when you run into the same problem on a real-time target. There you can not open the front panel...and basically have to search in the dark to find a solution.

 

Feedback to the programmer's machine would be nice, but it should not only work when you have LabVIEW running. It should be possible to e.g. put a switch in an INI file...and then get a text log that describes, in full detail, what goes wrong with the dynamic calls.

I think there needs to be an option for a dockable context help it will be in the options menu and you will check it for yes you want the context help to be docked and than you will be able to click where you want the context help to be docked (top, bottom, left right) and than you will have the option of stretching it on the bottom (like in the first picture) or leaving it in the right or left hand corner of the bottom.  also if you want it to be stretched the items within the context help will modify to a easier way to read it (like in the second picture of course the font will ned to be made easier to see as I edited this in paint:)) this will also be true if you choose to have it docked on the top, left, or right.

 

it would also fit to whatever size panel you have open so it wouldn't go across your screen if you make your panel smaller (also if your front panel and block diagram are different sizes it would change sizes as it needs, and if you use the tile left right or tile top bottom it would show on the bottom or top, left or right in full stretch and the same for bottom and top).

 

this would also not abstruct you from your code it would be attached to the window and have its own scroll (if needed).

Can somebody explain to me why the Colour box control is on the Numeric Palette as a control but as a constant it's on the Dialog & User Interface Palette???

 

 

CB Control.PNG CB Constant.PNG

 

It doesn't matter HOW many times I look for the Colour box constant on the Numeric palette and then move to the Dialog & User Interface palette, I NEVER learn.

 

Please please move the constant to the Numeric palette where it belongs.

 

Shane.

 

 

This one of my very old ideas and goes all the way back to InfoLabVIEW. I recently got reminded in this thread to write it up as an idea. You might have heard it before. If not, read it :D)

 

Currently, an output tunnel gets the default value for the given datatype if "use default if unwired" is enabled and a case executes where it is not wired. Recently, we also got the "linked tunnels" feature, which is more like an editing assistant.

 

Many times we have a big stack of cases but the computation of many outputs is shared by many cases, maybe with one or two notable exceptions. 😉 It would be cool to be able to define this shared "default" code only once so it is executed unless we create an exception case.

 

My suggestion is to have a new, special case that allows us to define the output of each tunnel for cases where it does not receive an overwriting input.

 

The image shows a few possibilities for an event structure (same applies for all other relevant structures).

 

A: A reference is wired across by default. We don't need to wire across any other case.

B: Nothing is defined, so it acts like today. This is the default, so everything is automatically backwards compatible with existing code.

C: A number is incremented with each iteration unless we overwrite in a specific case

D: The default output is based on the operations of several inputs.

E: If a tunnels is unwired, we get NaN (or whatever we need) instead of zero. For I32 me might want -1, for example.

F: Same as A. This is similar (but not exactly the same) as linked tunnels. (I.e. It also applies to existing unwired cases)

G: This tunnel is defined in all cases. If we add an unwired case later it would act like B.

H: (not shown): certain global event terminals (e.g. time) should also be available in the "default definition case", because we might want to utilize it for a default output.

 

 

 Downconversion would be somewhat messy. It would probably need to wire the relevant default operations into all cases where an output is not wired, keeping the functionalty the same.

Message Edited by altenbach on 07-11-2009 10:45 AM

If you want to distribute your application to several countries, you must find a way to localize the UI.

There are a lot of threads in the forum, documents in the NI Developer Zone, etc... but all of them are based on the Export Strings/Import Strings functions.

 

I think that this approach has some problems:

  • difficulties in changing languages on the fly (during EXE execution)
  • how can you switch between English and Chinese (or Chinese and Russian), for example?


I had this kind of problems in the past also with CVI, but with the new CVI 9.0, a very interesting, powerful and easy solution has been implemented.

Basically it uses a new property called "charset" that you can set for all your panel, but also for every control of your UI.

Playing with this property you can also have several different languages (mixed single-byte and multi-byte too) on the same window: and it doesn't matter how the language settings of your OS are!!!

 

Don't you think a localization approach like the CVI one would be nice?

And an Integrated Localization Utility (like CVI) should be appreciated too...

 

vix

 

 

In my project, I wanted to set the cell color in excel as red during a failure condition. But to my surprise I found that the color was set to blue and NOT red.It took me a long time to understand that the hexadecimal values for the color constants are different in Labview and MS Excel.

I wonder why the color constants are not standardised, when Labview supports features like ActiveX controls. 

While creating a labVIEW vi directly from vision assistant, the buffer needs to be manually allocated.optim.PNG

 

 

 I have faced this minor hitch of changing the palette to actually view the image when i am starting with a color image and ending with a binary image. Automatically allocating optimized buffer for image destination will save some time as well as avoid "Incompatible image type error". The problem will get multiplied when you have created a subvi and have used a "imaq extract function" before this. The buffer will automatically get overwritten. Hmmm I know this is a luxury but still.......................

Hough Transform will be a great add for vision projects. This will be helpful in a complex project like lane detection. A readily available hough transform with tweakable parameters will be of great help in the machine vision field.

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

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

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.

i have faced this problem many a times. Suppose I have a main VI opened and if I have a subVI (say sample.vi) in the main VI and I try to open another VI of the same name as subVI , then the subVI in main VI will get replaced with the second subVI. Labview should take care that any VI should be referenced with the complete path and just not the VI name. 

 

It would be useful fo have a built-in mechanism for protecting executable code.  Essentially something similar to what labview uses to protect its own code.  When an executable is run (if this option is selected in the build) the registry is checked for a licence key, the key will compare the hardware id (could even look at max for serial numbers) and key and see if it decodes to the selected seed specified durring the build process.  If the key is not a match the user can not use the program.  Although this is not all that difficult to add, implemented it into the build only would keep for extra code in the source and spending time to protect your IP.  I have been asked many times for this by my clients and hate to have to spend extra time building this feature into my applications.

 

Summary:

Builds have Licence tab.  Includes a private key, enable liscence on exe, liscence expiration (optional), Custom Licence  message(optional ie: "please contact xyz123.com for a liscence number HardwareID=111112345")

If enabled, the licence key (stored in registry or appdata file) is checked.

If key is valid continue loading exe, else prompt for licence key to be entered with custom message.

 

If LabView is to be used as an endproduct with 1000's of distributed copies of your application, the IP Protection is a must.

 

I know there are many 3rd party products but one specifically integrated into the LV runtime environment would be very cool.

 

\

 

 

CVI has Notify an option in Range Checking; I’d like to see LabVIEW to offer such option in Response to value outside limits.

-Coerce

-Ignore

-Notify

 

 

 Often I find that i need to create a empty copy of an existing type, this is essentially done by indexing the array and then creating an empty array of the indexed type.  Essientally many array manipulation is done this way.  It would be nice if there was a single function that does this.

 

 

 

This code:

 Create New array by type.JPG

 

Is replaced by this code:

Create New array by type new.jpg

I would love to be able to show a ruler on the front panel....when turned on it should float above the objects on the panel...not unlike a cursor with lines in both planes if the panel was a graph. Unlike the grid this would make it simple to align e.g. columns when you have multiple tables underneath eachother. You could of course have this on the diagram as well, but the main use for such accuracy is on the front panel.

 

There are thirds party tools that do this, but it seems more natural to have it available in LV when we already have a grid that only solves a part of the alignment challenge.

Being able to edit the label of newly created VI when called on another VI on the Block Diagram, similar to what is possible with standard VIs (below image).

 

editable label.PNG