Ethercat more than 3 devices

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User22187
Level 1
Level 1
Have been running three Ethercat devices with XMC4800 Micro controller, it works perfect. Adding more devices I could get it to work if fourth device is an IO module and the fifth is an Xmc4800 Micro controller but not with more devices.

I have ruled out cabling problems and similar hardware problems since it work perfect with three devices, different devices, different connections and different cables but problem start only then more devices are added. It seems even though message does not arrive back at master, also checked with wireshark values are written to fifth device then checking with debugger.

Then adding more than three devices some error counters increase. I have measured message with oscilloscope it seems device closest to master send message back to master so it seems it get destroyed in some way. Only clue I have is port two is physically connected even though it is not implemented in XMC4800? Anyone else have suggestions? Or got it to work with more devices?

Circuit boards should be ready for small series production, actually already made a few though I have some work left with the enclosure.
0 Likes
1 Solution
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked
Hi,

1. The values of ESC_DL status register look like "EEPROM not loaded, PDI not operational (no access to Process Data RAM)"- first entry of the register is set to 0.
- what kind of slave stack are you using?
2. ICould you give more information about the hardware setup. Did you use our relax kit design as a reference or is his hardware completely different? Let us know the PHY
oscillators you are using at your end?

Best Regards,
Vasanth

View solution in original post

0 Likes
10 Replies
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked
Hi,

Are you using XMC4800 EtherCAT kit or custom hardware board with a xmc4800?
If it is a customized board, is any differences on the hardware side related to the XMC48 EtherCAT board? Such as another PHY, oscillators...

If you are using XMC EtherCAT kits:
With 3 devices (xmc kits) everything worsk properly. If you connect an additional xmc kit, the 4, it doesn't work and the other 3 work. Is that correct? or is it when the IO module is connected?

In this case: can you please log the following registers of 3 devices while and after power cycle of the 4th device.
Forwarded rx error register
Link Lost counter register
ESC DL status register

Best Regards,
Vasanth
0 Likes
User22187
Level 1
Level 1
Custom hardware with a XMC4800 on each board, unsure if other hardware might be different, have however not detected any problems with neither link detection nor communication.

Connecting a fourth XMC4800 and it does not work but adding an IO module of other brand in between third and fourth device I have got it to work. Discovered problem then fifth device should be connected.

Sending 10000 messages:
Forward rx error register 0x308 usually got two errors though have seen other numbers and the same number of errors in 0x309 except on end device there it is zero.
Link lost counter zero except if cable is unconnected of course.
ESC_DL status register 0x375A at middle devices and 0x1756 at end device. Watchdog bit 1 have expired because no messages are sent then I check number with debugger.


Connecting a fourth XMC4800 devices Forward rx error register 0x308 increase to two then trying to start communication but never arrive back at master. Checked earlier and if I got it correct registers may however be written on fourth device. Also checked earlier data is transmitted back on cable to master but are never detected, connected directly to ordinary computer and are not sure if hardware might thru it away without increasing receive error counter.


Feeling I get is maybe something does not open up as supposed to as forward error counter usually increase with two.
0 Likes
User22187
Level 1
Level 1
Setting bit 0 FR in ESC_DL_CONTROL to so that Non-EtherCAT frames are forwarded without processing and error counters are all at zero, also after sending maybe 40000 to 50000 messages around the ring. With three devices everything work perfect but connecting fourth device message never arrive back at master.

I am running out of options left to try and have no other really good device to replace it with. It would be really good you have any idea because first prototypes are already up and running and do not have any other really good replacement for this device.

Adding two extra IO modules of other brand on end of chain also work also tested other position but no more than three XMC4800 devices. Some missing license fee to Beckhoff?
0 Likes
User22187
Level 1
Level 1
Connecting four XMC4800 devices.
- First device all error counters increased by zero then Ethercat message is sent but 0x309 and 0x30C sometimes increase probably because some ordinary ethernet frames are sent on Ethernet cable.
- Second device all error counters increased by zero then Ethercat message is sent but 0x308, 0x309, 0x30C sometimes increase in double step probably because some ordinary ethernet frames are sent on Ethernet cable.
- Third device all error counters zero all the time.
- Fourth device all error counters zero all the time.

Broadcast write clear bit 0 in 0x100 is written on all devices then checking with the debugger. This suggest message "disappear" on the way back between first node and master. Make conclusion because broadcast write arrive at all nodes and error counters does not increase.

Use ordinary computer with Linux operating system. Have no really good clue why this happen only then increasing number of devices, some messages disappear then connecting three devices and two IO modules. Adding a second Ethernet card in an PCIe expansion slot it work perfect also with three XMC4800 devices and two IO modules of other brand but not with four XMC4800 devices. Maybe problem is in receiving end but can't figure out a reason why it should be?
0 Likes
User22187
Level 1
Level 1
Only used one network card looping back internally at last device, adding a second network card sending in a ring:
- Sending from in port message arrive at second network card as expected with more than three XMC4800 devices. Working counter also increase as expected.
- Sending from out port message arrive at other card but working counter does not increase just as expected.

Using a single network card message only arrive back with at most three XMC4800 devices and not with four. If I got it right this is the redundant mode and supposed to work.
0 Likes
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked
Hi,

1. The values of ESC_DL status register look like "EEPROM not loaded, PDI not operational (no access to Process Data RAM)"- first entry of the register is set to 0.
- what kind of slave stack are you using?
2. ICould you give more information about the hardware setup. Did you use our relax kit design as a reference or is his hardware completely different? Let us know the PHY
oscillators you are using at your end?

Best Regards,
Vasanth
0 Likes
karlnick
Level 1
Level 1
5 sign-ins First reply posted Welcome!

On it again. Not sure if I made misstake reading ESC_DL register last. This time I checked EEPROM is correctly loaded. Know access to process data RAM is OK since I could use it for position of electric motors so it work in both directions.

Hardware design is different. PHY is KSZ8041 and oscillator is MCSJK-7U-12.00-10-10-80-B-10

Connecting three devices in a single row with or without two extra IO modules of other brand it work perfect. Connecting a fourth and it does not work, message never arrive back.

Connectiong five devices in a ring using two network cards with or without two extra IO modules of other brand in the ring it works perfect. Connecting a sixth devices and only some of the messages arrive. All messages sent the other way around arrive back unprocessed as expected.

Do not have a clue why. Should read manual again and check error registers.

0 Likes
karlnick
Level 1
Level 1
5 sign-ins First reply posted Welcome!

First clue I got is problem is related to receiving messages. Sending out messages from one computer thru six devices and receiving on a second computer it seems messages are received as expected even with six devices but have only tested a small amount of messages.

0 Likes
karlnick
Level 1
Level 1
5 sign-ins First reply posted Welcome!

Adding a switch in between last device in ring and second network card on computer and messages are received as expected. Use a Linux kernel and have no problem with other network communication so this was totally unexpected especially then it worked with fewer devices.

Conclude problem must be the computer receiving the messages and the XMC4800 seems to work as expected.

0 Likes
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hi Carl,

Thanks for letting us know that it is not a XMC issue.

Best Regards,
Vasanth

0 Likes