[Etherlab-users] strange behaviour with sdo configuration

Graeme Foot Graeme.Foot at touchcut.com
Thu Oct 14 23:36:15 CEST 2021


Hi Vincent,

I don't have a module to play with so no real idea.  But here's some thoughts:

1) The Beckhoff esi file "Beckhoff EL5xxx.xml" file shows setting the value in index 4339:5 to 0000 on transition from Init to PreOp:
            <InitCmd>
              <Transition>IP</Transition>
              <Index>4339</Index>
              <SubIndex>5</SubIndex>
              <Data AdaptAutomatically="1">0000</Data>
            </InitCmd>

You could try setting this value before activating your master.  I think 4339 is decimal so relates to 0x10F3:05.

0x10F3:05 is the Diagnostics Flags value.  This is 0x0001 by default which reports the presence of a DiagMessage as an emergency.


2) The module supports diagnostics.  Check the Diagnostic messages for issues during the startup with and without the SDO configs.


3) On first application start from a cold boot, without any of the SDO config calls, check the dmesg log for any errors with assigning the PDO's for the module.  It may be that if PDO errors are encountered along with the SDO config calls the module stays in PREOP + Error.  But without the SDO config calls it may get to OP OK.

On the second start the PDO's will already have been changed so the master / slave won't report any errors (even though the module will ignore the changes internally as they are fixed PDO's).  Due to no PDO errors being reported the second time it may be why the SDO config calls succeed.


Regards,
Graeme.


From: Etherlab-users <etherlab-users-bounces at etherlab.org> On Behalf Of BUSSIERES Vincent
Sent: Friday, 15 October 2021 09:11
To: etherlab-users at etherlab.org
Subject: [Etherlab-users] strange behaviour with sdo configuration

Dear Etherlab users,



I bought a Beckhoff EtherCAT Terminal, 2-channel encoder interface EL5102. This product has just been released.

I encounter problems when I configure sdos with < ecrt_slave_config_sdo8 > or < ecrt_slave_config_create_sdo_request > functions called before < ecrt_master_activate > as for my other slaves.

This slave doesn't switch at the OP State and stay in PRE-OP State with error < E > :



"1 0:1 PREOP E EK5102 2K. Inc. Encoder 5V (RS422, TTL)"



I noticed that when I comment sdo configuration methods and run my application, slave switches to OP State.

After being switched one time to OP, if I uncomment configuration methods and run once again my application, slave behaviour seems to be OK, slave switches to OP State.



I don't understand why after the fisrt boot, there is such a problem ?



Could you help solving this problem ?



Best regards
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.etherlab.org/pipermail/etherlab-users/attachments/20211014/612d0d15/attachment.htm>


More information about the Etherlab-users mailing list