AbvSpu

| ALPHA-VISION®PMU

# AbvSpuOpt-MsPv

## API-Schnittstelle zum Technologieprogramm

Die AbvSpu stellt dem Technologieprogramm zum Lesen und Schreiben von Prozesseigenschaften (Zustand, Messwert, Alarminformation) sowie zum Steuern der Prozess-Parameter (Grenzwert, Verzögerungszeiten, usw.) die folgenden Funktionen zur Verfügung:

### Vorhandene Schnittstellenfunktionen:

Alarmfunktionen | GetALvl | Aktueller Alarmlevel | GetAL_ex | Alarm (ja/nein) | GetAT_ex | Alarmtyp | Zustandswert (Status) lesen | GetSts_ex | Zustandswert lesen | Mess-/Prozesswert lesen | GetValue_ex | Messwert lesen | GetValueB_ex | Messwert lesen | GetValueI_ex | Messwert lesen | GetValueR_ex | Messwert lesen | Zustandswert (Status) schreiben | SetSts_ex | Zustandswert schreiben | Ein-/Ausgangssignal schreiben | SetValBool_ex | Ein-/Ausgangssignal schreiben | SetValInt_ex | Ein-/Ausgangssignal schreiben | SetValReal_ex | Ein-/Ausgangssignal schreiben | Parameter Messstelle | FadeInOut | Messstelle ein-/ausblenden | SetLimit | Grenzwert schreiben | GetLimit | Grenzwert lesen | Sonstige Funktionen | GetEventInfo | Event-Information auslesen | SetQuit | Automatisches Quittieren

### Die Funktionen im einzelnen:

GetALvl() | FC161 - Aktueller Alarmlevel

Beschreibung

Liefert den zum aktuellen Zustand einer Messstelle projektierten Alarmlevel

Funktion ist nur für Messstellen definiert.

- Der Alarmlevel ist nur für die Zustände 1 bis 8 und 'outofrange' definiert.
- Der Alarmlevel ist nur für die Zustände 1 bis 8 und 'outofrange' definiert.
- Für die Zustände 'fadedout', 'undefined' wird der Level 0 geliefert.
- Für blockierte Alarmzustände wird ebenfalls der Level 0 geliefert.
- Für Objekte des Typs 'Prozessvariable' wird der Level 0 und 'bOk=0 (Fehler)' geliefert.
- Fehler (bOk=0), wenn a) ungültige Objektnummer b) falscher Objekt-Typ

Deklaration | FUNCTION FC 161: VOID
| VAR_INPUT
|  | obj : INT; | // Objektnummer
| END_VAR
| VAR_OUTPUT
|  | iVal : INT; | // Alarmlevel
|  | bOk : BOOL; | // Status (1=okay, 0=Fehler)
| END_VAR

GetAL() | FC150 - wie GetAL_ex(), ohne Fehlerausgang <bOk>
GetAL_ex() | FC164 - Alarm (ja/nein)

Beschreibung

Liefert zurück, ob sich das mit <obj> referenzierte Objekt in einem Alarmzustand (Zustand mit Level>0) befindet

Funktion ist nur für Messstellen definiert.

- Liefert <bAl=1>, wenn sich Messstelle in Alarmzustand (Level>0) befindet.
- Für Objekte des Typs 'Prozessvariable' wird <bAl=0> und <bOk=0> geliefert.
- Im Fehlerfall wird <bOk=0> geliefert.
- Mögliche Fehler: a) Ungültige Objektnr. b) falscher Objekttyp.

Deklaration | FUNCTION FC 164: VOID
| VAR_INPUT
|  | obj : INT; | // Objektnummer
| END_VAR
| VAR_OUTPUT
|  | bAl : BOOL; | // 1=Alarmlevel>0, 0=Alarmlevel=0
|  | bOk : BOOL; | // 1=okay, 0=Fehler
| END_VAR

