Analyse der Box States

Direkt unter dem PROFINET Controller Protokoll gibt es ein Sammel-PROFINET Error und einen Sammel-PROFINET Status. Beide geben die Anzahl der Geräte wieder, bei denen ein Problem aufgetreten bzw. bei welchen eine Diagnose verfügbar ist. D.h. der Fehler zeigt mögliche Probleme beim Verbindungsaufbau an oder Gründe für einen Abbruch. Die Diagnose gibt Status-Infos über eine bestehenden Verbindung.

Analyse der Box States 1:
TwinCAT-Baum, Inputs zur Analyse

PnIoError - Anzahl an PROFINET IO Geräten, die einen Fehler haben
PnIoDiag - Anzahl an PROFINET IO Geräten, die eine Diagnose anstehen haben

Welches Gerät bzw. Box ein Problem hat kann, im Protokoll unter Box States auf einen Blick geprüft werden.

Analyse der Box States 2:
Karteireiter „Box States“

Aktuell werden folgende Fehlermeldungen über den "PnIoState" angezeigt.

Nummer

Text

Beschreibung

Abhilfe / Grund

0

No error

Kein Fehler

Kein Fehler

1

PROFINETDevice 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 demselben 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 checken.

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 "BoxPnIoDiag" 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
0xXXX1 = IOC-AR is not established
0xXXX2 = IOC-AR is established
0xXXX4 = IOC-AR is established but no ApplReady
0xXXX8 = IOC-AR is established but module difference
0xXX1X = At least one AlarmCR get diagnosis alarm
0xX1XX = At least one InputCR is invalid
0xX2XX = At least one InputCR Provider is in stop
0xX4XX = At least one InputCR Problemindicator is set
0x1XXX = At least one OutputCR is invalid
0x2XXX = At least one OutputCR Provider is in stop
0x4XXX = At least one OutputCR Problemindicator is set

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 gilt für die Input- und die Output CRs (aktuell ist nur eine, zukünftig sind mehrere CRs möglich). Des Weiteren wird im "PnIoDiag" auch auch ein PROFINET Alarm angezeigt

Auslesen über ADS

Das Auslesen des Box-Status kann über einen ADS Read erfolgen.

ADS Read:
NetId = AMSNETID des PROFINET Controllers
Port = BoxPort (0x1000 + BoxId)
Indexgroup = 0xF829
IndexOffset = 0
Length = sizeof(TPnIoDeviceDiagData);

 

wobei:

typedef struct
{
WORD pnioState;
WORD pnioDiag;
WORD NrOfInputCRs;
WORD NrOfOutputCRs;
WORD reserved[8];
} TPnIoDeviceDiagData, *PTPnIoDeviceDiagData;

Auslesen über CoE (für EL663x)

Das Auslesen des Box-Status kann für die EL663x auch über CoE erfolgen. Hierfür ist der Index 0xAyy0 (wobei yy die Adapter / Device Nummer ist) und der Subindex 0x001 zu nehmen.