[etherlab-users] EL6688 SDOs
John Hubbard
jhubbard at noao.edu
Fri Dec 18 00:36:34 CET 2015
Thanks for the quick reply. I hadn't discovered the ecrt_slave_config*
functions yet but those look a lot easier to use then what I was
imagining setting up with the ...request_write function and state
monitoring. Also thanks for the explanation of SDOs vs PDOs. This helps
a lot.
On 12/17/2015 04:29 PM, Gavin Lambert wrote:
>
> SDOs are just objects that can be accessed via acyclic (mailbox)
> transfers. Typically (if the slave supports CoE) all PDOs can be
> accessed as SDOs (though usually there’s little point) but only some
> SDOs can be accessed as PDOs.
>
> Most of the time SDOs are used purely for configuration – values that
> you want to set once on startup and never change again. For this
> case, simply use the ecrt_slave_config_sdo* family of functions during
> the configuration phase (when you’re registering PDOs) and the library
> will take care of sending this to the device.
>
> The ecrt_sdo_request family of functions are for the other kind of SDO
> access, where there is something that you want to read or modify
> during live operation. This is rarer (except for things like
> diagnostic monitoring) as typically live changes are done via PDOs
> instead. But sometimes these can be useful if it’s only extremely
> rare that you want to change something so you don’t want to “waste”
> space in the normal domain transfer.
>
> An SDO transfer will take multiple cycles to execute (absolute minimum
> is about 3, but it usually takes more); each slave can only process
> one transfer at a time; and the master has a small limit on the number
> of concurrent transfers it will actually issue, although it can hold
> extras in a queue.
>
> *From:*etherlab-users [mailto:etherlab-users-bounces at etherlab.org] *On
> Behalf Of *John Hubbard
> *Sent:* Friday, 18 December 2015 11:42
> *To:* etherlab-users at etherlab.org
> *Subject:* [etherlab-users] EL6688 SDOs
>
> Hello,
>
> I've not gotten my Beckhoff EL1252 and EL2252 modules mostly working
> (I've still got some confusion WRT distributed clocks, and I'm still
> seeing the warnings/errors I mentioned the other day). I'm now
> working on trying to get the EL6688 module (IEEE 1588/Precision Time
> Protocol) up and running. From my reading of the Beckhoff
> documentation I'm under the impression that most of the setup options
> (e.g. Ethernet configuration and PTPv1 vs PTPv2 mode) need to be setup
> via SDOs instead of PDOs. (Is this what others would expect?) For
> reference I've attached the full SDO dictionary that I obtained via
> 'ethercat sdos'.
>
> I'm a little unclear what the difference between SDOs and PDOs is. Is
> the difference just the PDOs can be read/written every cycle, while
> SDOs can only be read/written when ecrt_sdo_request_state ==>
> EC_REQUEST_SUCCESS (following an ecrt_sdo_request_write when the state
> is UNUSED)? Is there a limit to how many SDOs I can request writes
> per cycle? From the example it looks like writing an SDO is done
> using the same macro as writing a PDO (i.e. EC_WRITE_U32(some_sdo)),
> is that correct?
>
> From the mailing list it looks like there was someone that attempted
> to use an EL6688 module back in 2010. Has anyone used one more
> recently (i.e. with etherlabs 1.5), and if so do they have any code
> snippets that they would be willing/able to share?
>
> Thanks.
>
>
>
> --
> -john
> To be or not to be, that is the question
> 2b || !2b
> (0b10)*(0b1100010) || !(0b10)*(0b1100010)
> 0b11000100 || !0b11000100
> 0b11000100 || 0b00111011
> 0b11111111
> 255, that is the answer.
--
-john
To be or not to be, that is the question
2b || !2b
(0b10)*(0b1100010) || !(0b10)*(0b1100010)
0b11000100 || !0b11000100
0b11000100 || 0b00111011
0b11111111
255, that is the answer.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20151217/23bc56ba/attachment-0004.htm>
More information about the Etherlab-users
mailing list