Beschreibung
Mit der Anweisung stoßen Sie die Topologieermittlung für ein ausgewähltes DP-Mastersystem an. Mit dem Aufruf von der Anweisung werden alle Diagnose-Repeater an einem DP-Mastersystem angesprochen.
|
Hinweis Die Topologieermittlung kann zu einem Zeitpunkt nur für ein DP-Mastersystem durchgeführt werden. |
Die Topologieermittlung ist die Voraussetzung für die detaillierte Anzeige des Fehlerorts bei auftretenden Leitungsfehlern. Führen Sie nach dem Aufbau und nach jeder Änderung des physikalischen Aufbaus eines DP-Mastersystems die Topologieermittlung mit der Anweisung "DP_TOPOL" erneut durch.
Änderungen des physikalischen Aufbaus sind:
-
Änderung von Leitungslängen
-
Hinzufügen oder Entfernen von Teilnehmern oder Komponenten mit Repeaterfunktion
-
Ändern von Teilnehmeradressen
Wird von einem Diagnose-Repeater ein Fehler gemeldet, beschreibt "DP_TOPOL" die Ausgänge DPR und DPRI für die Dauer eines "DP_TOPOL"-Durchlaufs. Werden von mehreren Diagnose-Repeatern des ausgewählten DP-Mastersystems Fehler gemeldet, schreibt "DP_TOPOL" in DPR und DPRI Informationen zum ersten fehlermeldenden Diagnose-Repeater. Die vollständige Diagnoseinformation können Sie mit der Anweisung "DPNRM_DG" oder am PG auslesen. Falls kein Diagnose-Repeater einen Fehler meldet, haben die Ausgänge DPR und DPRI den Wert NULL.
Wenn Sie nach dem Auftreten eines Fehlers erneut eine Topologieermittlung anstoßen wollen, müssen Sie "DP_TOPOL" zunächst zurücksetzen. Dies geschieht, indem Sie "DP_TOPOL" mit REQ=0 und R=1 aufrufen.
Arbeitsweise
"DP_TOPOL" ist eine asynchron arbeitende Anweisung, d. h. die Bearbeitung erstreckt sich über mehrere Aufrufe. Sie starten die Ermittlung der Bustopologie, indem Sie "DP_TOPOL" mit REQ=1 aufrufen. Falls Sie den Vorgang abbrechen möchten, rufen Sie "DP_TOPOL" mit R=1 auf.
Über die Ausgangsparameter RET_VAL und BUSY wird der Zustand des Auftrags angezeigt.
Siehe auch: Unterschied zwischen synchron und asynchron arbeitenden Anweisungen.
|
Hinweis Die Topologieermittlung kann mehrere Minuten dauern. |
Identifikation eines Auftrags
Der Eingangsparameter DP_ID legt einen Auftrag eindeutig fest.
Falls Sie "DP_TOPOL" aufgerufen haben und Sie diese Anweisung erneut aufrufen, bevor die Topologieermittlung abgeschlossen ist, hängt das weitere Verhalten der Anweisung davon ab, ob es sich beim erneuten Aufruf um denselben Auftrag handelt: Stimmt der Parameter DP_ID mit einem noch nicht abgeschlossenen Auftrag überein, so wird der Aufruf als Folgeaufruf interpretiert, und in RET_VAL wird der Wert W#16#7002 eingetragen. Handelt es sich hingegen um einen weiteren Auftrag, weist die CPU diesen ab.
Parameter
Die folgende Tabelle zeigt die Parameter der Anweisung "DP_TOPOL":
|
Parameter |
Deklaration |
Datentyp |
Speicherbereich |
Beschreibung |
|---|---|---|---|---|
|
REQ |
Input |
BOOL |
E, A, M, D, L |
REQ=1: Topologieermittlung anstoßen |
|
R |
Input |
BOOL |
E, A, M, D, L |
R=1: Abbruch der Topologieermittlung |
|
DP_ID |
Input |
INT |
E, A, M, D, L oder Konstante |
DP-Mastersystem-ID desjenigen DP-Mastersystems, dessen Topologie ermittelt werden soll |
|
RET_VAL |
Return |
INT |
E, A, M, D, L |
Tritt während der Bearbeitung der Anweisung ein Fehler auf, enthält der Rückgabewert einen Fehlercode. |
|
BUSY |
Output |
BOOL |
E, A, M, D, L |
BUSY=1: Topologieermittlung ist noch nicht abgeschlossen. |
|
DPR |
Output |
BYTE |
E, A, M, D, L |
PROFIBUS-Adresse des Fehler meldenden Diagnose-Repeaters |
|
DPRI |
Output |
BYTE |
E, A, M, D, L |
Messsegment des Fehler meldenden Diagnose-Repeaters:
|
Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".
Parameter RET_VAL
Bei den "echten" Fehlerinformationen (Fehlercodes W#16#8xyz) der folgenden Tabelle sind zwei Fälle zu unterscheiden:
-
Temporäre Fehler (Fehlercodes W#16#80A2 bis 80A4, 80C3, 80C5):
Bei dieser Fehlerart ist es möglich, dass sich der Fehler ohne Ihr Zutun behebt, d. h. es ist sinnvoll, dass Sie "DP_TOPOL" erneut aufrufen (ggf. mehrfach).
Beispiel für einen temporären Fehler: Benötigte Betriebsmittel sind momentan belegt (W#16#80C3).
-
Permanente Fehler (Fehlercodes W#16#8082, 80B0, 80B2):
Bei dieser Fehlerart kann sich der Fehler nicht ohne Ihr Zutun beheben. Ein erneuter Aufruf von "DP_TOPOL" ist erst sinnvoll, wenn Sie den Fehler beseitigt haben. Beispiel für einen permanenten Fehler: DP-Master / CPU unterstützt diesen Dienst nicht. (W#16#80B0).
|
Fehlercode (W#16#...) |
Erläuterung |
|---|---|
|
0000 |
Der Auftrag wurde fehlerfrei durchgeführt. |
|
7000 |
Erstaufruf mit REQ=0. Es wird keine Topologieerrmittlung angestoßen. BUSY hat den Wert "0". |
|
7001 |
Erstaufruf mit REQ=1. Der Auftrag, die Topologieermittlung durchzuführen, wurde gestellt. BUSY hat den Wert "1". |
|
7002 |
Zwischenaufruf (REQ irrelevant): Die Topologieermittlung ist noch nicht abgeschlossen. BUSY hat den Wert "1". |
|
7010 |
Sie haben versucht, die Topologieermittlung abzubrechen. Es gibt aber keinen laufenden Auftrag mit der angegebenen DP_ID. BUSY hat den Wert "0". |
|
7011 |
Erstaufruf mit R=1. Der Abbruch der Topologieermittlung wurde angestoßen. BUSY hat den Wert "1". |
|
7012 |
Zwischenaufruf: Der Abbruch der Topologieermittlung ist noch nicht abgeschlossen. BUSY hat den Wert "1". |
|
7013 |
Letztaufruf: Die Topologieermittlung wurde abgebrochen. BUSY hat den Wert "0". |
|
8082 |
Es ist kein DP-Mastersystem mit der angegebenen DP_ID projektiert. |
|
80A2 |
Fehler bei Topologieermittlung; genauere Informationen entnehmen Sie den Ausgangsparametern DPR und DPRI. |
|
80A3 |
Fehler bei Topologieermittlung: Überwachungszeit ist abgelaufen (Timeout). |
|
80A4 |
Kommunikation am K-Bus gestört |
|
80B0 |
DP-Master / CPU unterstützt diesen Dienst nicht. |
|
80B2 |
Fehler bei Topologieermittlung: Am ausgewählten DP-Mastersystem wurde kein Diagnose-Repeater erkannt. |
|
80C3 |
Benötigte Betriebsmittel sind momentan belegt. Mögliche Ursache: Sie haben eine zweite Topologieermittlung angestoßen (nur eine Topologieermittlung ist zu einem Zeitpunkt zulässig). |
|
80C5 |
DP-Mastersystem ist momentan nicht verfügbar. |
|
8xyy |
allgemeine Fehlerinformation Siehe auch: Fehlerauswertung mit dem Ausgangsparameter RET_VAL |