GetAT() | FC151 - wie GetAT_ex(), ohne Fehlerausgang <bOk>
GetAT_ex() | FC165 - Alarmtyp

Beschreibung

Liefert den zum aktuellen Zustand einer Messstelle projektierten Alarmtyp
Funktion ist nur für (Analog-)Messstellen definiert.

- Für (Binär-)Messstellen wird immer Alarmtyp=0 geliefert.
- Für Objekte des Typs 'Prozessvariable' wird <yAt=0> und <bOk=0> geliefert.
- Im Fehlerfall wird <bOk=0> geliefert.
- Mögliche Fehler: a) Ungültige Objektnr. b) falscher Objekttyp.

Der Alarmtyp errechnet sich aus dem Alarmlevel des aktuellen Zustands, wobei die Alarmrichtung (Alarm oben=Normalzustand unten bzw. Alarm unten=Normalzustand oben) unterschieden wird. Für die Berechnung des Alarmtyps ist die folgende Tabelle zugrunde gelegt:

Level (Richtung)
0(↓↑)
1(↓)
2(↓)
3(↓)
4(↓)
5(↓)
1(↑)
2(↑)
3(↑)
4(↑)
5(↑)

Alarmtyp
0
0
3
5
11
9
0
2
4
10
8

| Sonderfall: Beim Zustand 'OutOfRange' wird für alle Alarmlevels (Level>0) der Alarmtyp=12 geliefert.
Deklaration | FUNCTION FC 165: VOID
| VAR_INPUT
|  | obj : INT; | // Objektnummer
| END_VAR
| VAR_OUTPUT
|  | yAt : BYTE; | // Alarmtyp
|  | bOk : BOOL; | // 1=okay, 0=Fehler
| END_VAR

GetSts() | FC152 - wie GetSts_ex(), ohne Fehlerausgang <bOk>
GetSts_ex() | FC166 - Aktuellen Zustand (Status)lesen

Beschreibung

Liefert den Zustandswert (Status) des mit <obj> referenzierten Objekts. Der aktuelle Zustand wird mit <wMask> und-verknüpft und in <wSts> zurückgegeben (wSts:=obj.sts&wMask).

Funktion ist nur für Messstellen definiert.

- Für MS-Objekte wird der Zustandswert (Status) (obj.sts) geliefert.
- Für PV-Objekte des Typs Bit/Byte/Wort wird der Mess-/Prozesswert (obj.val) geliefert.
- Im Fehlerfall wird <bOk=0> und <wSts=0xffff> geliefert.
- Mögliche Fehler: a) Ungültige Objektnr. b) falscher Objekttyp.

Beschreibung der Ausgangsparameter
Objekt/Signaladresse | bOk | wSts
Bin-MS (A) | 1 | Zustand
Bin-MS (DBX) | 1 | Zustand
Bin-MS (E) | 1 | Zustand
Ana-MS (PEW) | 1 | Zustand
Ana-MS (PAW) | 1 | Zustand
Ana-MS (DBD) | 1 | Zustand
Ana-MS (DBW) | 1 | Zustand
PV (DBX) | 1 | 0/1
PV (DBB) | 1 | 0 ... 255
PV (DBW) | 1 | 0 ... 65535
PV (DBD, int) | 0 | 65535
PV (DBD, real) | 0 | 65535
PV (DBW, string) | 0 | 65535

Deklaration | FUNCTION FC 166: VOID
| VAR_INPUT
|  | obj : INT; | // Objektnummer
|  | wMask : WORD; | // Bitmaske
| END_VAR
| VAR_OUTPUT
|  | wSts : INT; | // Zustandswert
|  | bOk : BOOL; | // 1=okay, 0=Fehler
| END_VAR

GetValue() | FC153 - wie GetValue_ex(), ohne Fehlerausgang <bOk>
GetValue_ex() | FC167 - Aktuellen Mess-(Prozesswert) lesen

