07-07-2020 07:55 PM
The RT deployment will consistently fail to deploy if a class has an interface inside of its private data.
The following steps will reference the attached example when referring to concrete VIs, classes, and interfaces. This can be done from scratch as well, however.
Under an RT Target (currently using a cRIO-9048 Linux RT intel x64)
1. Create a simple class (class 1.lvclass)
2. Create a simple interface (interface 1.lvclass)
3. Update the class 1 private data to include the "interface 1" interface
4. Create a separate VI, outside of either class or interface (tester.vi)
4a. Drop the class 1 class constant on the block diagram of the tester.vi
5. Run the tester and observe deployment error "tester.vi loaded with errors on the target and was closed"
6. Remove the interface from the private data of the class
6a. Run the tester and observe successful deployment
Unfortunately, this issue has caused us to eliminate the use of interfaces from our design for this project 😞
07-09-2020 10:42 AM
After formatting the cRIO and reinstalling the software set the issue is no longer reproducible.
While good news that it is not happening 100% of the time, we are still opting out of using interfaces for this project as we do not want to entertain the risk of this issue presenting itself down the line.