FC310x - PCI-Karten für PROFIBUS

FC310x - Master-Diagnose

 

Diagnose Eingänge

Der Master verfügt über verschiedene Diagnosevariablen, die den Zustand der Karte sowie des Profibusses beschreiben und die in der SPS verknüpft werden können:

Diagnosevariablen des PROFIBUS-masters

CdlInfo

CdlInfo.error: Zeigt die Anzahl der Slaves an, mit denen kein Datenaustausch im letzten Zyklus durchgeführt werden konnte, nur wenn dieser Wert ungleich 0 ist, muss der BoxState der Slaves überprüft werden

CdlInfo.cycleCounter: wird am Ende jedes PROFIBUS-Zyklus inkrementiert, so dass man mit dieser Variable feststellen kann, ob der letzte Zyklus beendet war, bevor die Task gestartet wurde

CdlInfo.actualCycleTime: zeigt die aktuelle Zykluszeit in 4/25 µs an, diese Variable wird nur aktualisiert, falls alle Slaves im Datenaustausch sind (also CdlInfo.error gleich 0 ist)

CdlInfo.actualModulo: zeigt das aktuelle Modulo an, diese Variable spielt nur eine Rolle, wenn die Slaves priorisiert sind (s. Kapitel Slave-Priorisierung/mehrere DP-Zyklen)

Counter: werden für den Redundanz-Mode benutzt

DiagFlag: Zeigt an, ob sich die Master-Diagnoseinformationen der Karte geändert haben, die dann per ADS vom Steuerungsprogramm ausgelesen werden, woraufhin die Variable "DiagFlag" wieder zurückgesetzt wird.

GlobalState: GlobalState[0] gibt den Zustand der FC310x an, GlobalState[1-2] zeigen globale Bus-Stati an, GlobalState[3] ist reserviert für Erweiterungen:

RESET (1): Router der Karte wurde nicht gestartet (nach dem Hochlauf des PCs)

INIT (2): Router gestartet, Karte aber nicht am PROFIBUS aktiv

STOP (3): Karte am PROFIBUS aktiv, aber kein zyklischer Datenaustausch

STOPPING (4): Karte beendet den zyklischen Datenaustausch

RUN (0): Karte im zyklischen Datenaustausch

GlobalState[1] zählt die festgestellten Bus-Errors (ab FC310x, Version 1)

GlobalState[2]: Bit 0 ist gesetzt, wenn keine 11 Bit-Ruhezeit auf dem PROFIBUS erkannt wird (-> Verkablung prüfen), Bit 1 enthält die Betriebsart CLEAR (Bit 1 = 1) oder OPERATE (Bit 1 = 0), die anderen Bits (2 bis 7) sind reserviert für Erweiterungen (ab FC310x, Version 1)

GlobalState[3] ist reserviert für Erweiterungen

CycleFailedCounter: Dieser Zähler zeigt an, wie oft beim Start der TwinCAT-Task der PROFIBUS-Zyklus der FC310x noch nicht fertig war.

StartRedundantMasterFlag: wird für den Redundanz-Mode benutzt

 
 

Master-Diagnosedaten

Die Master-Diagnosedaten können per ADS ausgelesen werden:

 
ADS-Read-Parameter
Bedeutung
Net-ID
Net-ID des Masters (s. Karteireiter ADS des Devices)
Port
200
IndexGroup
0x0000F100
IndexOffset 
Offset innerhalb der Diagnosedaten
Length
Länge der auszulesenden Diagnosedaten
Data
Diagnosedaten

Die Master-Diagnosedaten sind wie folgt aufgebaut:

 
Offset
Beschreibung
0 -125
BusStatus-Liste, je Stationsadresse 0-125 ein Byte, das den Status der Station enthält (s. BoxState bei den PROFIBUS-Boxen, zusätzlich für nicht projektierte Stationen: 0x80 - nicht vorhanden, 0x81 - Slave, 0x82 - Master nicht bereit für Token-Ring, 0x83 - Master bereit für Token-Ring, 0x84 - Master im Token-Ring)
126 - 127
reserviert
128 - 135
Zustand der FC310x (->GlobalState)
136 - 137
Sende-Fehler-Zähler über alle gesendeten Telegramme
138 - 139
Empfangs-Fehler-Zähler über alle empfangenen Telegramme
140 - 255
reserviert für Erweiterungen
256 - 257
Sync-Failed-Counter (s. Karteireiter EquiDiag (TwinCAT 2.8) bzw. MC-Diag (TwinCAT 2.9))
258 - 259
Zyklus-Start-Fehler-Zähler, zählt hoch, wenn der PROFIBUS-Zyklus erneut gestartet wird bevor der alte Zyklus beendet wurde (wird vom TwinCAT-IO-Treiber abgefangen, nur bei kundenspezifischen Treibern möglich)
260 - 261
Time-Control-Failed-Counter (s. Karteireiter EquiDiag (TwinCAT 2.8) bzw. MC-Diag (TwinCAT 2.9))
262 - 263
reserviert für Erweiterungen
264 - 265
minimaler Nachladewert des Echtzeittimers
266 - 267
maximaler Nachladewert des Echtzeittimers (max. FCxxxx-Jitter (s. Karteireiter EquiDiag (TwinCAT 2.8) bzw. MC-Diag (TwinCAT 2.9)) = max. Nachladewert - min. Nachladewert)
268 - 269
PLL-Overflow-Counter (s. Karteireiter EquiDiag (TwinCAT 2.8) bzw. MC-Diag (TwinCAT 2.9))
270 - 271
PLL-Underflow-Counter (s. Karteireiter EquiDiag (TwinCAT 2.8) bzw. MC-Diag (TwinCAT 2.9))
 
 

