[etherlab-users] "Invalid input configuration" during Beckhoff 6731-0010 initialization
Henry Bausley
hbausley at deltatau.com
Thu Apr 24 17:40:28 CEST 2014
Its been a few years but I recall only doing a complete access for index
0x8000 and it started working.
On Thu, 2014-04-24 at 17:00 +0200, Felix Barth wrote:
>
> Hi all,
>
> I am currently trying to connect a Siemens S7 SPS to a Beckhoff
> 6731-0010 via ProfiBus. This setup works fine while using TwinCAT and I
> am able to send data from the 6731 slave and receive it on the SPS.
> Nonetheless, the project is set to be realized using "Etherlab",
> therefore the TwinCAT setup only serves as a test run. In the attempt to
> convert it to Etherlab, I used the TwinCAT configuration and exported it
> as XML-file (the same way it was already described some years past in
> this mailing list). This file contained the following information about
> the PDO register at startup (read from the devices PDO during "run mode"):
>
> 0x8000 2D 00 03 00 00 00 00 00 00 00 00 00 00 00 A8 01 00 00 F4 F0 00
> 00 00 00 0A 01 00 00 00 00 88 01 14 0B 09 5F 00 80 00 08 10
> 0x1A7F 03 00 08 01 00 F1 07 00 00 00 01 07 00 18
> 0x1600 01 00 08 01 00 70
> 0x1C12 01 00 00 16
> 0x1C13 00 00
>
>
> I composed a small program to write the gained data into the 6731's PDO.
> The following code snipped shows the initialization process:
>
>
> //Start initialization
> master = ecrt_request_master(0);
> if (!master) return -1;
>
> domain1 = ecrt_master_create_domain(master);
> if (!domain1) return -1;
>
> /* EK1100 */
> if (!(sc = ecrt_master_slave_config(master, MasterPos,
> Beckhoff_EK1100))) return -1;
>
> /* EL6731 Slave */
> if (!(sc = ecrt_master_slave_config(master, ProfiPosSlave,
> Beckhoff_EL6731))) return -1;
>
> //SDO entries, exported from TwinCAT
> static uint8_t sdo_0x8000[] = {0x2d, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
> 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0x01, 0x00, 0x00, 0xf4,
> 0xf0, 0x00,
> 0x00, 0x00, 0x00, 0x0a, 0x01,
> 0x00, 0x00, 0x00, 0x00, 0x88, 0x01, 0x14, 0x0b, 0x09, 0x5f, 0x00, 0x80,
> 0x00, 0x08, 0x10};
> static uint8_t sdo_0x1A7F[] = {0x03, 0x00, 0x08, 0x01, 0x00, 0xf1, 0x07,
> 0x00, 0x00, 0x00, 0x01, 0x07, 0x00, 0x18};
> static uint8_t sdo_0x1600[] = {0x01, 0x00, 0x08, 0x01, 0x00, 0x70};
> static uint8_t sdo_0x1C12[] = {0x01, 0x00, 0x00, 0x16};
> static uint8_t sdo_0x1C13[] = {0x00, 0x00};
>
> int size_0x8000 = sizeof(sdo_0x8000);
> int size_0x1A7F = sizeof(sdo_0x1A7F);
> int size_0x1600 = sizeof(sdo_0x1600);
> int size_0x1C12 = sizeof(sdo_0x1C12);
> int size_0x1C13 = sizeof(sdo_0x1C13);
>
> //Setting the SDO entries of the EL6731
> ecrt_slave_config_complete_sdo(sc, 0x8000, sdo_0x8000, size_0x8000);
> ecrt_slave_config_complete_sdo(sc, 0x1a7f, sdo_0x1A7F, size_0x1A7F);
> ecrt_slave_config_complete_sdo(sc, 0x1600, sdo_0x1600, size_0x1600);
> ecrt_slave_config_complete_sdo(sc, 0x1c12, sdo_0x1C12, size_0x1C12);
> ecrt_slave_config_complete_sdo(sc, 0x1c13, sdo_0x1C13, size_0x1C13);
>
> if (ecrt_slave_config_pdos(sc, EC_END, slave_6_syncs)) return -1;
> if (ecrt_domain_reg_pdo_entry_list(domain1, domain1_regs)) return -1;
> if (ecrt_master_activate(master)) return -1;
> if (!(domain1_pd = ecrt_domain_data(domain1))) return -1;
> //End initialization
>
>
> However, the initialization of the Beckhoff 6731-0010 fails and aborts
> when attempting to switch from "PREOP" to "SAFEOP". The following
> messages where extracted using the "dmesg" command:
>
>
> [177982.104485] EtherCAT: Requesting master 0...
> [177982.104494] EtherCAT: Successfully requested master 0.
> [177982.104648] EtherCAT 0: Domain0: Logical address 0x00000000, 6 byte,
> expected working counter 3.
> [177982.104654] EtherCAT 0: Datagram domain0-0: Logical offset
> 0x00000000, 6 byte, type LRW.
> [177982.104690] EtherCAT 0: Master thread exited.
> [177982.104696] EtherCAT 0: Starting EtherCAT-OP thread.
> [177982.104765] EtherCAT WARNING 0: 1 datagram UNMATCHED!
> [177983.117019] EtherCAT WARNING 0: No app_time received up to now, but
> master already active.
> [177983.205117] No response.
> [177983.765121] EtherCAT WARNING 0-6: Slave does not support changing
> the PDO mapping!
> [177983.765126] EtherCAT WARNING 0-6: Currently mapped PDO entries:
> 0x7000:01/8 0x0000:00/8. Entries to map: 0x7000:01/16
> [177983.895118] EtherCAT WARNING 0-6: Slave does not support changing
> the PDO mapping!
> [177983.895122] EtherCAT WARNING 0-6: Currently mapped PDO entries:
> (none). Entries to map: 0x6000:01/16
> [177983.995118] EtherCAT WARNING 0-6: Slave does not support changing
> the PDO mapping!
> [177983.995122] EtherCAT WARNING 0-6: Currently mapped PDO entries:
> 0xF100:01/8 0x0000:00/8. Entries to map: 0xA000:01/8 0xF100:02/1
> 0xA000:02/1 0x0000:00/6
> [177984.165119] EtherCAT ERROR 0-6: Failed to set SAFEOP state, slave
> refused state change (PREOP + ERROR).
> [177984.175117] EtherCAT ERROR 0-6: AL status message 0x001E: "Invalid
> input configuration".
> [177984.195117] EtherCAT 0-6: Acknowledged state PREOP.
> [177984.209014] EtherCAT 0: Slave states: PREOP, OP.
> [177989.049742] EtherCAT 0: Releasing master...
> [177989.049779] EtherCAT 0: Master thread exited.
> [177989.049793] EtherCAT 0: Starting EtherCAT-IDLE thread.
> [177989.049843] EtherCAT 0: Released.
> [177989.050286] EtherCAT ERROR 0-2: Failed to receive AL state datagram:
> Datagram initialized.
> [177989.060155] No response.
> [177989.156206] EtherCAT 0: Slave states: PREOP.
> [177989.853019] EtherCAT WARNING: Datagram f64424b0 (master-fsm) was
> SKIPPED 2 times.
>
>
> The main problem seems to be the "Invalid input configuration".
> Unfortunately, I wasn't able to determine which part of the
> configuration causes the fault. In the process of investigating these
> errors, I used Wireshark on both the TwinCAT and the Etherlab
> configuration. The comparison was puzzling since the transmitted
> packages to the Beckhoff device seem to be identical in both cases.
>
> Did anyone encounter similar problems while initializing a Beckhoff
> 6731-0010? Or has any idea where I made a mistake? I would be grateful
> for any tip, this issue has been keeping me busy for quite some time now.
>
>
> Thanks in advance,
>
> Felix
> _______________________________________________
> etherlab-users mailing list
> etherlab-users at etherlab.org
> http://lists.etherlab.org/mailman/listinfo/etherlab-users
Outbound scan for Spam or Virus by Barracuda at Delta Tau
More information about the Etherlab-users
mailing list