Skip to main content

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:

_pnio_img_trouble_status_dialog.png

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:

_pnio_img_trouble_controller_status.png

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:

_pnio_img_trouble_watchlist.png

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)

_pnio_img_trouble_slave_config_general.png

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.

_pnio_img_trouble_task_monitor.png

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:

_pnio_img_trouble_plc_log.png

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.