cRIO Watchdog FPGA error-63195

When running code on the cRIO we get the following errors:

63195 occurred at Read/Write Control in FPGA_WatchDogEnabled.vi->FPGA_WatchDogWriteEnabled.vi->WPI_WatchdogOpen.vi->Begin.vi->Robot Main.vi
NI-RIO: (Hex 0xFFFF0925) The handle for device communication is invalid or has been closed. Restart the application.

We also get FPGA errors when initializing encoders in begin. The watchdog still works(well enough for us to move motors smoothly) but the encoders don’t. We’re using the small cRIO. From what I’ve read I believe the issue is something between the Digital Sidecar and the cRIO.

So far we’ve tried:
This advice from NI
Reimaging the cRIO
Reinstalling Labview
Swapping out the sidecar
Swapping out the ribbon cable

None of which has worked so far. We’d love to get this fixed so we can use our nice encoders. Somebody help please? :stuck_out_tongue:

Can you post some of your code? It seems a bit like you are either not opening the sessions, or are attempting to use session values other than what was opened. By the way, if you probe a session going into a Read or Write, you can visually inspect its value.

Greg McKaskle

Make sure you are wiring a DIO Refnum to each of your encoder channels like the Encoder example and not a constant, the constant no longer works.

For the Watchdog, either don’t use the watchdog or run it sequentially after an open that does not throw an error (either using a sequence structure or wiring the error out of the working open to the error in of the Watchdog open). This will force it to wait for the FPGA handle to be valid.

Here is all the code. There are a lot of things in disable diagrams but the issue exists with or without. Enabling them gives us FPGA errors specific to encoders or counters.

code.zip (3.54 MB)


code.zip (3.54 MB)

I’ll look at the encoder example. As for the watchdog, do they want you to use it at competition? Or is it entirely optional?

The Watchdog was “replaced” by Motor Safety a few year ago. Motor Safety is like a per mechanism watchdog and is on by default for Robot Drive and off by default for other actuators. The Watchdog is still available but I don’t think many teams use it.

I’ll try the code with the DIO refnums and without the watchdog tomorrow when I get the chance. Hopefully that’ll work. Thanks for the help.

Greg: any update on the watchdog issue? We have the same problem - we basically copy/pasted our watchdog code from past years that always used to work, but we’re getting the same error as the OP.

We reworked some of the low level code to speed things up. This included reading the FPGA handle directly from a global. It appears that your watchdog code is at least sometimes running first and beating other code that normally opens the FPGA handle to the punch.

As a workaround, hook the watchdog error in to something like the RobotDrive Open. I’ll make a note to have the WD ensure that the FPGA is opened.

Greg McKaskle