Jump to content
ensegre

VI server method to get refs of all clones?

Recommended Posts

I thought there was an easy, built in, VI server way of doing the following, but I haven't found one. Am I missing something trivial?

So I have one application instance, spawning clones of a certain VI. I would like to get an array of the VI refs of all of these clones. I thought I could via some property like  Application:All VIs in memory, but I haven't found any suitable. All VIs in memory gets only the base VI names.

Missing that, I resort to register all my clones in a FGV as they startup, r.png, and consult the FGV at will. Is there a more linear way?

RegisterMovieWriters.vi

I also note that I have to associate each VI ref with its clone name in the FGV, otherwise plain refs to different clones match as equal in lookups.

Share this post


Link to post
Share on other sites

There is not a native way to do this.  Clones are created and destroyed as needed, and I don't think there is a central place that keeps track of what ones are opened.  In the IDE you can go to View >> Browse Relationship >> Reentrant Items, but I think this list is probably populated and maintained by the IDE and not some VI server pool.  Your method would probably work fine as long as you remember to run that function and track them appropriately. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By Benoit
      Hello all,
      Is there any of you ever be able to push more than 30 VI in the exported VI list of VI server?
      I think I found a bug that is there since at least LabVIEW 2011.
      WAIT... don't answer the easy one... "export all VI"... if you were about to answer that, that means you are not developing a safe application.
      Thanks for any help.
       
      Benoit
    • By Manudelavega
      I read Darren's excellent article about creating healthy Dialog box (http://labviewartisan.blogspot.ca/2014/08/subvi-panels-as-modal-dialogs-how-to.html)
      I thought using a dynamic call and selecting the option Load and retain on first call would prevent loading the subVI in memory when loading but not running the caller VI. I created a super light project to test it but didn't get the expected behavior:
      - If I don't open the Caller, I don't see any VI in memory (except for the VI that reads the VIs in memory of course).
      - If I open the Caller, I see both the Static Callee and the Dynamic Callee, whereas I expected to see only the Static Callee.
      Did I misunderstand how that option works?



      VIs in memory.zip
    • By John Lokanis
      I am running into an issue where my VI Server connection goes stale after a few hours.  Looking for a fast way to detect this and recover.
      Currently here is what I am doing:
      On first call, open the application reference and then open the VI reference.  Cache both of these.  Use the VI reference to call the remote VI. On subsequent calls, test the cached references to verify they are still valid and then call the remote VI. What appears to be happening is the references still appear to be valid in the caller but the connection is broken so the remote call fails.  Then I detect this and reopen the app and VI refs and can again call the remote VI.
      The issues are:
      The failing remote call takes a long time to timeout and I do not see how to control this timeout. The test of the refs does not actually test to see of the network connection is still good. The result is it takes a long time to recover and this is upsetting the user since it appears the system is locked up.
      What I need is a way to control the timeout of the 'call by reference' node or a way to quickly test the references to verify the network connection is still good before I attempt the remote call.
      Any ideas?
      thanks,
      -John
    • By jj321
      clone vi front panel access requires slight trick to handle clone vi's (re entrant) shown in the attached file
      Get FP data.vi
    • By Benoit
      Hi all,
      I almost never ask for help in LabVIEW... but for this one, I have no idea where to find a solution to my problem. I'm trying to exchange data between two executable. The way I was using in the past was VI server. But it seems that there is something in LabVIEW 2011 that is not working the same way than it was working with LabVIEW 8.6. I created in my project 3 VI. One publisher, one suscriber and one GET-SET variable that will be used to exchange data between my 2 .exe.
       
      What ever I'm trying to do, I cannot figure it ou how to read the data from the Get-Set. Even having the list of VI available in memory is not working. How can I access this VI by VI Server with an address at the input of the application reference?
       
      I'm preaty sure it has something to do with security... but what....
       
      Thanks for your help.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.