SDO server configuration TPDO1 COB-id

Hello there,

Just working on a project with CAN-Open interface. I’m using the CAN-open master interface from AS, hardware is a X90CP174. Using the CAN-1 interface where you can configure a CAN-open master. I added a Hydac HNT1100 CAN-open sensor which is configured by a SDO download at startup.

Problem is configuring the COB-ID of TPDO1 at index 1800, subindex 1. Automation studio is requesting multiple times this index with different index. Could anyone give explanation at CAN-communication below, and if have some settings wrong in AS? I’m using AS6.

Time PGN Databyte 0 Databyte 1 Databyte 2 Databyte 3 Databyte 4 Databyte 5 Databyte 6 Databyte 7
10832.6 0602 40 00 18 01 00 00 00 00 Read request
10833.8 0582 43 00 18 01 82 01 00 00 Read response
10852.6 0602 23 00 18 01 82 01 00 80 Write request
10853.8 0582 60 00 18 01 00 00 00 00 Write response succesfull
10902.6 0602 23 00 18 01 82 01 00 40 Write request
10903.8 0582 80 00 18 01 30 00 09 06 Write response unsuccesfull
10922.6 0602 40 00 18 01 00 00 00 00 Read request
10923.8 0582 43 00 18 01 82 01 00 C0 Read response
11022.6 0602 23 00 18 01 82 01 00 C0 Write request
11023.8 0582 60 00 18 01 00 00 00 00 Write response succesfull

Because of B&R controller is requesting COB-ID 0xC0000182, PDO communication is disabled. Not sure why Hydac sensor is not accepting 0x40000182 at the last request, but in my opinion B&R should not ask that much requests for index 0x1800, right?

Thanks in advance.

Hello,

is the AsCanOpen library also used to send SDOs to the device, or is this communication only from the onboard CanOpen master?

the process is as follows: First, index 1800 sub-1 is read (Databyte0 = 40).
Then TPDO1 is deactivated with a write command (Databyte0 = 23 and Databyte7 = 80).
This is followed by another write command to reactivate TPDO1, but with RTR (Databyte0 = 23 and Databyte7 = 40).
This write command, however, is acknowledged with an error message (Databyte0 = 80 and 0609 0030h Value range of parameter exceeded).

At the end, index 1800 is read again and deactivated again.

I’m not familiar with such behavior. You have to examine the eds file and look at the application.

Regards,
Stephan

Hello Stephan,

I’m using the onboard CanOpen master. Therefore this behavior looks strange to me. In the configuration is set the COB-ID to $NODEID+0x180, whereas nodeid is 2.

I dont understand why its changing index 0x1800 so much times. only 1 time should be okay right? First write was successfull so that should be enough. I bellieve the SDO-write at 10902.6 is unsuccessfull because its a default value, but i’m not sure about it.

Are there other types which could be configured or I should look at in the eds file or so?

Hallo Geert,

I’m not familiar with this behavior, but I’m still working with AS4.12. Can you create a test project with AS4 and Runtime 4 and test the behavior there?

Gruss
Stephan

Feel free to attach your eds file here. I’ll take a look at it.