<div dir="ltr">Gavin,<div><br></div><div><br></div><div>Thanks for your reply. Currently this slave does not support SDOs since it is a 'resource constrained' FPGA based design.</div><div><br></div><div>Both fast and small, and slow and large PDOs are, unfortunately, on the same slave.<br>
</div><div><br></div><div>I would have liked to stay away from using SDOs in the control process. So currently I'm considering two options: either bring out some form of freely programmable datagram service in the API, or construct a mailbox-like protocol over a limited-size protocol. The latter isn't exactly good for the 'resource constrained' part of my design.</div>
<div><br></div><div><br></div><div>J.</div><div><br></div><div><br></div><div>J.</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/12/10 Gavin Lambert <span dir="ltr"><<a href="mailto:gavinl@compacsort.com" target="_blank">gavinl@compacsort.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-NZ" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">How often do you need to access the large value? If it’s at a reasonably slow rate (and if you have the freedom to change the slave, or at least unmap the PDO, which it sounds like you do from the below) then you might want to consider accessing it as an SDO instead. If it’s an array or record type then you should be able to access it in small enough chunks to not upset your high-speed domain. (Provided that the slave supports CoE, of course.)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">For the high-speed data, if it’s on a separate slave you could consider using a separate EtherCAT network for it. If it’s on the same slave then you might need to either break up access to the large chunk as above, or batch up multiple values (assuming it’s unidirectional) as in oversampling so that you can have a slower cycle rate.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div><div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm"><p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:etherlab-dev-bounces@etherlab.org" target="_blank">etherlab-dev-bounces@etherlab.org</a> [mailto:<a href="mailto:etherlab-dev-bounces@etherlab.org" target="_blank">etherlab-dev-bounces@etherlab.org</a>] <b>On Behalf Of </b>Jeroen Van den Keybus<br>
<b>Sent:</b> Wednesday, 11 December 2013 11:02<br><b>To:</b> <a href="mailto:etherlab-dev@etherlab.org" target="_blank">etherlab-dev@etherlab.org</a><br><b>Subject:</b> [etherlab-dev] Large PDOs<u></u><u></u></span></p></div>
</div><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Hi,<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div>
<p class="MsoNormal">I want to use a single, quite large (1,024 byte) PDO.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Does anyone know how to specify such a large PDO in the XML description file / SII EEPROM content ? It seems that only base types are allowed as DataType in a PDO entry (basically any common data type up to 64 bits). Even if using 64-bit ULINTs, that still means I need 64 PDO entries. That's very unwieldy, especially since the data only make sense as an array. I would also like to use a single pointer in IgH master to access it.<u></u><u></u></p>
</div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-bottom:12.0pt">Another issue is that there's a second domain of 20 bytes that's being accessed at 100us intervals. Obviously, the large PDO, already requiring more than 100us on the line for a data exchange, is going to prevent the small one from being delivered timely, although the large one only needs to be exchanged once per second. Is there a common way of solving this (perhaps splitting the domain transfer ?).<u></u><u></u></p>
</div><div><p class="MsoNormal" style="margin-bottom:12.0pt">I was thinking of accessing the large PDO directly (outside whatever is defined in the XML, directly to a configured SM) and use a series of FPxx commands to exchange data. Is there a way to do this in IgH master ? <u></u><u></u></p>
</div><div><p class="MsoNormal" style="margin-bottom:12.0pt">Thanks,<br><br><u></u><u></u></p></div><div><p class="MsoNormal">J. <u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">
<u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div></div></div></div></div></div></div></blockquote></div><br></div>