06-05-2014 03:59 AM
Hello,
This is my HW and SW configuration:
LabView 2013 SP1
1x cRIO 9076
4x NI 9853 CAN Modules
CAN0 - 1000 kbps, Input Timeout=0, OutputTimeOut=10000, Module Clock: 20MHz
CAN1 - 500 kbps, Input Timeout=0, OutputTimeOut=10000, Module Clock: 20MHz
I have been working on a program for a test system, where each 9853 Module controls two devices (CAN0 and CAN1), the same type of systems will be controlled by the other 3 9853 Modules in parallel.
So basicaly, I use exactly the same Functions for every module. Until now, everything has been working correctly on module 1, but now that I started testing all other modules I have the problem that Module 3/CAN0 does not read the information correctly.
While looking at the FPGA frontpanel, i see that every 10000ms one value is read, but only on this ONE module (CAN frames are sent every 1ms from my device)
I tested the HW itself using the examples included and it works correctly, the only difference is that the example only used 2 Modules, one to send data and one to recieve it.
I am including my FPGA program as a picture, I realy do not think this is a problem with my RT SW, because all other modules work correctly. Basicaly, my FPGA SW only reads the CAN Modules and puts the information in a FIFO, if there is an error (no information) it will loop once more and check again.
Thanks for your help
Solved! Go to Solution.
06-05-2014 09:00 AM
short update, after looking into the problem I noticed that the Module sends this error:
Error 65539 occurred at an unidentified location
Possible reason(s):
CompactRIO: (Hex 0x10003) The input function missed one or more data points. Make sure the loop can execute as fast as the module data rate.
06-06-2014 04:19 AM
I have solved the problem, it was a configuration error from my side.
The input timeout for Module3 CAN1 was configured as 10000ms and NOT as 0ms as I thought ! , so this was making my Read Loop for DUT3 run only every 10000ms.