Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

CANopen troubles

I'm having trouble communicating with a CANopen module (Selectron AIC711) I have here. I doesn't seem to respond to any message I send to it, and I'm starting to wonder if it has a malfunction (or if I've misunderstood the CANopen concept completely...). I'm using the Frame API in Labwindows/CVI. Is there any message I can send that should give a response no matter what? Would be nice to have the exact data bytes and arbitration ID (the module has ID == 2).

Any other enlightening or possibly useful comments regarding CANopen and/or the described problem is also appreciated.
 
Best regards,
Halvor Lund
0 Kudos
Message 1 of 2
(3,982 Views)
Hi Halvor,
 
Attached you will find an EXE file for a LabVIEW program which reads the manufacturer device name (1008h) using CANopen SDO transfer.
Adjust the Node ID and the CAN Port to fit your needs and run the program. If it works , then your device should be ok if not contact the device support.
 
What the program does is : 1. Initializing every device in the network to the NMT preoperational state to use PDO communication. (COB ID = 0, First Byte = 128, Sec. Byte = 0)
2. Write the SDO Request ( SDO tx =601h + node ID, First Byte = 40h, Sec. Byte = 8h, Third Byte = 10h, Fourth Byte = 0)
3. Wait for Transmit success
4. Read the SDO Answer (SDO Rx = 581h + node ID, the answer comes in Hex values and can be translated to ascii strings)
5. Stop the Communication using the NMT Stop Command. (COB ID = 0, First Byte = 2, Sec. Byte = 0)
 
Hope that helps.
Message 2 of 2
(3,941 Views)