<div dir="ltr">

<p class="">Dear Mr. Schlüter,</p>

<p class=""> </p>

<p class=""><span style lang="EN-US">I am trying
to configure a Slave EL4008 (12-bit Analog Output). </span></p>

<p><span style lang="EN-US">I m trying to Configure
EL4008 analog terminal by Beckhoff using CAPI. When I insmod my application
then all the LEDS on the terminal glow and I am unable to control it or change
its status. My system works completely fine for Digital terminals so there is
no problem in the setup  I checked the domain. The values are written as
per my program but I cannot measure the voltage on my physical Terminal using a
multimeter. This slave supports distributed clocks, I have not dealt with time
issue in my program. Is that the reason My slave is not updated?  What
should I do? What mistake am I committing?  Please Advise.</span></p>

<p><span style lang="EN-US">My system details are as
follows-</span></p>

<p><span style lang="EN-US"> </span></p>

<p><span style lang="EN-US">EtherCAT – 1.5</span></p>

<p><span class=""><span style lang="EN-US">Etherlab</span></span><span style lang="EN-US">- 1.3</span></p>

<p><span style lang="EN-US">Linux- Open suse</span></p>

<p><span style lang="EN-US">Linux Kernel- 2.6.37.6 </span></p>

<p><span style lang="EN-US"> </span></p>

<p><span style="font-size:18pt">Code- </span></p>

<p> </p>

<p>#define Beckhoff_EK1101 0x00000002, 0x044d2c52<br>
<br>
#define Beckhoff_EL4008 0x00000002, 0x0fa83052</p>

<p> </p>

<p>#define BuscouplerPos  0,0</p>

<p> </p>

<p>#define AnaOutSlavePos  0,2<br>
<br>
<br>
ec_pdo_entry_info_t slave_EL4008_pdo_entries[] = {<br>
    {0x7000, 0x01, 16}, /* Analog output */<br>
    {0x7010, 0x101, 16}, /* Analog output */<br>
    {0x7020, 0x01, 16}, /* Analog output */<br>
    {0x7030, 0x01, 16}, /* Analog output */<br>
    {0x7040, 0x01, 16}, /* Analog output */<br>
    {0x7050, 0x01, 16}, /* Analog output */<br>
    {0x7060, 0x01, 16}, /* Analog output */<br>
    {0x7070, 0x01, 16}, /* Analog output */<br>
    };<br>
<br>
ec_pdo_info_t slave_EL4008_pdos[] = {<br>
    {0x1600, 1, slave_EL4008_pdo_entries +0 }, /* RxPDO-Map
OutputsCh.1 */<br>
    {0x1601, 1, slave_EL4008_pdo_entries +1 }, /* RxPDO-Map
OutputsCh.2 */<br>
    {0x1602, 1, slave_EL4008_pdo_entries +2 }, /* RxPDO-Map
OutputsCh.3 */<br>
    {0x1603, 1, slave_EL4008_pdo_entries +3 }, /* RxPDO-Map
OutputsCh.4 */<br>
    {0x1604, 1, slave_EL4008_pdo_entries +4 }, /* RxPDO-Map
OutputsCh.5 */<br>
    {0x1605, 1, slave_EL4008_pdo_entries +5 }, /* RxPDO-Map
OutputsCh.6 */<br>
    {0x1606, 1, slave_EL4008_pdo_entries +6 }, /* RxPDO-Map
OutputsCh.7 */<br>
    {0x1607, 1, slave_EL4008_pdo_entries +7 }, /* RxPDO-Map
OutputsCh.8 */<br>
};<br>
<br>
<br>
ec_sync_info_t slave_EL4008_syncs[] = {<br>
    {0, EC_DIR_OUTPUT, 0},<br>
    {1, EC_DIR_INPUT, 0},<br>
    {2, EC_DIR_OUTPUT, 8,slave_EL4008_pdos + 0 },<br>
    {3, EC_DIR_INPUT, 0},<br>
    {0xff}<br>
}; <br>
<br>
static unsigned int o_ana_out[8];<br>
<br>
const static ec_pdo_entry_reg_t domain_EL4008_regs[] = {<br>
        {AnaOutSlavePos,  Beckhoff_EL4008,
0x7000, 0x11, &o_ana_out[0]},<br>
        {AnaOutSlavePos,  Beckhoff_EL4008,
0x7010, 0x11, &o_ana_out[1]},<br>
        {AnaOutSlavePos,  Beckhoff_EL4008,
0x7020, 0x11, &o_ana_out[2]},<br>
        {AnaOutSlavePos,  Beckhoff_EL4008,
0x7030, 0x11, &o_ana_out[3]},<br>
        {AnaOutSlavePos,  Beckhoff_EL4008, 0x7040,
0x11, &o_ana_out[4]},<br>
        {AnaOutSlavePos,  Beckhoff_EL4008,
0x7050, 0x11, &o_ana_out[5]},<br>
        {AnaOutSlavePos,  Beckhoff_EL4008,
0x7060, 0x11, &o_ana_out[6]},<br>
        {AnaOutSlavePos,  Beckhoff_EL4008,
0x7070, 0x11, &o_ana_out[7]},<br>
{}<br>
};</p>

</div>