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.
Tried to upload the eds file, but im not allowed to upload anything as i’m a new user. Do you need to know something specific so i can take a screenshot or so?
Need to create a AS4 project because i’m working on AS6 atm. Will come back on this in a short time.
Update 28-04. See attached .zip file for the eds.
HE-924097-0001.zip (3.5 KB)