07-24-2019 02:52 PM
I made a dll using LabWindows/CVI for NI ETS Real Time System. The dll works when run from the LabWindows/CVI IDE. I used the RTFileCopyUtility to set the dll to run on startup. On the next reboot the RT PC hangs during boot up. The last thing printed to the screen is "System Web Server Started". Normally I would expect "Welcome to LabVIEW RealTime 10.0" next on the screen. The program I made only takes 10 seconds to complete its execution. I tried rebooting the machine several times and waited around 15minutes each time before deciding that it is hung.
Relatedly, I am unable to disable the startup dll. I booted into the "Desktop PC Utility USB". I selected option 5 "Disabled Startup applications". Then I tried to reboot the system. The RT PC still hangs as the same location.
I'm using LabWindows/CVI 2010 SP1. My RT machine is a Desktop PC running NI ETS 2010 with VISA5.0.
07-29-2019 03:35 PM
Hi schddc,
Can you try to deploy through the method given in this guide?
Getting Started with the LabWindows /CVI Real-Time Module
http://www.ni.com/pdf/manuals/374686e.pdf
Specifically, using the Run»Install Program to Real-Time Execution Target
Also, can you ensure you are configuring this target correctly?
Best,
07-29-2019 04:29 PM
I had previously tried it but I tried again. When I execution that action I get the prompt "Program successfully deployed... Reboot now?". Before rebooting I FTP'ed to the system to check out the \NI-RT\CVI folder. It contained my application and the dependent library, so both were automatically copied to the system.
The same issue occurs. The system initializes the network adapter, then the web server, and it hangs. I never see the text that NI-VISA is started.
For reference, the software I configure on the system is NI-VISA 5.0 (which auto selects a lot of dependent software) and LabWindows/CVI Run-Time Engine for RT 10.0.0.
It seems like my program is trying to execute before NI-VISA is started. The default boot sequence seems to be
When I install my application the system hangs between items 2 and 3.
For a test I created a RT dll which only printed hello world.
// some includes
void CVIFUNC_C RTmain (void) { if (InitCVIRTE (0, 0, 0) == 0) return; /* out of memory */ printf("Hello World\n"); CloseCVIRTE (); }
I tried Run->Install Program to Real-Time Execution Target. Boot sequence printed out changed to
It is possible to delay the execution of a RT program until NI-VISA is started?