LabVIEW Idea Exchange

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

Using the LabVIEW 2009 Build Spec (as an example) allows you to add a Destination to a Library which is very handy, as it means you can namespace VIs at build-time.

 

I would like to take this a step forward and then be able to set that new Library as a Sub-Library of another Library that already exists in the Project.

I would then want to be able to set the scope of this Sub-Library as well (relative to its now, Parent).

 

This combined with my Locking State Idea would allow be create a Distribution that would hide and protect a Support VI Library

As the Sub-Library would be Private Scoped (from above) and the Parent Library would be set Locked (does not show Private Members).

 

I currently can implement this using Scripting but it would be nice to have it native.

 

Cheers

-JG

 

 

17619iFB1C3A1375DBE39317621i6935DFDFCA489040

I would like the option to edit the "Lock State" Properties of Project Items in the Build Spec of a Source Distribution. 

I would like this feature to work on a Virtual Folder and Library and be inherited by all children.

I am chasing the exact same functionality as the Password Protection option.

I currently have to implement this as a post-build process.

 

Cheers

-JG

 

Originally I thought this is what Daklu posted put that post got closed.

When I have large projects with lots of classes, Labview's edit time environment slows down to a painful crawl.  Almost every meaningful action triggers a recompile that gives me a busy cursor for 3-10 seconds.  My productivity falls off a cliff and I avoid making important changes in favor of the cheap hack.  (The dev environment has high viscosity.)

 

I often wish there were a way to turn off the compiler while I make a set of changes.  I'm not interested in the errors at every single intermediate state of the code while I'm making the changes.  I *know* the code will be broken after I delete some nodes or wires.  Let me turn the compiler off, make my changes, and then turn it back on for error checking.

 

I'm sure there are lots of different solutions to address this problem.  My preference would be to make compiling faster so it is unnoticable.  I doubt NI will ship me a new computer with the next release.  My second choice would be to stop loading all of the class' member vis when any single vi is loaded.  I vaguely remember a discussion about that some time ago and it wasn't practical to do that.  That leaves me my third choice--more control over what automatically compiles when I make edits.

 

It could be something as simple as Ctrl-Shift clicking the run arrow to toggle auto-compiling at the vi level.  Or it could be a right click option in the project window that controls auto-compiling for an entire library or virtual folder.  Either would be okay; both would be nice.  

 

(For that matter, it would probably be a lot cheaper if NI just shipped me a new computer...)

Make it to where you can make the user enter a activation code or serial number

A common need that comes up is the ability to randomize an array, yet there is no primitive that handles this. There are of course a few homebrew solutions, but it's tough to beat a primitive that accepts any dimension or datatype in terms of syntax and execution speed!

 

17359iAF869714800E9778

 

Note: This is not an Idea to create an array of random numbers, it only deals with taking an already initialized array and scrambling the locations of the elements.

I'd like a new property for an Indicator, which enables me to reduce its display-update rate to something less than the source-data update rate.

 

Reasoning:  When working with robotic systems, I often find myself adding large indicators to the Front Panel so I can get an easy to see indication of some new sensor's value (from across the room). 

This indicator is not necesarily needed on the final system so I don't want to spend a lot of time incorporating it into the BD.

 

The problem is that if a sensor is updating at 100Hz (like the ultrasonic sensor on the Robotic Starter Kit) you can burn a lot of CPU cycles trying to update a large bar graph with every data update.  In fact, on my system I just get a big flashing blob.  I invariably end up implementing some strategy to only display 1 in every 25 updates.  And in the process, I end up messing ip my neat BD layout.

 

It would be great if there was a built-in display property to take care of this for me.  See suggestion below:

 

The throttling property could be the minimum update interval, or the maximum update frequency, but the assumption would be that the GUI would just throw away any data updates that occured faster than the required display update rate.  In the example below I indicate that I only need 4 updates per second (ignoring the bulk of the 100Hz range updates)

 

 

17141i01E7176DA5FDA1D4

 

I was considering submitting this in the Real-Time ideas forum, but it seemed applicable to any "fast" data acquisition system.

 

 

The LabVIEW compiler currently appears to use one core of a multi-core processor.  It would be nice if it fully utilized multiple cores to speed building of large projects.

Currently if you try deleting a registry key with sub-keys, LabVIEW will throw error -604 until all the sub-keys are deleted first.  There should be an option on this VI to automatically delete the sub-keys first.  

 

16959i407E2D47EAB68970

Hi,

 

I need a vi which will convert PNG file to GIF file. i could find a vi which is not in palette, do this. But the output GIF file is in uncompressed format. So the size of the file is very large. And also it is not working when i build the application as EXE.

 

It will be really helpful for me if this feature is included in the next release of LV.

 

Thanks,

Vairamuthu.

-----------------------------------------------------------------------------------------------

It would be beneficial if nodes had the ability to retain data from their previous execution. Along with "Use Default If Unwired" it would save memory allocation and coding time if there was a "Use Current Value If Unwired" selection which would retain the node's value and pass the last executed value. 

 

 Use Current Value If Unwired.PNG

This figure illustrates one application where "Use Current Value If Unwired" would save memory and increase performance instead of using multiple property nodes or local variables for retaining the output data. It would also eliminate extra wiring in every case this node is not used.

