SECS-II Geräte Alarme
Dieses Kapitel beschreibt die Alarme, deren Konfiguration und Mapping.
Alarme werden über die S5F1-Nachricht vom Gerät an den Host gesendet. Der Empfang der Alarmdaten wird vom Treiber automatisch über S5F2 bestätigt, wenn der „config“-Dateieintrag “sendAutoAck” aktiviert ist. Wenn “sendAutoAck” deaktiviert ist, muss die S5F2-Nachricht von der Benutzeranwendung gesendet werden, beispielsweise durch ein CTRL-Skript.
Alarm Konfiguration
Alarme sind auf dem Gerät nicht quittierbar und sollten daher in WinCC OA nicht quittierbar sein. Daher sollten Sie als Multiinstanzalarme mit einer _alert_class erfasst werden, die nicht quittierbar ist.
Damit der Treiber die SECS-II-Alarme auf WinCC OA-Alarme abbilden kann, müssen SECS-II-Alarme auf einem unsigned integer, integer, float oder bool DPE erfasst werden, welcher auch ein „_alert_hdl“-Config mit einem Multi-Instanz-Alarm enthält. Diese unsigned integer, integer, float oder bool DPEs sollten mit einer entsprechenden Adresskonfiguration verwendet werden (z.B.: „ALID_A.1000“). Der Treiber verwendet diese DPEs, um die SECS-II-Alarme auf WinCC OA-Alarme abzubilden. Wenn keine unsigned integer, integer, float oder bool Alarmadresse konfiguriert ist, wird der Fallback-Alarm-DPE verwendet, welcher in der Config-Datei mit dem Eintrag „alarmFallbackAddress“ konfiguriert werden kann.
Die SECS-II-Alarme können auch in Form der E5 JSON-Nachricht auf einem string DPE mit einer entsprechenden Adresse erfasst werden (z.B.: „ALID.1000“).
Weitere Informationen zur Adresskonfiguration von Alarmen finden Sie im KapitelDefinition der Peripherieaddresse.
Alarm Mapping
Der “body” einer empfangenen E5 Alarmnachricht ist wie im folgenden Beispiel aufgebaut:
[
{
"doc": "<ALCD> Alarm code byte",
"format": "B",
"value": 0
},
{
"doc": "<ALID> Alarm identification",
"format": "U4",
"value": 1002
},
{
"doc": "<ALTX> Alarm text limited to 120 characters",
"format": "A",
"value": "Software test alarm 1002"
}
]
Diese JSON-Objekte werden gemäß der folgenden Tabelle vom SECS-Treiber auf WinCC OA-Alarme gemapt:
_alert_hdl attribute | Zugehöriges SECS-II Objekt und Information |
---|---|
_add_values[1] | Wert des <ALCD> (Alarm code byte) Objekts |
_add_values[2] | Wert des <ALTX> (Alarm text) Objekts |
_alert_id |
Wert von <ALID> wie folgt:
|
_comment |
Wert von <ALTX> und <ALID> kombiniert, wie folgt:
|
Der „set“-Zustand des Alarms auf dem Gerät entspricht dem Zustand „KAM“ in WinCC OA und der „clear“-Zustand auf dem Gerät entspricht dem Zustand „GING“ in WinCC OA. Weitere Informationen zu den Alarmen in SECS-II finden Sie in den Standards SEMI E5 Abschnitt 10.9 und E30 7.4.
Wiederverbindung
Bei der Wiederverbindung oder dem Start des Treibers wird das folgende Verfahren durchgeführt, um den aktuellen Alarmzustand des Geräts zu ermitteln:
- Entfernen bestehender Alarme für die Verbindung.
- Überprüfen der Verbindung mit Select.req und Select.res .
- Senden von S5F7R, um aktuelle Alarminformationen über alle aktivierten Alarme anzufordern.
- Empfangen der S5F8-Antwort auf die S5F7R-Anforderung.
- Setzen der aktuellen WinCC OA-Alarme mit dem aktuellen Zeitstempel.