<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 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;}
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.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@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="MsoNormal"><span style="mso-fareast-language:EN-US">Hi Jakub,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">It's kind of hard to say without more info. But here's a few things to check (from very simple onwards):<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">1) check that the drives are going to OP mode ("ethercat slaves" command). If they are not in OP mode they won't be handling PDO frames.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">2) do an "ethercat slaves -v" command and check that your app is using the correct vender ID and product code to connect to it.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">3) do an "ethercat slaves -v" command and compare the two types of drives, in particular the "Flags: Enable notLRW" flag. If one of them is true, then you need to split the read and write PDO's
into two different domains for that drive.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">4) from a fresh power up of your amps, and before you start your app, do the "ethercat cstruct" command on the two types of amps and compare them. If they are not the same, make sure your code is
accounting for the differences.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">5) before starting your amp run the command "ethercat debug 1" to set the masters debug output level to 1. Start the app. Once started check the dmesg log and look for any configuration errors<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Graeme Foot.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> etherlab-users <etherlab-users-bounces@etherlab.org>
<b>On Behalf Of </b>j.sikorski@utwente.nl<br>
<b>Sent:</b> Saturday, 30 November 2019 5:52 AM<br>
<b>To:</b> etherlab-users@etherlab.org<br>
<b>Cc:</b> s.misra@utwente.nl; f.khan@utwente.nl<br>
<b>Subject:</b> [etherlab-users] Debugging inconsistent slave behaviour<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div id="divtagdefaultwrapper">
<p><span style="font-size:12.0pt;color:black">Dear Etherlab Users,<o:p></o:p></span></p>
<p><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
<p><span style="font-size:12.0pt;color:black">For a few years now I've been enthusiastically using Etherlab master along with Gavin Lambert's patchset (up to kernel 4.4) to drive a handful of Technosoft Motion iPOS4808 BX-CAT slaves in various robotics projects.
My framework involves <ecrt.h> wrapped in custom C++ code. I thought that by now I have a reliable plug-and-play software stack. Unfortunately, I was proven wrong when I tried to use my code with another drive from the same family (iPOS3602 VX-CAT). <o:p></o:p></span></p>
<p><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
<p><span style="font-size:12.0pt;color:black">I managed to narrow down the problem to an issue with <ecrt.h> PDO exchange. When I run the cyclic process, I keep on receiving empty datagrams from the 3602 slaves regardless of what I do. Running the same code
on the same machine with iPOS4808 slaves connected through the same cable works just fine. I can also read all CoE fields in 3602 slaves via SDO ("sudo ethercat upload" in console) with no problem. The manufacturer (Technosoft) claims that their Ethercat functionality should
be consistent across the entire iPOS ...-CAT family, but something is clearly not right.<o:p></o:p></span></p>
<p><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
<p><span style="font-size:12.0pt;color:black">Since I have never ran into similar issues, I miss the know-how that would allow me to dig deep enough to establish the source of the problem (even the simple fact whether it's a problem with the slaves or the master).
Hence, I thought I may check here, whether a similar situation has happened to anyone before. If you had any tips on how I could investigate the problem further, I would be much obliged.<o:p></o:p></span></p>
<p><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
<p><span style="font-size:12.0pt;color:black">Thank you very much in advance for any help.<o:p></o:p></span></p>
<p><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
<p><span style="font-size:12.0pt;color:black">Yours sincerely,<o:p></o:p></span></p>
<p><span style="font-size:12.0pt;color:black">Jakub Sikorski<o:p></o:p></span></p>
<p><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
<p><span style="font-size:12.0pt;color:black">Doctoral Candidate<o:p></o:p></span></p>
<p><span style="font-size:12.0pt;color:black">Surgical Robotics Laboratory<o:p></o:p></span></p>
<p><span style="font-size:12.0pt;color:black">University of Twente<o:p></o:p></span></p>
<p><span style="font-size:12.0pt;color:black">7500 AE Enschede<o:p></o:p></span></p>
<p><span style="font-size:12.0pt;color:black">The Netherlands<o:p></o:p></span></p>
</div>
</div>
</body>
</html>