I want to read the Current State, Remaining States and Arguments indicators from the FP of the Parse State Queue vi in my JKI State Machine. I can't figure out how to get a reference to the VI. Can you help?
I've looked and it doesn't appear to be in the App.All VIs In Memory list.
I tried to modify the VI to return a reference to itself. No luck.
I can see all instances of it when I set the FP to show when called, but I have some JKI-SM processes that I'm not interested in.
Alternately, can you suggest how I can monitor this information?
JKI Discussion Forums
Page 1 of 1
reference to Parse State Queue how can I get it
#2
Posted 08 November 2010 - 11:57 PM
Hi Jim,
I'm really sorry for the long delay in response. You asked a relatively non-trivial question, so it wasn't one that could be answered quickly.
Here are my thoughts:
Parse State Queue is reentrant, and LabVIEW doesn't provide a super-easy way to get the references to instances (a.k.a "clones") of reentrant VIs. I think what you would need to do is get a VI reference to the VI that contains the JKI State Machine, and then traverse its block diagram for GObjects of type "subVI" (using "vi.lib\Utility\traverseref.llb\Traverse for GObjects.vi" -- see here for tips from Darren). You would can then get the instance/clone VI reference from the subVI reference, check if it's VI.Name is Parse State Queue and then get it's Front Panel control references.
Whew... that was a mouthful
Let me know if you have any questions about this. I'm happy to help.
Thanks,
I'm really sorry for the long delay in response. You asked a relatively non-trivial question, so it wasn't one that could be answered quickly.
Here are my thoughts:
Parse State Queue is reentrant, and LabVIEW doesn't provide a super-easy way to get the references to instances (a.k.a "clones") of reentrant VIs. I think what you would need to do is get a VI reference to the VI that contains the JKI State Machine, and then traverse its block diagram for GObjects of type "subVI" (using "vi.lib\Utility\traverseref.llb\Traverse for GObjects.vi" -- see here for tips from Darren). You would can then get the instance/clone VI reference from the subVI reference, check if it's VI.Name is Parse State Queue and then get it's Front Panel control references.
Whew... that was a mouthful
Let me know if you have any questions about this. I'm happy to help.
Thanks,
#3
Posted 13 April 2011 - 04:05 PM
Thanks for answering. I did this (snippet) but it didn't work. I don't get any errors, it finds the SubVI and I can even open the Front Panel but the reference isn't to the one This VI is using. The Get Control Value nodes don't show anything. Did I misunderstand your intent or is there more to this?
Jim
Jim
Share this topic:
Page 1 of 1




Back to top