TcIo-Diagnosedaten

Der TcIo-Treiber generiert ebenfalls Diagnosedaten, die per ADS ausgelesen, aktiviert, deaktiviert und zurückgesetzt werden können, aber defaultmäßig deaktiviert sind. Sie werden aktiviert, wenn der Karteireiter EquiDiag oder GeneralDiag (TwinCAT 2.8) MC-Diag bzw. DP-Diag oder des Devices angewählt wird und deaktiviert, wenn der Karteireiter abgewählt wird.

 
 

Aktivieren, Deaktivieren und Zurücksetzen der TcIo-Diagnosedaten

 
ADS-Write-Parameter
Bedeutung
Net-ID
Net-ID des PCs
Port
300
IndexGroup
0x00005000 + Device-Id (Karteireiter Allgemein des Devices)
IndexOffset 
0xFFFFF100
Length
2
Data
0: Deaktivieren der TcIo-Diagnosedaten
1: Aktivieren der TcIo-Diagnosedaten
2: Zurücksetzen der TcIo-Diagnosedaten
 
 

Auslesen der TcIo-Diagnosedaten

 
ADS-Read-Parameter
Bedeutung
Net-ID
Net-ID des PCs
Port
300
IndexGroup
0x00005000 + Device-Id (Karteireiter Allgemein des Devices)
IndexOffset 
0xFFFFF100
Length
Länge der TcIo-Diagnosedaten
Data
TcIo-Diagnosedaten

Die TcIo-Diagnosedaten sind wie folgt aufgebaut:

 
Offset
Beschreibung
0 -3
Max. TwinCAT-Jitter (in 100 ns, s. Karteireiter EquiDiag (TwinCAT 2.8) bzw. MC-Diag (TwinCAT 2.9))
4 - 7
Min. Mapping-Time (in 100 ns, s. Karteireiter EquiDiag (TwinCAT 2.8) bzw. MC-Diag (TwinCAT 2.9))
8 - 11
Max. Mapping-Time (in 100 ns, s. Karteireiter EquiDiag (TwinCAT 2.8) bzw. MC-Diag (TwinCAT 2.9))
12 - 15
Max. FC310x-Jitter (in FC310x-Ticks, s. Karteireiter EquiDiag (TwinCAT 2.8) bzw. MC-Diag (TwinCAT 2.9))
16 - 19
CycleWithNoDxch-Counter (s. Karteireiter GeneralDiag (TwinCAT 2.8) bzw. DP-Diag (TwinCAT 2.9))
20 - 23
CycleWithRepeat-Counter (s. Karteireiter GeneralDiag (TwinCAT 2.8) bzw. DP-Diag (TwinCAT 2.9))
24 - 27
Max. Repeat/Cycle (s. Karteireiter GeneralDiag (TwinCAT 2.8) bzw. DP-Diag (TwinCAT 2.9))
28 - 31
Actual Cycle-Time (in 4/25 µs, s. Karteireiter GeneralDiag (TwinCAT 2.8) bzw. DP-Diag (TwinCAT 2.9))
32 - 35
Max. Cycle-Time (in 4/25 µs, s. Karteireiter GeneralDiag (TwinCAT 2.8) bzw. DP-Diag (TwinCAT 2.9))
36 - 39
Min. Cycle-Time (in 4/25 µs, s. Karteireiter GeneralDiag (TwinCAT 2.8) bzw. DP-Diag (TwinCAT 2.9))
40 - 43
RealFailedCycle-Counter (s. Karteireiter GeneralDiag (TwinCAT 2.8) bzw. DP-Diag (TwinCAT 2.9))
44 - 47
EquiCycleNoDxch-Counter (s. Karteireiter EquiDiag (TwinCAT 2.8) bzw. MC-Diag (TwinCAT 2.9))
48 - 51
EquiCycleRepeat-Counter (s. Karteireiter EquiDiag (TwinCAT 2.8) bzw. MC-Diag (TwinCAT 2.9))
52 - 55
Max. Repeats/Equi-Cycle (s. Karteireiter EquiDiag (TwinCAT 2.8) bzw. MC-Diag (TwinCAT 2.9))
56 - 59
Actual Equi-Cycle-Time (in 4/25 µs, s. Karteireiter EquiDiag (TwinCAT 2.8) bzw. MC-Diag (TwinCAT 2.9))
60 - 63
Max. Equi-Cycle-Time (in 4/25 µs, s. Karteireiter EquiDiag (TwinCAT 2.8) bzw. MC-Diag (TwinCAT 2.9))
64 - 67
Min. Equi-Cycle-Time (in 4/25 µs, s. Karteireiter EquiDiag (TwinCAT 2.8) bzw. MC-Diag (TwinCAT 2.9))