LabVIEW Idea Exchange

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

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

There are some times I'd like to implement changes in a LVOOP hierarchy which requires making many repetitious changes in sibling classes.  Since the sibling classes are similar but not identical, the ability to create ONE sibling class with the new changes and then calculate (and store) the Difference, these Differences could then be applied to ALL siblings essentially batch-editing a whole group of similar VIs.

 

I know scripting can help here but I'm thinking about operations on sometimes quite a lot of VIs and it's simply a question of the return on investment.  Writing a scripting VI to do the changes takes a while......

 

Shane.

I don't like and don't use the Auto Grow option of structures. Therefore, I always uncheck Place structures with Auto Grow enabled in the LabVIEW options. A visual mark on the structures or a specific entry in the Find and Replace dialog box would help me to locate these structures on inherited VIs.

 

Auto Grow structure.jpg

Auto Grow.jpg

Have you ever noticed that the size of source is not the same in the error in/out clusters ?

 

Error in error out.jpg

 

It should not take more than 30 seconds to correct this for the next release of LabVIEW !

Right click a property node to set defer panel updates (with automatic un-setting at completion), so this does not have to be done explicitly with another ref to the owning VI. A glyph indicating this has been set could appear to indicate the option is invoked, similar to 'ignore errors inside node'.

I know that I am fresh on these forums, and have only used LabView professionally the last half year, but nothing like this came up when searching, so perhaps it is is an idea worth mentioning:  

 

Currently in labview: If we want to create a control from the terminal of a subvi or function we now have to left click -> create -> control. This action in itself require several seconds and very often a misclick produces an indicator or constant instead.  (move mouse, select it, delete it, back to the terminal, left click, create, control)

 

My idea: Double clicking a terminal has today no useful action linked to it - so my idea is that when double clicking an input terminal a linked control will be created, and when double clicking an output terminal a linked indicator will be created. 

 

Crtl + double click could create a constant: linked when clicking on a input, floating when clicking an output

 

Ctrl+double click could also create a floating constant when used on wires ๐Ÿ˜‰ 

 

 

It would be useful to be able to change the Annotation Font Size and Style

 

With the introduction of quick drop it has become extremely efficent to type the funciton you want and have it dropped....quickly....on the block diagram. It would be a nice addition to have this same functionality added to not only the VIs and controls that are in the palettes, but also for the VIs and controls that are in the dependency list for the project. This functionality would allow me to essentially quick drop any of the custom, applicaiton specific VIs that are developed.

 

I realize that this could require quite a bit of refreshing of the quick drop master VI list so as an alternative how about allowing quick drop to scan a particuar project and it's dependencies and add them to the list the first time quick drop is called from a particular project.

 

I could also see the need for a "Force Update" button to force the list to be refreshed after large changes to the dependency list have occured.

The function Index & Bundle Cluster Array can be quite useful and mimics a bundle in a for loop.

 

The reverse operation (= unbundle in a for loop!) would be equally useful.

 I wonder why it is not part of LabVIEW. Seems like an omission. ๐Ÿ˜‰

 

I suggest to add it with the same icon graphics, but with left and right halves swapped.

 

(See also this example)

Message Edited by altenbach on 06-17-2009 01:21 PM

Both the diagram disable structure and the conditional disable structure are intended to allow easy enabling or disabling of blocks of code. These nodes ought to have no effect on a diagram except to remove or add sections of diagram. But they currently have the side effect of formalizing the blocks of code they surround, as if they were a sequence structure. There are two cases where this is undesirable.

 

1. Without the disable structure, these two loops would run in parallel. 

 conddis_unwantedsync.png

2. This VI arguably ought to terminate because that wire dependency from the loop to the Stop primitive is only created because whatever is in the disabled frame needs the result of the loop, but the code in the enabled frame does not. But because the disable structure acts as part of the code, this loop runs forever.

 conddis_shouldterminate.png