Beschreibung SALRM (S7-300, S7-400) - STEP 7

Erweiterte Anweisungen (S7-300, S7-400)

ft:publication_title
Erweiterte Anweisungen (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
de-DE
Beschreibung SALRM

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.
Die relevante Information steht im low word. Das high word belegen Sie mit Null. Bit 15 enthält die E/A-Kennung: 0 bei einer Eingangs-, 1 bei einer Ausgangsadresse.

ATYPE

Input

INT

E, A, M, D, L oder Konstante

Alarm Type
Kennung für den Alarmtyp. Mögliche Werte:

  • 1: Diagnosealarm

  • 2: Prozessalarm

ASPEC

Input

INT

E, A, M, D, L oder Konstante

Alarm Specifier:

  • 0: keine weitere Information

  • 1: kommendes Ereignis, Steckplatz gestört

  • 2: gehendes Ereignis, Steckplatz nicht mehr gestört

  • 3: gehendes Ereignis, Steckplatz weiterhin gestört

LEN

Input

INT

E, A, M, D, L oder Konstante

Länge der zu versendenden Alarmzusatzinformation in Bytes
Größter Wert: 16

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.

ERROR

Output

BOOL

E, A, M, D, L

ERROR = 1: Es ist ein Fehler aufgetreten.

STATUS

Output

DWORD

E, A, M, D, L

Fehlerinformation

AINFO

InOut

ANY

E, A, M, D, L

Alarm Info
Quellbereich für Alarmzusatzinformation

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.