<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=utf-8">
<meta name="Generator" content="Microsoft Word 15 (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:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
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-NZ" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoPlainText">I've attached the output from some of the ethercat commands from my amp.  Note, my slave is configured to alias 12, so the -a12 just filters to only show information for the yaskawa amp.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><b>Prior to starting the app:<o:p></o:p></b></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">(see attached: Before running app.txt)<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">On power up, the struct command shows the amps default PDO configuration.  In my case it shows:<o:p></o:p></p>
<p class="MsoPlainText">0x6040 : control word<o:p></o:p></p>
<p class="MsoPlainText">0x607a : target position<o:p></o:p></p>
<p class="MsoPlainText">0x6041 : status word<o:p></o:p></p>
<p class="MsoPlainText">0x6064 : actual position<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">The xml command reflects the same information.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><b>After starting the app:<o:p></o:p></b></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">(see attached: After running app.txt)<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">After running the app the struct command now shows my selected PDO configuration.  The xml command also now reflects this information.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">In "Before running app.txt" I also sent the ethercat slaves –v command (–v = verbose, gives more information about the slave(s)).  Under the COE details section you can see that both "Enable PDO Assign" and "Enable PDO Configuration"
 are yes.  This means you can choose to use a different PDO configuration from the default.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Re your question: I was getting you to run the struct command to see if there was any default configuration in there for your amp.  You can use this configuration (as per mine above) as a starting point for simple amp operation, setting
 some of the configuration parameters via SDO's.  I wanted more functionality than the default configuration so have changed my PDO configuration to suit.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Since you do not have any PDO's configured by default, it means you are either (1) running the command after the amp is being configured (and failing); or (2) the failed configuration has been saved to the EEPROM at some stage; or (3)
 it doesn't have any default PDO configuration.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">If its case #2 then you can try resetting the amp back to its default parameters with the command (replacing –a12 with your appropriate slave alias or position information):<o:p></o:p></p>
<p class="MsoPlainText"><span style="font-family:"Courier New"">ethercat download –a12 0x1011 0x01 0x64616F6C<o:p></o:p></span></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">The 0x1011:01 parameter is "Restore all default parameters".  The 0x64616F6C value is a special value to ensure you don't call it by mistake.  This value actually represents the bytes for the ASCII characters "load" (where l is the LSB). 
 You will then need to repower the amp.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I have also attached the dmesg commands and output of what I would expect to happen as the app configures the amp.  It may help you pin down where it starts to deviate.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Also check that the amp can be configured and run in TwinCAT.  You can download a copy of TwinCAT and run in trial mode for a month or so (TwinCAT 2 might be easier than TwinCAT 3?).  If it does work then you might be able to see if
 there's any special configuration options required for you amp.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Beyond that, if you can confirm everything else in your app is working, you can contact Yaskawa support.  They won't help you with anything beyond that amp, but can be very helpful with setting up the amp.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Regards,<o:p></o:p></p>
<p class="MsoPlainText">Graeme.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">-----Original Message-----<o:p></o:p></p>
<p class="MsoPlainText">From: Rahul Deshpande [mailto:rahulgd92@gmail.com] <o:p></o:p></p>
<p class="MsoPlainText">Sent: Saturday, 26 August 2017 9:04 a.m.<o:p></o:p></p>
<p class="MsoPlainText">To: Graeme Foot <Graeme.Foot@touchcut.com><o:p></o:p></p>
<p class="MsoPlainText">Cc: etherlab-users <etherlab-users@etherlab.org><o:p></o:p></p>
<p class="MsoPlainText">Subject: Re: problem with ethercat xml<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Hi Graeme,<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I updated the eeprom from twincat. And it did not have any details in the xml apart from version and product code. Only after I ran the application which had the code to configure sync managers it populated the xmlwith those values.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I was a little confused when in previous mail you said that get the pdo config from ethercat struct and then put it in the application.<o:p></o:p></p>
<p class="MsoPlainText">Can you please clarify on that ?.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Thank you,<o:p></o:p></p>
<p class="MsoPlainText">Rahul<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">On 8/25/17, Rahul Deshpande <rahulgd92@gmail.com> wrote:<o:p></o:p></p>
<p class="MsoPlainText">> Hi Graeme,<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> I was going through the ethercat commands. I came across 'ethercat
<o:p></o:p></p>
<p class="MsoPlainText">> struct' and 'ethercat xml'. When I used the 'ethercat xml' in pre-op
<o:p></o:p></p>
<p class="MsoPlainText">> and op mode I got the following xml (PFA).<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> Before and after running the application(In which we have configured
<o:p></o:p></p>
<p class="MsoPlainText">> the pdos from the example you had sent), the 'ethercat struct' and
<o:p></o:p></p>
<p class="MsoPlainText">> 'ethercat xml' produce the same data which does not consist of PDO
<o:p></o:p></p>
<p class="MsoPlainText">> config settings.<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> Is this a case of corrupt EEPROM or that we are unable to configure
<o:p></o:p></p>
<p class="MsoPlainText">> PDOs in our application ?<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> Regards,<o:p></o:p></p>
<p class="MsoPlainText">> Rahul<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
</div>
</body>
</html>