Ping - Andreas and or Others:<div><br></div><div>Anyone know have any ideas why I am getting the errors that are discussed in this thread?</div><div><br></div><div>Thanks for all the help!<br><br><div class="gmail_quote">On Tue, Nov 23, 2010 at 9:34 AM, Newell Jensen <span dir="ltr"><<a href="mailto:pillar2012@gmail.com">pillar2012@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Andreas,<br><br>Here is the output from:<br><br>1. $ ethercat slaves -v<br><br>=== Master 0, Slave 0 ===<br>State: PREOP<br>
Flag: +<br>Identity:<br> Vendor Id: 0x00000002<br> Product code: 0x044c2c52<br> Revision number: 0x00110000<br>
Serial number: 0x00000000<br>DL information:<br> FMMU bit operation: no<br> Distributed clocks: yes, 64 bit<br> DC system time transmission delay: 0 ns<br>Port Type Link Loop Signal NextSlave RxTime [ns] Diff [ns] NextDc [ns]<br>
0 MII up open yes - 2549051802 0 0<br> 1 EBUS up open yes 1 2549052242 440 220<br> 2 MII down closed no - - - -<br>
3 N/A down closed no - - - -<br>General:<br> Group: SystemBk<br> Image name: <br> Order number: EK1100<br> Device name: EK1100 EtherCAT-Koppler (2A E-Bus)<br> Flags:<br>
Enable SafeOp: no<br> Enable notLRW: no<br> Current consumption: -2000 mA<br>=== Master 0, Slave 1 ===<br>State: PREOP<br>Flag: +<br>Identity:<br> Vendor Id: 0x00000002<br> Product code: 0x07d43052<br>
Revision number: 0x00100000<br>
Serial number: 0x00000000<br>DL information:<br> FMMU bit operation: no<br> Distributed clocks: yes, 64 bit<br> DC system time transmission delay: 220 ns<br>Port Type Link Loop Signal NextSlave RxTime [ns] Diff [ns] NextDc [ns]<br>
0 EBUS up open yes 0 2549892332 0 220<br> 1 EBUS up open yes - 2549892482 150 0<br> 2 N/A down closed no - - - -<br>
3 N/C down closed no - - - -<br>General:<br> Group: DigOut<br> Image name: TERM_DO<br> Order number: EL2004<br> Device name: EL2004 4K. Dig. Ausgang 24V, 0.5A<br> Flags:<br>
Enable SafeOp: no<br> Enable notLRW: no<br> Current consumption: 100 mA<br><br><br>2. $ ethercat master -v<br><br>Master0<br> Phase: Idle<br> Active: no<br> Slaves: 2<br> Ethernet devices:<br> Main: 00:04:5f:b0:8e:49 (attached)<br>
Link: UP<br> Tx frames: 126992<br> Rx frames: 126991<br> Lost frames: 0<br> Tx bytes: 7619664<br> Tx errors: 0<br> Tx frame rate [1/s]: 525 542 534<br> Tx rate [KByte/s]: 30.8 31.8 31.3<br>
Loss rate [1/s]: 0 0 0<br> Frame loss [%]: 0.0 0.0 0.0<br><br> Backup: None.<br> Distributed clocks:<br> Reference clock: Slave 0<br> Application time: 0<br> 2000-01-01 00:00:00.000000000<br>
<br><br>3. And here is my code (I just modified the user example main.c a bit):<br><br><br>/*****************************************************************************<br> *<br> * $Id$<br> *<br> * Copyright (C) 2007-2009 Florian Pose, Ingenieurgemeinschaft IgH<br>
*<br> * This file is part of the IgH EtherCAT Master.<br> *<br> * The IgH EtherCAT Master is free software; you can redistribute it and/or<br> * modify it under the terms of the GNU General Public License version 2, as<br>
* published by the Free Software Foundation.<br> *<br> * The IgH EtherCAT Master is distributed in the hope that it will be useful,<br> * but WITHOUT ANY WARRANTY; without even the implied warranty of<br> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General<br>
* Public License for more details.<br> *<br> * You should have received a copy of the GNU General Public License along<br> * with the IgH EtherCAT Master; if not, write to the Free Software<br> * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA<br>
*<br> * ---<br> *<br> * The license mentioned above concerns the source code only. Using the<br> * EtherCAT technology and brand is only permitted in compliance with the<br> * industrial property and similar rights of Beckhoff Automation GmbH.<br>
*<br> ****************************************************************************/<br><br>#include <errno.h><br>#include <signal.h><br>#include <stdio.h><br>#include <string.h><br>#include <sys/resource.h><br>
#include <sys/time.h><br>#include <sys/types.h><br>#include <unistd.h><br><br>/****************************************************************************/<br><br>#include "ecrt.h"<br><br>/****************************************************************************/<br>
<br>// Application parameters<br>#define FREQUENCY 100<br>#define PRIORITY 1<br><br>// Optional features<br>#define CONFIGURE_PDOS 1<br>#define SDO_ACCESS 0<br><br>/****************************************************************************/<br>
<br>// EtherCAT<br>static ec_master_t *master = NULL;<br>static ec_master_state_t master_state = {};<br><br>static ec_domain_t *domain1 = NULL;<br>static ec_domain_state_t domain1_state = {};<br><br>static ec_slave_config_t *sc_ana_in = NULL;<br>
static ec_slave_config_state_t sc_ana_in_state = {};<br><br>// Timer<br>static unsigned int sig_alarms = 0;<br>static unsigned int user_alarms = 0;<br><br>/****************************************************************************/<br>
<br>// process data<br>static uint8_t *domain1_pd = NULL;<br><br>// nj -- this was found from command: $ ethercat slaves<br>#define BusCouplerPos 0, 0<br>#define DigOutSlavePos 0, 1 <br>#define DigInSlavePos 0, 2<br>#define AnaOutSlavePos 0, 3<br>
#define AnaInSlavePos 0, 4<br><br>// nj -- this was found from the command: $ ethercat slaves -v <br>// or it can be found when using ethercat cstruct option<br>#define Beckhoff_EK1100 0x00000002, 0x044c2c52 // bus coupler<br>
#define Beckhoff_EL2004 0x00000002, 0x07d43052 // digital output<br>#define Beckhoff_EL1004 0x00000002, 0x03ec3052 // digital input<br>#define Beckhoff_EL4132 0x00000002, 0x10243052 // analog output<br>#define Beckhoff_EL3102 0x00000002, 0x0c1e3052 // analog input<br>
<br><br>// offsets for PDO entries<br>static unsigned int off_ana_in_status;<br>static unsigned int off_ana_in_value;<br>static unsigned int off_ana_out;<br>static unsigned int off_dig_out;<br>static unsigned int off_dig_in; // nj -- added<br>
<br>const static ec_pdo_entry_reg_t domain1_regs[] = {<br> {DigOutSlavePos, Beckhoff_EL2004, 0x7000, 1, &off_dig_out},<br> {DigInSlavePos, Beckhoff_EL1004, 0x6000, 1, &off_dig_in},<br> {AnaOutSlavePos, Beckhoff_EL4132, 0x3001, 1, &off_ana_out},<br>
{AnaInSlavePos, Beckhoff_EL3102, 0x3101, 1, &off_ana_in_status},<br> {AnaInSlavePos, Beckhoff_EL3102, 0x3101, 2, &off_ana_in_value},<br> {}<br>};<br><br>static unsigned int counter = 0;<br>static unsigned int blink = 0;<br>
<br>/*****************************************************************************/<br><br>#if CONFIGURE_PDOS<br>// DIGITAL OUTPUT<br>/* Master 0, Slave 1, "EL2004"<br> * Vendor ID: 0x00000002<br> * Product code: 0x07d43052<br>
* Revision number: 0x00100000<br> */<br><br>ec_pdo_entry_info_t el2004_pdo_entries[] = {<br> {0x7000, 0x01, 1}, /* Output */<br> {0x7010, 0x01, 1}, /* Output */<br> {0x7020, 0x01, 1}, /* Output */<br> {0x7030, 0x01, 1}, /* Output */<br>
};<br><br>ec_pdo_info_t el2004_pdos[] = {<br> {0x1600, 1, el2004_pdo_entries + 0}, /* Channel 1 */<br> {0x1601, 1, el2004_pdo_entries + 1}, /* Channel 2 */<br> {0x1602, 1, el2004_pdo_entries + 2}, /* Channel 3 */<br>
{0x1603, 1, el2004_pdo_entries + 3}, /* Channel 4 */<br>};<br><br>ec_sync_info_t el2004_syncs[] = {<br> {0, EC_DIR_OUTPUT, 4, el2004_pdos + 0, EC_WD_ENABLE},<br> {0xff}<br>};<br><br>// DIGITAL INPUT<br>/* Master 0, Slave 2, "EL1004"<br>
* Vendor ID: 0x00000002<br> * Product code: 0x03ec3052<br> * Revision number: 0x00100000<br> */<br><br>ec_pdo_entry_info_t el1004_pdo_entries[] = {<br> {0x6000, 0x01, 1}, /* Input */<br> {0x6010, 0x01, 1}, /* Input */<br>
{0x6020, 0x01, 1}, /* Input */<br> {0x6030, 0x01, 1}, /* Input */<br>};<br><br>ec_pdo_info_t el1004_pdos[] = {<br> {0x1a00, 1, el1004_pdo_entries + 0}, /* Channel 1 */<br> {0x1a01, 1, el1004_pdo_entries + 1}, /* Channel 2 */<br>
{0x1a02, 1, el1004_pdo_entries + 2}, /* Channel 3 */<br> {0x1a03, 1, el1004_pdo_entries + 3}, /* Channel 4 */<br>};<br><br>ec_sync_info_t el1004_syncs[] = {<br> {0, EC_DIR_INPUT, 4, el1004_pdos + 0, EC_WD_DISABLE},<br>
{0xff}<br>};<br><br>// ANALOG OUTPUT<br>/* Master 0, Slave 3, "EL4132"<br> * Vendor ID: 0x00000002<br> * Product code: 0x10243052<br> * Revision number: 0x00000000<br> */<br><br>ec_pdo_entry_info_t el4132_pdo_entries[] = {<br>
{0x3001, 0x01, 16}, /* Value */<br> {0x3002, 0x01, 16}, /* Value */<br>};<br><br>ec_pdo_info_t el4132_pdos[] = {<br> {0x1600, 1, el4132_pdo_entries + 0}, /* RxPDO 001 mapping */<br> {0x1601, 1, el4132_pdo_entries + 1}, /* RxPDO 002 mapping */<br>
};<br><br>ec_sync_info_t el4132_syncs[] = {<br> {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},<br> {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},<br> {2, EC_DIR_OUTPUT, 2, el4132_pdos + 0, EC_WD_DISABLE},<br> {3, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},<br>
{0xff}<br>};<br><br>// ANALOG INPUT<br>/* Master 0, Slave 4, "EL3102"<br> * Vendor ID: 0x00000002<br> * Product code: 0x0c1e3052<br> * Revision number: 0x00000000<br> */<br><br>ec_pdo_entry_info_t el3102_pdo_entries[] = {<br>
{0x3101, 0x01, 8},<br> {0x3101, 0x02, 16},<br> {0x3102, 0x01, 8},<br> {0x3102, 0x02, 16},<br>};<br><br>ec_pdo_info_t el3102_pdos[] = {<br> {0x1a00, 2, el3102_pdo_entries + 0}, /* TxPDO 001 mapping */<br> {0x1a01, 2, el3102_pdo_entries + 2}, /* TxPDO 002 mapping */<br>
};<br><br>ec_sync_info_t el3102_syncs[] = {<br> {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},<br> {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},<br> {2, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},<br> {3, EC_DIR_INPUT, 2, el3102_pdos + 0, EC_WD_DISABLE},<br>
{0xff}<br>};<br>#endif<br><br>/*****************************************************************************/<br><br>#if SDO_ACCESS<br>static ec_sdo_request_t *sdo;<br>#endif<br><br>/*****************************************************************************/<br>
<br>void check_domain1_state(void)<br>{<br> ec_domain_state_t ds;<br><br> ecrt_domain_state(domain1, &ds);<br><br> if (ds.working_counter != domain1_state.working_counter)<br> //printf("Domain1: WC %u.\n", ds.working_counter);<br>
if (ds.wc_state != domain1_state.wc_state)<br> //printf("Domain1: State %u.\n", ds.wc_state);<br><br> domain1_state = ds;<br>}<br><br>/*****************************************************************************/<br>
<br>void check_master_state(void)<br>{<br> ec_master_state_t ms;<br><br> ecrt_master_state(master, &ms);<br><br> if (ms.slaves_responding != master_state.slaves_responding)<br> //printf("%u slave(s).\n", ms.slaves_responding);<br>
if (ms.al_states != master_state.al_states)<br> //printf("AL states: 0x%02X.\n", ms.al_states);<br> if (ms.link_up != master_state.link_up)<br> //printf("Link is %s.\n", ms.link_up ? "up" : "down");<br>
<br> master_state = ms;<br>}<br><br>/*****************************************************************************/<br><br>void check_slave_config_states(void)<br>{<br> ec_slave_config_state_t s;<br><br> ecrt_slave_config_state(sc_ana_in, &s);<br>
<br> if (s.al_state != sc_ana_in_state.al_state)<br> //printf("AnaIn: State 0x%02X.\n", s.al_state);<br> if (s.online != sc_ana_in_state.online)<br> //printf("AnaIn: %s.\n", s.online ? "online" : "offline");<br>
if (s.operational != sc_ana_in_state.operational)<br> //printf("AnaIn: %soperational.\n",<br> //s.operational ? "" : "Not ");<br><br> sc_ana_in_state = s;<br>}<br><br>/*****************************************************************************/<br>
<br>#if SDO_ACCESS<br>void read_sdo(void)<br>{<br> switch (ecrt_sdo_request_state(sdo)) {<br> case EC_REQUEST_UNUSED: // request was not used yet<br> ecrt_sdo_request_read(sdo); // trigger first read<br>
break;<br> case EC_REQUEST_BUSY:<br> fprintf(stderr, "Still busy...\n");<br> break;<br> case EC_REQUEST_SUCCESS:<br> fprintf(stderr, "SDO value: 0x%04X\n",<br>
EC_READ_U16(ecrt_sdo_request_data(sdo)));<br> ecrt_sdo_request_read(sdo); // trigger next read<br> break;<br> case EC_REQUEST_ERROR:<br> fprintf(stderr, "Failed to read SDO!\n");<br>
ecrt_sdo_request_read(sdo); // retry reading<br> break;<br> }<br>}<br>#endif<br><br>/****************************************************************************/<br><br>void cyclic_task()<br>{<br>
int i;<br><br> // receive process data<br> ecrt_master_receive(master);<br> ecrt_domain_process(domain1);<br><br> // check process data state (optional)<br> check_domain1_state();<br><br> /* if (counter) { */<br>
/* counter--; */<br> /* } else { // do this at 1 Hz */<br> // counter = FREQUENCY;<br><br> // calculate new process data<br> blink = !blink;<br><br> // check for master state (optional)<br>
//check_master_state();<br><br> // check for islave configuration state(s) (optional)<br> //check_slave_config_states();<br><br>#if SDO_ACCESS<br> // read process data SDO<br> read_sdo();<br>
#endif<br><br> // }<br><br>#if 0<br> // read process data<br> printf("AnaIn: state %u value %u\n",<br> EC_READ_U8(domain1_pd + off_ana_in_status),<br> EC_READ_U16(domain1_pd + off_ana_in_value));<br>
#endif<br><br>#if 1<br> // write process data<br> EC_WRITE_U8(domain1_pd + off_dig_out, blink ? 0x01 : 0x00);<br>#endif<br><br> // send process data<br> ecrt_domain_queue(domain1);<br> ecrt_master_send(master);<br>
}<br><br>/****************************************************************************/<br><br>void signal_handler(int signum) {<br> switch (signum) {<br> case SIGALRM:<br> sig_alarms++;<br> break;<br>
}<br>}<br><br>/****************************************************************************/<br><br>int main(int argc, char **argv)<br>{<br> ec_slave_config_t *sc;<br> struct sigaction sa;<br> struct itimerval tv;<br>
<br> master = ecrt_request_master(0);<br> if (!master)<br> return -1;<br><br> domain1 = ecrt_master_create_domain(master);<br> if (!domain1)<br> return -1;<br><br> if (!(sc_ana_in = ecrt_master_slave_config(<br>
master, AnaInSlavePos, Beckhoff_EL3102))) {<br> fprintf(stderr, "Failed to get slave configuration.\n");<br> return -1;<br> }<br><br>#if SDO_ACCESS<br> fprintf(stderr, "Creating SDO requests...\n");<br>
if (!(sdo = ecrt_slave_config_create_sdo_request(sc_ana_in, 0x3102, 2, 2))) {<br> fprintf(stderr, "Failed to create SDO request.\n");<br> return -1;<br> }<br> ecrt_sdo_request_timeout(sdo, 500); // ms<br>
#endif<br><br>#if CONFIGURE_PDOS<br> printf("Configuring PDOs...\n");<br> if (ecrt_slave_config_pdos(sc_ana_in, EC_END, el3102_syncs)) {<br> fprintf(stderr, "Failed to configure PDOs (3102).\n");<br>
return -1;<br> }<br><br> if (!(sc = ecrt_master_slave_config(<br> master, AnaOutSlavePos, Beckhoff_EL4132))) {<br> fprintf(stderr, "Failed to get slave configuration.\n");<br>
return -1;<br> }<br><br> if (ecrt_slave_config_pdos(sc, EC_END, el4132_syncs)) {<br> fprintf(stderr, "Failed to configure PDOs (4132).\n");<br> return -1;<br> }<br><br> if (!(sc = ecrt_master_slave_config(<br>
master, DigOutSlavePos, Beckhoff_EL2004))) {<br> fprintf(stderr, "Failed to get slave configuration.\n");<br> return -1;<br> }<br><br> if (ecrt_slave_config_pdos(sc, EC_END, el2004_syncs)) {<br>
fprintf(stderr, "Failed to configure PDOs (2004).\n");<br> return -1;<br> }<br><br> if (!(sc = ecrt_master_slave_config(<br> master, DigInSlavePos, Beckhoff_EL1004))) {<br>
fprintf(stderr, "Failed to get slave configuration.\n");<br> return -1;<br> }<br><br> if (ecrt_slave_config_pdos(sc, EC_END, el1004_syncs)) {<br> fprintf(stderr, "Failed to configure PDOs (1004).\n");<br>
return -1;<br> }<br>#endif<br><br> // Create configuration for bus coupler<br> sc = ecrt_master_slave_config(master, BusCouplerPos, Beckhoff_EK1100);<br> if (!sc)<br> return -1;<br><br> if (ecrt_domain_reg_pdo_entry_list(domain1, domain1_regs)) {<br>
fprintf(stderr, "PDO entry registration failed (EK1100)!\n");<br> return -1;<br> }<br><br> //printf("Activating master...\n");<br> if (ecrt_master_activate(master))<br> return -1;<br>
<br> if (!(domain1_pd = ecrt_domain_data(domain1))) {<br> return -1;<br> }<br><br>#if PRIORITY<br> pid_t pid = getpid();<br> if (setpriority(PRIO_PROCESS, pid, -19))<br> fprintf(stderr, "Warning: Failed to set priority: %s\n",<br>
strerror(errno));<br>#endif<br><br> sa.sa_handler = signal_handler;<br> sigemptyset(&sa.sa_mask);<br> sa.sa_flags = 0;<br> if (sigaction(SIGALRM, &sa, 0)) {<br> fprintf(stderr, "Failed to install signal handler!\n");<br>
return -1;<br> }<br><br> //printf("Starting timer...\n");<br> tv.it_interval.tv_sec = 0;<br> tv.it_interval.tv_usec = 250;//1000000 / FREQUENCY;<br> tv.it_value.tv_sec = 0;<br> tv.it_value.tv_usec = 1000;<br>
if (setitimer(ITIMER_REAL, &tv, NULL)) {<br> fprintf(stderr, "Failed to start timer: %s\n", strerror(errno));<br> return 1;<br> }<br><br> while (1) {<br> pause();<br><br>#if 0<br>
struct timeval t;<br> gettimeofday(&t, NULL);<br> printf("%u.%06u\n", t.tv_sec, t.tv_usec);<br>#endif<br><br> while (sig_alarms != user_alarms) {<br> cyclic_task();<br>
user_alarms++;<br> }<br> }<br><br> return 0;<br>}<br><br>/****************************************************************************/<div><div></div><div class="h5"><br><br><br><br><br><br><div class="gmail_quote">
On Mon, Nov 22, 2010 at 11:43 PM, Andreas Stewering-Bone <span dir="ltr"><<a href="mailto:ab@igh-essen.com" target="_blank">ab@igh-essen.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">Hello Newell,<br>
<br>
There seems to be a communication problem.<br>
<br>
can you reduce the slaves only using the EK1100 and the EL2004<br>
<br>
and post<br>
<br>
ethercat slaves -v<br>
<br>
and<br>
<br>
ethercat master -v<br>
<br>
and maybe your code<br>
<br>
Greatings<br>
<br>
<br>
Andreas<br>
<br>
<br>
<br>
Newell Jensen schrieb:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex"><div><div></div><div>
Hello All,<br>
<br>
I am in the middle of trying to test a simple cyclic loop that toggles the digital output of the EL2004 which is attached to the EK1100. We have an oscilloscope attached to this digital output so that we can verify the square waveform that is created from the toggling of this digital output to see how fast the system can respond. However, we are getting some bleeps in this waveform and I believe they are coming from the following errors:<br>
<br>
[ 24.920744] EtherCAT: Accepting device 00:04:5F:B0:8E:49 for master 0.<br>
[ 24.920924] ec_generic: Binding socket to interface 3 (eth1).<br>
[ 24.930057] EtherCAT 0: Starting EtherCAT-IDLE thread.<br>
[ 25.532553] e1000e: eth1 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None<br>
[ 25.532724] 0000:02:00.0: eth1: 10/100 speed: disabling TSO<br>
[ 25.533311] EtherCAT 0: Link state changed to UP.<br>
[ 25.533401] ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready<br>
[ 25.535026] EtherCAT 0: 5 slave(s) responding.<br>
[ 25.535160] EtherCAT 0: Slave states: PREOP.<br>
[ 25.537370] EtherCAT 0: Scanning bus.<br>
[ 27.158003] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX<br>
[ 27.384322] EtherCAT WARNING 0: 1 datagram TIMED OUT!<br>
[ 27.596617] EtherCAT ERROR 0-4: Reception of CoE upload request for SDO 0x1c12:0 failed with timeout after 1000 ms: No response.<br>
[ 27.596636] EtherCAT ERROR 0-4: Failed to read number of assigned PDOs for SM2.<br>
[ 28.596325] EtherCAT ERROR 0-4: Reception of CoE upload request for SDO 0x1c13:0 failed with timeout after 1000 ms: No response.<br>
[ 28.596344] EtherCAT ERROR 0-4: Failed to read number of assigned PDOs for SM3.<br>
[ 28.596355] EtherCAT 0: Bus scanning completed in 3061 ms.<br>
[ 28.596364] EtherCAT ERROR 0: Failed to calculate bus topology.<br>
[ 215.389287] EtherCAT WARNING 0: 1 datagram TIMED OUT!<br>
[ 215.389324] EtherCAT WARNING 0: 1 datagram UNMATCHED!<br>
[ 341.602318] EtherCAT WARNING 0: 1 datagram TIMED OUT!<br>
[ 341.602339] EtherCAT WARNING 0: 1 datagram UNMATCHED!<br>
[ 403.613306] EtherCAT WARNING 0: 1 datagram TIMED OUT!<br>
[ 403.613369] EtherCAT WARNING 0: 1 datagram UNMATCHED!<br>
[ 469.944365] EtherCAT WARNING 0: 1 datagram TIMED OUT!<br>
[ 469.944387] EtherCAT WARNING 0: 1 datagram UNMATCHED!<br>
[ 500.001363] EtherCAT WARNING 0: 1 datagram TIMED OUT!<br>
[ 500.001384] EtherCAT WARNING 0: 1 datagram UNMATCHED!<br>
[ 523.217296] EtherCAT WARNING 0: 2 datagrams TIMED OUT!<br>
[ 523.217332] EtherCAT WARNING 0: 2 datagrams UNMATCHED!<br>
[ 683.901311] EtherCAT WARNING 0: 1 datagram TIMED OUT!<br>
[ 683.901395] EtherCAT WARNING 0: 1 datagram UNMATCHED!<br>
[ 757.067347] EtherCAT WARNING 0: 1 datagram TIMED OUT!<br>
[ 757.067368] EtherCAT WARNING 0: 1 datagram UNMATCHED!<br>
[ 759.003291] EtherCAT WARNING 0: 1 datagram TIMED OUT!<br>
[ 759.003331] EtherCAT WARNING 0: 1 datagram UNMATCHED!<br>
[ 1060.422312] EtherCAT WARNING 0: 1 datagram TIMED OUT!<br>
[ 1060.422370] EtherCAT WARNING 0: 1 datagram UNMATCHED!<br>
[ 1492.539299] EtherCAT WARNING 0: 1 datagram TIMED OUT!<br>
[ 1492.539339] EtherCAT WARNING 0: 1 datagram UNMATCHED!<br>
[ 2260.018306] EtherCAT WARNING 0: 1 datagram TIMED OUT!<br>
[ 2260.018364] EtherCAT WARNING 0: 1 datagram UNMATCHED!<br>
[ 2435.205290] EtherCAT WARNING 0: 1 datagram TIMED OUT!<br>
[ 2435.205325] EtherCAT WARNING 0: 1 datagram UNMATCHED!<br>
<br>
<br>
Any one have any ideas how I can get rid of all these different errors?<br>
<br>
Plus, we are shooting for having a system that polls (cyclic task) at 0.5 ms (2 kHz) with a jitter of about 10 us and from everything that I have read in the ethercat master documentation pdf...it seems like this should not be a problem at all.<br>
<br>
My setup:<br>
Linux ubuntu-ioc 2.6.31-11-rt #154-Ubuntu SMP PREEMPT RT Wed Jun 9 12:28:53 UTC 2010 i686 GNU/Linux<br>
generic driver<br>
IgH EtherCAT master devel e9f722488fcd<br>
<br>
Thanks!<br>
<br>
-- <br>
<br>
Newell<br>
<br>
<br></div></div>
------------------------------------------------------------------------<br>
<br>
_______________________________________________<br>
etherlab-users mailing list<br>
<a href="mailto:etherlab-users@etherlab.org" target="_blank">etherlab-users@etherlab.org</a><br>
<a href="http://lists.etherlab.org/mailman/listinfo/etherlab-users" target="_blank">http://lists.etherlab.org/mailman/listinfo/etherlab-users</a><br>
<br>
</blockquote>
<br>
<br>
-- <br>
<br>
------------------------------------------------------------------------<br>
<br>
Dipl.-Ing. Andreas Stewering-Bone Amtsgericht Essen HRB 11500 Ingenieurgemeinschaft IgH USt-Id.-Nr.: DE 174 626 722 Gesellschaft für Ingenieurleistungen mbH Geschäftsführung: Heinz-Bäcker-Str. 34 Dr.-Ing. S. Rotthäuser D-45356 Essen Dr.-Ing. T. Finke Tel.: +49 201 / 360-14-15 Dr.-Ing. W. Hagemeister Fax.: +49 201 / 360-14-14 Tel.: +49 201 / 360-14-0 <a href="mailto:Andreas.Stewering-Bone@igh-essen.com" target="_blank">Andreas.Stewering-Bone@igh-essen.com</a> <a href="http://www.igh-essen.com" target="_blank">http://www.igh-essen.com</a> <br>
------------------------------------------------------------------------<br>
<br>
</blockquote></div><br><br clear="all"><br></div></div>-- <br><font color="#888888"><div><br></div>Newell<br><br><br>
</font></blockquote></div><br><br clear="all"><br>-- <br><div><br></div>Newell<br><br><br>
</div>