_dp_fct
| Attribut (neutral) | Type | Beschreibung |
|---|---|---|
| _fct | string | Funktionsdefinition |
| _global | dyn_string | Globale Variablen |
| _param | dyn_string | Liste der DP-Parameter für Funktion |
| _type | int | Typ der Datenpunktfunktion |
| Statistische Funktionen | ||
| _day | int | Synchronisationstag |
| _day_of_week | int | Synchronisationswochentag |
| _delay | int | Verzögerungszeit |
| _ def_func | int | Funktionalität für Ersatzwert-Bit |
| _def_limit | int | Schwelle für Ersatzwert-Bit |
| _old_new_compare | bool | Wenn dieses Attribut auf TRUE gesetzt wird, wird der alt/neu-Vergleich für diese Dp-Funktion aktiviert. |
| _interm | var | Speicherplatz für Zwischenergebnisse |
| _interm_res | bool | Flag ob Zwischenergebnisse berechnet werden sollen, |
| _interm_res_cyc | int | Zykluszeit für Zwischenwertgenerierung in Sekunden |
| _interval | int | Intervall |
| _inv_func | int | Funktionalität für Invalid-Bit |
| _inv_limit | int | Schwelle für Invalid-Bit |
| _month | int | Synchronisationsmonat |
| _read_archive | bool | Flag, ob Archiv gelesen werden soll |
| _stat_type | dyn_int | Typen der verwendeten Statistikfunktionen |
| _time | int | Synchronisationszeit |
| _user1_func | int | Funktionalität für benutzerdefiniertes Status-Bit 1 |
| _user1_limit | int | Schwelle für benutzerdefiniertes Status-Bit 1 |
| _user2_func | int | Funktionalität für benutzerdefiniertes Status-Bit 2 |
| _user2_limit | int | Schwelle für benutzerdefiniertes Status-Bit 2 |
| _user3_func | int | Funktionalität für benutzerdefiniertes Status-Bit 3 |
| _user3_limit | int | Schwelle für benutzerdefiniertes Status-Bit 3 |
| _user4_func | int | Funktionalität für benutzerdefiniertes Status-Bit 4 |
| _user4_limit | int | Schwelle für benutzerdefiniertes Status-Bit 4 |
| _user5_func | int | Funktionalität für benutzerdefiniertes Status-Bit 5 |
| _user5_limit | int | Schwelle für benutzerdefiniertes Status-Bit 5 |
| _user6_func | int | Funktionalität für benutzerdefiniertes Status-Bit 6 |
| _user6_limit | int | Schwelle für benutzerdefiniertes Status-Bit 6 |
| _user7_func | int | Funktionalität für benutzerdefiniertes Status-Bit 7 |
| _user7_limit | int | Schwelle für benutzerdefiniertes Status-Bit 7 |
| _user8_func | int | Funktionalität für benutzerdefiniertes Status-Bit 8 |
| _user8_limit | int | Schwelle für benutzerdefiniertes Status-Bit 8 |
Attribut "_dp_fct.._delay"
Wird bei Konfiguration einer DP-Funktion das Attribut _dp_fct.._delay nicht gesetzt, gilt ein Defaultwert von 5 Sekunden.
Konstanten für .._type
Folgende Integer-Konstanten ordnen einem Datenpunkt ein Config zur mathematischen Verknüpfung mit anderen Datenpunktelementen zu - siehe dpSet().
| CTRL-Konstante | Int-Wert | Beschreibung |
|---|---|---|
| DPCONFIG_NONE | 0 | keine Funktion |
| DPCONFIG_DP_FUNCTION | 60 | DPE-Verknüpfung |
| DPCONFIG_STAT_FUNCTION | 63 | Statistische Funktion |
Attribut "_dp_fct.._param"
Parameterliste der Datenpunktfunktion. Enthält die Liste der Datenpunkte, die statistisch ausgewertet werden.
Attribut "_dp_fct.._fct"
Definition der Datenpunktfunktion.
Attribut "_dp_fct.._global"
Das Attribut _dp_fct.._global definiert globale Variable und deren Initialisierungswert. Die Initialisierung erfolgt bei Änderungen am Config bzw. beim Hochlauf. Sinnvolle Anwendungen dieser globalen Variablen werden über libCtrl-Funktionen und Übergabe der globalen Variablen als Referenz-Parameter möglich.
Attribut "_dp_fct.._stat_type"
Dieses Attribut verwaltet die zugehörigen Statistikfunktionen der DP-Funktion. Die Zeitparameter dienen zur Definition der Berechnungszeitpunkte. Globale Variablen können auch hier verwendet werden.
| CTRL-Konstante | Int-Wert | Beschreibung |
|---|---|---|
| SF_MIN | 0 | Minimum |
| SF_MAX | 1 | Maximum |
| SF_MIN_TIME | 2 | Zeitpunkt des Minimums |
| SF_MAX_TIME | 3 | Zeitpunkt des Maximums |
| SF_NUMBER | 4 | Anzahl |
| SF_SUM | 5 | Summe |
| SF_INTEGRAL0 | 6 | Integral über Treppenkurve (0.Ordnung) |
| SF_INTEGRAL1 | 7 | Integral über lineare Interpolation (1.Ordnung) |
| SF_AVG | 8 | Mittelwert: Summe/Anzahl |
| SF_AVG_WTO | 9 | Mittelwert 0: Integral über Treppenkurve/Zeit |
| SF_AVG_WT1 | 10 | Mittelwert 1: Integral über die lineare Interpolation |
| SF_TIME0 | 11 | Zeit des Zustandes 0 |
| SF_TIME1 | 12 | Zeit des Zustandes 1 |
| SF_CHANGES | 13 | Anzahl der Zustandswechsel |
| SF_CHANGES01 | 14 | Anzahl der 0>1 Zustandswechsel |
| SF_CHANGES10 | 15 | Anzahl der 1>0 Zustandswechsel |
| SF_SAMPLE | 16 | Wert am Anfang des Intervalls |
| SF_ENDVALUE | 17 | Wert am Ende des Intervalls |
| SF_DIFF | 18 | Endwert weniger Anfangswert |
Beispiel
Legt ein Config mit eingestellten Parametern für eine DP-Funktion (DPE-Verknüpfung) an. Berechnet wird die Funktion (p1+p2)*p3 am DPE "TestDP_1.element", p1="ExampleDP_Arg1.", p2="ExampleDP_Arg2.", p3="TestDP_2.element":
main()
{
string p1, p2, p3; dyn_string ds;
p1="ExampleDP_Arg1.:_original.._value";
p2="ExampleDP_Arg2.:_original.._value";
p3="TestDP_2.element:_original.._value"; ds=makeDynString(p1,
p2, p3); dpSetWait("TestDP_1.element:_dp_fct.._type",
DPCONFIG_DP_FUNCTION, "TestDP_1.element:_dp_fct.._param", ds,
"TestDP_1.element:_dp_fct.._fct", "(p1+p2)*p3");
}
Weitere Details zum Config "_dp_fct" finden Sie im Kapitel Modul PARA - _dp_fct (DP-Funktion).