LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Nugget - Using control references



@JeanPierre wrote:

And unfortunately, the last time I checked the recursion chain A_VI >> B_VI >> A_VI is not allowed

8.5 has native recursion for LVOOP VIs (I think it's dynamic dispatch ones, but I'm not sure). It might be able to handle that as well.

P.S. Tomi, yes, I was actually thinking as well that this might be a good candidate for learning LVOOP.


___________________
Try to take over the world!
Message 51 of 67
(4,082 Views)


@Ben wrote:

Thank you once again JPD.

You wrote;


And unfortunately, the last time I checked the recursion chain A_VI >> B_VI >> A_VI is not allowed, only A_VI >> A_VI >> A_VI is possible.


Well I did not know that, so I did exactly that in the example I posted (provided the data structure calls for it).

I have also tested doing A >>> B >>> A >>> B as far I was willing to test it.

I have single stepped it through those calls (in LV 8.2.1) to verify it is doing exactly that.

Warning:

Do NOT abort a VI while single stepping into recursive calls. LV will hang forever if you do. Better to get out of the calls and then abort.

Ben




OK the last time I checked was with LV7.1. I checked with LV8.2 and LV8.5 and now it works (at least to 10 levels). See my signature....



LabVIEW, C'est LabVIEW

Message 52 of 67
(4,078 Views)

" I checked with LV8.2 and LV8.5 and now it works (at least to 10 levels). "

Cool! Smiley Happy

I don't remember seeing this change in a release note but without that functionality, this example would not have worked.

Don't you love when NI throws in functionality we need before we need it?  Smiley Very Happy

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 53 of 67
(4,035 Views)


@Ben wrote:

Don't you love when NI throws in functionality we need before we need it?


You speak for yourself...Smiley Wink


LabVIEW, C'est LabVIEW

Message 54 of 67
(4,029 Views)

It's good to see you back JP!

Drop by more often..  🙂

Good comments on the nugget.  Thanks!

Message 55 of 67
(4,023 Views)

For a related thread on LAVA see here where you will find that Yair (also known as "tst" and "Yen" ) has taken some of the above methods as a starting point and has managed to back-save for LV 7.

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 56 of 67
(3,540 Views)

Just to clarify, what I backsaved was MGI's version. Originally, it used 8.x only features, but I replaced some of them with some of the OpenG code. The result is considerably faster than the current OpenG code (I've seen improvement by factors of ~20 to ~100).

Important note - what I posted on LAVA is NOT production level code. It was just a proof of concept. It works, but will fail to operate correctly under any number of circumstances.


___________________
Try to take over the world!
Message 57 of 67
(3,523 Views)

These are all wonderfully meaty nuggets that directly address my application.

 

Thank you. 

Message 58 of 67
(2,939 Views)

wildcatherder wrote:

These are all wonderfully meaty nuggets that directly address my application.

 

Thank you. 


 

I am very glad it helped Wild!

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 59 of 67
(2,935 Views)

I updated this to include some of the above suggestions and adapted it to use TDMS versus config files here.

Message 60 of 67
(1,671 Views)