[Etherlab-users] Estun EE-R0: Invalid input configuration
Eibach, Dirk
Dirk.Eibach at cloos.de
Wed Mar 3 16:35:31 CET 2021
Hi Richard,
> > I did not configure them at all. I simply took the slave that was connected
> and operational on our Acontis EtherCAT master and connected the CAT5
> cable to the Etherlab controller.
> > I had tried configuring it manually in Etherlab before but always ran into this
> input configuration error.
> Some masters (not ours) read the SII eeprom and autoconfigure the slaves
> with their default. Then they work.
>
> Our master requires the slave to be known _before_ the network starts.
> There are pro's and con's with this concept:
> con: no auto config (but see below)
> pro: you can start the master *without* being connected and attach the
> network later. That is why the master cannot rely on reading SII, hence no
> autoconfig. You can't have both :(
Hm, I am still missing something. When I connect some Beckhoff devices they run fine without any configuration at all:
root at rosie:/home/dirk# ethercat slaves
0 0:0 OP + EK1818 EtherCAT-EA-Koppler (1A E-Bus, 8 K. Dig. Ein, 3ms, 4 K.
1 0:1 OP + EL6751 CANopen Master
[ 4277.585751] EtherCAT 0: 2 slave(s) responding on main device.
[ 4277.585755] EtherCAT 0: Slave states on main device: INIT, PREOP.
[ 4277.588842] EtherCAT 0: Scanning bus.
[ 4278.261712] EtherCAT WARNING: Datagram 000000009c0d06d1 (domain0-0-main) was SKIPPED 1 time.
[ 4278.381629] EtherCAT WARNING 0: 1 datagram TIMED OUT!
[ 4278.411846] EtherCAT 0: Bus scanning completed in 824 ms.
[ 4278.411850] EtherCAT 0: No DC reference clock found.
[ 4278.411855] EtherCAT WARNING 0: No application time received up to now, but master already active.
[ 4279.677702] EtherCAT 0: Slave states on main device: PREOP.
[ 4303.673778] EtherCAT 0: Slave states on main device: PREOP, OP.
[ 4303.709616] EtherCAT 0: Slave states on main device: OP.
> I like the latter, it is more explicit than implicit (rule #2 in 'python -c "import
> this"' ... and this is a good lecture), but the learning curve is steeper.
>
> So:
> $ ethercat cstruct
> and merge that into the example and you should be going.
Ok.
root at rosie:/home/dirk# ethercat cstruct
/* Master 0, Slave 0, "Coupling"
* Vendor ID: 0x0000060a
* Product code: 0x00000010
* Revision number: 0x00000001
*/
ec_pdo_entry_info_t slave_0_pdo_entries[] = {
{0x7080, 0x02, 16},
{0x7090, 0x02, 16},
{0x6000, 0x02, 16},
{0x6010, 0x02, 16},
{0x6020, 0x05, 16},
{0x6020, 0x06, 16},
{0x6020, 0x07, 16},
{0x6020, 0x08, 16},
};
ec_pdo_info_t slave_0_pdos[] = {
{0x1608, 1, slave_0_pdo_entries + 0},
{0x1609, 1, slave_0_pdo_entries + 1},
{0x1a00, 1, slave_0_pdo_entries + 2},
{0x1a01, 1, slave_0_pdo_entries + 3},
{0x1a02, 4, slave_0_pdo_entries + 4},
};
ec_sync_info_t slave_0_syncs[] = {
{0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},
{1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},
{2, EC_DIR_OUTPUT, 2, slave_0_pdos + 0, EC_WD_ENABLE},
{3, EC_DIR_INPUT, 3, slave_0_pdos + 2, EC_WD_DISABLE},
{0xff}
};
I merged it into the user example and did the appropriate ecrt_slave_config_pdos(), but still:
[ 4772.096699] EtherCAT: Requesting master 0...
[ 4772.096707] EtherCAT: Successfully requested master 0.
[ 4772.096854] EtherCAT 0: Domain0: Logical address 0x00000000, 16 byte, expected working counter 3.
[ 4772.096857] EtherCAT 0: Datagram domain0-0-main: Logical offset 0x00000000, 16 byte, type LRW.
[ 4772.097258] EtherCAT 0: Master thread exited.
[ 4772.097265] EtherCAT 0: Starting EtherCAT-OP thread.
[ 4772.097971] EtherCAT WARNING 0: 1 datagram UNMATCHED!
[ 4773.005533] EtherCAT WARNING 0: No application time received up to now, but master already active.
[ 4773.832891] EtherCAT ERROR 0-0: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR).
[ 4773.834891] EtherCAT ERROR 0-0: AL status message 0x001E: "Invalid input configuration".
[ 4773.838889] EtherCAT 0-0: Acknowledged state PREOP.
So this guy seems to be a little more tricky than the Beckhoff IOs. Any ideas?
Regards
Dirk
More information about the Etherlab-users
mailing list