[etherlab-users] Beckhoff encoder interface EL5101-0010 mapping issue

Richard Hacker ha at igh.de
Thu May 14 16:26:38 CEST 2020


Did you map the inputs (RxPDO)? I remember that you must map them as 
well, even though you might not need them!

Am 14/05/2020 um 16.17 schrieb BUSSIERES Vincent:
> Dear Etherlab users,
> 
> I have got problems with Beckhoff encoder interface EL5101-0010 PDO mapping.
> 
> I try to map only TxPDO 0x1a01 (SM3), I haven’t got any errors in init, 
> everything seems to be fine.
> 
> I read encoder value in a loop with 1ms period, return value is always 0.
> 
> In dmesg, slave doesn’t reach OP state,  and stay in PREOP state.
> 
> In Ethercat xml description file, some entries have got 0x0 as index 
> value, and subindex are not completed (strange). I don’t know if I need 
> to take them into account.
> 
> <Entry>
> 
> <Index>#x0</Index>
> 
>                 <BitLen>2</BitLen>
> 
>                 <Name>Status__</Name>
> 
> </Entry>
> 
> You can see below dmesg :
> 
> [ 7033.920685] EtherCAT: Requesting master 0...
> 
> [ 7033.920686] EtherCAT DEBUG 0: IDLE -> OPERATION.
> 
> [ 7033.920687] EtherCAT: Successfully requested master 0.
> 
> [ 7034.872900] EtherCAT DEBUG 0: ecrt_master_create_domain(master = 
> 0xffff895554eb6000)
> 
> [ 7034.872901] EtherCAT DEBUG 0: Created domain 0.
> 
> [ 7035.835219] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7035.835220] EtherCAT DEBUG 0: Creating slave configuration for 0:5, 
> 0x00000002/0x13ED3052.
> 
> [ 7035.835222] EtherCAT DEBUG 0 0:5: Attached slave main-5.
> 
> [ 7036.592742] EtherCAT DEBUG 0 0:5: ecrt_slave_config_sync_manager(sc = 
> 0xffff895552309000, sync_index = 3, dir = 2, watchdog_mode = 1)
> 
> [ 7036.592745] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_assign_clear(sc = 0xffff895552309000, sync_index = 3)
> 
> [ 7036.592749] EtherCAT DEBUG 0 0:5: ecrt_slave_config_pdo_assign_add(sc 
> = 0xffff895552309000, sync_index = 3, pdo_index = 0x1A01)
> 
> [ 7036.592750] EtherCAT DEBUG 0 0:5: Loading default mapping for PDO 0x1A01.
> 
> [ 7036.592753] EtherCAT DEBUG 0 0:5: Entry 0x6000:01.
> 
> [ 7036.592754] EtherCAT DEBUG 0 0:5: Entry 0x6000:02.
> 
> [ 7036.592754] EtherCAT DEBUG 0 0:5: Entry 0x6000:03.
> 
> [ 7036.592755] EtherCAT DEBUG 0 0:5: Entry 0x6000:06.
> 
> [ 7036.592756] EtherCAT DEBUG 0 0:5: Entry 0x6000:07.
> 
> [ 7036.592756] EtherCAT DEBUG 0 0:5: Entry 0x6000:09.
> 
> [ 7036.592757] EtherCAT DEBUG 0 0:5: Entry 0x6000:0A.
> 
> [ 7036.592758] EtherCAT DEBUG 0 0:5: Entry 0x6000:0B.
> 
> [ 7036.592758] EtherCAT DEBUG 0 0:5: Entry 0x6000:0C.
> 
> [ 7036.592759] EtherCAT DEBUG 0 0:5: Entry 0x6000:0D.
> 
> [ 7036.592759] EtherCAT DEBUG 0 0:5: Entry 0x6000:0E.
> 
> [ 7036.592760] EtherCAT DEBUG 0 0:5: Entry 0x6000:0F.
> 
> [ 7036.592761] EtherCAT DEBUG 0 0:5: Entry 0x6000:10.
> 
> [ 7036.592761] EtherCAT DEBUG 0 0:5: Entry 0x6000:11.
> 
> [ 7036.592762] EtherCAT DEBUG 0 0:5: Entry 0x6000:12.
> 
> [ 7036.592764] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_clear(sc = 0xffff895552309000, pdo_index = 
> 0x1A01)
> 
> [ 7036.592767] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_add(sc = 0xffff895552309000, pdo_index = 
> 0x1A01, entry_index = 0x6000, entry_subindex = 0x01, entry_bit_length = 1)
> 
> [ 7036.592769] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_add(sc = 0xffff895552309000, pdo_index = 
> 0x1A01, entry_index = 0x6000, entry_subindex = 0x02, entry_bit_length = 1)
> 
> [ 7036.592770] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_add(sc = 0xffff895552309000, pdo_index = 
> 0x1A01, entry_index = 0x6000, entry_subindex = 0x03, entry_bit_length = 1)
> 
> [ 7036.592772] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_add(sc = 0xffff895552309000, pdo_index = 
> 0x1A01, entry_index = 0x6000, entry_subindex = 0x06, entry_bit_length = 1)
> 
> [ 7036.592773] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_add(sc = 0xffff895552309000, pdo_index = 
> 0x1A01, entry_index = 0x6000, entry_subindex = 0x07, entry_bit_length = 1)
> 
> [ 7036.592775] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_add(sc = 0xffff895552309000, pdo_index = 
> 0x1A01, entry_index = 0x6000, entry_subindex = 0x09, entry_bit_length = 1)
> 
> [ 7036.592776] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_add(sc = 0xffff895552309000, pdo_index = 
> 0x1A01, entry_index = 0x6000, entry_subindex = 0x0A, entry_bit_length = 1)
> 
> [ 7036.592778] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_add(sc = 0xffff895552309000, pdo_index = 
> 0x1A01, entry_index = 0x6000, entry_subindex = 0x0B, entry_bit_length = 1)
> 
> [ 7036.592779] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_add(sc = 0xffff895552309000, pdo_index = 
> 0x1A01, entry_index = 0x6000, entry_subindex = 0x0C, entry_bit_length = 1)
> 
> [ 7036.592781] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_add(sc = 0xffff895552309000, pdo_index = 
> 0x1A01, entry_index = 0x6000, entry_subindex = 0x0D, entry_bit_length = 1)
> 
> [ 7036.592783] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_add(sc = 0xffff895552309000, pdo_index = 
> 0x1A01, entry_index = 0x6000, entry_subindex = 0x0E, entry_bit_length = 1)
> 
> [ 7036.592784] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_add(sc = 0xffff895552309000, pdo_index = 
> 0x1A01, entry_index = 0x6000, entry_subindex = 0x0F, entry_bit_length = 1)
> 
> [ 7036.592786] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_add(sc = 0xffff895552309000, pdo_index = 
> 0x1A01, entry_index = 0x6000, entry_subindex = 0x10, entry_bit_length = 1)
> 
> [ 7036.592788] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_add(sc = 0xffff895552309000, pdo_index = 
> 0x1A01, entry_index = 0x6000, entry_subindex = 0x11, entry_bit_length = 2)
> 
> [ 7036.592789] EtherCAT DEBUG 0 0:5: 
> ecrt_slave_config_pdo_mapping_add(sc = 0xffff895552309000, pdo_index = 
> 0x1A01, entry_index = 0x6000, entry_subindex = 0x12, entry_bit_length = 2)
> 
> [ 7037.153188] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7037.153191] EtherCAT DEBUG 0 0:5: ecrt_slave_config_reg_pdo_entry(sc 
> = 0xffff895552309000, index = 0x6000, subindex = 0x01, domain = 
> 0xffff89555461e3c0, bit_position = 0xffffa33a0525bd64)
> 
> [ 7037.153193] EtherCAT DEBUG 0: Domain 0: Added 3 bytes at 0.
> 
> [ 7037.153194] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7037.153195] EtherCAT DEBUG 0 0:5: ecrt_slave_config_reg_pdo_entry(sc 
> = 0xffff895552309000, index = 0x6000, subindex = 0x02, domain = 
> 0xffff89555461e3c0, bit_position = 0xffffa33a0525bd64)
> 
> [ 7037.153196] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7037.153198] EtherCAT DEBUG 0 0:5: ecrt_slave_config_reg_pdo_entry(sc 
> = 0xffff895552309000, index = 0x6000, subindex = 0x03, domain = 
> 0xffff89555461e3c0, bit_position = 0xffffa33a0525bd64)
> 
> [ 7037.153199] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7037.153200] EtherCAT DEBUG 0 0:5: ecrt_slave_config_reg_pdo_entry(sc 
> = 0xffff895552309000, index = 0x6000, subindex = 0x06, domain = 
> 0xffff89555461e3c0, bit_position = 0xffffa33a0525bd64)
> 
> [ 7037.153201] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7037.153202] EtherCAT DEBUG 0 0:5: ecrt_slave_config_reg_pdo_entry(sc 
> = 0xffff895552309000, index = 0x6000, subindex = 0x07, domain = 
> 0xffff89555461e3c0, bit_position = 0xffffa33a0525bd64)
> 
> [ 7037.153203] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7037.153205] EtherCAT DEBUG 0 0:5: ecrt_slave_config_reg_pdo_entry(sc 
> = 0xffff895552309000, index = 0x6000, subindex = 0x09, domain = 
> 0xffff89555461e3c0, bit_position = 0xffffa33a0525bd64)
> 
> [ 7037.153206] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7037.153207] EtherCAT DEBUG 0 0:5: ecrt_slave_config_reg_pdo_entry(sc 
> = 0xffff895552309000, index = 0x6000, subindex = 0x0A, domain = 
> 0xffff89555461e3c0, bit_position = 0xffffa33a0525bd64)
> 
> [ 7037.153208] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7037.153209] EtherCAT DEBUG 0 0:5: ecrt_slave_config_reg_pdo_entry(sc 
> = 0xffff895552309000, index = 0x6000, subindex = 0x0B, domain = 
> 0xffff89555461e3c0, bit_position = 0xffffa33a0525bd64)
> 
> [ 7037.153211] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7037.153212] EtherCAT DEBUG 0 0:5: ecrt_slave_config_reg_pdo_entry(sc 
> = 0xffff895552309000, index = 0x6000, subindex = 0x0C, domain = 
> 0xffff89555461e3c0, bit_position = 0xffffa33a0525bd64)
> 
> [ 7037.153213] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7037.153214] EtherCAT DEBUG 0 0:5: ecrt_slave_config_reg_pdo_entry(sc 
> = 0xffff895552309000, index = 0x6000, subindex = 0x0D, domain = 
> 0xffff89555461e3c0, bit_position = 0xffffa33a0525bd64)
> 
> [ 7037.153215] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7037.153216] EtherCAT DEBUG 0 0:5: ecrt_slave_config_reg_pdo_entry(sc 
> = 0xffff895552309000, index = 0x6000, subindex = 0x0E, domain = 
> 0xffff89555461e3c0, bit_position = 0xffffa33a0525bd64)
> 
> [ 7037.153218] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7037.153219] EtherCAT DEBUG 0 0:5: ecrt_slave_config_reg_pdo_entry(sc 
> = 0xffff895552309000, index = 0x6000, subindex = 0x0F, domain = 
> 0xffff89555461e3c0, bit_position = 0xffffa33a0525bd64)
> 
> [ 7037.153220] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7037.153221] EtherCAT DEBUG 0 0:5: ecrt_slave_config_reg_pdo_entry(sc 
> = 0xffff895552309000, index = 0x6000, subindex = 0x10, domain = 
> 0xffff89555461e3c0, bit_position = 0xffffa33a0525bd64)
> 
> [ 7037.153222] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7037.153223] EtherCAT DEBUG 0 0:5: ecrt_slave_config_reg_pdo_entry(sc 
> = 0xffff895552309000, index = 0x6000, subindex = 0x11, domain = 
> 0xffff89555461e3c0, bit_position = 0xffffa33a0525bd64)
> 
> [ 7037.153224] EtherCAT DEBUG 0: ecrt_master_slave_config(master = 
> 0xffff895554eb6000, alias = 0, position = 5, vendor_id = 0x00000002, 
> product_code = 0x13ed3052)
> 
> [ 7037.153225] EtherCAT DEBUG 0 0:5: ecrt_slave_config_reg_pdo_entry(sc 
> = 0xffff895552309000, index = 0x6000, subindex = 0x12, domain = 
> 0xffff89555461e3c0, bit_position = 0xffffa33a0525bd64)
> 
> [ 7037.720938] EtherCAT DEBUG 0: ecrt_domain_external_memory(domain = 
> 0xffff89555461e3c0, mem = 0xffffa33a01b69000)
> 
> [ 7037.720940] EtherCAT DEBUG 0: ecrt_master_callbacks(master = 
> 0xffff895554eb6000, send_cb = 0xffffffffc09feff0, receive_cb = 
> 0xffffffffc09ffc60, cb_data = 0xffff895554eb6000)
> 
> [ 7037.720940] EtherCAT DEBUG 0: ecrt_master_activate(master = 
> 0xffff895554eb6000)
> 
> [ 7037.720941] EtherCAT DEBUG 0: Adding datagram pair with expected WC 1.
> 
> [ 7037.720942] EtherCAT 0: Domain0: Logical address 0x00000000, 3 byte, 
> expected working counter 1.
> 
> [ 7037.720943] EtherCAT 0:   Datagram domain0-0-main: Logical offset 
> 0x00000000, 3 byte, type LRD at ffff89555461ef18.
> 
> [ 7037.720943] EtherCAT DEBUG 0: Stopping master thread.
> 
> [ 7037.720974] EtherCAT DEBUG 0: Master IDLE thread exiting...
> 
> [ 7037.720978] EtherCAT 0: Master thread exited.
> 
> [ 7037.720978] EtherCAT 0: Stopping EoE thread.
> 
> [ 7037.721017] EtherCAT DEBUG 0: EoE thread exiting...
> 
> [ 7037.721021] EtherCAT 0: EoE thread exited.
> 
> [ 7037.721042] EtherCAT DEBUG 0: FSM datagram is ffff895554eb6350.
> 
> [ 7037.721043] EtherCAT 0: Starting EoE thread.
> 
> [ 7037.721152] EtherCAT 0: Starting EtherCAT-OP thread.
> 
> [ 7037.721174] EtherCAT DEBUG 0: EoE thread running.
> 
> [ 7037.721300] EtherCAT DEBUG 0: Operation thread running with fsm 
> interval = 4000 us, max data size=45000
> 
> [ 7037.721305] EtherCAT DEBUG 0: mmap()
> 
> [ 7037.721308] EtherCAT DEBUG 0: Vma fault, virtual_address = 
> 00007fffec02a000, offset = 0, page = fffffd0e908af680
> 
> [ 7083.264568] EtherCAT DEBUG 0: Configuration changed (aborting state 
> check).
> 
> [ 7083.264570] EtherCAT DEBUG 0-main-0: Checking system time offset.
> 
> [ 7118.368544] EtherCAT WARNING 0: No app_time received up to now, abort 
> DC time offset calculation.
> 
> [ 7118.368545] EtherCAT DEBUG 0: Requesting OP...
> 
> [ 7118.368549] EtherCAT DEBUG 0-main-5: Changing state from PREOP to OP.
> 
> [ 7118.368550] EtherCAT DEBUG 0-main-5: Configuring...
> 
> [ 7118.384514] EtherCAT DEBUG 0-main-5: Now in INIT.
> 
> [ 7118.384515] EtherCAT DEBUG 0-main-5: Clearing FMMU configurations...
> 
> [ 7118.384515] EtherCAT DEBUG 0-main-5: Clearing mailbox check flag...
> 
> [ 7118.392604] EtherCAT DEBUG 0-main-5: Clearing sync manager 
> configurations...
> 
> [ 7118.400551] EtherCAT DEBUG 0-main-5: Clearing DC assignment...
> 
> [ 7118.408559] EtherCAT DEBUG 0-main-5: Configuring mailbox sync managers...
> 
> [ 7118.408562] EtherCAT DEBUG 0-main-5: SM0: Addr 0x1000, Size 128, Ctrl 
> 0x26, En 1
> 
> [ 7118.408564] EtherCAT DEBUG 0-main-5: SM1: Addr 0x1080, Size 128, Ctrl 
> 0x22, En 1
> 
> [ 7118.416573] EtherCAT DEBUG 0-main-5: Assigning SII access to PDI.
> 
> [ 7118.432522] EtherCAT 0: Slave states on main device: INIT, PREOP.
> 
> [ 7118.444566] EtherCAT DEBUG 0-main-5: Now in PREOP.
> 
> [ 7118.444567] EtherCAT DEBUG 0-main-5: Assigning SII access back to 
> EtherCAT.
> 
> [ 7118.456607] EtherCAT DEBUG 0-main-5: Setting PDO assignment of SM2:
> 
> [ 7118.456608] EtherCAT DEBUG 0-main-5: Currently assigned PDOs: 0x1600. 
> PDOs to assign: 0x1600
> 
> [ 7118.456610] EtherCAT DEBUG 0-main-5: Setting number of assigned PDOs 
> to zero.
> 
> [ 7118.456611] EtherCAT DEBUG 0-main-5: Downloading SDO 0x1C12:00.
> 
> [ 7118.456611] EtherCAT DEBUG: 00
> 
> [ 7118.456612] EtherCAT DEBUG 0-main-5: Expedited download request:
> 
> [ 7118.456612] EtherCAT DEBUG: 00 20 2F 12 1C 00 00 00 00 00
> 
> [ 7118.480613] EtherCAT DEBUG 0-main-5: Download response:
> 
> [ 7118.480613] EtherCAT DEBUG: 00 30 60 12 1C 00 00 00 00 00
> 
> [ 7118.480619] EtherCAT DEBUG 0-main-5: Assigning PDO 0x1600 at position 1.
> 
> [ 7118.480620] EtherCAT DEBUG 0-main-5: Downloading SDO 0x1C12:01.
> 
> [ 7118.480621] EtherCAT DEBUG: 00 16
> 
> [ 7118.480623] EtherCAT DEBUG 0-main-5: Expedited download request:
> 
> [ 7118.480623] EtherCAT DEBUG: 00 20 2B 12 1C 01 00 16 00 00
> 
> [ 7118.496551] EtherCAT 0: Slave states on main device: PREOP.
> 
> [ 7118.504563] EtherCAT DEBUG 0-main-5: Download response:
> 
> [ 7118.504564] EtherCAT DEBUG: 00 30 60 12 1C 01 00 16 00 00
> 
> [ 7118.504572] EtherCAT DEBUG 0-main-5: Setting number of assigned PDOs 
> to 1.
> 
> [ 7118.504574] EtherCAT DEBUG 0-main-5: Downloading SDO 0x1C12:00.
> 
> [ 7118.504574] EtherCAT DEBUG: 01
> 
> [ 7118.504577] EtherCAT DEBUG 0-main-5: Expedited download request:
> 
> [ 7118.504577] EtherCAT DEBUG: 00 20 2F 12 1C 00 01 00 00 00
> 
> [ 7118.528572] EtherCAT DEBUG 0-main-5: Download response:
> 
> [ 7118.528573] EtherCAT DEBUG: 00 30 60 12 1C 00 01 00 00 00
> 
> [ 7118.528586] EtherCAT DEBUG 0-main-5: Successfully configured PDO 
> assignment of SM2.
> 
> [ 7118.528596] EtherCAT DEBUG 0-main-5: Setting PDO assignment of SM3:
> 
> [ 7118.528597] EtherCAT DEBUG 0-main-5: Currently assigned PDOs: 0x1A01. 
> PDOs to assign: 0x1A01
> 
> [ 7118.528602] EtherCAT DEBUG 0-main-5: Setting number of assigned PDOs 
> to zero.
> 
> [ 7118.528604] EtherCAT DEBUG 0-main-5: Downloading SDO 0x1C13:00.
> 
> [ 7118.528605] EtherCAT DEBUG: 00
> 
> [ 7118.528608] EtherCAT DEBUG 0-main-5: Expedited download request:
> 
> [ 7118.528608] EtherCAT DEBUG: 00 20 2F 13 1C 00 00 00 00 00
> 
> [ 7118.552556] EtherCAT DEBUG 0-main-5: Download response:
> 
> [ 7118.552557] EtherCAT DEBUG: 00 30 60 13 1C 00 00 00 00 00
> 
> [ 7118.552569] EtherCAT DEBUG 0-main-5: Assigning PDO 0x1A01 at position 1.
> 
> [ 7118.552571] EtherCAT DEBUG 0-main-5: Downloading SDO 0x1C13:01.
> 
> [ 7118.552571] EtherCAT DEBUG: 01 1A
> 
> [ 7118.552575] EtherCAT DEBUG 0-main-5: Expedited download request:
> 
> [ 7118.552575] EtherCAT DEBUG: 00 20 2B 13 1C 01 01 1A 00 00
> 
> [ 7118.580562] EtherCAT DEBUG 0-main-5: Download response:
> 
> [ 7118.580563] EtherCAT DEBUG: 00 30 60 13 1C 01 01 1A 00 00
> 
> [ 7118.580573] EtherCAT DEBUG 0-main-5: Setting number of assigned PDOs 
> to 1.
> 
> [ 7118.580575] EtherCAT DEBUG 0-main-5: Downloading SDO 0x1C13:00.
> 
> [ 7118.580575] EtherCAT DEBUG: 01
> 
> [ 7118.580578] EtherCAT DEBUG 0-main-5: Expedited download request:
> 
> [ 7118.580579] EtherCAT DEBUG: 00 20 2F 13 1C 00 01 00 00 00
> 
> [ 7118.604557] EtherCAT DEBUG 0-main-5: Download response:
> 
> [ 7118.604558] EtherCAT DEBUG: 00 30 60 13 1C 00 01 00 00 00
> 
> [ 7118.604571] EtherCAT DEBUG 0-main-5: Successfully configured PDO 
> assignment of SM3.
> 
> [ 7118.604578] EtherCAT DEBUG 0-main-5: SM2: Addr 0x1100, Size   6, Ctrl 
> 0x24, En 1
> 
> [ 7118.604581] EtherCAT DEBUG 0-main-5: SM3: Addr 0x1180, Size   3, Ctrl 
> 0x60, En 1
> 
> [ 7118.612565] EtherCAT DEBUG 0 0:5: FMMU: LogOff 0x00000000, Size   3, 
> PhysAddr 0x1180, SM3, Dir in
> 
> [ 7118.636572] EtherCAT ERROR 0-main-5: Failed to set SAFEOP state, 
> slave refused state change (PREOP + ERROR).
> 
> [ 7118.644558] EtherCAT ERROR 0-main-5: AL status message 0x0024: 
> "Invalid Input Mapping".
> 
> [ 7118.664569] EtherCAT DEBUG 0-main-5: PREOP + ERROR -> PREOP.
> 
> [ 7118.664573] EtherCAT 0-main-5: Acknowledged state PREOP.
> 
> **
> 
> You can see below, an extract of my source code which work correctly 
> with other ethercat slaves
> 
> static unsigned int offOutput[15];
> 
> static unsigned int offBit[15];
> 
> static ec_domain_state_t domain1_state = {};
> 
> static ec_master_state_t master_state = {};
> 
> static ec_pdo_entry_info_t slave_0_pdo_entries[] = {
> 
>      /* TxPdo 0x1a01 */
> 
>      {0x6000, 0x01, 1},      /* Status Latch C valid */
> 
>      {0x6000, 0x02, 1},      /* Status Latch extern valid */
> 
>      {0x6000, 0x03, 1},      /* Status set counter done */
> 
>      {0x6000, 0x06, 1},      /* Status of input status */
> 
>      {0x6000, 0x07, 1},      /* Status open circuit */
> 
>      {0x6000, 0x09, 1},      /* Status of input A */
> 
>      {0x6000, 0x0a, 1},      /* Status of input B */
> 
>      {0x6000, 0x0b, 1},      /* Status of input C */
> 
>      {0x6000, 0x0c, 1},      /* Status of input gate */
> 
>      {0x6000, 0x0d, 1},      /* Status of extern latch */
> 
>      {0x6000, 0x0e, 1},      /* Status sync error */
> 
>      {0x6000, 0x0f, 1},      /* Status TxPDO state */
> 
>      {0x6000, 0x10, 1},      /* Status TxPDO toogle */
> 
>      {0x6000, 0x11, 2},      /* counter value */
> 
>      {0x6000, 0x12, 2}       /* latch value */
> 
> };
> 
> static ec_pdo_info_t slave_0_pdos[] = {
> 
>      {0x1a01, 15, &slave_0_pdo_entries[0]}
> 
> };
> 
> ec_sync_info_t slave_0_syncs[] = {
> 
>      {3, EC_DIR_INPUT, 1, slave_0_pdos + 0, EC_WD_ENABLE},
> 
>      {0xff}
> 
> };
> 
> const static ec_pdo_entry_reg_t domain1_regs[] = {
> 
>      {0, 5, 0x00000002, 0x13ed3052, 0x6000, 0x01, &offOutput[0], 
> &offBit[0]},
> 
>      {0, 5, 0x00000002, 0x13ed3052, 0x6000, 0x02, &offOutput[1], 
> &offBit[1]},
> 
>      {0, 5, 0x00000002, 0x13ed3052, 0x6000, 0x03, &offOutput[2], 
> &offBit[2]},
> 
>      {0, 5, 0x00000002, 0x13ed3052, 0x6000, 0x06, &offOutput[3], 
> &offBit[3]},
> 
>      {0, 5, 0x00000002, 0x13ed3052, 0x6000, 0x07, &offOutput[4], 
> &offBit[4]},
> 
>      {0, 5, 0x00000002, 0x13ed3052, 0x6000, 0x09, &offOutput[5], 
> &offBit[5]},
> 
>      {0, 5, 0x00000002, 0x13ed3052, 0x6000, 0x0a, &offOutput[6], 
> &offBit[6]},
> 
>      {0, 5, 0x00000002, 0x13ed3052, 0x6000, 0x0b, &offOutput[7], 
> &offBit[7]},
> 
>      {0, 5, 0x00000002, 0x13ed3052, 0x6000, 0x0c, &offOutput[8], 
> &offBit[8]},
> 
>      {0, 5, 0x00000002, 0x13ed3052, 0x6000, 0x0d, &offOutput[9], 
> &offBit[9]},
> 
>      {0, 5, 0x00000002, 0x13ed3052, 0x6000, 0x0e, &offOutput[10], 
> &offBit[10]},
> 
>      {0, 5, 0x00000002, 0x13ed3052, 0x6000, 0x0f, &offOutput[11], 
> &offBit[11]},
> 
>      {0, 5, 0x00000002, 0x13ed3052, 0x6000, 0x10, &offOutput[12], 
> &offBit[12]},
> 
>      {0, 5, 0x00000002, 0x13ed3052, 0x6000, 0x11, &offOutput[13], 
> &offBit[13]},
> 
>      {0, 5, 0x00000002, 0x13ed3052, 0x6000, 0x12, &offOutput[14], 
> &offBit[14]},
> 
>      {}
> 
> };
> 
> static ec_master_t *master = nullptr;
> 
> static ec_domain_t *domain1 = nullptr;
> 
> static uint8_t *domain1_pd = nullptr;
> 
> static ec_slave_config_t *sc_el5101 = nullptr;
> 
> static ec_slave_config_state_t sc_el2809_state = {};
> 
> static ec_slave_info_t slaveInfo;
> 
> bool Worker::init()
> 
> {
> 
>      master = ecrt_request_master(0);
> 
>      if ( !master )
> 
>          return false;
> 
>      domain1 = ecrt_master_create_domain(master);
> 
>      if ( !domain1 )
> 
>          return false;
> 
>      if ( !(sc_el5101 = ecrt_master_slave_config(master, 0, 5, 
> 0x00000002, 0x13ed3052)) )
> 
>      {
> 
>          fprintf(stderr, "Failed to get slave configuration for AKD.\n");
> 
>          return false;
> 
>      }
> 
>      if (ecrt_slave_config_pdos(sc_el5101, EC_END, slave_0_syncs))
> 
>          return false;
> 
>      if (ecrt_domain_reg_pdo_entry_list(domain1, domain1_regs))
> 
>          return false;
> 
>      if ( ecrt_master_activate( master ) )
> 
>          return false;
> 
>      if (!(domain1_pd = ecrt_domain_data(domain1)))
> 
>          return false;
> 
>      return true;
> 
> }
> 
> void Worker::loop()
> 
> {
> 
>      mMustStop = false;
> 
>      while(!mMustStop)
> 
>      {
> 
>          QThread::usleep(1000);
> 
>          if(!mIsCycleStopped)
> 
>          {
> 
>              // receive process data
> 
>              ecrt_master_receive(master);
> 
>              ecrt_domain_process(domain1);
> 
>              uint16_t lCounterValue = EC_READ_U16(domain1_pd + 
> offOutput[13]);
> 
>              qDebug() << "counter value :" << lCounterValue;
> 
>              ecrt_domain_queue(domain1);
> 
>              ecrt_master_send(master);
> 
>          }
> 
>      }
> 
>      ecrt_release_master(master);
> 
>      master = nullptr;
> 
>      emit finished();
> 
> }
> 
> Take care of yourself
> 
> *Vincent BUSSIERES*
> 
> *Responsable Technique Logiciel*
> 
> **
> 
> 1572337113342
> 
> /ZE Ma Campagne/
> 
> /36, Impasse Félix Nadar/
> 
> /16000 ANGOULEME/
> 
> /Tel: 33 (0)9.72.40.35.08/
> 
> /www.hemeria-group.com 
> <https://webmail.nexeya.fr/owa/redir.aspx?C=GK_BqKCZef7LtPZnqnd_LGYr1NG9sz4Smy3iKIwO-pXqtJC7VgzXCA..&URL=http%3a%2f%2fwww.hemeria-group.com%2f>/
> PAfin de contribuer au respect de l'environnement, merci de n'imprimer 
> ce courriel qu'en cas de nécessité.
> 
> Ce message et les fichiers pouvant être attachés sont confidentiels, 
> réservés à l'usage unique des destinataires et n'engagent HEMERIA sous 
> aucune forme que ce soit.
> This email and any files transmitted with it are confidential, intented 
> solely for the unique use of the recipients and don't commit HEMERIA.
> 
> **
> 
> **
> 
> 
> _______________________________________________
> etherlab-users mailing list
> etherlab-users at etherlab.org
> http://lists.etherlab.org/mailman/listinfo/etherlab-users
> 



More information about the Etherlab-users mailing list