I have come across a problem with my current configuration which was not picked up by the cRIO adviser tool or by the NI applications engineer we employed to check our configuration before starting the project. It turns out that the CAN modules NI 9853 require an XNET driver that is not compatible with the NI 9149 expansion chassis.
We currently have a system with a NI 9068 cRIO controller with general IO and some CAN and CAN Open modules in one pod and an NI9149 Ethernet expansion chassis with more general IO and more CAN and CAN Open modules in another remote pod and all of this is to operate underwater, so I can't move the modules from expansion chassis to controller chassis without a lot of system redesign and build and a whole team of angry engineers and technicians.
I have developed the FPGA code for the NI 9068 and have CAN and CAN Open networks functioning happily. Then I tried to copy the same FPGA code to the expansion chassis and it compiles but when I try to run it I get the error code -63184. After long calls to NI support, and trying to install missing drivers on the expansion chassis, we discovered that XNET is not compatible with this chassis.
Can anyone suggest the best course of action? Is there an Ethernet expansion chassis that will support XNET? I there any information online about this compatibility issue as I can't find any?
I will be communication with NI directly, but from previous experience of 'odd' issues I know the community often hold the key. Any suggestions gratefully received.
Solved! Go to Solution.
I don't get it, if you are writing FPGA code, why is a driver needed? Isn't the FPGA directly accessing the ports, and can you get the data out by means of DMA FIFO or FPGA control? Expansion chassis with custom bitfiles instead of scan mode are definitely a gray area I have mucked around in. You discover alot of things by trial and error. My policy now is to just try to always keep the expansion chassis in scan engine mode and keep all custom fpga code on the full fledged cRIO.
One maybe not too painful option is to just go with another full fledged cRIO for the second chassis. You can share data via Shared variables between the two. I think the cRIO 9066 is about $1000 more than the cRIO 9149. So that's not to bad a price to pay compared to redesign. Same form factor too.
Yes you are right. I have learned more over the last 12 hours and I shouldn't need XNET drivers after all. Unfortunatly the scan engine doesn't support the CAN or CAN Open modules so I needed to program the FPGA myself.
I will give the NI Application Engineer a bit longer to try to find out why I am having such trouble as he is usually pretty good at getting to the bottom of issues like this, but your idea of having a second cRIO and just share the IO and CAN data onto the network is looking more atractive as time goes on.
Ok so I may have assumed too much.
The CAN modules NI 9853 do work and its the CAN Open modules NI 9881 that cause the problem. I'm getting help from NI but thought if any of you come accross this thread and had anythng to add.
I'll post any solutions if I find any too.
It's official. CAN Open modules are not compliant with expansion chassis. I have moved them to the RIO and will get the pods rewired.