Beschreibung

Liefert den Messwert des mit <obj> referenzierten Objekts.

Die Funktion ist für Messstellen (MS) und Prozessvariablen (PV) definiert.

- Für MS-Objekte wird der Messwert <obj.val> geliefert.
- Für PV-Objekte des Typs <Bit/Byte/Word/Dword/Real> wird der Messwert <obj.val> geliefert.
- Für PV-Objekte des Typs <String> wird die Stringlänge <obj.strlen> geliefert.
- Der Messwert/Stringlänge wird als <DINT/REAL/BOOL> geliefert.
- Im Fehlerfall wird <bOk=0> geliefert.
- Mögliche Fehler: Ungültige Objektnr.

Bei MS liegt der Mess-(Prozesswert) intern immer als Real-Zahl vor, ebenso bei PV-Objekten des Formats <REAL> Die Rückgabewerte <bVal> und <iVal> werden durch Umrechnung des Real-Wertes gebildet:

- <bVal> ist 'false' für <rVal=0.0>, ansonsten immer 'true'.
- <iVal> ist der ganzzahlige Anteil von <rVal>.

Bei PV-Objekten des Formats <BIT/BYTE/WORD/DWORD> liegt der Mess-(Prozesswert) intern als Ganzzahl vor. Die Rückgabewerte <bVal> und <rVal> werden durch Umrechnung des Integer-Wertes gebildet:

- <bVal> ist 'false' für <iVal=0>, ansonsten 'true'.
- <rVal> ist die nach Gleitkomma gewandelte Integer-Zahl <iVal>.

Beschreibung der Ausgangsparameter
Objekt/Signaladresse | bOk | bVal | iVal | rVal
Bin-MS (A) | 1 | true/false | 1/0 | 1.0/0.0
Bin-MS (DBX) | 1 | true/false | 1/0 | 1.0/0.0
Bin-MS (E) | 1 | true/false | 1/0 | 1.0/0.0
Ana-MS (PEW) | 1 | true/false | L#-2147483648 bis L##2147483647 | -3.402823e+38 bis +3.402823e+38
Ana-MS (PAW) | 1 | true/false | L#-2147483648 bis L##2147483647 | -3.402823e+38 bis +3.402823e+38
Ana-MS (DBD) | 1 | true/false | L#-2147483648 bis L##2147483647 | -3.402823e+38 bis +3.402823e+38
Ana-MS (DBW) | 1 | true/false | L#-2147483648 bis L##2147483647 | -3.402823e+38 bis +3.402823e+38
PV (DBX) | 1 | true/false | 1/0 | 1.0/0.0
PV (DBB) | 1 | true/false | 0 ... 255 | 0.0 ... 255.0
PV (DBW) | 1 | true/false | 0 ... 65535 | 0.0 ... 65535.0
PV (DBD, int) | 1 | true/false | L#-2147483648 bis L##2147483647 | -2.147e+009 bis +2.147e+009
PV (DBD, real) | 1 | true/false | L#-2147483648 bis L##2147483647 | -3.402823e+38 bis +3.402823e+38
PV (DBW, string) | 1 | true/false | 0 ... 65535 | 0.0 ... 65535.0

Der Mess-(Prozesswert) des Objekts wird bei der nächsten Objektbearbeitung auf Basis des (modifizierten) Eingangssignals neu berechnet.

Deklaration | FUNCTION FC 167: VOID
| VAR_INPUT
|  | obj : INT; | // Objektnummer
| END_VAR
| VAR_OUTPUT
|  | iVal : DINT; | // Messwert als 32bit-Integer
|  | rVal : REAL; | // Messwert als 32bit-Realzahl
|  | bVal : BOOL; | // Messwert als 0/1-Signal
|  | bOk : BOOL; | // 1=okay, 0=Fehler
| END_VAR

