[etherlab-dev] sync manager problem

Christian Gieseler chg at alpenjodel.de
Mon Dec 8 15:52:33 CET 2008

Florian Pose schrieb:
> Hi,
> On Fri, Dec 05, 2008 at 05:07:13PM +0100, chg at alpenjodel.de wrote:
>> i am trying to get the master 1.4.0.rc3 running on a Pentium 4 1,8Ghz
>> with an Intell Gigabit nic. The Kernelversion is 2.6.24-21. The thing
>> is that i am not able to get the slave to safeop or op state. Looking
>> for the reason i found out the there is a problem with the sync
>> manager configuration. It recognizes the two first sync managers and
>> the other two sync managers für TX and RX stay unconigured. All the
>> bytes in the configuration area are 0.
> what kind of slave is it? It is ok to support only 2 sync managers as
> long as you don't need mailbox communication...

Hi Florian

It is a Beckhoff FB1111-0140 Module attached to a custom board from
dSPACE. It is quite flexible to configure. To get some experience with 
the master i wrote a very basic configuration to the EEPROM. Later on i 
want to use mailbox communication so i am using a minimum of 4 Sync 
managers. But i do not understand why the master only configures the 
first two and leaves sync manager 2 and 3 unconfigured. In wireshark i 
can see that the master sends only zeroes where the data of the 2 and 3 
sync manager should stand.

The command ethercat pdos looks the way i expect it. This Input can only
be from EEPROM, because i get the same result even before i start my
module. Is that assumption right?

Output of pdos looks as follows:
SM0: PhysAddr 0x1000, DefaultSize  512, ControlRegister 0x26, Enable 1
SM1: PhysAddr 0x1200, DefaultSize  512, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1401, DefaultSize    1, ControlRegister 0x24, Enable 1
   RxPdo 0x1600 ""
     Pdo entry 0x6000:00,  8 bit, ""
SM3: PhysAddr 0x1404, DefaultSize    4, ControlRegister 0x20, Enable 1
   TxPdo 0x1a00 ""
     Pdo entry 0x7000:00, 32 bit, ""

The syslog output tells me that the master fails to create the slave 
configuration. Requesting the safeop state gives the syslog output :

slave 0 refused state change (PREOP+ERROR), caused by an invalid sync 
manager configuration.

Can you tell me what is wrong in my configuration, which is nearly the 
same to the given example. See my last post for the code. Or is it more 
likely that the mistake not connected with the example module but with 
the slave itself?

Thanks for any help.



P.S. Am i right on this mailing list, or should i post on the users list 
and sorry for posting to you directly.

More information about the etherlab-dev mailing list