An X20IF1041-1 CANopen master still reads object 1000h when Compare the configured Profile and Type Object 1000h with real value is disabled. If the slave does not implement that object, the read produces an SDO timeout and the master returns the slave to pre-operational state. The available evidence identifies no supported X20IF1041-1 setting that suppresses this read.
Observed behavior and configuration scope
Network monitoring shows that disabling the comparison option does not disable the request for object 1000h. Treat the option as controlling value comparison, not object access. The exact internal reason for the continued read is not established, but the transmitted request and resulting timeout are directly observed.
| Condition | Observed result | Engineering conclusion |
|---|---|---|
| Object 1000h comparison disabled | The master still sends the read | The option does not suppress object access |
| Slave lacks object 1000h | SDO Timeout error | The master cannot complete its expected access |
| Timeout occurs | Slave is repeatedly sent to pre-operational | Normal startup cannot complete with this device profile |
Root cause: missing mandatory object
CiA DS301 identifies object 1000h as mandatory. A device that omits it does not satisfy the cited CANopen device requirement, even if it uses CAN frames or implements part of the protocol. The corrective path is therefore to make the slave expose object 1000h or obtain a compliant implementation from its manufacturer, rather than attempting to bypass the master check.
Interface and library constraints
The X20IF1041-1 is a CANopen master interface, not a plain CAN interface. ArCAN and CANLib therefore cannot be used with it; initialization attempts can report -1070584148: Invalid DeviceName. The AsNxCoM library applies to the X20IF1041-1, but the evidence indicates that it still encounters the same object 1000h issue.
If direct frame-level control is required for a simple noncompliant device, the identified plain CAN interface options are X20IF1070 and X20IF2772. That approach changes the interface and requires the application to control the device protocol instead of relying on the X20IF1041-1 CANopen master.
Resolution procedure
- Capture the startup exchange and confirm that the failed SDO request targets object 1000h.
- Verify from the slave object dictionary or manufacturer documentation whether object 1000h exists.
- If the object is absent, request a CANopen-compliant slave implementation that provides it.
- If the device cannot be changed, replace the CANopen master interface with an identified plain CAN interface and implement the required device communication using CANLib or ArCAN.
- Repeat startup verification. Confirm that the SDO timeout no longer occurs and that the device is not repeatedly returned to pre-operational state.
FAQ
Can I disable the X20IF1041-1 read of CANopen object 1000h?
The available evidence identifies no supported method to disable that read. Clearing the comparison option stops neither the request nor the resulting timeout when object 1000h is absent.
Why does reading object 1000h cause an SDO Timeout error?
The slave does not provide object 1000h, so it cannot complete the master's access. CiA DS301 identifies this object as mandatory for the cited CANopen device profile.
Can CANLib or ArCAN run on the X20IF1041-1?
No. Those libraries require a plain CAN interface; the identified alternatives are X20IF1070 and X20IF2772. Use AsNxCoM with the X20IF1041-1, but it does not remove the object 1000h compatibility problem.