LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronization of two CAN-cards via RTSI?

Hello!

We have two CAN-cards of the type "NI PCI-CAN/XS2, 2-PORT". We have made a program for one card and now we putted the other card into the computer. Then we connected theese via a RTSI-bus. Is there something one has to complement with to get synchronization via the RTSI-bus? Because the program does not work now after we putted the other card and the RTSI in. Any idea?

Best regards and thank you.
0 Kudos
Message 1 of 14
(3,990 Views)
Hello Ex-jobb

As I mentioned in this thread, there is some programming/configuration involved.

Basically you need to route a common clock signal and a start signal to/from the RTSI port. With two CAN cards, take a look at the ‘CAN Start Multiple with NI-DAQmx’ VI (from the LV palettes - it will also work for just multiple CAN cards). Open the diagram, change the second case to ‘Series 2’ and open the ‘CAN Start Multiple Series 2 with NI-DAQmx’ VI.
Inspect the VI; you can ignore the cases for DAQ. This should give you a pretty good idea, how the routing needs to be done.

Regards,
-B2k
0 Kudos
Message 2 of 14
(3,981 Views)
Hello!

Thank you for your help! Where can we find the VI you suggested that we should take a look at? We have been searching for it but have not found it... is it an example or a VI?

Thank you again! Best regards.
0 Kudos
Message 3 of 14
(3,974 Views)
Hello Ex-jobb

Open the functions palette in LabVIEW and navigate to:
NI Measurements » CAN » Channel API » CAN/DAQ Synchronization

Regards,
-B2k
0 Kudos
Message 4 of 14
(3,973 Views)
Hello again!

Thank you for your help! We are using the Frame API... but this is in the Channel API section... is there no way to solve this with the Frame API? We are using this because it is more useful for us...

Thank you again for your answer! Best regards.
0 Kudos
Message 5 of 14
(3,962 Views)
Now we are using the CAN-DAQ RTSI Config.vi right now... is this a good idea? And can we get any ideas from any examples in LabVIEW maybe? We would rather like to use the Frame API than the Channel API...

Thank you and best regards!
0 Kudos
Message 6 of 14
(3,961 Views)
Hello again!

We have been looking at the example "DAQ-AO CAN-Receive.vi"... and then we use only the "C Config RTSI" VI... can we look at this example in some way? Thank you and best regards.
0 Kudos
Message 7 of 14
(3,958 Views)
Anyone?
0 Kudos
Message 8 of 14
(3,944 Views)
Hello Ex-jobb

The synchronization examples for the Frame API are somewhat advanced but don't cover the basic grounds. Basically, they allow you generate/receive an event based trigger pulse. A generally easier approach is the sharing of a clock signal, however this is only supported through the relatively new ncConnectTerminals and ncDisconnectTerminals VIs, for which there are no examples existing yet. Their functionality is very similar to the nctConnectTerminals and nctDisconnectTerminals Vis of the Channel API that why I referenced them (as an example to see how they are used).
Like I said in the other thread, it would be easier to judge what synchronization options work best for your application, I you could describe the desired behavior of your application in a few words.

Regards,
-B2k
0 Kudos
Message 9 of 14
(3,936 Views)
Hello!

Thank you for your answer! A description of our system: We have two CAN-cards and we are using a RTSI-cable for synchronisation. We only want to listen to the messages that is sent via the CAN-bus. We are not "allowed" to send any commands ourselves. There are four can-ports and each can-port is connected to an own source. (that is sending messages). So when we are receiving the messages we want them to be at the right time independent of the source and eachother.

After we get the messages we are writing them on a chart all of them together.

Does this make sense to you, or is more clear what we need?

Thank you for your help and best regards!
0 Kudos
Message 10 of 14
(3,931 Views)