09-10-2025 04:45 AM
My goal is that my main software is built with only a parent class. All devices have to do the same steps on the parent level, but I will always load in the specific child dynamically during run time, where it does its specific actions (different prep during initialisation or the like).
Now the device needs to communicate with a CAN BUS. That communication I handle via User events. The wall I am hitting atm is that I cannot get the child to request new data and/or update the data since in the main I am still within the "init.vi" of the parent. Normally I would simply just update a global variable or an FGV, but the child being dynamically loaded prevents me from using it. Since whenever I tried, it wouldnt connect to the "same" variables.
It is possible that what I am trying to do is simply not possible from a design perspective. Or there is a known way to solve this specifically. Either way I am grateful for any input.
Both the parent and the child classes are in separate PPL.
09-10-2025 10:12 AM
Is the FGV exported in the parent PPL? If not both PPLs are getting a different copy of it with different qualified names and independent state.
09-10-2025 11:07 AM
PPL's are VERY picky about namespacing, etc.
I think you CAN do this, but you need to make sure you build in the right order. You have to make sure you're not remaking the parent PPL when you build the child. You will have to make sure that the child library is looking at the built PPL not the source PPL. I believe you can do this but the paths have to be perfect and you have to make sure the child class isn't pulling along its own copy.
You should be able to tell by opening JUST the child PPL and seeing where the FGV is in a Project tree. If it's in the parent's PPL, you're good. Otherwise, it's obtaining a different reference.
Also, this is why I stopped trying to make PPL's work 😞
09-11-2025 08:09 AM
Thank you for this. I didnt put it in the parent PPL...
I was so stuck on this.
I got it even working now with a clonable dqmh module that calls the child (so multiple instances). And they all reference the same FGV. I differenciate their data in the FGV with an array, so each instance gets its array based on their moduleID.
Have to keep testing, but this was a massive wall I was stuck on, thank you very much ^^.