Mittel zur Diagnose
Nähere Informationen für eine Problembehandlung finden Sie je nach Fall in den folgenden Ansichten in CODESYS oder mit Hilfe einer externen Software:
Status-Dialog im Gerätekonfigurator
Wenn das Objekt des PROFINET-Controllers oder PROFINET-Device im Gerätebaum ein rotes Symbol hat, oder wenn überhaupt keine Kommunikation stattzufinden scheint, empfiehlt es sich einen Blick auf die Registerkarte Status im Gerätekonfigurationsdialog zu werfen:

Wir betrachten hier nur den Controller, für das Device gilt im Prinzip das Gleiche.
Die wichtigsten Felder in der hier angezeigten Diagnosestruktur sind die folgenden:
Controller Status:
Aktueller Status des Controllers, die einzelnen Werte entsprechen der Enumeration Profinet.ControllerState
:

Aus diesen Werten lassen sich oft konkrete Rückschlüsse auf die Problemursachen ziehen, zum Beispiel bei Lizenzproblemen oder doppelten Stationsnamen.
Der Statuswert ist auch in der SPS-Applikation verfügbar:

Received Frames / Received RT-Frames:
Unter gewissen Bedingungen geht der Controller Status auf „Run“, aber dennoch ist keine Kommunikation möglich. Die Werte Received Frames / Received RT-Frames können dann weiteren Aufschluss geben:
Received Frames zeigt die Anzahl aller über die Ethernet-Schnittstelle empfangenen Ethernet Frames, Received RT-Frames die Untermenge der PROFINET RT-Frames.
Wenn beide Zähler nach dem Start der Controllers bei 0
bleiben, obwohl sich das Gerät in einem Netzwerk befindet, deutet das auf grundlegende Probleme mit der Laufzeitsystemkomponente SysEthernet
hin.
Wenn nur Received Frames hochzählt, nicht aber Received RT Frames (obwohl sich PROFINET-Geräte im Netzwerk befinden), deutet das auf ein Problem mit der Laufzeitsystemkonfiguration hin (Firewall, Paketfilter etc.).
Invalid Cyclic Frames:
Wenn sich dieser Zähler erhöht, deutet das auf Probleme mit der Laufzeitsystem-Komponente SysEthernet
oder dem Ethernet-Treiber hin. Empfangene PROFINET-Frames werden als fehlerhaft verworfen. Oft sind UDP / Ethernet-Adapter die Ursache. Verwenden Sie die internen Ethernet-Adapter des Systems.
Send Errors:
Der Zähler zeigt die fehlgeschlagenen Versuche, Daten über den Ethernet-Adapter zu senden. Wenn der Werte > 1 ist, deutet das auf Probleme mit der Laufzeitsystem-Komponente SysEthernet
oder dem Ethernet-Treiber hin
Recv Time / Send Time:
Hier werden jeweils für das Senden und Empfangen der Ethernet-Frames der maximale Wert und der Durchschnittswert angezeigt. Die Werte zeigen die Performance für die Anbindung an den Ethernet-Adapter (Laufzeitsystemschnittstelle SysEthernet
).
Sehr hohe Werte (> 500 us) deuten auf eine Überlastung des Systems oder eine Störung des Echtzeitverhaltens hin. Das führt unter Umständen zu instabiler Kommunikation (Verbindungsabbruch mit DHT-Errror). Möglicherweise sind nur sehr lange Sendeintervalle (> 8 ms) möglich. Typische Werte beispielsweise bei CODESYS Control RTE mit 10 Slaves und 1ms Sendeintervall sind 20-30 us, bei Linux /ARM 200 - 300 us.
PROFINET-Slave-Konfigurator
Im Falle einer fehlgeschlagenen Verbindung (Symbol des Slaves ist rot), wird auf der Registerkarte Allgemein des Gerätekonfigurationsdialogs die Ursache angezeigt (PNIOStatus
gemäß PI Specification: Application Layer protocol for decentralized peripheryTechnical Specification for PROFINET IO, Version 2.3Ed2MU2, Date: February 2015, Order No.: 2.722)

Task-Monitor (Überwachung)
Auf schwachen Systemen oder Systemen mit schlechter Anbindung der Ethernet-Komponente (SysEthernet
) können Verbindungsabbrüche durch Jitter oder hohe Zykluszeiten verursacht werden.
Davon ist vor allem der Controller betroffen, das Device ist in diesem Fall unkritisch.
Die Registerkarte Überwachung im der Taskkonfiguration hilft diese Probleme aufzuspüren.

Wichtig ist die Profinet_IOTask, in der die PROFINET RT-Datenpakete in einem festen Sendetakt übertragen werden. Kann dieser Sendetakt nicht eingehalten werden, so wird die Verbindung durch den Kommunikations-Watchdog „DataHoldTimer“ der PROFINET-Geräte abgebrochen.
Als Richtwert sollte die Durchschnittliche Zykluszeit nicht 250 us übersteigen, die maximale Zykluszeit nicht 1 ms.
DieProfinet_IOTask sollte also hochprior laufen und andere IEC-Tasks sollten die Profinet_IOTask (gleiche oder höhere Priorität !) nicht blockieren. Im Kontext dieser Task sollten keine blockierenden oder lange andauernden Aufrufe stattfinden.
Log-Ansicht der SPS
Der PROFINET-Treiber gibt im Fehler bei der Konfiguration und bei Verbindungsabbruch eventuell auch weitere Informationen auf der Log-Ansicht im Gerätekonfigurator der SPS aus:

Wireshark
Ein bewährtes Hilfsmittel für Netzwerkdiagnose im allgemeinen ist die frei verfügbare Software (www.wireshark.org). Damit läßt sich der gesamt Netzwerkverkehr auf dem Port des Controllers/Device mitschneiden. Wireshark kann auch auf einem anderen Gerät (zum Beispiel ein Windows PC) installiert werden, sofern sich dieser im selben Netzwerk wie die PROFINET-Teilnehmer befindet. In diesem Fall muss aber ein Switch mit sog. Mirror-Port verwendet werden.