[etherlab-users] Strange PDO configuration behavior

Mirco Cremasco mirco at cremasco.eu
Fri May 8 17:40:25 CEST 2020


Hallo all,
I'm testing a setup with 3 modules, EL1018 (input) EL2008 (output) and a 
EL5151-0021 (encoder).
After succesfull configuring  PDO using information gathered with 
"ethercat cstruct" command (see pdo_entry struct below) ,
when I  write to digital output with
EC_WRITE_U8(domain1_pd + off_dig_out, outval);
it doesn't work!
meanwhile EL1018 end El5151 work correctly.
If I leave EL5151 unconfigured  (USE_ENC21 undefined)  EL2008 works 
properly.
What I noted is in the output of "ethercat domains --verbose" the 
digital output slave has size  14
while it should be equal to 1

Can anyone help me?
Thanks
Mirco

#ethercat domains --verbose
Domain0: LogBaseAddr 0x00000000, Size  47, WorkingCounter 4/6
   SlaveConfig 0:1, SM2 (Output), LogAddr 0x00000000, Size 14
     00 00 00 00 00 00 00 00 00 00 00 00 00 00
   SlaveConfig 0:1, SM3 ( Input), LogAddr 0x0000000e, Size 18
     00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     00 00
   SlaveConfig 0:2, SM0 ( Input), LogAddr 0x00000020, Size 1
     00
   SlaveConfig 0:3, SM2 (Output), LogAddr 0x00000021, Size 14
     20 00 00 00 00 00 00 00 00 00 00 00 00 00
#ethercat domains --verbose
Domain0: LogBaseAddr 0x00000000, Size   2, WorkingCounter 3/3
   SlaveConfig 0:2, SM0 ( Input), LogAddr 0x00000000, Size 1
     00
   SlaveConfig 0:3, SM0 (Output), LogAddr 0x00000001, Size 1
     00



const static ec_pdo_entry_reg_t domain1_regs[] = {
#ifdef USE_ENC21
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x7000, 0x1, 
&offw_5151_ctrl, &bit_enable_latchC}, //EC_WRITE_BIT(DATA, POS, VAL)
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x7000, 0x2, 
&offw_5151_ctrl, &bit_enable_exTlatch_pos},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x7000, 0x3, 
&offw_5151_ctrl, &bit_set_counter},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x7000, 0x4, 
&offw_5151_ctrl, &bit_enable_extlatch_neg},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x7000, 0x5, 
&offw_5151_ctrl, &bit_set_output},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x7000, 0x6, 
&offw_5151_ctrl, &bit_enable_output_func},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x7000, 0x7, 
&offw_5151_ctrl, &bit_enable_measure},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x7000, 0x8, 
&offw_5151_ctrl, &bit_set_counter_on_latchC},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x7000, 0x11, 
&offw_5151_set_counter_value},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x7000, 0x12, 
&offw_5151_set_on_thr_value},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x7000, 0x13, 
&offw_5151_set_off_thr_value},

     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x6000, 0x1, 
&offr_5151_status1, &bit_latchC_valid},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x6000, 0x2, 
&offr_5151_status1, &bit_exTlatch_valid},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x6000, 0x3, 
&offr_5151_status1, &bit_set_counter_done},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x6001, 0x2, 
&offr_5151_status3, &bit_measurement_done},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x6000, 0x9, 
&offr_5151_status2, &bit_A_status},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x6000, 0xa, 
&offr_5151_status2, &bit_B_status},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x6000, 0xb, 
&offr_5151_status2, &bit_C_status},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x6001, 0x1, 
&offr_5151_status4, &bit_output_status},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x6000, 0xd, 
&offr_5151_status2, &bit_exTlatch_status},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x6000, 0xe, 
&offr_5151_status5, &bit_counter_high},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x6000, 0x10, 
&offr_5151_status6, &bit_txpod_toggle},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x6000, 0x11, 
&offr_5151_couter_value},
     {EncTrgSlavePos, Beckhoff_EL5151_0021, 0x6000, 0x12, 
&offr_5151_latch_value},
#endif
     {DigInSlavePos, Beckhoff_EL1018, 0x6000, 1, &off_dig_in,NULL},
     {DigOutSlavePos, Beckhoff_EL2008, 0x7000, 1, &off_dig_out,NULL},
     {}
};
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20200508/d9d08f3d/attachment-0002.htm>


More information about the Etherlab-users mailing list