Hi,

 

in LV2009 a new set of VIs have been published for working with configuration VIs. They are now part of config.lvlib. But some VIs of config.lvlib are marked private, therefore I cannot use these VIs as Sub-VIs, if the calling VI is not part of config.lvlib. This is bad (at least for me), since I have written some tools to load a configuration directly from a string and not from a file. To do this in LV2009, I need these private VIs, which I cannot use without changing config.lvlib.

 

Therefore I suggest to make all VIs of config.lvlib public. In fact, is there a good reason, why these are private in the first place?

 

Regards,

Marc

I'd like to see VI Analyzer give me actual values of passing tests. When you pass the Modularity Index test, for example, and you pick that test as in the image attached, it doesn't tell you by how much you passed. So you have to go and dial down the limit and rerun the test to find out the value. It would help me improve my code to know if I'm just barely passing.

I've searched the Idea Exchange and found a couple of suggestions that are similar, but not exactly what I propose.

 

Specifically, I've spent considerable time tracking down what I would call a devlopement  environment bug.  The behavior of the 'bug' was addressed by the developer of the Search and Replace function in this post from the spring of 2007, describing how the algorithm works, and why it's not technically a bug.

 

He indicated that one 'solution' would be to add a flag to ignore arrays. I suggest that this be added.

 

My problem: The Search function will traverse into an image data cluster and then proceed to repeatedly search the image and mask arrays for a string that would not exist. The development performance hit was is significant and searching of a numeric array representing an image for 'words' in the context of find and replace is inconsistent.

 

U8 Search Option.png

 

When searching for a single pattern we define the pattern as *.vi (for example). If we want to filter out say three patterns like (*.c, .h,*.txt). It doesnt work that way. In file dialog if we define these patterns seperated by semicolon it returns the desired result but in list folder we have to use a for loop for multiple pattern searches. Will it not be useful if we define (*c;*.h;*.txt) in the pattern and get only these files?

Over the years I have run into situations where I have to monitor files accessed by another application from within my LabVIEW application (Example: monitoring the standard_out/standard_error files from an app launched with the system exec).

Currently the only way to do that is to use polling. 

 

I would love for LabVIEW to have built in events for file monitoring so polling would no longer be required.

 

For instance, the following events would be very useful:

  1. File Opened
  2. File Closed
  3. File Change  (I really want this one if nothing else)
  4. File Created
  5. File Deleted 
  6. more...

 

Below is an example as to how it might look like.

5-20-2010 9-20-09 AM.png

 

One of the biggest problems I have with annotations is that they are always placed with a yellow color. This is fine on black backgrounds, but on white / light colours the annotations are almost invisible. The only way around this right now is to continually poll the Annotation List propertyand try to determine if a new annotation has been added and then set its color accordingly.

 

A *WAY* better solution would be to either be able to set the defaults ahead of time, or, as the title of this idea suggests, add an event called Annotation Change or something that could allow us to determine if somebody had added an annotation / changed an existing annotation, etc. This way we could catch the newly created, practically invisible, annotation creation and set it to a more reasonable colour, etc.

In the VI Properties the VI Editing/Development Time can be displayed similar to the Microsoft Word and it should be accessed programatically, so that the effective developement time can be measured .

 

 

image.JPG

 

 

In ini (configuration) files it is desirable to commentout keys as well as add comments to Sections or Keys, thsi can be done with

;this is a comment

 

Why is there not functions for adding comments to an ini file

 

The functions I would like is

- Add comment to section/Key (if key is blank, the comments are added below the [section] tag)

 

I want this so that I can keep track of what the sections and keys are used for in a complex application or for putting notes into an ini (ie ;do not change this filed or ;valid values are 0-100)

 

The only method I see for this is to parse and write the comments manually of using a text file section. 

When I looked into the low level format of the ini files it is just a queue of clusters which keeps track of sections and key-value pairs, there is a comment filed but I dont see it ever used, was this a planned option that was never implemented.  I do not want to write my own since this now requires access to provate functions of the config libraray and I have been burned by this already (NI decides to make a function private and future code is broken).

I think there should be a way to reinitialize a stacked shift register to the originally initialized value so you can clear out the contents of every iteration all at once.  For example, the code below, implemented with 4 individual shift registers:

 

 multiple shift registers.PNG

 

Could be implemented with 1 stacked shift register with a reinitialize terminal:

 

stacked shift register with reinitialize.PNG 

I have previously asked tor ALL events in LabVIEW to be changed in functionality to be the same as User Events, but this has little support at the moment.  This would allow me to register and unregister (and cross-register) for any standard UI events at run-time.

 

One problem I have with event handlers at the moment is that they are ALWAYS registered for standard UI events, even if they have finished executing and have no chance of being re-called.  I would like to be able to tell the event handler that it should now UNREGISTER all standard UI events (until it is called again).

 

The following code (attached but without the Event terminator) will crash your PC if you let it run because the event structure accumulates data in the event queue, but can never read the data out.  This is not good.  I would like to be able to tell my Event structures to NOT do this.

 

Event deregister.PNG

 

Shane

Message Edited by Intaris on 04-21-2010 02:57 AM