LabVIEW Idea Exchange

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

Hi all,

I recently came across the need to lock a FPGA ref during some operations to prevent a race condition. While implementing, I naturally thought it would perhaps be simpler to implement using the same mechanism the In Place Element Structure uses to lock the DVR reference. As such, whatever reference wired into the IPES would have the option of being marked as "Blocking".

I have no idea if this is a small change or a huge effort to implement, but I think it can help in managing resources more efficiently - or at least with less steps.

 

Best,

Cris

In other programming languages you see something like this to implement a linked list

struct Node
{
int data;
struct Node *next;
};

 

 

I'd like to be able to make the equivalent:

linked list2.PNG

 

The Profile Performance and memory gives me a good indication where to find memory and performance issues in sub-vi's.

This however does not work on continuous running vi's as is the case for User Interfaces or main vi's. I sometimes solve this by measuring the time a single loop of the vi takes to execute, but this is just part of the info I need. Would adding the mem and performace stats to these kind of cont. running vi's not help us?  

I've always wondered why this is not possible.

 

So you can dynamically start a VI. Except when it's not already "running". I quoted running, but the VI itself is not running, it's just on the diagram of a running VI.

 

To start a VI dynamically, when already "running" we need to make it re-entrant. This is very limiting (see use case in following post).

 

Technically, there should not be a problem. You can create a new VI, put the sub VI on the diagram and run it.

 

Why can't we do this by reference???

Hi All,

 

It will be great time saver if NI puts stop actor functionality inbuilt with AF Framework VI.

 

Reference to my post : Change Actor Framework override VIs

 

Thanks!

If in the middle of building a VI, a user needs to look over something in another project to ensure the 2 programs function together the user clicks File>Open Project this spawns windows explorer where you have to browse to the directory where the project is located at. Since LabVIEW  .ini file contains the paths to known projects, the dialog box should populate with the project names and paths for known projects. This allows the user to one-click the project instead of having push down several directories to get there. Of source the user can still browse to another project path not listed in the INI file if the dialog is coded as such. Just a matter of convenience and ease of use

To generate a VI or set of VIs with a general driver to get low-end FPGA boards to work with LabView FPGA. Parameters will only come from the users to make this dynamic, this would be the total count of I/Os FPGA type, location of I/O items (eg. buttons) in the FPGA board, etc. It would be a bit of work, but also would pay off at the end. Doing such is no more than an extension of LabView if done well, let's say written in an xml file plus it would be a very powerful tool for researchers, and would generate more sales to use LabView FPGA for more researchers, university students, and engineers who want to test a few things without full initial commitment to NI tools.

 

 

Hi

   My idea is to connect two nodes without the need to use the mouse to connect the wire. Just select two nodes and use some command(shortcut like (ctrl+n) or Right click and select from drop down)so that, both the nodes maybe connected to each other.

(Note: sorry if this idea already given)

 idea.PNG

regards

Senthil

 

 

 I would love to see an optional input node on the edge of a while loop for loop wait. 

This NIST site defines a non-integer factorial:

http://www.itl.nist.gov/div898/handbook/pmc/section3/pmc32.htm

 

The result of the computation is used in statistical process control.

 

I think that LabVIEW should have its VI's compatible with NIST, and "engineered for process control", seeing how they control processes.  The control shouldn't exclusively about operation, but should also have bounds, and quick/effective alerting for out-of-control condition.  (OOC).

Dear Ladies and Gentlemen,

it would be greatful, if it will be possible to develop an intelligent debugger, that has the following functionality:

Looking for an error and jump automatically to the VI, where the error occurs, without setting a breakpoint, to find the VI with the failure significant faster.

 

With kind regards Sönke

When I build, I like to test each step.  That means that I make a bunch of "debugging" indicators.  Some might prefer probes and breakpoints, but I like the "build as you go" and "don't use too many tools".  The challenge here is that about 80% of indicators that I make, I have to delete.

 

