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