06-25-2020 09:57 AM
Hi everyone, sorry if this seems to be a novice question, but I'm really stuck at this point.
I've created a LabVIEW library "PowerSupply.lvlib" that contains all VIs to control my power supply.
After that, I've created a LabVIEW library "VoltageRamp.lvlib." This library contains some additional VIs to create a voltage ramp, and it also calls a PowerSupply library to set the voltage to it.
Now, so far, everything is working perfectly fine, but then I realize that PowerSupply.lvlib is now owned by VoltageRamp.lvlib. Furthermore, I copied the PowerSupply.lvlib to another PC, but when I try to open it there it seeks VoltageRamp.lvlib...
In my opinion, this shouldn't happen, since hierarchy should be like:
labview project ---> VoltageRamp -----> PowerSupply
Apparently, I was wrong thinking I could use libraries as separate entities and include them in various other libs or projects, without that particular library connecting to the caller.
Is there any way I could use libraries as I intended, or do I have to use something else?
Solved! Go to Solution.
06-25-2020 10:35 AM
You can use them as separate entities if you decouple them. Wherever you call the PowerSupply library from the VoltageRamp library, refactor it so that there is some common interface between them (which would be a VI that doesn't exist in either library but is within the project).
Saying "Thanks that fixed it" or "Thanks that answers my question" and not giving a Kudo or Marked Solution, is like telling your waiter they did a great job and not leaving a tip. Please, tip your waiters.
06-25-2020 10:37 AM - edited 06-25-2020 10:38 AM
@TC_dev wrote:
Hi everyone, sorry if this seems to be a novice question, but I'm really stuck at this point.
I've created a LabVIEW library "PowerSupply.lvlib" that contains all VIs to control my power supply.
After that, I've created a LabVIEW library "VoltageRamp.lvlib." This library contains some additional VIs to create a voltage ramp, and it also calls a PowerSupply library to set the voltage to it.
Now, so far, everything is working perfectly fine, but then I realize that PowerSupply.lvlib is now owned by VoltageRamp.lvlib. Furthermore, I copied the PowerSupply.lvlib to another PC, but when I try to open it there it seeks VoltageRamp.lvlib...
In my opinion, this shouldn't happen, since hierarchy should be like:
labview project ---> VoltageRamp -----> PowerSupply
Apparently, I was wrong thinking I could use libraries as separate entities and include them in various other libs or projects, without that particular library connecting to the caller.
Is there any way I could use libraries as I intended, or do I have to use something else?
Sounds like you included PowerSupply.lvib as a member of VoltageRamp.lvlib, when it should have been included as a dependency. Simply remove PowerSupply.lvib from the project and it will become a dependency. This should resolve your issue.
FYI, you are basically doing the right thing. It is just a technicality that prevents you from carrying out your plan.