CODESYS - the IEC 61131-3 automation software

Welcome to the official CODESYS Forum by 3S-Smart Software Solutions GmbH | A member of the CODESYS Group
Deutsche Version English version russian version 
It is currently Thu Jul 18, 2019 6:51 pm

All times are UTC+01:00




Post new topic  Reply to topic  [ 7 posts ] 
Author Message
PostPosted: Mon May 13, 2019 1:45 pm 
Offline

Joined: Mon Nov 19, 2018 4:16 pm
Posts: 7
Hi All,

I have connected an an EL6751 CANopen Master to an CANopen slave device.

Attachment:
Codesys_ethercat_overview.PNG


But I keep getting the error.
Code:
NetID 0, NodeID 1: SDO Read Timeout for object 16#1000sub16#00; AbortCode: 16#05040000

If I connect a can tap I can see the outgoing message from the CANopen master and I also see the reply from the Slave device.
But for some reason Codesys keeps retrying and doesn't see the reply message from the slave.
What am I doing wrong?

Here is the output of the CAN tap:

Attachment:
CANsniffer_output.PNG


Any help would be appreciated.


Thanks,
Sander


You do not have the required permissions to view the files attached to this post.


Top
   
PostPosted: Tue May 14, 2019 5:06 pm 
Offline
Site Admin

Joined: Mon Sep 05, 2005 9:42 am
Posts: 3349
Hi,
could you set CANOPEN_DEBUG as compiler define and send the plclogger then..?
BR
Edwin


Top
   
PostPosted: Wed May 15, 2019 1:50 pm 
Offline

Joined: Mon Nov 19, 2018 4:16 pm
Posts: 7
Hi Edwin,

Thank you for you reply.
I have attached the codesyscontrol.log with the compile switch set and the output of the can listing device.
Hope this helps.


Thanks,

Sander


You do not have the required permissions to view the files attached to this post.


Top
   
PostPosted: Wed May 15, 2019 3:22 pm 
Offline
Site Admin

Joined: Mon Sep 05, 2005 9:42 am
Posts: 3349
Hi Sander,

the problem is:

EL6731 has a new Firmware and we will adapt this to 3.5SP15 release.

The Workaround is:
Description:
Newer EL6751 firmware versions do not work (e.g. Rev.Nr. >= 0022).
Driver does not receive CAN messages.
New firmware version >= 17 need an additional CoE parameter with index 0x8001.
From Beckhoff documentation:

Index 8001 CAN Rx filter table
From firmware 17 of the EL6751, parameter 0x8001 must be written with valid values.
If all data are to be written into the CAN interface, the following must be entered:
For 11 bit and 29 bit identifiers:
0x8001: 01 00 00 00 00 00 00 FF FF FF 1F
For 11 bit identifiers
0x8001: 01 00 00 00 00 00 00 00 FF 07 00 00


BR
Edwin


Top
   
PostPosted: Wed May 15, 2019 5:55 pm 
Offline

Joined: Mon Nov 19, 2018 4:16 pm
Posts: 7
Hi Edwin,

Thank you for your reply. But I am relative new to codesys.
So I am not sure how to do this. I assume this can added to the EL6751 device startup parameters.
So I added a new SDO like in the picture:
Attachment:
sdo_startup_parameter.PNG


But I think I am not doing this correctly:

From the log I am getting error during writing of the 8001:

