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.).
\ Recv Time / Send Time:
Hier werden jeweils für das Senden und Empfangen der Ethernet-Frames der maximale Wert und der Durchschnittswert angezeigt. Ein Performance-Indikator für die Anbindung an den Ethernet Adapter (Laufzeitsystemschnittstelle SysEthernet).
PROFINET IO 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)
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 Max. Zykluszeit nicht 1 ms.
Die Profinet_IOTask sollte also hochprior laufen, andere IEC-Tasks sollten sie (gleiche oder höhere Priorität !) nicht blockieren. Im Kontext dieser Task sollten keine blockierenden oder lange andauernden Aufrufe stattfinden.
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:
Ein bewährtes Hilfsmittel für Netzwerkdiagnose im allgemeinen ist die frei verfügbare Software Wireshark (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.