GetValueB() | FC159 - wie GetValueB_ex(), ohne Fehlerausgang <bOk>
GetValueB_ex() | FC170 - Aktuellen Mess-(Prozesswert) im Format <BOOL> lesen
Beschreibung | Liefert den Messwert des mit <obj> referenzierten Objekts im Format <BOOL>. Zur Beschreibung siehe bei GetValue_ex().
Deklaration | FUNCTION FC 170: VOID
| VAR_INPUT
|  | obj : INT; | // Objektnummer
| END_VAR
| VAR_OUTPUT
|  | bVal : BOOL; | // Messwert als 0/1-Signal
|  | bOk : BOOL; | // 1=okay, 0=Fehler
| END_VAR

GetValueI() | FC157 - wie GetValueI_ex(), ohne Fehlerausgang <bOk>
GetValueI_ex() | FC168 - Aktuellen Mess-(Prozesswert) im Format <DINT> lesen
Beschreibung | Liefert den Messwert des mit <obj> referenzierten Objekts im Format <DINT>. Zur Beschreibung siehe bei GetValue_ex().
Deklaration | FUNCTION FC 168: VOID
| VAR_INPUT
|  | obj : INT; | // Objektnummer
| END_VAR
| VAR_OUTPUT
|  | iVal : DINT; | // Messwert als Ganzzahl (DINT)
|  | bOk : BOOL; | // 1=okay, 0=Fehler
| END_VAR

GetValueR() | FC158 - wie GetValueR_ex(), ohne Fehlerausgang <bOk>
GetValueR_ex() | FC169 - Aktuellen Mess-(Prozesswert) im Format <REAL> lesen
Beschreibung | Liefert den Messwert des mit <obj> referenzierten Objekts im Format <REAL>. Zur Beschreibung siehe bei GetValue_ex().
Deklaration | FUNCTION FC 169: VOID
| VAR_INPUT
|  | obj : INT; | // Objektnummer
| END_VAR
| VAR_OUTPUT
|  | rVal : REAL; | // Messwert als Gleitkommazahl (REAL)
|  | bOk : BOOL; | // 1=okay, 0=Fehler
| END_VAR

SetSts() | FC152 - wie SetSts_ex(), ohne Ausgang <bChanged>
SetSts_ex() | FC172 - Zustand schreiben

Beschreibung

Der Wert <wSts> wird in die durch die Prozessverbindung spezifizierte S7-Adresse des mit <obj> referenzierten Objekts geschrieben.

Funktion war ursprünglich nur für den Objekttyp PO=Prozessobjekt definiert.

Aus Gründen der Kompatibilität zu bestehenden S7-Anwender-programmen bleibt die Funktion bestehen. Anstelle von Prozessobjekten werden PV-Objekte des Typs BIT/BYTE/WORD beschrieben.

- Bei Messstellen wird <bOK=0> zurückgeliefert (Fehler).
- Der Parameter <bChanged> gibt an, ob sich der Wert des Eingangssignal geändert hat.

Beschreibung der Ausgangsparameter
Objekt/Signaladresse | bOk | bChanged | Bemerkung
MS | 0 | x | -
PV (DBX) | 1 | 0/1 | Bit wird rückgesetzt für wSts=0, sonst gesetzt
PV (DBB) | 1 | 0/1 | wSts wird auf Byte-Bereich abgeschnitten
PV (DBW) | 1 | 0/1 | wSts wird auf Word-Bereich abgeschnitten
PV (DBD, int) | 0 | x | -
PV (DBD, real) | 0 | x | -
PV (DBW, string) | 0 | x | -

Deklaration | FUNCTION FC 172: VOID
| VAR_INPUT
|  | obj : INT; | // Objektnummer
|  | wSts : INT; | // Zustandswert
| END_VAR
| VAR_OUTPUT
|  | bOK : BOOL; | // Status (1=okay, 0=Fehler)
|  | bChanged : BOOL; | // Änderung des Eingangssignal
| END_VAR

