[etherlab-users] Can read_sdo() be used in realtime (e.g. 1000hz in RTAI)?

Florian Pose fp at igh-essen.com
Tue Apr 7 15:29:05 CEST 2009

On Mon, Apr 06, 2009 at 04:09:22PM +1200, Jason Xu wrote:
> I am a new user of Ethercat device, and when I use BeckHoff EL3102 analog
> input device in an experiment (by following the example c code in mini and
> RTAI of document "ethercat-1.4.0-rc3"), I find out that if I keep the
> scan-cycle at 1 hz, I can access the Sdo data successfully, and read the
> value of analog in. However, if I put the Read_sdo() in a higher scan-cycle
> (e.g. 1000hz), it always shows EC_SDO_REQUEST_BUSY status.

please use PDO exchange for rates like 1 kHz and higher. SDO transfers
are not designed for exchange rates like that. SDOs are for asynchronous
access, PDOs for synchronous (cyclic) access.

> About two years ago, someone asked a question about read_sdo in realtime. At
> that time, the answer was No. Is that still the case now? If so, is there a
> way to read a value of analog_in in real time?

Yes, via PDO exchange. ;-)

Best regards,
Florian Pose


More information about the Etherlab-users mailing list