Sometimes SoE configuration failes (during startup).

 

I use DC, RTAI, the newest devel-version of the master and a Rexroth servo 
drive.

Is it a synchronization problem among threads? See the error message:

 

Dec  2 14:54:38 pc-br3 kernel: EtherCAT DEBUG 0-0: Writing IDN 0x000F of drive 
0 (2 byte).

Dec  2 14:54:38 pc-br3 kernel: EtherCAT DEBUG 0-0: SCC write request:

Dec  2 14:54:38 pc-br3 kernel: EtherCAT DEBUG: 03 40 0F 00 07 00

Dec  2 14:54:38 pc-br3 kernel: EtherCAT DEBUG 0-0: SCC write response:

Dec  2 14:54:38 pc-br3 kernel: EtherCAT DEBUG: 04 40 0F 00

Dec  2 14:54:38 pc-br3 kernel: EtherCAT DEBUG 0-0: Writing IDN 0x0010 of drive 
0 (32 byte).

Dec  2 14:54:38 pc-br3 kernel: EtherCAT DEBUG 0-0: SCC write request:

Dec  2 14:54:38 pc-br3 kernel: EtherCAT DEBUG: 03 40 10 00 02 00 02 00 28 00 00 
00 00 00 00 00

Dec  2 14:54:38 pc-br3 kernel: EtherCAT DEBUG: 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00

Dec  2 14:54:38 pc-br3 kernel: EtherCAT DEBUG: 00 00 00 00

Dec  2 14:54:38 pc-br3 kernel: EtherCAT ERROR 0-0: Failed to receive SoE write 
response datagram: Datagram received.

Dec  2 14:54:38 pc-br3 kernel: EtherCAT ERROR 0-0: Writing IDN 0x0010 failed.

Dec  2 14:54:38 pc-br3 kernel: EtherCAT ERROR 0-0: SoE configuration failed.

 

Take a look at the error message "EtherCAT ERROR 0-0: Failed to receive SoE 
write response datagram: Datagram received."

First datagram->state != EC_DATAGRAM_RECEIVED (ec_fsm_soe_write_response(...) 
and in ec_datagram_print_state(...) datagram->state ==  EC_DATAGRAM_RECEIVED.

 

Creation of error message in ec_fsm_soe_write_response(...): 

    if (datagram->state != EC_DATAGRAM_RECEIVED) {

        fsm->state = ec_fsm_soe_error;

        EC_SLAVE_ERR(slave, "Failed to receive SoE write"

                " response datagram: ");

        ec_datagram_print_state(datagram);

        ec_fsm_soe_print_error(fsm);

        return;

    }

 

and in ec_datagram_print_state(...):

void ec_datagram_print_state(

        const ec_datagram_t *datagram /**< EtherCAT datagram */

        )

{

    printk("Datagram ");

    switch (datagram->state) {

        case EC_DATAGRAM_INIT:

            printk("initialized");

            break;

        case EC_DATAGRAM_QUEUED:

            printk("queued");

            break;

        case EC_DATAGRAM_SENT:

            printk("sent");

            break;

        case EC_DATAGRAM_RECEIVED:

            printk("received");

            break;

        case EC_DATAGRAM_TIMED_OUT:

            printk("timed out");

            break;

        case EC_DATAGRAM_ERROR:

            printk("error");

            break;

        default:

            printk("???");

    }

 

    printk(".\n");

}

  

 

 

Mit freundlichen Grüßen / Best regards

 

 

 Andreas Baur

-----------------------------------------------------------------------------------

PAUL Maschinenfabrik GmbH & Co. KG

Max-Paul-Straße 1

88525 Dürmentingen

Deutschland / Germany

 

Tel.:      +49 (0) 7371 / 500 - 0

Fax:      +49 (0) 7371 / 500 - 111

Mail:     softw...@paul.eu

Web:    www.paul.eu

-----------------------------------------------------------------------------------

Kommanditgesellschaft, Sitz Dürmentingen, Registergericht Ulm HRA 650073, Pers. 
haftende Gesellschafterin: 
Paul Maschinenfabrik GmbH, Sitz Riedlingen, Registergericht Ulm HRB 650013, 
Geschäftsführer: Werner Paul

Ust.-IdNr DE 146544409

_______________________________________________
etherlab-users mailing list
etherlab-users@etherlab.org
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to