<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:NSimSun;
        panose-1:2 1 6 9 3 1 1 1 1 1;}
@font-face
        {font-family:NSimSun;
        panose-1:2 1 6 9 3 1 1 1 1 1;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        font-size:10.5pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
 /* Page Definitions */
 @page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=ZH-CN link=blue vlink=purple style='text-justify-trim:punctuation'>

<div class=Section1>

<p class=MsoNormal><span lang=EN-US>Dear all,<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         I
have a problem in reading Beckhoff module EL5151, are there anybody can give
some help?<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         </span><span
lang=EN-US>I tried to read the counter value of this module in real time cycle,
but the value was always the same and never followed the input. <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        
My code about this module is like this:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US>         </span><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun;color:blue'>static</span><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'> ec_pdo_entry_info_t
el5151_pdo_entries[] = {<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x7000, 0x01, 1}, <span style='color:green'>/* Enable latch C */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x7000, 0x02, 1}, <span style='color:green'>/* Enable latch extern on positive
edge */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x7000, 0x03, 1}, <span style='color:green'>/* Set counter */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x7000, 0x04, 1}, <span style='color:green'>/* Enable latch extern on negative
edge */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x0000, 0x00, 4}, <span style='color:green'>/* Gap */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x0000, 0x00, 8}, <span style='color:green'>/* Gap */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x7000, 0x11, 32}, <span style='color:green'>/* Set counter value */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x6000, 0x01, 1}, <span style='color:green'>/* Latch C valid */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x6000, 0x02, 1}, <span style='color:green'>/* Latch extern valid */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x6000, 0x03, 1}, <span style='color:green'>/* Set counter done */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x0000, 0x00, 4}, <span style='color:green'>/* Gap */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x6000, 0x08, 1}, <span style='color:green'>/* Extrapolation stall */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x6000, 0x09, 1}, <span style='color:green'>/* Status of input A */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x6000, 0x0a, 1}, <span style='color:green'>/* Status of input B */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x6000, 0x0b, 1}, <span style='color:green'>/* Status of input C */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x0000, 0x00, 1}, <span style='color:green'>/* Gap */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x6000, 0x0d, 1}, <span style='color:green'>/* Status of extern latch */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>    {0x1c32,
0x20, 1}, <span style='color:green'>/* Sync error */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x0000, 0x00, 1}, <span style='color:green'>/* Gap */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x1800, 0x09, 1}, <span style='color:green'>/* TxPDO Toggle */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x6000, 0x11, 32}, <span style='color:green'>/* Counter value */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x6000, 0x12, 32}, <span style='color:green'>/* Latch value */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x6000, 0x14, 32}, <span style='color:green'>/* Period value */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>};<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'><o:p> </o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun;color:blue'>static</span><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'> ec_pdo_info_t
el5151_pdos[] = {<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x1600, 7, el5151_pdo_entries + 0}, <span style='color:green'>/* ENC RxPDO-Map
Control */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x1a00, 15, el5151_pdo_entries + 7}, <span style='color:green'>/* ENC
TxPDO-Map Status */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0x1a02, 1, el5151_pdo_entries + 22}, <span style='color:green'>/* ENC
TxPDO-Map Period */</span><o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>};<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'><o:p> </o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun;color:blue'>static</span><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'> ec_sync_info_t
el5151_syncs[] = {<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>    {0,
EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>    {1,
EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>    {2,
EC_DIR_OUTPUT, 1, el5151_pdos + 0, EC_WD_DISABLE},<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>    {3,
EC_DIR_INPUT, 2, el5151_pdos + 1, EC_WD_DISABLE},<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>   
{0xff}<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>};<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun;color:blue'>static</span><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'> <span style='color:
blue'>unsigned</span> <span style='color:blue'>int</span> off_inc_enc;<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun;color:blue'>const</span><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'> <span style='color:
blue'>static</span> ec_pdo_entry_reg_t domain1_regs[] = {<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>        
</span><span style='font-size:9.5pt;font-family:NSimSun'>…<span
lang=EN-US><o:p></o:p></span></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>        
<span style='color:green'>IncEncoderA, IncEncoderP, Beckhoff_EL5151, 0x6000,
0x11, &off_inc_enc}<o:p></o:p></span></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun;color:green'>        
</span><span style='font-size:9.5pt;font-family:NSimSun;color:green'>…<span
lang=EN-US><o:p></o:p></span></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>}<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'><o:p> </o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun;color:blue'>int</span><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'> main(<span
style='color:blue'>int</span> argc, <span style='color:blue'>char</span>
**argv)<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>{<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>        
</span><span style='font-size:9.5pt;font-family:NSimSun'>……<span
lang=EN-US>.<o:p></o:p></span></span></p>

<p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;
text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>ecrt_slave_config_pdos(sc,
EC_END, el5151_syncs) ;<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;
text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>ecrt_domain_reg_pdo_entry_list(domain1,
domain1_regs);<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;
text-autospace:none'><span style='font-size:9.5pt;font-family:NSimSun'>……<span
lang=EN-US>.<o:p></o:p></span></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>}<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'><o:p> </o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun;color:blue'>void</span><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'> cyclic_task()<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>{<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>        
int value;<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>        
<span style='color:blue'>while</span>(1) {<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>                                    ……<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>                  
value = <span style='color:green'>EC_READ_U32(domain1_pd + off_inc_enc);<o:p></o:p></span></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun;color:green'>                  
</span><span style='font-size:9.5pt;font-family:NSimSun;color:green'>……<span
lang=EN-US><o:p></o:p></span></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>        
}<o:p></o:p></span></p>

<p class=MsoNormal align=left style='text-align:left;text-autospace:none'><span
lang=EN-US style='font-size:9.5pt;font-family:NSimSun'>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='color:red'>The value is always the
same and never try to follow the input. </span><span lang=EN-US>Can you tell me
where is my problem? Thanks in advance.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Best Regards!<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>Maggie<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

</div>

</body>

</html>