FTP from PLC to Robot with larger files fails
So, I'm trying to send a file from a Beckhoff PLC to a Robot. I setup a FTP server on the Robot successfully. When sending a smaller file (<200-300Kb) to the robot using function blocks from Beckhoff it is not a problem and the capture on Wireshark looks normal. But, when I try to send larger files (>400 Kb) I get some weird behavior in the Wireshark capture. First of all, when sending the larger file, I get [TCP Window Full] and [TCP ZeroWindow] messages. After some more seconds the messages [TCP ZeroWindowProbe] and [TCP ZeroWindowProbeAck] are also showing up. This continues until almost at the end, after some time the PLC sends [FIN,ACK] to the robot. Then it connects again with [SYN] and i get [SYN,ACK] back from the robot. But, instead of waiting for the Robot to send a Transfer complete message it doesn't wait and tries to connect again. Some seconds after this connection is tried by the PLC, the FTP function block from Beckhoff gets an error and it closes the connection again ([FIN,ACK] to robot is sent). Then a couple seconds later the robot sends a transfer complete command and a [FIN,ACK] to the PLC and i can see the file is transmitted to the robot. But, now my function block on the PLC is at 99% progress and in error and i cannot continue in this process. After the [FIN,ACK] From the robot to the PLC, there is an [RST,ACK] from the PLC to the Robot. Can anyone tell me if i have interpreted the Wireshark capture correctly. And how to fix these issues?
Have you verified your network connections?
ftp
working with small files but failing with large ones used to be an issue if duplex no set properly.Without looking at the capture, it is quite impossible to determine is you interpreted it correctly. Can you share the pcap(ng) file of both a small and a large transfer?
Apart from that, it seems the FTP server on the Robot might be short on (memory) resources to handle larger files.
I would share the files, but I don't have enough points. If the Robot is short on memory resources, what could be a solution for this?
@SYN-bit, https://1drv.ms/f/c/074d6e7731219cc8/... This is the link to the captures. I'm thinking the robot is the issue here, but, check it out.