Vergleichen von Soll- und Istbestückung
Bei einer bestehenden Verbindung kann in dem Reiter "Diagnosis" die Projektierung überprüft werden. "Real Identification Data" gibt auf dieser Ebene die wirklich vorhandenen Module innerhalb einer AR wieder, "Expected Identification Data" die erwarteten Module (also die im Controller projektierten) und "Module Difference" zeigt die vom Gerät festgestellten Unterschiede beim Soll-Ist-Vergleich auf.

Auf dem "Diagnosis"- Reiter innerhalb des APIs, können Sie das entsprechende API ausgewählen, über welches Informationen bezogen werden sollen. Handelt es sich bei dem PROFINET Gerät z.B. um einen Antrieb, so unterstützt dieser in der Regel das Profidrive Profil, welches wiederum über API 0x3A00 gekennzeichnet ist. Sollen von diesem API z.B. die Real Identification Daten ausgelesen werden, erfolgt dieser Zugriff über das Profidrive Profil.

Der Button "Get Real Configuration" wird außerdem innerhalb eines APIs aktiv (außer für Antriebe). Über diesen besteht die Möglichkeit, den eingelesenen Datensatz in das aktuelle Projekt zu übernehmen. Dabei ist zu beachten, dass bereits angelegte Module überschrieben werden. D.h. die Links gehen, auch bei zuvor richtig angelegt Modulen, verloren.
Beim Anzeigen der Modulunterschiede werden durch Markieren der Meldung zusätzliche Infos dargestellt.

Diagnosis Data
Über den Button "Diagnosis Data" kann die vorliegende Diagnose ausgelesen werden. Auf Geräteebene werden hier alles vorliegenden Diagnosedaten für die bestehende AR ausgelesen.