I wish there were a version of "diagram disable" that is specified in the block diagram, that worked for the front pane, and left me some tiny asterisk instead of the indicator, that didn't hit program execution times, and that when I configure execution the asterisks can be made to disappear. 

 

This would allow me to revisit my code, to access all of my debugging methods very quickly and intuitively, and to not necessarily change the final layout of the front panel after my debug is done.

Normally, in the development environment, I make everything nonreentrant just to facilitate debugging. But sometimes, there are small VIs that are called frequently from many callers where it would be nice if I could make them reentrant so they don't block each other when running as an executable.

make reentrant.png

I'd appreciate to be able to reset every channel of the NI-9361 separatly when channels are set to count edges. 

The property node "Cnt.Reset" doesn't work if the task is running so it's quite unuseful to use it for this purpose.

And when the DAQmx Task is stopped it resets all counters.

Measure range is not commited to SMU instrument while the output is in off state. niDCPower commit VI should change range of device even when output is in off state.

 

In cases where UUT has external voltage applied to it, SMU device will give an overvoltage error even if UUT voltage is within SMU voltage range. This occurs due to the range settings not being commited when the output has been turned off.

I found a weird configuration in my stuff where a program was not working right because it was clearing out the error code inside a for loop.  The for loop was clearing out the error code because it received an empty array from a property node for an array.  The property node sent an empty array to the for loop because it received an error on its input. 

 

In the VI where I found this configuration I have an error wire going thru a property node for an array.  The values read from the property node are then fed into a for loop and processed.  The error wire is fed thru the for loop and then the error is passed back out of the loop in an indexed tunnel and combined with an merge error.  When the property node has an error on its input it outputs an empty array.  The empty array is then fed into the for loop causing the for loop not to run.  The for loop then sends out an empty error wire without the error code that was sent in. 

 

I am attaching a simple VI to demonstrate this behaviour.  To see the behaviour toggle the error control on and off. 

 

edit: I forgot to set the default values in the in array on the original attachment

When Open reentrant instances of a VI asynchronously the 2 methods that work are configuring the front panel to open when called and setting up a invovle node for front panel open inside the target VI. It would be helpful to have the option to open several front panel instances setting up the control of this behavior on the caller.

 

For the people that have been activally using and supporting LabVIEW for more than the past say 20 years in more than just basic applications it should be possible to be granted a CLV certificate. Last friday I tried the CLD exam and it was a struggle ...

This is coercion:

Capture.PNG

 

Best practices say it is bad, so how do I fix it?  Mindless hunt?  Try them all?  Sometimes I can't change the upstream data because it is "fresh out of the file-read".  Sometimes there is no in-VI upstream to modify outside of the read itself, and that can be challenging with mixed, not explicitly typed data.

 

suggestions:

  • I should be able to right-click on the wire an have an option "insert explicit conversion" and have it pick the one that I need, the one it is doing inside the dot, and insert it into the wire just upstream of the conversion dot.
  • I can configure the outputs representation of many VI's.  Can I configure the input representation?  That would be explicit.

 

A number of elite users consider the VI hierarchy "useless". 

 

The compiler currently makes some assumptions (the detailed particulars of which I have only heard rumors) about the ability of the user to impose a boundary in the block diagram.  Whether it is the selection of elements to make into a sub-vi or how frame edges work with memory, there is some assumption there.

 

Why not remove all the "boundaries" then use graph theory to make better boundaries?  I would like to see an "auto-hierarchy" button.  When I click it, I would like the tool to remove every artificial boundary, then use graph clustering (reference, toy example) to find actual best boundaries, then impose those. 

 

I would expect a single chain to be in a single "box".  I would expect something that starts at a single element, splits into two chains, then re-combines into a single final element to have the head element, the tail element, and two "boxes" which hold the chains.  I would expect the box to inform what makes a decent sub-VI during the simplification/splitting of a detailed VI.