Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

cRIO Project Crashing Windows

I have a mutli-system project that utilizes a windows laptop PC as the Windows Host, and a cRIO 9004 with 4 slot 9103 backplane. 

 

The FPGA code is written to monitor some digital counter information, analog tranducers, and a digital safety input from a PLC.  The digital safety inputs are monitored on the cRIO and if they indicate a stop the RT code is notified by an Interrupt.

 

This trigger a write to the FPGA to turn off two digital output and I also save the shutdown information in a functional global to pass it to the other loops running in the RT application.  I then shut down the loop that monitors the IRQ after aknolwegding the IRQ.

 

The rest of the RT loops are supposed to wait for the Windows Host program to communicate the System Shutdown via shared variable - at which point the rest of the RT loops are supposed to stop running, and the FPGA reference is closed and the RT code shut down.

 

The customer has been testing the system, and is having an issue where the RT code receives the IRQ, and shuts down the critical control systems in the proper coded sequence, but then the Windows system LabVIEW crashes.

 

Is there a known issue with IRQ, cRIO and LabVIEW 8.2.1 on Windows XP that could be causing the crash?

 

I am trying to get any error codes from the customer and will try duplicating in my lab, but I don't have the exact same equipment.

 

I am communicating between the windows code and the RT code through Shared Variables.  I have one communication engine on each system.  I have the 16 pieces of data being passed up from the cRIO in one shared variable and the information is dispersed to the GUI and other systems using functional globals.

 

Similarly the information from the Windows code is being transmitted to the cRIO via shared variables, only when the user event structure is reacting to GUI actions.

 

I am also periodically FTP'ing data files from the cRIO and saving to a file.

 

Again the issue appears to be when the RT code is getting the interrupt from the FPGA code.  I am not able to get the error code from the cRIO through my normal programmatic error handling since the Windows LabVIEW instance crashes (not just the code I wrote).

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 1 of 7
(3,911 Views)

Added info: I am also checking the communication status with the cRIO periodically when the GUI is inactive (300 ms timeout on the Event Structure on the Windows Host).  I am using the Conn Responsive.Info method followed by the Conn Repsonsive.Check method.

 

I am not sure if they would be causing the issue if the cRIO is busy responding to the IRQ and causing some kind of conflict that causes the Windows Host LV to crash.

 

I wouldn't think that the cRIO code would be able to cause the Windows Instance of LV to crash...  totally confused!

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 2 of 7
(3,909 Views)

Hello,

 

Thanks for sharing your problem on the discussion board. I will look into this issue. You could also feel free to call an applications engineer at 866.ASK.MY.NI.

 

In the meantime, have you tried reconfiguring the controllers and/or restarting computers/devices?

 

Regards,

 

Dan Richards

Dan Richards
Certified LabVIEW Developer
0 Kudos
Message 3 of 7
(3,883 Views)

I have an active service request going on this.  I was able to replicate the error here in my lab with a different cRIO and using LV 8.2.1 and LV 8.5.1

 

It seems when the system loses Ethernet the Windows LV encounters an error somewhere and crashes.  I get no error warning.  This can happen on the customer deployed system because the cRIO is communicating with the WAP-3701 back to a laptop.  I think the laptop is losing connection once in a while when the vehicle is shutting down, but it is able to reconnect at some point, just not before LV crashes!  I designed the architecture to save data to the cRIO and then the main system FTPs the files back just in case of such periodic loss, but the crashing LV is a serious pain for the operator.

 

The cRIO continues to run as designed, uncaring that the LV environment on the host has crashed. 

 

The App Engineer says he was not able to get the simple project I created to do the same thing, but I am seeing it on 2 different PCs and two different cRIO systems with two different projects.

 

I have reformatted the cRIO a couple time, reinstalled software on it, reinstalled software on the PC, restarted the PC, etc. etc. etc.

 

Detail I forgot to mention above: Shared Variables Library is hosted on the PC.

 

We'll see what we find when I talk to him this morning.

Message Edited by RVallieu on 08-28-2008 07:46 AM
Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 4 of 7
(3,879 Views)
I also just tried making my Windows Host VI into an executable and trying that - disconnection of the Ethernet from the cRIO is also crashing the executable.
Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 5 of 7
(3,877 Views)

Progress - it seems that the culprit is the Method -> App: Conn Responsive.Info and Conn Responsive.Check.  App = Application.

 

I am opening the RT VI programmatically and using the Reference from the Application Instance to periodically ping the device to alert the user if there is loss of connection. 

 

When I used a diagram disable to block these functions in the timeout case of the Event Structure - the crashing problem went away.

 

I wonder if different versions of Windows might have something to do with this?

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 6 of 7
(3,876 Views)

Dear NI customers,

 

This customer has called NI Support and the issue is being investigated. If possible, we will try to update this thread with the solution so that others will be able to see the solution, too.

 

Regards,

 

Dan Richards

Dan Richards
Certified LabVIEW Developer
0 Kudos
Message 7 of 7
(3,775 Views)