SetValBool() | FC160 - wie SetValBool_ex(), ohne Ausgang <bChanged>
SetValBool_ex() | FC173 - Ein-/Ausgangssignal vom Typ <BOOL> schreiben

Beschreibung

Der Wert <bVal> wird in die durch die Prozessverbindung spezifizierte S7-Adresse des mit <obj> referenzierten Objekts geschrieben.

- Funktion ist für Messstellen (MS) und Prozessvariablen (PV) definiert.
- Funktion bearbeitet nur Signal-Adressen des Typs <DB...>, <A> und <PAW>
- Der Parameter <bChanged> gibt an, ob sich der Wert des Eingangssignal geändert hat. Bei Signaladressen der Art <A/PAW> ist er undefiniert.
- Im Fehlerfall wird <bOk=0> geliefert.
- Mögliche Fehler: a) Ungültige Objektnr. b) Unerlaubte Signaladresse

Beschreibung der Ausgangsparameter
Objekt/Signaladresse | bOk | bChanged
Bin-MS (A) | 1 | x
Bin-MS (DBX) | 1 | 0/1
Bin-MS (E) | 0 | x
Ana-MS (PEW) | 0 | x
Ana-MS (PAW) | 1 | x
Ana-MS (DBD) | 0 | x
Ana-MS (DBW) | 1 | 0/1
PV (DBX) | 1 | 0/1
PV (DBB) | 1 | 0/1
PV (DBW) | 1 | 0/1
PV (DBD, int) | 1 | 0/1
PV (DBD, real) | 0 | x
PV (DBW, string) | 0 | x

Der Mess-(Prozesswert) des Objekts wird bei der nächsten Objektbearbeitung auf Basis des (modifizierten) Eingangssignals neu berechnet.

Deklaration | FUNCTION FC 173: VOID
| VAR_INPUT
|  | obj : INT; | // Objektnummer
|  | bVal : BOOL; | // Prozesswert
| END_VAR
| VAR_OUTPUT
|  | bOK : BOOL; | // Status (1=okay, 0=Fehler)
|  | bChanged : BOOL; | // Änderung des Eingangssignal
| END_VAR

SetValInt() | FC155 - wie SetValInt_ex(), ohne Ausgang <bChanged>
SetValInt_ex() | FC171 - Ein-/Ausgangssignal vom Typ <DINT> schreiben

Beschreibung

Der Wert <iVal> wird in die durch die Prozessverbindung spezifizierte S7-Adresse des mit <obj> referenzierten Objekts geschrieben.

- Funktion ist für Messstellen (MS) und Prozessvariablen (PV) definiert.
- Funktion bearbeitet nur Signal-Adressen des Typs <DB...>, <A> und <PAW>
- Der Parameter <bChanged> gibt an, ob sich der Wert des Eingangssignal geändert hat. Bei Signaladressen der Art <A/PAW> ist er undefiniert.
- Im Fehlerfall wird <bOk=0> geliefert.
- Mögliche Fehler: a) Ungültige Objektnr. b) Unerlaubte Signaladresse

Beschreibung der Ausgangsparameter
Objekt/Signaladresse | bOk | bChanged | Bemerkung
Bin-MS (A) | 1 | x | Bit wird gesetzt für iVal=1, sonst rückgesetzt
Bin-MS (DBX) | 1 | 0/1 | Bit wird gesetzt für iVal=1, sonst rückgesetzt
Bin-MS (E) | 0 | x | -
Ana-MS (PEW) | 0 | x | -
Ana-MS (PAW) | 1 | x | iVal wird durch lineare Normierung auf den Rohwert umgerechnet
Ana-MS (DBD) | 0 | x | -
Ana-MS (DBW) | 1 | 0/1 | -
PV (DBX) | 1 | 0/1 | Bit wird rückgesetzt für iVal=0, sonst gesetzt
PV (DBB) | 1 | 0/1 | iVal wird auf Byte-Bereich abgeschnitten
PV (DBW) | 1 | 0/1 | iVal wird auf Word-Bereich abgeschnitten
PV (DBD, int) | 1 | 0/1 | -
PV (DBD, real) | 0 | x | -
PV (DBW, string) | 0 | x | -