Code:
1557946548, 0x00001001, 2, 0, 9, <NetID>0</NetID><Busstate>UNKNOWN</Busstate>
1557946548, 0x00001001, 1, 0, 68, <NetID>0</NetID>
1557946548, 0x00001001, 1, 0, 69, <NetID>0</NetID>
1557946548, 0x00001005, 1, 0, 0, Networkadapter opened
1557946548, 0x00001005, 1, 0, 0, Preparation successfull
1557946548, 0x00001005, 1, 0, 0, Read slave informations
1557946549, 0x00001005, 1, 0, 0, Set physical addresses
1557946549, 0x00001005, 1, 0, 0, All slaves init mode
1557946549, 0x00001005, 1, 0, 0, prepare slaves
1557946549, 0x00001005, 1, 0, 0, All slaves pre-operational
1557946549, 0x00001005, 1, 0, 0, Configure distributed clock settings
1557946549, 0x00001005, 1, 0, 0, Synchronize Slaves
1557946549, 0x00001005, 1, 0, 0, Set safe operational
1557946549, 0x00001005, 4, 0, 0, SDO write error Address: 1002 Index: 16#8001 SubIndex: 0 Result: 16#06020000
1557946549, 0x00001005, 1, 0, 0, SDO write ok: Address: 1002 Index: 16#F800 SubIndex: 0 Result: 16#00
1557946549, 0x00001005, 1, 0, 0, SDO write ok: Address: 1002 Index: 16#8000 SubIndex: 0 Result: 16#00
1557946549, 0x00001005, 1, 0, 0, All slaves safe-operational
1557946549, 0x00001005, 1, 0, 0, Set operational mode
1557946549, 0x00001005, 1, 0, 0, All slaves operational
1557946549, 0x00001005, 1, 0, 0, Startup finished: All slaves in operational !
1557946549, 0x00001001, 1, 0, 38, <NetID>0</NetID>


Any advise on how to do this.

Thanks,
Sander


You do not have the required permissions to view the files attached to this post.


Top
   
PostPosted: Thu May 16, 2019 6:57 am 
Offline
Site Admin

Joined: Mon Sep 05, 2005 9:42 am
Posts: 3349
Hi Sander,

sorry yes, here is an image needed to understand how this works.

BR
Edwin


You do not have the required permissions to view the files attached to this post.


Top
   
PostPosted: Thu May 16, 2019 10:34 am 
Offline

Joined: Mon Nov 19, 2018 4:16 pm
Posts: 7
Hi Edwin,

So I am still getting a write error.

Code:
1558005963, 0x00001001, 2, 0, 7, <NetID>0</NetID>
1558005963, 0x00001001, 2, 0, 9, <NetID>0</NetID><Busstate>UNKNOWN</Busstate>
1558005963, 0x00001001, 1, 0, 68, <NetID>0</NetID>
1558005963, 0x00001001, 1, 0, 69, <NetID>0</NetID>
1558005963, 0x00001005, 1, 0, 0, Networkadapter opened
1558005963, 0x00001005, 1, 0, 0, Preparation successfull
1558005963, 0x00001005, 1, 0, 0, Read slave informations
1558005963, 0x00001005, 1, 0, 0, Set physical addresses
1558005963, 0x00001005, 1, 0, 0, All slaves init mode
1558005963, 0x00001005, 1, 0, 0, prepare slaves
1558005963, 0x00001005, 1, 0, 0, All slaves pre-operational
1558005963, 0x00001005, 1, 0, 0, Configure distributed clock settings
1558005963, 0x00001005, 1, 0, 0, Synchronize Slaves
1558005963, 0x00001005, 1, 0, 0, Set safe operational
1558005963, 0x00001005, 4, 0, 0, SDO write error Address: 1002 Index: 16#8001 SubIndex: 0 Result: 16#06020000
1558005963, 0x00001005, 1, 0, 0, SDO write ok: Address: 1002 Index: 16#F800 SubIndex: 0 Result: 16#00
1558005963, 0x00001005, 1, 0, 0, SDO write ok: Address: 1002 Index: 16#8000 SubIndex: 0 Result: 16#00
1558005963, 0x00001005, 1, 0, 0, All slaves safe-operational
1558005963, 0x00001005, 1, 0, 0, Set operational mode
1558005963, 0x00001005, 1, 0, 0, All slaves operational
1558005963, 0x00001005, 1, 0, 0, Startup finished: All slaves in operational !
1558005963, 0x00001001, 1, 0, 38, <NetID>0</NetID>
1558005967, 0x00001001, 2, 0, 9, <NetID>0</NetID><Busstate>PASSIVE</Busstate>


Do you have any idea?

Thanks,

Sander


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 7 posts ] 

All times are UTC+01:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited