LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Why is one of my 4 5893 Modules not working correctly?

Solved!
Go to solution

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

0 Kudos
Message 1 of 3
(2,565 Views)

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.

0 Kudos
Message 2 of 3
(2,540 Views)
Solution
Accepted by topic author Mex_J

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.

 

 

0 Kudos
Message 3 of 3
(2,518 Views)