Der Mess-(Prozesswert) des Objekts wird bei der nächsten Objektbearbeitung auf Basis des (modifizierten) Eingangssignals neu berechnet.

Deklaration | FUNCTION FC 171: VOID
| VAR_INPUT
|  | obj : INT; | // Objektnummer
|  | iVal : DINT; | // Prozesswert
| END_VAR
| VAR_OUTPUT
|  | bOK : BOOL; | // Status (1=okay, 0=Fehler
|  | bChanged : BOOL; | // Änderung?
| END_VAR

SetValReal() | FC156 - wie SetValReal_ex(), ohne Ausgang <bChanged>
SetValReal_ex() | FC174 - Ein-/Ausgangssignal vom Typ <REAL> schreiben

Beschreibung

Der Wert <rVal> wird in die durch die Prozessverbindung spezifizierte S7-Adresse des mit <obj> referenzierten Objekts geschrieben.

- Funktion ist für Messstellen (MS) und Prozessvariablen (PV) definiert.
- Funktion bearbeitet nur Signal-Adressen des Typs <DB...> und <PAW>
- Der Parameter <bChanged> gibt an, ob sich der Wert des Eingangssignal geändert hat. Bei Signaladressen der Art <A/PAW> ist er undefiniert.
- Im Fehlerfall wird <bOk=0> geliefert.
- Mögliche Fehler: a) Ungültige Objektnr. b) Unerlaubte Signaladresse

Beschreibung der Ausgangsparameter
Objekt/Signaladresse | bOk | bChanged | Bemerkung
Bin-MS (A) | 0 | x | -
Bin-MS (DBX) | 0 | x | -
Bin-MS (E) | 0 | x | -
Ana-MS (PEW) | 0 | x | -
Ana-MS (PAW) | 1 | x | rVal wird durch lineare Normierung auf den Rohwert umgerechnet
Ana-MS (DBD) | 1 | 0/1 | -
Ana-MS (DBW) | 0 | x | -
PV (DBX) | 0 | x | -
PV (DBB) | 0 | x | -
PV (DBW) | 0 | x | -
PV (DBD, int) | 0 | x | -
PV (DBD, real) | 1 | 0/1 | -
PV (DBW, string) | 0 | x | -

Der Mess-(Prozesswert) des Objekts wird bei der nächsten Objektbearbeitung auf Basis des (modifizierten) Eingangssignals neu berechnet.

Deklaration | FUNCTION FC 174: VOID
| VAR_INPUT
|  | obj : INT; | // Objektnummer
|  | rVal : REAL; | // Prozesswert
| END_VAR
| VAR_OUTPUT
|  | bOK : BOOL; | // Status (1=okay, 0=Fehler
|  | bChanged : BOOL; | // Änderung?
| END_VAR

FadeInOut() | FC162 - Messstelle ein-/ausblenden

Beschreibung

Messstelle ein-/ausblenden

Funktion ist nur für Messstellen definiert.

- Mit 'bVal=1' wird die MS ausgeblendet, mit 'bVal=0' wieder eingeblendet.
- Ausgeblendet bedeutet, dass die Zustandswechsel der MS nicht mehr gemeldet werden. Die MS geht in den Zustand '18=ausgeblendet'. Die Messwertänderungen dagegen werden weiterhin gemeldet.
- Für Objekte des Typs 'Prozessvariable' wird 'bOk=0 (Fehler)' geliefert.
- Mögliche Fehler: a) ungültige Objektnummer b) falscher Objekttyp