In der Liste werden höchstens zwei Diagnoseparameter angezeigt, weitere sind durch ein "..." gekennzeichnet. Beim Klicken auf die einzelne Meldung werden in dem unteren Fenster alle vorliegenden Diagnoseinformationen angezeigt.
Zyklische Diagnose über "PnIoBoxState" und "PnIoBoxDiag"
Diese Variablen werden zyklisch mit dem Prozessabbild zwischen PROFINET Treiber und System Manager ausgetauscht.
Aktuell werden folgende Fehlermeldungen über den PnIoBoxState angezeigt.
Nummer | Text | Beschreibung | Abhilfe / Grund |
---|---|---|---|
0 | No error | kein Fehler | Kein Fehler |
1 | PROFINET Device state machine is in boot mode | PROFINET Device StateMachine ist noch in der Hochlauf Phase | Kein Fehler, warten |
2 | Device not found | Gerät antwortet nicht auf den Identify Request | Verbindung prüfen, Gerät angeschlossen, wurde das Gerät mit dem richtigen Namen benannt? |
3 | The stationname is not unique | Stationsname ist nicht eindeutig | Es gibt zwei oder mehr Geräte mit dem selben PROFINET Namen im Netzwerk. Eine korrekte Identifizierung kann nicht erfolgen. |
4 | IP could not set | IP Adresse konnte nicht gesetzt werden. | Das PROFINET Gerät hat aus irgendwelchen Gründen das Setzen der IP settings abgelehnt. Prüfen ob die IP-Einstellungen korrekt sind. |
5 | IP conflict | Im Netzwerk trat ist ein IP-Konflikt aufgetreten. | Eine mögliche Ursache ist das mehrere Geräte die gleiche IP-Adresse haben. |
6 | DCP set was not successful | Auf einen DCP Set kam keine bzw. eine fehlerhafte Antwort. | Verbindung prüfen, Gerät angeschlossen, wurde das Gerät mit dem richtigen Namen benannt? |
7 | Watchdog error | Die Verbindung wurde mit einem Watchdog-Fehler abgebrochen. | Zykluszeit prüfen, Verbindung prüfen, ggf. Watchdog-Faktor erhöhen. |
8 | Datahold error | Die Verbindung wurde mit einem Datahold-Fehler abgebrochen. | Frame Datenstatus war für die Länge des DataHoldTimers ungültig. Evtl. Gerät neu starten. |
9 | RTC3: Sync signal could not started | Nur für IRT: Das Sync-Signal konnte nicht gestartet werden. | EtherCAT Sync Signal korrekt bzw. Sync0 gestartet? |
10 | PROFINET Controller has a link error | Der PROFINET Controller hat keinen Link. | Kabel und Verbindung überprüfen. |
11 | The aliasname is not unique | Der Aliasname ist nicht eindeutig | Es gibt zwei oder mehr Geräte mit demselben Alias-Namen im Netzwerk. Dieser setzt sich aus Nachbarschaftsinformationen zusammen (PortId.ChassisId). Eine korrekte Identifizierung kann nicht erfolgen. |
12 | The automatic name assignement isn't possible - wrong device type | Das automatische Setzen des Namens ist nicht möglich. | An der projektierten Position befindet sich nicht das erwartete PROFINET Gerät (VendorId oder DeviceId stimmen nicht überein). Somit ist kein automatisches Benennen und damit Geräteanlauf möglich. |
31 | only for EtherCAT gateways: WC-State of cyclic EtherCAT frame is 1 | Nur für EL6631: EtherCAT WC State ist auf 1 | Am EtherCAT Master + Slave den Mode checken (OP?). |
Im "PnIoBoxDiag" kann im Gegensatz zum State auch mehr als ein Zustand gleichzeitig angezeigt werden, d.h. das Ganze ist bitcodiert und es können bis zu 16 Infos angezeigt werden. Aktuell werden folgende Zustände dargestellt.
0x0000 = No diagnosis
Default. Device ist nicht in Kommunikation oder das TwinCAT Projekt wurde noch nicht aktiviert (allgemeiner TwinCAT Anwenderfehler).
0x0001 = IOC-AR is not established
Der Hochlauf der AR wurde gestartet, es wurde aber noch kein PrmEnd versendet. Der genaue Status ist über die DiagHistory ersichtlich.
0x0002 = IOC-AR is established
Kein Fehler, das Device hat die Verbindung aufgebaut und läuft fehlerfrei.
0x0004 = IOC-AR is established but no application ready
Kein Fehler, aber der Controller hat noch kein Application Ready bekommen. Die Dauer ist gerätabhängig, nach Profinet Spezifikation kann dies bis zu 300 s dauern.
0x0008 = IOC-AR is established but module difference
Die Verbindung wurde aufgebaut aber Soll- zu Ist-Konfiguration passt nicht. Überprüfen Sie die Konfigurationseinstellung und prüfen Sie über die Dialoge „Diagnostic“ welches Modul oder Submodul nicht passt.
0x0010 = At least one AlarmCR got a diagnosis alarm
Es wurde ein Alarm empfangen, dieser kann per ADS vom Treiber ausgelesen werden. Nach Auslesen sollte eine Quittierung über PnIoBoxCtrl 0x0001 erfolgen.
Die folgenden Flags beziehen sich auf den Datenstatus der zyklischen Kommunikation. Da theoretisch mehrere CRs zu einem Gerät aufgebaut sein könnten werden diese Flags gesetzt wenn mind. 1 CR ein Problem meldet.
InputCR ist die Eingangsrichtung, das sind die Frames die der Controller von den Devices empfängt.
OutputCR ist die Ausgangsrichtung, das sind die Frames die der Controller an die Devices versendet.
0x0100 = At least one InputCR is invalid
Die Daten der InputCR sind ungültig.
0x0200 = At least one InputCR Provider is in stop
Die Input CR ist im Stopp. Die Geräteapplikation wird in STOPP gehalten, die Ursache sollte auf Device Seite geklärt werden.
0x0400 = At least one InputCR Problemindicator is set
Ein Problem wurde im Device erkannt. Der Diagnosepuffer im Device enthält mind. eine Meldung. Diese können über die zugehörigen Records ausgelesen werden.
0x1000 = At least one OutputCR is invalid
Die Daten der OutputCR sind ungültig.
0x2000 = At least one OutputCR Provider is in stop
Die Output CR ist im Stopp. Dies deutet darauf hin das die triggernde IO Task oder PLC im Stopp ist .
0x4000 = At least one OutputCR Problemindicator is set
Ein Problem wurde im Controller erkannt. Der Diagnosepuffer im Controller enthält mind. eine Meldung. Diese werden z. B. über die DiagHistory angezeigt
Es werden hier zum einen Infos über den Zustand der IO Controller Single AR angezeigt. Außerdem werden aus den Frame-Datenstati der einzelnen CRs Sammelstati gebildet. Das Ganze passiert für die Input- und die Output-CRs (aktuell ist nur eine möglich, zukünftig wird der Controller mehrere CRs unterstützen). Außerdem wird im "PnIoBoxDiag" auch ein PROFINET Alarm angezeigt