Industrial Communications

cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping PDO IDs to a CAN message

Hi.

 

I am currently a student software engineer and I am 3 months into my placement, so I am new to CAN. I now need to learn CANopen and others have no knowledge of this.

 

My project consists of using the CAN bus to transmit and receive data from a CANopen device that controls/reads digital I/Os and Analog inputs.

 

I currently have a CAN database with three CAN messages, a can message for Digital Inputs, one message for Digital Outputs and another message for Analog Inputs.

In each of these messages I have a single signal to control/read each channel within the I/O modules.

 

The CANopen deivce I am using is: http://www.icpdas.com/root/product/solutions/industrial_communication/fieldbus/canopen/io_module/can...

 

This company supplies a software tool that configures this device. When I configured the device it generated TxPDOs and RxPDOs with indexes and sub-indexes. I dont understand this at all, and I have been reading 3 different manuals to help me understand this, but still no luck.

 

I have attached a document with all the information(indexes etc) that the software tool generated. When you see the numbers:

- 87057 (Digital Output module)

-87056 (Digital input module)

-87017 (Analog Input module)

these are the names of my I/O modules that slot into the CANopen hardware chassis.

Note: I have 2 87057 modules.

 

So to conclude, I need to identify which ID to use as the message ID in the CAN database. Also, which bytes in the data field represent which signals etc.

 

I have read the arbitration ID should be used for the message ID, if so how do I find this ID?

 

I thank you all in advance.

 

Regads,

JD

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

Hi JD_1995

 

This forum is mostly related to questions about using National Instruments Industrial Communications Products for which some of them support CANopen. 

I don’t have any experience with your particular CANopen device but it looks like you have just a general question about CANopen and how it functions. I understand you read 3 manuals already but they were perhaps on higher level then you need to know in order to understand the protocol. I would recommend looking over something that is less complex so you can get a feel of CANopen and how it works.

 

I suggest starting here: http://www.ni.com/white-paper/14162/en/

 

Also when dealing with protocols it's good idea to familiarize yourself with the OSI model. It will give you a better understanding where you "stand" with problem at hand.

 

After you have an understanding of how CAN frame breaks down to CANOpen then you can examine your CAN frame and identify which index and subindex are being addressed.

 

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