S7-Alarme

Mithilfe des WinCC OA S7 Meldungsempfangs können Alarme, die bislang nur der SPS bekannt waren, in WinCC OA ausgelöst und quittiert werden, d.h. durch eine Quittierung in WinCC OA werden die Alarme auch in der SPS quittiert.

Voraussetzungen

  • S7-Projekt mit parametrierten Alarmen ist verfügbar

  • Das WinCC OA Projekt ist gestartet

Hinweise & Einschränkungen

  • S7 Alarme werden ausschließlich unter Windows unterstützt!

  • S7 Alarme werden nur für S7 SPSen mit einer S7-IE (TCP) oder S7-MPI Verbindung unterstützt

  • Symbolbezogene Meldungen (SCAN Meldungen) werden nur für S7-400 SPSen unterstützt, jedoch nicht für H-SPSen

  • Es wird nur das CPU-weite Projektierungsverfahren unterstützt, und nicht das projektweite

  • Es werden die Alarmbausteine alarm, alarm_8, alarm_8p, alarm_s, notify, notify_8p unterstützt - sowohl in der quittierbaren (z.B. alarm_sq) als auch unquittierbaren Form

    Anmerkung: Mit CFC projektierte Alarmbausteine werden von WinCC OA nicht unterstützt. Verwenden Sie stattdessen bitte andere Funktionsbausteinsprachen wie LAD, FUP oder SCL.
  • Verwenden Sie das Debug-Flag "-dbg alarm" um Detailinformationen zum S7 Alarming zu erhalten

  • S7-Alarming kann über den Config-Eintrag "connectForAlerts" in der Sektion [s7] aus Performance-Gründen deaktiviert werden

  • Der S7 Meldungsempfang wird mit einer WinAC (PCS7 Box Industrie-PC) unterstützt, jedoch nicht mit einer WinLC (Soft-PLC)

In diesem Kapitel wird Schritt für Schritt beschrieben, wie Sie S7 Alarmklassen auf WinCC OA Alarmklassen abbilden, Alarme empfangen und diese quittieren.

Parametrierung des S7-Treibers

Die grundlegende Parametrierung des S7-Treibers erfolgt gemäß der Beschreibung im Kapitel Parametrierung des S7-Treibers. Es wird davon ausgegangen, dass ein Gerät erstellt wurde und alle relevanten Verbindungseinstellungen eingetragen wurden. Damit der S7-Treiber auch Meldungen empfangen kann, müssen zusätzlich folgende Einstellungen im S7-Treiberparametrierpanel vorgenommen werden:

Aktivierung des Meldungsempfangs

Aktivieren Sie die Checkbox Meldungsempfang aktiv im Bereich Einstellungen.

Alarmparametrierung

Mit der Auswahl einer Station werden alle in ihr enthaltenen S7-Alarme ausgelesen und in einer Tabelle gelistet. Zu jedem Alarm werden Informationen über die Meldenummer, die Signalnummer und den Meldetext angezeigt. Sobald das Gerät mit der Station verbunden ist (verbinden über Checkbox), kann der S7-Treiber Alarme von der SPS empfangen.

  1. Klicken Sie im S7-Treiberparametrierpanel auf die Schaltfläche Alarme.

  2. Dies öffnet zuerst deinen Dateiauswahldialog. Wählen Sie hier das S7-Projekt (*.s7p) aus und bestätigen Sie mit Öffnen. Bitte beachten Sie, dass der Name des S7-Projektes keine andere Zeichen als "A-z","a-z","1-9" oder "_" beinhalten darf!

  3. Das Panel Alarmparametrierung wird geöffnet und die Meldungsparametrierung aus dem S7-Projekt wird automatisch eingelesen.

Abbildung 1. Alarmparametrierung mit Beispieldaten
  1. Wählen Sie über die Combobox Stationen die Station aus dem S7-Projekt, mit welcher der S7-Treiber gemäß den Verbindungseinstellungen (IP, Rack, Slot) verbunden ist, aus und aktivieren Sie die Checkbox Gerät ist mit dieser Station verbunden. (Mit der Schaltfläche "Ändern" können Sie die gewählte Station zu einem späteren Zeitpunkt ändern).

  2. Klicken Sie auf OK, um die Alarmparametrierung abzuschließen und somit den internen Datenpunkt _S7_400_s7400Hte_SIMATIC400 vom Typ _S7_AlarmParam zu erstellen. Der Datenpunktname wird automatisch aus dem Gerätenamen, dem S7-Projektnamen und dem Stationsnamen zusammengesetzt.

  3. Um eine S7 Alarmparametrierung zu löschen, klicken Sie auf die Schaltfläche Löschen. Dies entfernt alle Alarmparametrierungen und erlaubt es, ein neues Step 7 Projekt einzulesen.

Alarmklassenabbildung

  1. Klicken Sie im S7-Treiberparametrierpanel auf die Schaltfläche Al.-mapping, um S7 Alarmklassen auf WinCC OA Alarmklassen abzubilden.

  2. Das Panel Alarmklassenabbildung wird geöffnet.

