[Etherlab-users] Failing to configure PDOs of a MTS Temposonics V slave
Andreas Stewering-Bone
andreas.stewering-bone at gmx.de
Mon Sep 26 10:49:17 CEST 2022
Dear Joachim,
No, that is not what I meant.
Take a simple Beckhoff terminal like EL1004
Do a
ethercat -m0 -p2 cstruct
on it.
You will see some PDos and PDo-Entries.
The cstruct output of the MTS sensor is empty.
You will have to fill it with PDos and PDo-Entries in your C++
application.
After this the master can configure the PDos on the slave
automatically.
So no need to configure it via sdo call.
Best regards
Andreas
Am Montag, dem 26.09.2022 um 08:35 +0000 schrieb Joachim Sällvin:
> Hi Andreas,
>
> Thank you for your reply.
>
> I've tried to configure from the c++ application (is this what you
> meant?) using:
>
> ecrt_slave_config_sdo8( slave_config, 0x1C13, 0, 0 ); //
> clear sm pdo 0x1c13
> ecrt_slave_config_sdo8( slave_config, 0x1A00, 0, 0 ); //
> clear TxPdo 0x1A00
> // Define TxPdo
> ecrt_slave_config_sdo32( slave_config, 0x1A00, 1,
> 0x31010010 ); // Status
> ecrt_slave_config_sdo32( slave_config, 0x1A00, 2,
> 0x31010020 ); // Pos
> ecrt_slave_config_sdo32( slave_config, 0x1A00, 3,
> 0x31010020 ); // Velocity
> ecrt_slave_config_sdo8( slave_config, 0x1A00, 0, 3 );
> // Number of PDO entries for 0x1A00
> ecrt_slave_config_sdo16( slave_config, 0x1C13, 1, 0x1A00 );
> // TxPdo in 0x1C13:1
> ecrt_slave_config_sdo8( slave_config, 0x1C13, 0, 1 );
> // Number of TxPDO
>
> But I get this in the log:
>
> Sep 26 10:10:06 ctrlPC5 kernel: [253808.144369] EtherCAT ERROR 0-2:
> SDO download 0x1A00:00 (1 bytes) aborted.
> Sep 26 10:10:06 ctrlPC5 kernel: [253808.144372] EtherCAT ERROR 0-2:
> SDO abort message 0x06010002: "Attempt to write a read-only object".
> Sep 26 10:10:06 ctrlPC5 kernel: [253808.144373] EtherCAT ERROR 0-2:
> SDO configuration failed.
>
>
> Is there something that needs to be enabled in order to configure?
>
> The device seems to be configured for one magnet:
> ethercat -m0 -p2 upload 0x2000 0x0b replies with 0x01 1
>
>
> Best regards,
>
> Joachim
>
>
>
>
>
>
> Från: Andreas Stewering-Bone
> Skickat: Måndag, 26 september 2022 08:30
> Till: Joachim Sällvin; etherlab-users at etherlab.org
> Ämne: Re: [Etherlab-users] Failing to configure PDOs of a MTS
> Temposonics V slave
>
> Dear Joachim,
>
> The master configures the specific slaves during application
> startup.
> So no need to do it manually.
>
> The PDO mapping for this slave is dynamically,
> because you can configure the number of measurment magnets.
> Please read the sensor EtherCAT documentation and the XML slave
> description.
> With this information you can extend the cstruct to configure the
> specific PDO mapping.
> Please see the user space example in the master git repo.
>
> Best regards
>
> Andreas
>
> Am Sonntag, dem 25.09.2022 um 17:08 +0000 schrieb Joachim Sällvin:
> > Hi all,
> >
> > Any ideas on how to configure the pdos of a MTS Temposonics slave?
> > A brand new linear position sensor that doesn't seem to have any
> > default configuration. Shouldn't it be possible to configure it
> > from the command line?
> > When I try I get:
> >
> > SDO transfer aborted with code 0x08000000: General error (see
> > details below), why?
> >
> >
> > Some information about the system
> > ethercat slaves
> > Master0
> > 0 1402:0 PREOP + ifm IO-Link Master AL1332
> > 1 1401:0 PREOP + S300/S400/S600/S700 EtherCAT Drive (CoE)
> > 2 1403:0 PREOP + MTS Device V
> > 3 1444:0 PREOP + ifm IO-Link Master AL1332
> >
> > ethercat -m0 -p2 cstruct/* Master 0, Slave 2, "MTS Temposonics V"
> > * Vendor ID: 0x00000040
> > * Product code: 0x0000000f
> > * Revision number: 0x00000029
> > */
> >
> > ec_sync_info_t slave_2_syncs[] = {
> > {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},
> > {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},
> > {2, EC_DIR_OUTPUT, 0, NULL, EC_WD_ENABLE},
> > {3, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},
> > {0xff}
> > };
> >
> >
> > ethercat -m0 -p2 pdosSM0: PhysAddr 0x1000, DefaultSize 128,
> > ControlRegister 0x36,
> > Enable 1
> > SM1: PhysAddr 0x1080, DefaultSize 128, ControlRegister 0x32,
> > Enable 1
> > SM2: PhysAddr 0x1100, DefaultSize 0, ControlRegister 0x74,
> > Enable 1
> > SM3: PhysAddr 0x1400, DefaultSize 448, ControlRegister 0x30,
> > Enable 1
> >
> > ethercat -m0 -p2 sdos
> > .....
> > SDO 0x1a00, "Magnet 1"
> > 0x1a00:00, r-r-r-, uint8, 8 bit, "Number of elements"
> > 0x1a00:01, rwrwrw, uint16, 16 bit, "Status"
> > 0x1a00:02, rwrwrw, uint32, 32 bit, "Position"
> > 0x1a00:03, rwrwrw, uint32, 32 bit, "Velocity"
> > 0x1a00:04, rwrwrw, uint32, 32 bit, "Acceleration"
> > ......
> > SDO 0x1c13, "Sync Manager TxPDO Assign"
> > 0x1c13:00, rwrwrw, uint8, 8 bit, "Number of elements"
> > 0x1c13:01, rwrwrw, uint16, 16 bit, ""
> > 0x1c13:02, rwrwrw, uint16, 16 bit, ""
> > 0x1c13:03, rwrwrw, uint16, 16 bit, ""
> >
> >
> > I thought I could do like this
> > sudo ethercat -m0 -p2 download 0x1C13 0 -tuint8 0 # Clear SM
> > PDO 0x1c13
> > sudo ethercat -m0 -p2 download 0x1A00 0 -tuint8 0 #
> > Clear TxPDO 0x1A00
> > ethercat -m0 -p2 download 0x1A00 2 -tuint32 0x31010020
> > SDO transfer aborted with code 0x08000000: General error
> >
> > dmesg
> > Failed to process SDO request.
> > EtherCAT ERROR 0-2: SDO download 0x1A00:02 (4 bytes) aborted.
> > EtherCAT ERROR 0-2: SDO abort message 0x08000000: "General error".
> > EtherCAT ERROR 0-2: Failed to process SDO request.
> >
> >
> > Thanks,
> >
> > Joachim Sällvin
> >
> > Joachim Sällvin
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20220926/3dd6340a/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: This is a digitally signed message part
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20220926/3dd6340a/attachment.sig>
More information about the Etherlab-users
mailing list