_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).