LabVIEW Idea Exchange

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

I'm not sure if there is already a way to do this, but it'd be nice to have a "References Manager" at run-time so you can watch all kinds of references be created and (hopefully) destroyed when no longer needed. This can apply to file refnums, TCP connection IDs, queues, etc. It would be helpful for debugging large programs and where multiple developers are working on the same project... as well as for the forgetful likes 🙂

 It would be nice to have a default QSM project.  The attached image could be a good starting point for everyone to provide comments, in regards to what the project should include.

QSM.jpg

The only method available to assign all the data from one chart to another is to use the History Data property node.  

 

chart property.png 

 

Without using the property node, all you get is the last value of the chart.   

 

Take for example this use case:

   I have several functional globals holding unique chart data.  Using one Front Panel chart on the main VI, i swap whichever operations data i'd like to see in and out of that chart.  Currently, i have to fumble around with searching for the correct reference number of the Func Global chart and use a property node to do my data assignment.  Totally inefficient! 

 

Adding the ability to select assignment of the entire history to the "Data Operations" context menu, and making the chart polymorphic to recognize the input difference would be incredibly helpful. 

LabVIEW uses 5 types of operation behavior for push buttons. However, I have come accross a rather annoying obstacle, whenever I need to execute an event for once (turning on a simple LED AND keeping lit AND keeping the button released, for instance), I need to run through Loops or structures which  consumes the space of the block diagram. Although this may sound very simple, after all I am a newbie when it comes to LabVIEW, it really helps in certain places, namely in my very simple project. Here are two of the ways that demonstrate what I am doing at the moment: 

 

 

 

 

Untitled.jpg 

 

 

And here is how the new pressonce/execute once and for all/release block diagram looks like (excuse my English, I believe the digrams must illustrate what I want to say)

 

neww.jpg

 

 As I have said, maybe it doesn't make a difference to you, but it does to others and I am one of them, well you can either go with a while loop or without, let's keep it to the big guys to decide (this is if my suggestion gets accepted). And I am choosing a random label 😄

Thank you for your time.

🙂

 

Message Edited by toniaz on 28-11-2009 12:46 AM

This post

Has gotten me thinking about how to handle preserving a memory location for external data updates.  @009 has much better memory management- couldn't a Preserve Memory primitive be written? For obvious reasons a counterpart Deallocate would need to be required for each "Preserve" call

 

hmm2.PNG

Hi

 

Certainly, every body tries to evaluate a vi in terms of performance. This includes the time which a particular code takes to run. We have to use the tick cout vi in order to determine the time of execution.

How about adding an additional button in the  toolbar itself which measures the time taken by a particular code to execute? Smiley Happy

This can certainly be a good feature in LabVIEW!!!

Right now, you can only set a single variant attribute at a time.  You can get "all" variant attributes, but it would be nice to be able to get a specific "group" of them.  (the same could be said for delete)

 

From a programmer standpoint, the nice way to accomplish this would be to wire in an array of strings for the variant attributes you are interested in, instead of placing the function in a for loop.  It would also be nice to wire in the data type for all of those attributes, so you don't have to call the variant-to-data.

None of the existing synchronization VIs work for "instantaneous" many-to-one notification, (or do they?)

  • Notifier is one-to-one or one-to-many,
  • Rendezvous is many-to-many
  • Occurances is one-to-many
  • Semaphore handles a different sync issue!

 

In many cases, one VI may need to wait for several other VIs before performing a task, simple example is on closing,

Even more specifically, other VIs could do the "notification" and continue, but the one VI must wait until those VIs have met (and passed) the "notification" point.

 

Although the mechanism can be built easily, it could be defined by NI as a standard VI.

 

Sia

LabView Control and Simulation Design Toolkit

 

-A simulation subVI fails to compile if an initial condition of zero exists on an integration block.

 

 IDEA: Run a zero initial condition check on a system before attempting to compile.  If the condition exists, don't attempt to compile and report the problem to user.

 

 

 

-A simulation subVI fails to compile if a change is made after the subVI is created.

 

IDEA: If a change is detected in the subVI, force the subVI to recompile every time a file command is implemented.