Especially with PROFINET IO controllers on platforms with limited real-time capabilities, such as Linux or CODESYS Control Win V3, the transmission rate cannot be maintained. This is indicated by the error "AR consumer DHT expired" (PNIOStatus = 0xCF81FD05).
Common causes for connection loss
Powersafe policy
Today's operating systems and CPUs typically have numerous power-saving features that "sleep" parts of the system (CPU or network adapter). The components can be "awakened" with such a delay that they can no longer be sent reliably. Curiously enough, a low load on the system causes communication problems. Therefore, these Powersafe functions should be deactivated if problems occur.
Real-time patch (Linux)
In order to ensure that short transmission cycles (1 ms or less) are stable, it may be necessary to install a real-time patch on the Linux system. This depends on the performance and load of the respective platform. Recognizable by a large jitter of the "Profinet_IOTask" (in task monitoring).
Traffic scheduling (Linux)
If you use the Profinet network adapter in parallel with other services that generate a high volume of data traffic (such as a large Webvisu), the Profinet real-time data may be displaced on the adapter. This can be avoided by traffic scheduling, in which the Profinet data is prioritized higher.
Example: QDISC_BYPASS is set in the *.cfg file of the runtime. All remaining traffic is limited in bandwidth and set to low priority (/etc/interfaces):
iface eth0 inet static
...
#move all outgoing traffic to a default class with low priority
pre-up /sbin/tc qdisc add dev $IFACE root handle 1:0 htb default 1
pre-up /sbin/tc class add dev $IFACE parent 1:0 classid 1:1 htb rate 1Mbps ceil 1Mbps prio 0