Beschreibung
Mit der Anweisung senden Sie aus dem Anwenderprogramm eines intelligenten Slaves einen Alarm eines Steckplatzes im Übergabebereich (virtueller Steckplatz) an den zugehörigen DP-Master. Das führt zum Start des zugehörigen OB beim DP-Master.
Dem Alarm können Sie alarmspezifische Zusatzinformationen mitgeben. Die gesamte Zusatzinformation können Sie im DP-Master mit der Anweisung auslesen.
Die Anweisung ist nur im S7-kompatiblen Modus verwendbar.
-
DP: Der Master bindet den I-Slave mittels GSD-Datei ein.
-
S7-kompatibel: Der I-Slave wird per Projektierung an einem Master angebunden.
Hinweis
Die Schnittstelle der Anweisung "SALRM" ist identisch mit der des in der Norm "PROFIBUS and PROFINET Guideline Communication Function Blocks on PROFIBUS DP and PROFINET IO" definierten FB "SALRM".
Arbeitsweise
Die Anweisung "SALRM" ist eine asynchron arbeitende Anweisung, d. h. die Bearbeitung erstreckt sich über mehrere Aufrufe. Sie starten die Alarmübertragung, indem Sie Anweisung mit REQ = 1 aufrufen.
Der Sendevorgang ist solange aktiv, bis die Alarmbearbeitung vom DP-Master quittiert oder abgebrochen wird.
Über den Ausgangsparameter BUSY und die Bytes 2 und 3 des Ausgangsparameters STATUS wird der Zustand des Auftrags angezeigt. Dabei entsprechen die Bytes 2 und 3 von STATUS dem Ausgangsparameter RET_VAL der asynchron arbeitenden Anweisungen.
Siehe auch: Unterschied zwischen synchron und asynchron arbeitenden Anweisungen.
Die Alarmübertragung ist abgeschlossen, wenn der Ausgangsparameter BUSY den Wert FALSE angenommen hat.
Identifikation des Auftrags
Falls Sie mit der Anweisung "SALRM" das Senden eines Alarms an den DP-Master angestoßen haben und Sie diese Anweisung erneut aufrufen, bevor der laufende Auftrag beendet wurde, hängt das weitere Verhalten der Anweisung davon ab, ob es sich beim erneuten Aufruf um denselben Auftrag handelt.
Stimmen die Parameter ID und ATYPE mit einem noch nicht abgeschlossenen Auftrag überein, so gilt der Aufruf als Folgeaufruf.
Parameter
Die folgende Tabelle zeigt die Parameter der Anweisung "SALRM":
|
Parameter |
Deklaration |
Datentyp |
Speicherbereich |
Beschreibung |
|---|---|---|---|---|
|
REQ |
Input |
BOOL |
E, A, M, D, L |
REQ = 1: Alarmübertragung durchführen |
|
ID |
Input |
DWORD |
E, A, M, D, L oder Konstante |
irgendeine logische Adresse des Übergabebereichs zum DP-Master (virtuelle Steckplätze) (aus Sicht des DP-Slaves) außer der Diagnoseadresse der Station und der logischen Adresse des Steckplatzes 2. |
|
Input |
INT |
E, A, M, D, L oder Konstante |
Alarm Type
|
|
|
Input |
INT |
E, A, M, D, L oder Konstante |
Alarm Specifier:
|
|
|
Input |
INT |
E, A, M, D, L oder Konstante |
Länge der zu versendenden Alarmzusatzinformation in Bytes |
|
|
DONE |
Output |
BOOL |
E, A, M, D, L |
DONE=1: Alarm wurde übertragen |
|
BUSY |
Output |
BOOL |
E, A, M, D, L |
BUSY = 1: Die Alarmübertragung ist noch nicht abgeschlossen. |
|
Output |
BOOL |
E, A, M, D, L |
ERROR = 1: Es ist ein Fehler aufgetreten. |
|
|
Output |
DWORD |
E, A, M, D, L |
Fehlerinformation |
|
|
InOut |
ANY |
E, A, M, D, L |
Alarm Info Hinweis: Beachten Sie, dass der Parameter AINFO bei S7-300-CPUs immer die vollständige Angabe der DB-Parameter erfordert (Bsp.: P#DB13.DBX0.0 Byte 100). Das Weglassen einer expliziten DB-Nr. ist für S7-300-CPUs unzulässig und führt zu einer Fehlermeldung im Anwenderprogramm. |
|
Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".
Auswirkung des "SALRM"-Aufrufs auf die Baugruppenzustandsinformation und die Sammelfehler-LED (SF)
Ein intelligenter Slave hat wie jede CPU die Eigenschaften seiner Steckplätze in der Baugruppenzustandsinformation abgelegt.
Siehe auch: SZL-ID W#16#xy91 - Baugruppenzustandsinformation.
Wenn Sie mittels "SALRM" einen Diagnosealarm versenden, dann beeinflusst das Betriebssystem des intelligenten Slaves die slavelokale Baugruppenzustandsinformation und die LED SF anhand von Bit 0 im Byte 0 von AINFO (Dieses Bit wird als "Baugruppe gestört" in die Zustandsinformation übernommen.). Im I-Slave erfolgt jedoch kein Diagnosepuffereintrag, und es wird kein Diagnosealarm-OB gestartet.
Konsistenz der Baugruppenzustandsinformation zwischen DP-Master und I-Slave
Im Folgenden werden unterschiedliche Szenarien und ihre Auswirkungen auf die Baugruppenzustandsinformation betrachtet:
-
Stationswiederkehr (hat OB 86-Start beim DP-Master und beim I-Slave zur Folge)
Sowohl beim I-Slave als auch beim S7-Master wird die Baugruppenzustandsinformation beeinflusst ("Baugruppe gestört" wird rückgesetzt.). Falls aus Anwendersicht nach Stationswiederkehr beim I-Slave Störungen anstehen, müssen Sie diese per "SALRM"-Aufruf an den DP-Master melden.
-
STOP-RUN-Übergang des DP-Masters (hat OB 82-Start beim I-Slave zur Folge)
Die Baugruppenzustandsinformation auf dem I-Slave bleibt unverändert. Der DP-Master setzt das Bit "Baugruppe gestört" in der zugehörigen Baugruppenzustandsinformation zurück.
Um die Konsistenz der Baugruppenzustandsinformation zwischen DP-Master und I-Slave im S7-kompatiblen Mode zu gewährleisten, müssen Sie auf dem I-Slave wie folgt reagieren:-
Für jeden fehlerfreien virtuellen Steckplatz senden Sie per "SALRM" einen gehenden Diagnosealarm an den DP-Master.
-
Für jeden gestörten virtuellen Steckplatz senden Sie per "SALRM" einen kommenden Diagnosealarm an den DP-Master.
-
-
STOP-RUN-Übergang des I-Slaves (hat OB 82-Start beim DP-Master zur Folge)
Die Baugruppenzustandsinformation auf dem DP-Master bleibt unverändert, die auf dem I-Slave wird zurückgesetzt ("Baugruppe gestört" wird rückgesetzt.).
Um die Konsistenz der Baugruppenzustandsinformation zwischen DP-Master und I-Slave zu gewährleisten, müssen Sie auf dem I-Slave wie folgt reagieren:-
Für jeden fehlerfreien virtuellen Steckplatz senden Sie per "SALRM" einen gehenden Diagnosealarm an den DP-Master
-
Für jeden gestörten virtuellen Steckplatz senden Sie per "SALRM" einen kommenden Diagnosealarm an den DP-Master
Hinweis
Da "SALRM" asynchron arbeitet, können die "SALRM"-Aufrufe in den Anlauf-OBs nicht beendet werden, d. h. sie müssen im zyklischen Programm zu Ende geführt werden.
Alle oben genannten Differenzen zwischen der Baugruppenzustandsinformation im Master und im I-Slave können nur bei denjenigen Steckplätzen auftreten, die per "SALRM" mit Diagnose-Alarmen beaufschlagt werden. Das wiederum bedeutet, dass die beschriebenen Abhilfen auch nur für solche Steckplätze erforderlich sind.
-