Abbildung 2. Abbildung: Panel zur Abbildung von S7 Alarmklassen auf WinCC OA Alarmklassen
  1. In der Spalte S7 Alarmklasse sind alle existierenden S7 Alarmklassen (insgesamt 16) gelistet. Für jede der 16 Alarmklassen kann eine Priorität von 0 bis 16 vergeben werden, die zusammen mit der S7 Alarmklasse auf eine WinCC OA Alarmklasse abgebildet wird.

  2. Per Default sind bereits 13 WinCC OA Alarmklassen mit dem Präfix S7_* in WinCC OA vorhanden und werden auch passend auf die S7 Alarmklassen abgebildet.

  3. Unterhalb der Liste mit der Alarmprioritätenabbildung befinden sich drei Felder (zwei Comboboxen und ein Spinbutton in ihrer Mitte), über die die Alarmklassenabbildung neu definiert werden kann.

  4. Um eine Abbildungen zu ändern, markieren Sie die entsprechende Zeile mit der S7 Alarmklasse, setzen Sie die Priorität im Spinbutton-Feld unterhalb der Spalte S7 Priorität und wählen Sie aus der Combobox unterhalb der Spalte WinCC OA Alarmklasse die Alarmklasse aus, die den S7 Alarm später im WinCC OA Alarmschirm repräsentieren soll. Es muss nicht zwingend eine der vordefinierten Alarmklassen sein, Sie können auch eigene Alarmklassen erstellen. Um die Alarmklassenabbildung in die Liste zu übernehmen, klicken Sie auf die Schaltfläche .

  5. Um eine Alarmklassenabbildung zu löschen, markieren Sie die entsprechende Zeile und klicken Sie auf die Schaltfläche .

  6. Um eine neue Alarmklassenabbildung der Tabelle hinzuzufügen, markieren Sie eine Zeile mit einer Alarmklassenabbildung und klicken Sie auf die Schaltfläche , um eine Kopie dieser unterhalb der Zeile einzufügen, oder auf die Schaltfläche , um eine Kopie dieser oberhalb der Zeile einzufügen.

Nach einer Änderung der Alarmklassenabbildung ist kein Neustart des S7 Treibers notwendig.

Alarmbehandlung und Definition der Peripherieadresse

Die Alarmbehandlung (_alert_hdl) erfolgt über Multiinstanzalarme (siehe Meldebehandlung für Multiinstanzalarme) und muss am entsprechenden DPE angelegt werden. Multiinstanzalarme sind nicht vom Originalwert des Datenpunktelementes abhängig, sondern reagieren auf die Werte, die von der SPS empfangen werden. Alarmeigenschaften (wie z.B. die Alarmklasse oder der Alarmtext) können beim Auslösen des Alarms dynamisch geändert werden.

Am gleichen Datenpunktelement muss ein S7-Peripherieadress-Config (_address) angelegt und mit dem S7-Adresstyp Alarm Adresse parametriert werden, so dass eine S7-Variable ausgewählt werden kann, die den Alarm auslöst. Die S7-Variable setzt sich zusammen aus dem Datenbausteinnamen und dem Meldebezeichner, z.B. "Anlage13_Motor42.Fehler".

Damit von einem DPE Hardware Systemfehler empfangen werden, kann die spezielle Variable @SystemErrors@ ausgewählt werden.

Wenn die S7-Variable zu einem symbolbezogenen Alarm gehört, wird ein "$" dem Peripherieadresstring angefügt.

Ein Meldungsempfang ist aktiviert, wenn die Checkbox Adresse aktiv (unten im Panel) angehakt ist.

Optional besteht auch die Möglichkeit, einen S7-Begleitwert auf den Originalwert des Datenpunktelementes zu schreiben oder die Informations- und Zusatztexte des S7-Alarms auf Begleitwerte des WinCC OA Alarms zu schreiben. Dies wird über die Checkboxen und Spinbuttons definiert (von links nach rechts):

  1. Definiert, ob der S7-Begleitwert mit der hier angegebenen Nummer (Default = 1) auf den Originalwert des DPEs geschrieben werden soll. Wenn ja, haken Sie die Checkbox an.

  2. Definiert die Nummer des WinCC OA Begleitwertes auf den der Infotext von der SPS geschrieben wird.

  3. Definiert den WinCC OA Startbegleitwert, ab welchem die Zusatztexte von der SPS geschrieben werden. Pro Meldetext gibt es immer genau 9 Zusatztexte.

Format und Beispiel der erweiterten Peripherieadresse:

 <SPS-Variable>:<Begleitwert Originalwert [0..432]>:<Begleitwert für Infotext [5..]>:<Start-Begleitwert für Zusatztexte [5..]><$ wenn symbolbezogener Alarm>
Anlage13_Motor42.Fehler:1:5:0
  1. Originalwert wird vom 1. Begleitwert des S7-Alarms gesetzt

  2. Infotext wird auf den 5. Begleitwert beim WinCC OA Alarm gesetzt

  3. Zusatztexte werden nicht auf Begleitwerte beim WinCC OA Alarm geschrieben

Quittierung von S7-Alarmen

Damit Alarme nicht direkt in WinCC OA , sondern über die SPS quittiert werden, ist folgende Vorgangsweise notwendig:

  1. Im Projekt müssen individuelle Alarmklassen mit einem eindeutigen Präfix angelegt werden. Für S7 sind bereits 13 Alarmklassen mit dem Präfix "S7_*" vordefiniert. Es können aber natürlich auch eigene Alarmklassen angelegt werden.

  2. In der Config-Datei des Client Projektes muss der folgende Eintrag gesetzt werden:

[driver]

driverAckClassPrefix = "<Präfix>" //z.B. "S7"

Dieser Eintrag wird vom UI gelesen und führt dazu, dass der Alarm nicht mehr über den Event-Manager, sondern über den internen Treiberdatenpunkt _DriverCommon quittiert wird (siehe auch driverAckClassPrefix). Erst dann sendet die SPS eine Bestätigung der Quittierung an WinCC OA , damit das UI den Alarm in WinCC OA wie gewohnt quittieren kann.