<div dir="ltr">Hi ALL,<div><br></div><div>    I use etherCAT Master 1.5.2 to control servo motors. the system works perfect more than 6 months until last week.</div><div>    </div><div>    The data (motor position) read from "domain_input_pd" were wrong. It made the system crazy.</div><div><br></div><div>    I manage to reproduce it and find out that other system ,in same network, transfer huge amount data and almost block the band width.</div><div>    I also notice , when the issue happen, the syslog print a lot warning: <i style="color:rgb(0,0,0);white-space:pre-wrap">UNMATCHED/SKIPPED </i><i style="color:rgb(0,0,0);white-space:pre-wrap">datagrams</i></div><div><i style="color:rgb(0,0,0);white-space:pre-wrap"><br></i></div><div>    So I know the data ,I read from datagram, is not flesh. actually it is old data from last cycle. (1.5.2 document ,page 74 ,8.0.2 Bus Cycle Measuring).</div><div><br></div><div>     My question is how I can catch the PDO datagrams warning or error in the code,rather than Syslog?</div><div><br></div><div>    Thank you. </div><div><br></div><div>Regards,</div><div>Zhiyong</div><div><br></div><div><div><font size="1">bool fm_auto::DuetflEthercatController::cyclic_task()</font></div><div><font size="1">{</font></div><div><font size="1"><br></font></div><div><font size="1">        ecrt_master_receive(master);</font></div><div><font size="1">        ecrt_domain_process(domain_input);</font></div><div><font size="1"><br></font></div><div><font size="1">        // read PDO data , motor position</font></div><div><font size="1">        position_actual_value_PDO_data_slave_zero = EC_READ_S32(domain_input_pd + fm_auto::OFFSET_POSITION_ACTURAL_VALUE);</font></div><div><font size="1"><br></font></div><div><font size="1"><span class="" style="white-space:pre">    </span>ecrt_domain_process(domain_output);</font></div><div><font size="1"><br></font></div><div><font size="1">        // write PDO data, motor velocity</font></div><div><font size="1">        ...</font></div><div><font size="1">        EC_WRITE_U32(domain_output_pd + fm_auto::OFFSET_TARGET_VELOCITY, value);</font></div><div><font size="1"><br></font></div><div><font size="1">        ecrt_domain_queue(domain_output);</font></div><div><font size="1"><br></font></div><div><font size="1">        // send process data</font></div><div><font size="1">        ecrt_domain_queue(domain_input);</font></div><div><font size="1">        ecrt_master_send(master);</font></div><div><font size="1"><br></font></div><div><font size="1"><br></font></div><div><font size="1">        return true;</font></div><div><font size="1">}</font></div></div></div>