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 _______________________________________________ etherlab-users mailing list [email protected] http://lists.etherlab.org/mailman/listinfo/etherlab-users
