Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

CAN 9853 on cRIO 9075 - How to transfer I16-Data?

Solved!
Go to solution
Highlighted

I would like to send data of type I16 with CAN. CAN only has data of U8.
The example projects "CAN Signals Transmit" has the error "XNET Create Session.vi loaded with errors on the target and was closed.
LabVIEW: Failed to load shared library nixlvapi. *: NixlvSessionManualCreate: C. Ensure that the library is present on the RT target. Use either MAX to install NI software or FTP to transfer the custom libraries to the RT target. "

But I will not send any DBL anyway. I don't need any API. I can build the frames but how to convert I16 to U8 for CAN.
The request is to send data of type I16 over CAN.
RT: cRIO9075 with NI CompactRIO 16.0
CAN module 9853
And why does a CAN frame of NI have 192 bits, although the extendet format has 128 bits. How can this be compatible with other devices that receive these frames.

/edit: Now I understand the conversion of the data, I think in the picture. But the question of the frame length remains.I16U8I16.JPG

0 Kudos
Message 1 of 6
(276 Views)

Also the typecast is an option. U8 array to I16 or I16 array for more values.

 

For the extra bits, does it include a timestamp? 

 

Will you do some of it in FPGA?

0 Kudos
Message 2 of 6
(256 Views)

I don't need a timestamp.

The module 9853 must be controlled via the FPGA.

CAN_Host.JPGHost to FPGACAN_FPGA_9853.JPGFPGA to CAN

0 Kudos
Message 3 of 6
(249 Views)
Solution
Accepted by topic author Rokot
02-26-2019 11:51 PM

Maybe something like this would do?

FPGA CAN.jpg

Skipped making the fifo, as i was lazy 

Message 4 of 6
(239 Views)

What is more useful? Summarize the CAN frame in the host and send the frame to the FPGA.
Or send the signals to FPGA and put together the frame there?

0 Kudos
Message 5 of 6
(223 Views)

If you have space in the FPGA, do most there and align data in FIFO to be easy for the CPU.

If address is fixed or not changing fast ( let's say fast is 10 ms), only send I16 data over FIFO, and send it to CAN as it comes in from FIFO, or in chunks if more datagrams is needed. Does it makes sense?

 

0 Kudos
Message 6 of 6
(205 Views)