ibaPDA measurements of automation devices using TCP/IP sometimes do not work with cycle times < 200 ms.
Errors shown in ibaPDA
Incomplete telegrams or spikes in data values (depending on the sending controller type)
Cause
The TCP/IP protocol has different options for "acknowledge" handling.
The standard WinSocket works in accordance with RFC1122 using the "delayed acknowledge" mechanism (Delayed ACK). It specifies that the "acknowledge" is delayed until other telegrams arrive in order to acknowledge them jointly. If no other telegrams arrive, the ACK telegram is sent after 200 ms at the latest (depending on the socket).
A "sliding window" (parameter Win=nnnn) controls the data flow. The recipient specifies how many bytes it can receive without sending an acknowledgment.
Some controllers do not accept this response, but instead, wait for an acknowledgment after each data telegram. If it does not arrive within a certain period of time (200 ms), it will repeat the telegram and include any new data to be sent, causing an error with the recipient, because the previous telegram was received correctly.
Remedy
The "delayed acknowledge" can be switched off individually for each network adapter via an entry in the Windows Registry. For easy modification, ibaPDA offers a corresponding dialog in the I/O Manager under General in the tab Settings.
In the list of network adapters, select those for which you want to disable "delayed acknowledge" and click <Apply>.

Thus, the parameter "TcpAckFrequency" (REG_DWORD = 1) is created in the registry path of the selected network adapters:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{InterfaceGUID}

Note |
|
|---|---|
|
Basically, you can avoid such TCP-specific problems by using UDP instead of TCP. The User Datagram Protocol (UDP) is a minimal network protocol that is not connection-oriented and is unsecured against telegram loss. Notably, it does not provide acknowledgments for received data. In stable and high-performance networks, this is usually not critical and can be disregarded due to the cyclic data transmission with ibaPDA. |
|