Feldbus: PROFIBUS DPV1-Master

 

Diagnostics

Allgemeines

Um eine Diagnose durchführen zu können, werden die im Weiteren beschriebenen Methoden GetMasterDiag und GetSlaveDiag und sowie deren Strukturen ST_MasterDiag und ST_SlaveDiag und verwendet.

Methoden GetMasterDiag und GetSlaveDiag

Die beiden Methoden GetMasterDiag und GetSlaveDiag, die in der Schnittstelle ICmpIoDrvProfibusDiag des Funktionsbausteins IoDrvPROFIBUSDPV1Master definiert sind, bieten Zugriff auf die Strukturen die im Register „Status“ des PROFIBUS-DPV1-Master sichtbar sind.

Method GetMasterDiag
METHOD GetMasterDiag : DINT
VAR_IN_OUT
   stMasterDiag : ST_MasterDiag;
END_VAR

Die Struktur ST_MasterDiag ist in der Bibliothek IoDrvPROFIBUSDPV1Master im Ordner DataStructs definiert. Um die Struktur nutzen zu können, muss eine Variable von diesem Typ angelegt werden.

Parameter

Bedeutung

CommunicationState

Aktueller Netzwerk-Status des Kommunikationskanals

Wert UNKNOWN / 0:

Wert NOT_CONFIGURED / 1.

Wert STOP / 2:

Wert IDLE / 3:

Wert OPERATE / 4:

ErrorCount

Gesamtanzahl der entdeckten Fehler seit dem letzten Power-up bzw. dem letzten Restart

SlaveState

Wert 0: undefiniert

Wert 1: OK

Wert 2: mindestens ein Slave hat einen Fehler

Wert 3: mindestens ein Slave hat eine Warnung

NumConfigSlaves

Anzahl der konfigurierten Slaves im Netzwerk

NumActiveSlaves

Anzahl der aktiven Slaves im Netzwerk

NumDiagSlaves

Anzahl der Slaves mit Diagnose im Netzwerk

Method GetSlaveDiag
METHOD GetSlaveDiag : DINT
VAR_INPUT
   byStationAddress : BYTE;
END_VAR
VAR_IN_OUT
   stSlaveDiag : ST_SlaveDiag;
END_VAR

Die Struktur ST_SlaveDiag ist in der Bibliothek IoDrvPROFIBUSDPV1Slave im Ordner DataStructs definiert. Um die Struktur nutzen zu können, muss eine Variable von diesem Typ angelegt werden.

Status 1

Bit

Bedeutung

D7

Master_Lock: Slave wird durch einen anderen Master parametriert

D6

Prm_Fault: Telegrammfehler des letzten Parameters

D5

Inv._Sl_Res.: Unplausible Antwort des Slaves

D4

Not_Supp.: Unbekannter Befehl durch Slave festgestellt

D3

Ext_Diag: Bereich EXT_Diag wird für die erweiterte Diagnose verwendet

D2

Cfg_Fault: Slave ist falsch parametriert

D1

Sta._Not_Rdy: Slave nicht bereit

D0

Sta._Non_Exist: Slave antwortet nicht

Status 2

Bit

Bedeutung

D7

Deaktivated: Slave nicht projektiert

D6

Reserviert

D5

Sync_Mode: Befehl Sync ist aktiv

D4

Freeze_Mode: Befehl Freeze ist aktiv

D3

WD_On: Watchdog ist aktiviert

D2

1

D1

Stat_Diag: Hole solange Diagnose vom Slave, bis Bit ausgegeben wird.

D0

Prm_Req: Slave muss parametriert werden

Status 3

Bit

Bedeutung

D7

Ext_Diag_Ovfl.

D6

Reserviert

D5

 

D4

 

D3

 

D2

 

D1

 

D0

 

Ergebnis der Diagnose

Falls ein Fehler aufgetreten ist, wird dieser im Register "Status" des jeweiligen Geräte-Dialogs aufgelistet.

HINWEIS: Diagnoseparameter dürfen in allen Tasks außer der SystemMotionTask getract werden, da sonst der RTP durch das Abholen der Diagnose vom NetX-Chip verzögert werden kann.