LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I read the same data on multiple PC using CANOpen?

I am using NI PCI-8513/2 with the NI-CAN emulation layer and LabVIEW 8.5.1 to talk to a CANOpen device.

 

I have used LabVIEW for many years but am new to CANOpen.

 

I have quite quickly managed to work out how to get one PC talking to the device. However, for the real application I require multiple PCs (initially three) to read the data. It is not clear to me whether I can use NMT from one PC to get the device awake, and then use PDO from all three PCs to read the data?

 

Guidance would be much appreciated

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

Hi Mark,

 

With this communication based on CAN whilst all of the data is available on the network arbitration IDs are still used to address the individual PCs so I believe you will need to explicitly send the data to each PC to get the data across all three.  The other option would be to have one PC acting as a data server making the data available through a network interface such as shared variables.  This may be simpler to implement and also easier should you need to scale it up.

 

Regards,

James Mc
========
CLA and cRIO Fanatic
My writings on LabVIEW Development are at devs.wiresmithtech.com
0 Kudos
Message 2 of 3
(2,474 Views)

You are correct. On a CAN network all nodes receive every message, so you can setup each PC's adapter to accept the device's PDO. There may also be some advantage to having all of the PC's send the NMT message to put the device into the operational state (not just a dedicated one), that way if one of the PC's is down it won't effect the operation of the others: there's no harm in sending the message even if the device is already in operational mode, it will just be ignored by the device.

 


Frank
Smart Electronics Corp.

 

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