Beschreibung der Ausgangsparameter
Objekttyp | bOk | Bemerkung
MS | 1 | bVal=1 -> ausblenden, bVal=0 -> einblenden
PV | 0 | -

Deklaration | FUNCTION FC 162: VOID
| VAR_INPUT
|  | obj : INT; | // Objektnummer
|  | bVal : BOOL; | // 1=aus-, 0=einblenden
| END_VAR
| VAR_OUTPUT
|  | bOk : BOOL; | // Status (1=okay, 0=Fehler)
| END_VAR

SetLimit() | FC159 - Grenzwert ändern

Beschreibung

Der durch den Parameter <iLmtNo> spezifizierte Grenzwert der mit <obj> referenzierten (Analog-)Messstelle wird auf den Wert <r4Lmt> gesetzt.

Funktion ist nur für (Analog-)Messstellen definiert.

- Beim Ändern eines Grenzwertes muss immer die Vorschrift 'G1>G2...>G7' erfüllt sein.
- Alle Grenzwerte müssen innerhalb des definierten Messbereichs liegen.
- Für Objekte des Typs 'PV=Prozessvariable' und 'Binär-MS' wird 'bOk=0 (Fehler)' geliefert.
- Mögliche Fehler: a) ungültige Objektnummer b) falscher Objekttyp c) Grenzwertregel verletzt

Beschreibung der Ausgangsparameter
Objekttyp | bOk | Bemerkung
MS (analog) | 1 | Grenzwertregel muss erfüllt sein
MS (binär) | 0 | -
PV | 0 | -

Deklaration | FUNCTION FC 159: VOID
| VAR_INPUT
|  | obj : INT; | // Objektnummer
|  | r4Lmt : REAL; | // Grenzwert
|  | iLmtNo : INT; | // Grenzwertnummer 1..7
| END_VAR
| VAR_OUTPUT
|  | bOk : BOOL; | // Status (1=okay, 0=Fehler)
| END_VAR

GetLimit() | FC176 - Grenzwert lesen

Beschreibung

Der durch den Parameter <iLmtNo> spezifizierte Grenzwert der mit <obj> referenzierten (Analog-)Messstelle wird geliefert.

Funktion ist nur für (Analog-)Messstellen definiert.

- Für Objekte des Typs 'PV=Prozessvariable' und 'Binär-MS' wird 'bOk=0 (Fehler)' geliefert.
- Mögliche Fehler: a) ungültige Objektnummer b) falscher Objekttyp c) Grenzwert nicht vorhanden

Beschreibung der Ausgangsparameter
Objekttyp | bOk | Bemerkung
MS (analog) | 1 | Der mit 'iLmtNo' angegebene Grenzwert muss projektiert sein
MS (binär) | 0 | -
PV | 0 | -

Deklaration | FUNCTION FC 176: VOID
| VAR_INPUT
|  | obj : INT; | // Objektnummer
|  | iLmtNo : INT; | // Grenzwertnummer 1..7
| END_VAR
| VAR_OUTPUT
|  | r4Lmt : REAL; | // Grenzwert
|  | bOk : BOOL; | // Status (1=okay, 0=Fehler)
| END_VAR

GetEventInfo() | FC177 - Ereignisinformation lesen

Beschreibung

Die während der MS-Verarbeitung aufgetretenen Ereignisse (Zustandswechsel) können auf unterschiedliche Art abgefragt werden.

Anwendungsbeispiel: Hupenansteuerung

Der Parameter 'bIsNewEvnt' kann benutzt werden, um im Falle eines neu aufgetretenen Ereignisses eines bestimmten Levels (yLvl) einen entsprechenden Vorgang einzuleiten, z.B. das Ansteuern eines Hupenausgangs.

