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@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 > > > > >
signature.asc
Description: This is a digitally signed message part
-- Etherlab-users mailing list Etherlab-users@etherlab.org https://lists.etherlab.org/mailman/listinfo/etherlab-users