<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 14 (filtered medium)">
<style><!--
/* Font Definitions */
@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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
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;
font-family:"Calibri","sans-serif";}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></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="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am currently writing software to use the Beckhoff EL2502 module. Using the cstruct output of the etherlab tool, I get the following pdo configuration:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:9.0pt">/* Master 0, Slave 7, "EL2502"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">* Vendor ID: 0x00000002<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">* Product code: 0x09c63052<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">* Revision number: 0x00170000<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">*/<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">ec_pdo_entry_info_t slave_7_pdo_entries[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {0x7000, 0x11, 16}, /* PWM output */<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {0x7010, 0x11, 16}, /* PWM output */<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">};<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">ec_pdo_info_t slave_7_pdos[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {0x1600, 1, slave_7_pdo_entries + 0}, /* PWM RxPDO-Map Ch.1 */<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {0x1601, 1, slave_7_pdo_entries + 1}, /* PWM RxPDO-Map Ch.2 */<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">};<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">ec_sync_info_t slave_7_syncs[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {2, EC_DIR_OUTPUT, 2, slave_7_pdos + 0, EC_WD_DISABLE},<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {3, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {0xff}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">};<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">After reading through some of the beckhoff documentation, I changed my structures to accommodate the channel period registers…(I believe it is firmware specific).
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:9.0pt">// EL2502 PDO entries<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">ec_pdo_entry_info_t EL2502_pdo_entries[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {0x7000, 0x11, 16}, /* PWM CH1 output */<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {0x7000, 0x12, 16}, /* PWM CH1 period */<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {0x7010, 0x11, 16}, /* PWM CH2 output */<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {0x7010, 0x12, 16}, /* PWM CH2 period */<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">};<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">// EL2502 PDOs<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">ec_pdo_info_t EL2502_pdos[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {0x1602, 1, EL2502_pdo_entries + 0}, /* PWM RxPDO-Map Ch.1 */<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {0x1603, 1, EL2502_pdo_entries + 2}, /* PWM RxPDO-Map Ch.2 */<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">};<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">// EL2502 sync<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">ec_sync_info_t EL2502_syncs[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {2, EC_DIR_OUTPUT, 2, EL2502_pdos + 0, EC_WD_DISABLE},<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {3, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> {0xff}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">};<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Has anyone ever set the frequency and pulse width of the ouput signal on either channel using pdo’s? My project requires changing the pulse frequency and the pulse width on the fly and I was wondering if I can accomplish this using the
pdo’s. Does anyone else have different c structures they are using?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thank you!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-Derrill<o:p></o:p></p>
</div>
</body>
</html>