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
> 
> 

Attachment: 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

Reply via email to