Beschreibung der Ein-/Ausgangsparameter
Parameter | Beschreibung
yLvl | Steuert das Verhalten der Ausgangsparameter 'bIsEvnt' und 'bIsNewEvnt'. Der Ausgangsparameter 'bUnAckn' arbeitet unabhängig von 'yLvl'.
- | -
bUnAckn | Mindestens 1 unquittiertes Ereignis steht an. Diese Information ist levelunabhängig, d.h. welcher Alarmlevel ursächlich den Alarm ausgelöst hat, kann nicht mehr nachvollzogen werden. Der aktuelle Alarmlevel kann jedenfalls nicht herangezogen werden, da der Alarm ja inzwischen "unquittiert gegangen" sein kann!
bIsEvnt | Mindestens 1 Ereignis mit Level gleich 'yLvl'. 'yLvl=0' bedeutet: es gibt mindestens 1 Ereignis mit einem aktuellen Alarmlevel>0, andernfalls muss mindestens 1 Ereignis exakt den in 'yLvl' angegebenen Level besitzen. Dieses Signal bleibt solange gesetzt, bis es kein Ereignis mehr gibt, welches die oben genannte Bedingung erfüllt.
bIsEvntUnAckn | Mindestens 1 unquittiertes Ereignis mit Level gleich 'yLvl'. 'yLvl=0' bedeutet: es gibt mindestens 1 unquittiertes Ereignis mit einem aktuellen Alarmlevel>0, andernfalls muss mindestens 1 unquittiertes Ereignis exakt den in 'yLvl' angegebenen Level besitzen. Wichtiger Hinweis: Unquittiert gegangene Ereignisse erfüllen die Bedingung in der Regel nicht mehr, weil der Level des anderen Zustands (gegangen) meist ein anderes Level besitzt. Dieses Signal bleibt solange gesetzt, bis es kein Ereignis mehr gibt, welches die oben genannte Bedingung erfüllt.
bIsNewEvnt | Mindestens 1 neues Ereignis mit Level gleich 'yLvl'. 'yLvl=0' bedeutet: es gibt mindestens 1 neues Ereignis mit einem aktuellen Alarmlevel>0, andernfalls muss mindestens 1 neues Ereignis exakt den in 'yLvl' angegebenen Level besitzen. Dieses Signal ist nur bei Eintritt eines Ereignisses, welches die oben genannte Bedingung erfüllt, gesetzt, d.h. minimal steht dieses Signal einen Zyklus lang an, maximal bis kein - die Bedingung erfüllendes - Ereignis mehr eintritt.
bOk | Status (1=okay, 0=Fehler) Der Status des Aufrufs ist immer okay, es wird immer 'true' geliefert.

Deklaration | FUNCTION FC 177: VOID
| VAR_INPUT
|  | yLvl : BYTE; | // Level (0, 1..15)
| END_VAR
| VAR_OUTPUT
|  | bUnAckn : BOOL; | // Unquittiert
|  | bIsEvnt : BOOL; | // Ereignis
|  | bIsEvntUnAckn : BOOL; | // Unquittiertes Ereignis
|  | bIsNewEvnt : BOOL; | // Neues Ereignis
|  | bOk : BOOL; | // Status (1=okay, 0=Fehler)
| END_VAR

SetQuit() | FC178 - Quittieren aller Messstellen

Beschreibung

Diese Funktion quittiert alle Messstellen.

Funktion darf nur mit 'yLvl=0' aufgerufen werden, andernfalls wird ein negativer Status geliefert.

Beschreibung der Ein-/Ausgangsparameter
Parameter | Beschreibung
yLvl | Alarmlevel. 0=alle Levels>0, sonst level 1..15
bOk | Status (1=okay, 0=Fehler) Wenn 'yLvl' verschieden 0 ist, wird Fehler geliefert.

Deklaration | FUNCTION FC 178: VOID
| VAR_INPUT
|  | yLvl : BYTE; | // Level (0, 1..15)
| END_VAR
| VAR_OUTPUT
|  | bOk : BOOL; | // Status (1=okay, 0=Fehler)
| END_VAR