[etherlab-users] Danaher Servostar S600 - Summary

Florian Pose fp at igh-essen.com
Wed Nov 19 18:28:02 CET 2008


Hi Jens,

On Wed, Nov 19, 2008 at 09:19:58AM +0100, Jens Kotlarski wrote:
> You may remember that we tried to realize a communication block for a
> Servostar S600 (Danaher). We had quite lot problems but finally it works.
> Therefore, let me shortly summarize what we did and where the problems were.
> It may be helpful for some of you:

thanks for your report!

> Just a few words about our system at the beginning: we used etherlab 1.2,
> etherCAT master 1.4 and Matlab2008a on an Ubuntu system.

I should have told you, that we haven't tested with Matlab2008* yet. The
versions which we develop with are 2006a 2006b and 2007a.

> At the beginning we were unable to set our Devices to OP. It turned out that
> the ec_slave2.c cannot handle sync managers with a control byte 0x22 (it
> says that the regarded sync manager is whether an input nor an output).
> Therefore, we simply changed the control byte to 0x20 defining an input and
> it worked.

The s-Function tries to identify a Pdo sync manager by checking its
buffer type. If it is triple-buffered (mailbox), it is considered as a
mailbox sync manager not containing Pdos.

It it the first time that I come across a Pdo sync manager being
triple-buffered. Did you talk to Danaher about that? My opinion is, that
this is an error in the XML/SII.

> BUT, as trying to set the software enable we failed. After some phone calls
> and wireshark sniffing we realized that we only send zeros to the device. We
> tried a couple of things to fix this problem, like different kernel
> configurations, different gcc versions, and finally different Matlab
> versions. At the end it worked fine using Matlab2006b (it did not work with
> Matlab 2007b and not with Matlab2008a (that are the versions we tried...)).
> The problem is that the newer Matlab versions generate wrong c-files from
> the Simulink models. The inputs to the blocks are missing in mdl_update.
> That's not just the case for our device but also for the other entire
> "template"-blocks that are included within the etherlab library. So it seems
> that etherlab has a serious problem with the newer Matlab versions
> concerning the code generation which should be fixed...

The etherlab_lib and the template makefile were only tested with the
above versions. It is surely possible to adapt them to newer ones.

> So finally, using etherlab 1.2, etherCAT master 1.4 and Matlab2006b we can
> use our devices without any problems...

That's really good news!

-- 
Best regards,
Florian Pose

http://etherlab.org



More information about the Etherlab-users mailing list