Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

cRIO Status LED flashes 4 times, but prog runs fine until cRIO restarts

Solved!
Go to solution

I've got a cRIO 9073 with a fairly substantial program in RT and on the FPGA, using a Windows front end communicating using network shared vairables on the cRIO.  The program runs great if I simply Deploy the main RT VI (with the Built FPGA code of course), or if I deploy the RT Build.  However, if I select to "Run as Startup", the deploy works, the main RT VI front panel opens and I see activity (it runs fine), but then I click to restart the cRIO, and the cRIO restarts only to run for a second or so before the Status LED flashes 4 times (software error).

 

I doubt it's a memory issue as suggested in the manual as if that were the case, I would expect the Deployed app would fail as well, yet it works fine.  I check the fault log, and don't see anything useful.  I also see on the deployment dialog that the cRIO has ~ 12MB free after deployment if I deploy against a target with the "NI-RIO 3.6.0 - January 2011" software package, and far more if I use a minimal package with the extra components I need (Network Variable Engine and System State Publisher).

 

This was a year-old project that was working beautifully, and recently required modification.  In the interim, my development PC was updated with Windows 7 64 bit.  I'm running LabVIEW 2010 SP1 Professional Development System with RT and FPGA packages.  CPU utilization on the cRIO when I'm running the deployed app (with the front panel available for diagnostics) is about 20%.

 

Any suggestions?

 

Thanks,

Erik

0 Kudos
Message 1 of 4
(6,011 Views)

Hey Erik,

 

I hope you're doing well today. When you say that the program recently required modification what exactly changed? Was it only the change in the OS bitness or did any of the driver installation information change as well?

 

Also, based on your notion of "the main RT VI front panel opens" I'm assuming that when you run and deploy this VI you're doing it in interactive mode and you're not creating a standalone RT executable. Is that correct?

Tim A.
0 Kudos
Message 2 of 4
(5,993 Views)
Solution
Accepted by topic author ErikL68

I found my issue, and it was mine and not Windows.

 

I ended up using the Console output to help, and was seeing Exception Code 6 (0x00000006) appear on the console, ultimately ending with the Safe Mode - Software Error message in MAX. Unfortunately, I didn't find anything searching for that exception code, so I went back and looked at my Realtime VI, and I found my problem: I had added two new Network Shared Variables (NSVs), and had failed to set the Reference Mode to Target Relative. I have so many NSVs in this VI that I also hadn't wired their Error Outs to an indicator for troubleshooting.  I've since done that, but even doing that still resulted in Safe Mode if I reverted the Reference Mode back to Absolute.

 

I suspect the VI ran in interactive mode as the project had the IP address of the cRIO set when the RT build was performed, and later failed because the IP address changed when the cRIO was on the network.  Curiously, I had much better luck getting the cRIO to run in interactive mode (then Disconnecting from it) if my PC and the cRIO were connected through a crossover cable and both were using link-local addressing.  In this way, I was able to get my project running every time.  When I later tried connecting through the network, that's when even interactive mode would fail the majority of the time.

 

Unfortunately, a mini-project I created to test this didn't have the issue - it either failed to run (if I Built the RT build while setting the IP address of the target to some imaginary device) or ran fine (if I set the target IP address correctly before the Build), but never caused the cRIO to enter Safe Mode.

 

What I'd like to know is, Can we set some option somewhere to make all NSVs default to Target Relative for the Reference Mode?  I've yet to use one that intentionally used Absolute addressing.  I'd also recommend making the Reference Mode indicator on the NSV something more obvious than a tiny NI symbol in the bottom left corner.

 

Thanks,

Erik

P.S.  I created a support request for this, and provided the console log to the support engineer if it should prove useful.

0 Kudos
Message 3 of 4
(5,977 Views)

Hey Erik,

 

I'm glad to hear that you were able to resolve the immediate issue and get in touch with our support line. The Applications Engineer that you're working with actually sits next to me so I've been able to work with her a bit on your issue. I'll be sure to keep in touch and assist however I can.

 

In regards to your specific questions, currently I don't believe that there is a way to switch the default setting for the reference mode of NSV's. That point, in combination with the comment about the marking on the NSV for target reference, would be great to post onto our ni.com/ideas page. I would place all of your recommendations for our software there. We take our idea exchange very seriously and our development group pays attention to the feedback from our customers. So, if it gets a lot of good votes and discussions from the community, there is a good chance it could be acted on!

 

Again, I'll make sure to work closely with the team on your current SR. Thanks for posting your updated information.

 

Have a great day!

Tim A.
0 Kudos
Message 4 of 4
(5,950 Views)