Error when CANOpen Master tries to read parameter 1000h

Greetings,

I’m using a CANOpen Master (X20IF1041-1). I noticed that even with the option “Compare the configured Profile and Type Object 1000h with real value” disabled in the master configuration, the command is still sent through the network (I used PCAN View for monitoring).

Since the slave I’m trying to communicate does not have this object available, I’m getting the “SDO Timeout error”, and the master keeps sending the slave to pre-operational state.

Is it really possible to disable the reading of the address 1000h? If yes, then how?

Hi,

according to CiA DS301 object 1000h is mandatory:

So if your device does not have this object, then it is not a CANopen device but ‘something similar’.

You should therefore perhaps contact the manufacturer.

If it is a very simple device, then you could control it yourself with CANlib or the ARCan library.

Hello, thanks for the reply.

Could you confirm if those 2 libraries can be used for the IF1041-1 interface?

I tried run some examples provided within those libraries, but I am getting errors rearding the initialization of the CAN interface (e.g. “-1070584148: Invalid DeviceName”).

I tested the same code on a CPU with a built-in CAN interface and it worked. So I’m assuming those libraries don’t work with the aforementioned hardware.

ArCAn and CANLib cannot be used for a X20IF1041-1
The mentioned libraries are for plain CAN interfaces - in your case you would need a X20IF1070 or X20IF2772 which offer a plain CAN interface to be able to use this two libraries.

The X20IF1041-1 is a CanOpen master interface and the library for this would be the AsNxCoM library but still you would face the same issue with the 1000h object.
I agree on @christoph.hilchenbac that this object is a mandatory one and if you slave does not support it then it is no “real” CanOpen slave

It is very likely that not even the CANopen- Master for the built-in CAN interfaces will have a different behaviour.

In the ‘good old days’ when this one wasn’t available the above mentioned CANlib was used for controlling CANopen devices.

There was a discussion about to use a self-made CANopen- Master in this post: