LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Error 1571 in Get LV Class Default Value (in specific situations)

Everything was developed using LabVIEW 2017 SP1. Both machines run Windows 10.

 

At the company I work for we use a HAL Architecture for all our instruments. Based on some text files we load an .lvclass inside of .lvlibp's. Each one representing a different instrument. To achieve this we use the VI "Get LV Class Default Value".

 

In this specific situation, all PPL's are built with Debugging Enabled, and with the checkbox for future versions of LabVIEW to be able to load them. When running this on my development computer, in the development environment everything runs fine. When running this on my development computer as an *.exe everything works fine. When carrying that same *.exe over to a computer with just the runtime environment, it will work on most computers, except this specific one that gives the 1571 error.

 

But what I'm having trouble debugging is why exactly 1571 is the error I'm getting. That error is related to PPL versions, and basically saying your .exe can not load this PPL version. But this only happens when the vi trying to load it is not the top level vi of the program. My program is built on actor framework, where each actor is its own PPL and the program layout gets created dynamically. All of the PPL's that are pulled in by static reference load fine. Even when those static PPL's load instruments through our HAL, it loads fine. But when one of the Actors, that was loaded dynamically, also tries to load a instrument dynamically I get error 1571 for the instrument PPL.

 

Steps that I've taken.

 

1. Created a wrapper *.exe that calls "Get LV Class Default Value.vi" only. I can load any PPL, even the ones that throw error 1571 on the deployment computer.

 

2. Built a TestStand Sequence to call the HAL to load the instrument dynamically. Works on any of the PPL's that normally throw the error.

 

3. Move the code that throws the error, to a top level section of the code instead of a dynamic section and I don't get the error.

 

Basically I can't figure out why the PPL will work when Get LV Class Default Value.vi is called from a Top Level VI, but it won't work when called from elsewhere. Even though the path it gives me, saying where it 's loading from is correct. And the error 1571 isn't helpful, since I know that is not really the issue. Any ideas on how to debug this, or where to look?

 

Edit: As always happens, as soon as I post this I solved it. I changed my .exe to only allow the 2017 runtime to run it. That fixed it. So for some reason when it would run in the 2019 runtime engine it woudn't work, but in the 2017 one it did, even with all the PPL's set to allow future versions.

 

 

0 Kudos
Message 1 of 1
(955 Views)