Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

How does NI support CANopen devices?

In what way does NI CAN card support CANopen architecture?How do i implement CANopen architecture using available NI CAN cards?
Kindly give me some suggestions!


0 Kudos
Message 1 of 4
(7,468 Views)
Hi Sahana,

The CANopen architecture is simply a level of abstraction on top of CAN. This is just like DeviceNET. It runs on the CAN hardware, but the application layer looks a little different. As far as what we support at NI, we would support the CAN communication on the hardware level. We could install NI-CAN and make sure that you can send and receive through MAX (Measurement and Automation Explorer). We would not provide any support for the CANopen API.

Hope this helps!

Matthew S.

LabVIEW Integration Engineer with experience in LabVIEW Real-Time, LabVIEW FPGA, DAQ, Machine Vision, as well as C/C++. CLAD, working on CLD and CLA.
0 Kudos
Message 2 of 4
(7,442 Views)

It´s relatively simple to build your own CANopen VI`s based on the NI CAN driver from NI.  Attached you will find two examples to communicate with CANoppen devices. The first example (CANopen Demo.llb) shows how to build a COB ID and using this ID to communicate with SDO and PDO messages. The second example (CANopen-Sensor.llb) communicates with a single device using  a special command message  to trigger the data transfer from the device.

Hope that helps.

Message 3 of 4
(7,434 Views)
Dear,
 
NI-CAN puts all the data in arrays of U8 and in your example you have made some sub-vi's to encode & decode this data. Can I ask you where you have found these mathematical operations you apply to encode from U8 to 'analog'. Somewhere down the road you multiply with 32767 (which is almost 2^15) and divide by 10 and vice versa.
I understand the part where you switch the bytes from little to big endian. From there on its a bit fuzzy to me...
I also need (I'm using CANopen for my thesis) to convert to and from string (visible_string & octet_string). Do you perhaps have an example of those conversions too?
 
thanks in advance
0 Kudos
Message 4 of 4
(7,366 Views)