[etherlab-dev] Large PDOs
Jeroen Van den Keybus
jeroen.vandenkeybus at gmail.com
Wed Dec 11 10:13:41 CET 2013
Gavin,
Thanks for your reply. Currently this slave does not support SDOs since it
is a 'resource constrained' FPGA based design.
Both fast and small, and slow and large PDOs are, unfortunately, on the
same slave.
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.
J.
J.
2013/12/10 Gavin Lambert <gavinl at compacsort.com>
> 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.)
>
>
>
> 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.
>
>
>
> *From:* etherlab-dev-bounces at etherlab.org [mailto:
> etherlab-dev-bounces at etherlab.org] *On Behalf Of *Jeroen Van den Keybus
> *Sent:* Wednesday, 11 December 2013 11:02
> *To:* etherlab-dev at etherlab.org
> *Subject:* [etherlab-dev] Large PDOs
>
>
>
> Hi,
>
>
>
>
>
> I want to use a single, quite large (1,024 byte) PDO.
>
>
>
> 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.
>
>
>
> 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 ?).
>
> 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 ?
>
> Thanks,
>
> J.
>
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-dev/attachments/20131211/6facb54f/attachment-0002.htm>
More information about the Etherlab-dev
mailing list