10-28-2022 05:31 PM - edited 10-28-2022 06:19 PM
Issue/Bug: There is no OS and CPU Configuration pane in the LabVIEW Project manager. There is no way to correctly set the Real-Time CPU and OS properties in a LabVIEW Project.
According to this NI webpage there is supposed to be an OS and CPU Configuration page for Real-Time targets.
Target Properties Dialog Box - NI
The OS and CPU Configuration html page is currently broken.
CPU and OS properties
https://www.ni.com/docs/en-US/bundle/labview/page/lvprop/app_apptarget_oper_sys.html
https://www.ni.com/docs/en-US/bundle/labview/page/lvprop/app_apptarget_cpu.html
The Conditional Disable Symbols do not work for setting CPU and OS properties.
Conditional Disable Symbols Page (Project Properties Dialog Box) - NI
This issue was observed when creating and modifying a LabVIEW Project generated by the Custom Device Wizard. Here are the steps to recreate the issue/bug.
1. Install the Custom Device Wizard release from the following repo
GitHub - ni/niveristand-custom-device-wizard: LabVIEW project template for VeriStand custom devices
2. Create a Custom Device LabVIEW Project from the Wizard.
Note: *.lvproj Contains Incorrect OS
TargetCPUID (3=Intel x86) and TargetOSID (15=Pharlap)
Changing the Conditional Disable Symbols does not fix the issue.
3. Load the Custom Device to the Real-Time target
Deployment Error
LabVIEW: (Hex 0x464) VI is not loadable.
In a built application, this error might occur because the VI being loaded was last compiled for a different OS or with CPU features, such as SSE, that this target does not support. In this case you must rebuild the application for the target OS and make sure SSE compiler settings in the build specifications match the target platform. This error also might occur if the VI is a polymorphic VI, which cannot be loaded in the LabVIEW Run-Time Engine. You must load an instance of the polymorphic VI instead of the polymorphic VI itself.
NI VeriStand: Open VI Reference in Custom Devices Storage.lvlib:Open Device Reference (HW Interface).vi->Custom Devices Storage.lvlib:Initialize Device (HW Interface).vi->NI VeriStand Engine.lvlib:Initialize Inline Custom Devices.vi->NI VeriStand Engine.lvlib:VeriStand Engine State Machine.vi->NI VeriStand Engine.lvlib:VeriStand Engine.vi->NI VeriStand Engine.lvlib:VeriStand Engine Wrapper (RT).vi<APPEND>
An error occurred loading VI 'FPGA Comms Interface Engine.lvlib:RT Driver VI.vi'.
LabVIEW load error code 22: This VI was compiled on another platform and can only be loaded in the full development version of LabVIEW.
There needs to be an obvious way to change the OS and CPU in the Real-Time target property window. This issue/bug leads to tough to track down errors.
Please update these pages to address this issue/bug.
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z00000159mcSAA&l=en-US
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000001DpXuCAK&l=en-US
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P8fSSAS&l=en-US
10-28-2022 05:38 PM - edited 10-28-2022 06:04 PM
Microsoft Visual Studio has this:
How to: Configure projects to target platforms - Visual Studio (Windows) | Microsoft Learn
How to: Configure Visual Studio C++ projects to Target 64-Bit, x64 Platforms | Microsoft Learn
Where is this in LabVIEW?
10-28-2022 05:47 PM - edited 10-28-2022 05:58 PM
The craziest part is that this is no way for the user to actually know what the actual Target OS and CPU properties are.
In present case, TargetCPUID (3=Intel x86) and TargetOSID (15=Pharlap). Nowhere is this shown in the Real-Time target properties. Why is that?
(These are not the actual target properties. Only conditional disable symbols.)