From 06d1732dfec90c000222accfd67a408725a44203 Mon Sep 17 00:00:00 2001 From: Uwe Jakobeit Date: Thu, 2 Apr 2026 10:25:15 +0200 Subject: [PATCH] .gitignore updated; fixed:Controller.hpp removed (replaced by Controller.h); build results added --- .gitignore | 3 + app/app | Bin 380808 -> 380768 bytes app/libapp_lib.a | Bin 1769418 -> 1769330 bytes app/main.cpp | 2 +- controller/Controller.cpp | 2 +- controller/Controller.h | 2531 ++++++++++++++++++ controller/libctrl_algo.so | Bin 21376 -> 27712 bytes tests/CMakeFiles/tests.dir/filter-test.cpp.o | Bin 497664 -> 0 bytes 8 files changed, 2536 insertions(+), 2 deletions(-) delete mode 100755 tests/CMakeFiles/tests.dir/filter-test.cpp.o diff --git a/.gitignore b/.gitignore index dc57b71..9702eb7 100755 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,9 @@ app/*.cmake controller/CMakeFiles/* controller/*.cmake + +tests/CMakeFiles/* + *.*swp .cmake/** .cmake/* diff --git a/app/app b/app/app index c83352ff7d4927a2b05359b0f923f29d48ae1bef..0a052cdea569d696156f79ab3ef49c967851c835 100755 GIT binary patch delta 56359 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 delta 56388 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 ObjZYc3zoMmk^cw1oQh2V diff --git a/app/libapp_lib.a b/app/libapp_lib.a index 48a480dd34f26af65e0aec9a1d459320487a1bf1..e72628b11954acc83289404fe645773be89f98fa 100644 GIT binary patch delta 69291 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 +#include +#include +#include +#include +#include +#include + +const double PI_CONST = 3.14159265358979323846; + +#define MAX std::max +#define MIN std::min + +namespace UTILITY_FUNCTIONS { + +inline double limit(double x, double lo, double hi) { + return (x < lo) ? lo : (x > hi) ? hi : x; +} + +inline double max3(double a, double b, double c) { + return std::max(a, std::max(b, c)); +} +inline double min3(double a, double b, double c) { + return std::min(a, std::min(b, c)); +} + +inline bool is_valid(double x) { return std::isfinite(x); } + +// ST: REAL_TO_INT(x) i.d.R. trunc Richtung 0. Bei Siemens oft ROUND? Du nutzt +// häufig +0.5. +inline int real_to_int(double x) { return static_cast(x); } + +// Platzhalter für GET_VALUE_* (kommt vermutlich aus Parameter-/Recipe-System) +inline std::int32_t GET_VALUE_DINT(int /*a*/, int /*b*/, int /*c*/, int /*d*/) { + // TODO: an dein Parameter-System anbinden + return 0; +} +inline double GET_VALUE_REAL(int /*a*/, int /*b*/, int /*c*/, int /*d*/) { + // TODO: an dein Parameter-System anbinden + return 0.0; +} + +} // namespace UTILITY_FUNCTIONS + +// ------------------------- +// Regelkern (ST -> C++) +// ------------------------- + +class PWM { +public: + PWM(double zyklus_min, double zyklus_max, double initial_zykluszeit = -1.0) { + Zykluszeit = 0.0; + Ausgabe = 0.0; + Zyklus_MAX = zyklus_max; + Zyklus_MIN = zyklus_min; + } + /*(* Puls Pause Generierung Kühlung *) + Zyklus_Kuehlventil := Zyklus_Kuehlventil + sampling_time; + + IF Ausgabe_Kuehlventil > 0.0 THEN + Kuehlventil := NOT Status_Untertemperatur; + Ausgabe_Kuehlventil := Ausgabe_Kuehlventil - sampling_time; + IF Ausgabe_Kuehlventil < 0.0 THEN + Zykluszeit_Kuehlventil := Zykluszeit_Kuehlventil - + Ausgabe_Kuehlventil * 100.0 / MAX(Stellgrad_Kuehlventil, sampling_time / + Zykluszeit_Kuehlventil_MAX * 100.0); Ausgabe_Kuehlventil := 0.0; END_IF; ELSE + Kuehlventil := FALSE; + END_IF; + + IF Stellgrad_Kuehlventil > sampling_time / Zykluszeit_Kuehlventil_MAX * 100.0 + THEN IF Zyklus_Kuehlventil >= Zykluszeit_Kuehlventil OR Zyklus_Kuehlventil >= + MAX(2.0 * Zykluszeit_Kuehlventil_MIN, sampling_time * 100.0 / + Stellgrad_Kuehlventil) THEN Ausgabe_Kuehlventil := MIN(Ausgabe_Kuehlventil + + Stellgrad_Kuehlventil / 100.0 * Zykluszeit_Kuehlventil_MIN, + Zykluszeit_Kuehlventil); Zykluszeit_Kuehlventil := Zykluszeit_Kuehlventil_MIN; + Zyklus_Kuehlventil := 0.0; + END_IF; + END_IF;*/ + + bool step(double Stellgrad, double samplingTime) { + Zyklus += samplingTime; + bool output_bool; + if (Ausgabe > 0.0) { + output_bool = true; + Ausgabe -= samplingTime; + if (Ausgabe < 0.0) { + Zykluszeit -= + Ausgabe * 100 / MAX(Stellgrad, samplingTime / Zyklus_MAX * 100.0); + Ausgabe = 0.0; + } + + } else { + output_bool = false; + } + if (Stellgrad > samplingTime / Zyklus_MAX * 100.0) { + if (Zyklus >= Zykluszeit || + Zyklus >= MAX(2.0 * Zyklus_MIN, samplingTime * 100.0 / Stellgrad)) { + Ausgabe = MIN(Ausgabe + Stellgrad / 100.0 * Zyklus_MIN, Zyklus); + Zykluszeit = Zyklus_MIN; + Zyklus = 0.0; + } + } + return output_bool; + } + +private: + double Zyklus = 0.0; + double Ausgabe = 0.0; + double Zykluszeit = 0.0; + double Zyklus_MAX = 0.0; + double Zyklus_MIN = 0.0; +}; + +class ClimateAlgorithm { +public: + struct BinInputs { + // Eingangswerte aus bool_inXX / real_inXX / reset_flag + bool reset_flag{}; + bool Sammelalarm_quittiert{}; + bool Tuer_offen{}; + bool Sollwert_Feuchte_aktiv{}; + bool Steuerkontakt_Standby{}; + bool Steuerkontakt_Befeuchtung_aus{}; + bool Steuerkontakt_Entfeuchtung_aus{}; + bool Entleerbehaelter_Oben{}; + bool Wasserkanister_leer{}; + bool Entleerbehaelter_Unten{}; + bool Sammelalarm{}; + } binInput; + + struct AnalogInputs { + double Istwert_Temperatur{}; + double Sollwert_Temperatur{}; + double Temperaturband{}; + double Istwert_Ueberwachungsregler{}; + double Klasse_Ueberwachungsregler{}; + double Grenzwert_Untertemperatur{}; + double Istwert_Feuchte{}; + double Sollwert_Feuchte{}; + double Feuchteband{}; + double Sollwert_Luefter{}; + double Istwert_Temperatur_Tuer{}; + double Istwert_Temperatur_Verdampferausgang{}; + double Temperatur_Feuchtemodul{}; + double Bandalarm_nach{}; + double Betauungsschutz{}; + double real_in11{}; // du nutzt real_in11 später direkt in alarm_15 + } analogInput; + + struct BinOutputs { + // bool_outXX + bool bool_out01{}; + bool bool_out02{}; + bool bool_out03{}; + bool bool_out07{}; + bool bool_out09{}; + bool bool_out11{}; + bool bool_out12{}; + bool bool_out13{}; + bool bool_out14{}; + bool bool_out16{}; + bool bool_out17{}; + bool bool_out18{}; + bool bool_out19{}; + bool bool_out20{}; + bool bool_out21{}; + bool bool_out23{}; + } binOut; + + struct AnalogOutputs { + // real_outXX (nur die, die du im ST setzt) + double real_out01{}; + double real_out02{}; + double real_out04{}; + double real_out05{}; + double real_out06{}; + double real_out07{}; + double real_out08{}; + double real_out09{}; + double real_out10{}; + double real_out11{}; + double real_out12{}; + double real_out13{}; + double real_out14{}; + double real_out16{}; + double Stellgrad_Feuchtemodul{}; // ...out17 + double real_out18{}; + double real_out19{}; + double real_out20{}; + double real_out21{}; + double real_out25{}; + double real_out26{}; + double Stellgrad_Heizung{}; + double Stellgrad_Kuehlung{}; + double Stellgrad_Befeuchtung{}; + double Stellgrad_Entfeuchtung{}; + double Counter_Tuer{}; + } analogOut; + + struct Alarm { + // alarm_01..alarm_15 + bool Startup{}; + bool alarm_01{}; + bool alarm_02{}; + bool alarm_03{}; + bool alarm_04{}; + bool alarm_05{}; + bool alarm_06{}; + bool alarm_07{}; + bool alarm_08{}; + bool alarm_09{}; + bool alarm_10{}; + bool alarm_11{}; + bool alarm_12{}; + bool alarm_13{}; + bool alarm_14{}; + bool alarm_15{}; + } alarmOut; + + ClimateAlgorithm() = default; + + void Step(void) { + using UTILITY_FUNCTIONS::is_valid; + using UTILITY_FUNCTIONS::limit; + + // --------------------------- + // Eingangswerte (ST Zuweisungen) + // --------------------------- + Sammelalarm_quittiert = binInput.Sammelalarm_quittiert; + Tuer_offen = binInput.Tuer_offen; + Sollwert_Feuchte_aktiv = true; + Steuerkontakt_Standby = false; + Steuerkontakt_Befeuchtung_aus = false; + Steuerkontakt_Entfeuchtung_aus = false; + Entleerbehaelter_Oben = binInput.Entleerbehaelter_Oben; + bool Wasserkanister_leer = false; + Entleerbehaelter_Unten = binInput.Entleerbehaelter_Unten; + Sammelalarm = false; + Istwert_Temperatur = analogInput.Istwert_Temperatur; + Istwert_Ueberwachungsregler = Istwert_Temperatur; + Sollwert_Temperatur = analogInput.Sollwert_Temperatur; + Istwert_Feuchte = analogInput.Istwert_Feuchte; + Sollwert_Feuchte = analogInput.Sollwert_Feuchte; + // uj - not needed double Sollwert_Luefter = analogInput.Sollwert_Luefter; + Istwert_Temperatur_Tuer = analogInput.Istwert_Temperatur_Tuer; + double Istwert_Temperatur_Verdampferausgang = analogInput.Istwert_Temperatur_Verdampferausgang; + Temperatur_Feuchtemodul = analogInput.Temperatur_Feuchtemodul; + double Betauungsschutz = 50.0; + double Feuchteband = 10; + double Temperaturband = 5; + bool reset_flag = binInput.reset_flag; + + // Zähler reset_flag + // ----------------- + if (reset_flag) { + Counter_reset_flag = 0; + } else { + Counter_reset_flag += 1; + } + Startup_finished = + (Counter_reset_flag > static_cast(10 * 4)); + + // ------------------------------------------ + // Verzögerte Abschaltung Regelung bei Türöffnung + // ------------------------------------------ + // f_PostDoorOpeningCutOffDelaed(...) + if (Tuer_offen || Steuerkontakt_Standby) { + Counter_Regelung_AUS += sampling_time; + } else { + Counter_Regelung_AUS = 0.0; + } + Regelung_AUS = (Counter_Regelung_AUS > 60.0); + + // ------------------- + // Nachlauf Türöffnung + // ------------------- + // f_PostDoorOpening(..) + if (!Startup_finished) { + Counter_Tuer_offen = 0.0; + Counter_Tuer_geschlossen = 600.0; + } else if (Tuer_offen) { + Counter_Tuer_offen += sampling_time; + Counter_Tuer_geschlossen = 0.0; + } else { + Counter_Tuer_offen = 0.0; + Counter_Tuer_geschlossen += sampling_time; + } + + Sollwert_Temperatur_MIN = -5.0; + Sollwert_Temperatur_MAX = 100.0; + + // ------------------------------------------ + // Sollwert Feuchte (Limit-Kennfeld) + // ------------------------------------------ + // f_HumiditySetValueByVector(...) + Index_Sollwert_Feuchte_Limit = 1; + while (Kennfeld_Sollwert_Feuchte_Limit[0][Index_Sollwert_Feuchte_Limit] < + Sollwert_Temperatur && + Index_Sollwert_Feuchte_Limit < 10) { + Index_Sollwert_Feuchte_Limit++; + } + + Interpolation_Sollwert_Feuchte_Limit = limit( + (Kennfeld_Sollwert_Feuchte_Limit[0][Index_Sollwert_Feuchte_Limit - 1] - + Sollwert_Temperatur) / + (Kennfeld_Sollwert_Feuchte_Limit[0] + [Index_Sollwert_Feuchte_Limit - 1] - + Kennfeld_Sollwert_Feuchte_Limit[0][Index_Sollwert_Feuchte_Limit]), + 0.0, 1.0); + + Sollwert_Feuchte_Max = + Kennfeld_Sollwert_Feuchte_Limit[1][Index_Sollwert_Feuchte_Limit] * + Interpolation_Sollwert_Feuchte_Limit + + Kennfeld_Sollwert_Feuchte_Limit[1][Index_Sollwert_Feuchte_Limit - 1] * + (1.0 - Interpolation_Sollwert_Feuchte_Limit); + + Sollwert_Feuchte_Min = + Kennfeld_Sollwert_Feuchte_Limit[2][Index_Sollwert_Feuchte_Limit] * + Interpolation_Sollwert_Feuchte_Limit + + Kennfeld_Sollwert_Feuchte_Limit[2][Index_Sollwert_Feuchte_Limit - 1] * + (1.0 - Interpolation_Sollwert_Feuchte_Limit); + + Sollwert_Feuchte = + limit(Sollwert_Feuchte, Sollwert_Feuchte_Min, Sollwert_Feuchte_Max); + + + + // Abschaltung Feuchteregelung + // f_CutOffHumidityControl(...) + Befeuchtung_aus = + (!Sollwert_Feuchte_aktiv) || Steuerkontakt_Befeuchtung_aus || + (Sollwert_Temperatur > 95.0) || (Sollwert_Temperatur < 5.0); + Entfeuchtung_aus = + (!Sollwert_Feuchte_aktiv) || Steuerkontakt_Entfeuchtung_aus || + (Sollwert_Temperatur > 95.0) || (Sollwert_Temperatur < 5.0); + + // (p_H2Omax, Taupunkt etc.) + p_H2Omax_Sollwert = 6.112 * std::exp(17.62 * Sollwert_Temperatur / + (243.12 + Sollwert_Temperatur)); + p_H2Omax_Istwert = 6.112 * std::exp(17.62 * Istwert_Temperatur / + (243.12 + Istwert_Temperatur)); + + Taupunkt_Istwert = + (241.2 * std::log(std::max(Istwert_Feuchte, 0.001) / 100.0) + + (4222.03716 * Istwert_Temperatur) / (241.2 + Istwert_Temperatur)) / + (17.5043 - std::log(std::max(Istwert_Feuchte, 0.001) / 100.0) - + (17.5043 * Istwert_Temperatur) / (241.2 + Istwert_Temperatur)); + + if (Temperatursprung) { + Sollwert_Feuchte_Absolut = + limit(Sollwert_Feuchte * p_H2Omax_Sollwert / p_H2Omax_Istwert, 0.0, + Sollwert_Feuchte); + } else { + Sollwert_Feuchte_Absolut = Sollwert_Feuchte; + } + if (!is_valid(Sollwert_Feuchte_Absolut)) { + Sollwert_Feuchte_Absolut = Sollwert_Feuchte; + } + + // ------------------ + // Überwachungsregler + // ------------------ + // f_SuperVisor + + /* + Modus_Ueberwachungsregler = + static_cast(UTILITY_FUNCTIONS::GET_VALUE_DINT(71,0,3,0)); + Grenzwert_Uebertemperatur = UTILITY_FUNCTIONS::GET_VALUE_REAL(71,0,4,0); + Offset_Ueberwachungsregler = UTILITY_FUNCTIONS::GET_VALUE_REAL(71,0,5,0); + + if (Modus_Ueberwachungsregler > 0) { + Schaltwert_Uebertemperatur = limit(Sollwert_Temperatur + + Offset_Ueberwachungsregler, -30.0, 110.0); Schaltwert_Untertemperatur = + limit(Sollwert_Temperatur - Offset_Ueberwachungsregler, -30.0, 110.0); } + else { Schaltwert_Uebertemperatur = Grenzwert_Uebertemperatur; + Schaltwert_Untertemperatur = Grenzwert_Untertemperatur; + } + + const double maxUeberw = std::max(Istwert_Ueberwachungsregler, + Istwert_Temperatur); const double minUeberw = + std::min(Istwert_Ueberwachungsregler, Istwert_Temperatur); + + if ( (maxUeberw > Schaltwert_Uebertemperatur) || + (Status_Uebertemperatur && (maxUeberw > Schaltwert_Uebertemperatur + - 1.0)) || (StatusQuittierung_Uebertemperatur && (Klasse_Ueberwachungsregler + < 3.0)) ) { Counter_Status_Uebertemperatur += 1; } else { + Counter_Status_Uebertemperatur = 0; + } + + Status_Uebertemperatur = (Counter_Status_Uebertemperatur >= + static_cast(10 * 4)); StatusQuittierung_Uebertemperatur = + (Status_Uebertemperatur && Counter_Status_Uebertemperatur < + static_cast(11 * 4)) || (StatusQuittierung_Uebertemperatur && + Sammelalarm_quittiert); + + if ( ((minUeberw < Schaltwert_Untertemperatur) || + (Status_Untertemperatur && (minUeberw < Schaltwert_Untertemperatur + + 1.0))) && (Klasse_Ueberwachungsregler >= 3.0) ) { + Counter_Status_Untertemperatur += 1; + } else { + Counter_Status_Untertemperatur = 0; + } + + Status_Untertemperatur = (Counter_Status_Untertemperatur >= + static_cast(10 * 4)); StatusQuittierung_Untertemperatur = + (Status_Untertemperatur && Counter_Status_Untertemperatur < + static_cast(11 * 4)) || (StatusQuittierung_Untertemperatur && + Sammelalarm_quittiert); + + if (Status_Untertemperatur || StatusQuittierung_Untertemperatur) { + Sollwert_Temperatur = std::max(Sollwert_Temperatur, + Schaltwert_Untertemperatur); + } + if (Status_Uebertemperatur || StatusQuittierung_Uebertemperatur) { + Sollwert_Temperatur = std::min(Sollwert_Temperatur, + Schaltwert_Uebertemperatur); + }*/ + + // ------------------------ + // Parametersatzumschaltung + // ------------------------ + // f_SwitchParameterSet(...) + Index_Feuchte = static_cast( + 8 - + UTILITY_FUNCTIONS::real_to_int( + limit((Sollwert_Feuchte - 10.0) / (90.0 - 10.0) * 8.0, 0.0, 8.0) + + 0.5)); + Index_Temperatur = + static_cast(UTILITY_FUNCTIONS::real_to_int( + limit((Sollwert_Temperatur - 10.0) / (90.0 - 10.0) * 8.0, 0.0, + 8.0) + + 0.5)); + Index_Temperatur_ohne_Feuchte = + static_cast(UTILITY_FUNCTIONS::real_to_int( + limit((Sollwert_Temperatur - (-20.0)) / (100.0 - (-20.0)) * 12.0, + 0.0, 12.0) + + 0.5)); + + Regler_Heizung_Xp = F_Xp_Heizung * Kennfeld_Regler_Heizung_Xp[Index_Temperatur_ohne_Feuchte]; + Regler_Kuehlung_Xp = F_Xp_Kuehlung * + Kennfeld_Regler_Kuehlung_Xp[Index_Temperatur_ohne_Feuchte]; + Regler_Befeuchtung_Xp = + F_Xp_Befeuchtung_BINDER * + Kennfeld_Regler_Befeuchtung_Xp[Index_Feuchte][Index_Temperatur]; + Regler_Entfeuchtung_Xp = + F_Xp_Entfeuchtung * + Kennfeld_Regler_Entfeuchtung_Xp[Index_Feuchte][Index_Temperatur]; + Regler_Tuer_Xp = F_Xp_Tuer; + + // --------------------- + // PID Regler Temperatur + // --------------------- + // F_PID PID_Temperature(...) + Regelabweichung_Temperatur = Sollwert_Temperatur - Istwert_Temperatur; + + // Zykluszeit Regelabweichung Temperatur + if (!Startup_finished || !is_valid(Standardregelabweichung_Temperatur) || + !is_valid(Standardgradient_Regelabweichung_Temperatur) || + Standardgradient_Regelabweichung_Temperatur <= 0.0) { + Zykluszeit_Regelabweichung_Temperatur = 600.0; + } else { + Zykluszeit_Regelabweichung_Temperatur = + limit(2.0 * 3.1415 * Standardregelabweichung_Temperatur / + Standardgradient_Regelabweichung_Temperatur * 60.0, + 120.0, 1200.0); + } + Zykluszeit_Regelabweichung_Heizung = + std::min(Zykluszeit_Regelabweichung_Temperatur, 300.0); + Zykluszeit_Regelabweichung_Kuehlung = + std::max(Zykluszeit_Regelabweichung_Temperatur, 600.0); + + Amplitude_Regelabweichung_Temperatur = + 1.4142 * Standardregelabweichung_Temperatur; + + // Mittelwert Regelabweichung Temperatur + if (!Startup_finished || !is_valid(Regelabweichung_Temperatur_Mittelwert) || + Temperatursprung) { + Regelabweichung_Temperatur_Mittelwert = 0.0; + } else if (is_valid(Regelabweichung_Temperatur)) { + const double alpha = + (Zykluszeit_Regelabweichung_Temperatur / sampling_time); + Regelabweichung_Temperatur_Mittelwert = limit( + Regelabweichung_Temperatur_Mittelwert + + (Regelabweichung_Temperatur - + Regelabweichung_Temperatur_Mittelwert) / + alpha, + Regelabweichung_Temperatur - 1.0, Regelabweichung_Temperatur + 1.0); + } + + // Standardregelabweichung Temperatur + if (!Startup_finished || !is_valid(Standardregelabweichung_Temperatur) || + Temperatursprung) { + Standardregelabweichung_Temperatur = 0.0; + } else if (is_valid(Regelabweichung_Temperatur)) { + const double n = (Zykluszeit_Regelabweichung_Temperatur / sampling_time); + Standardregelabweichung_Temperatur = std::min( + std::sqrt(((Regelabweichung_Temperatur - + Regelabweichung_Temperatur_Mittelwert) * + (Regelabweichung_Temperatur - + Regelabweichung_Temperatur_Mittelwert) + + Standardregelabweichung_Temperatur * + Standardregelabweichung_Temperatur * (n - 1.0)) / + n), + 1.0); + } + + // Gradient Regelabweichung Temperatur + // f_PID_Temperaure.GradientDifference(...) + if (!Startup_finished || !is_valid(Regelabweichung_Temperatur_Gradient)) { + Regelabweichung_Temperatur_Gradient = 0.0; + } else if (is_valid(Regelabweichung_Temperatur) && + is_valid(Regelabweichung_Temperatur_alt)) { + Regelabweichung_Temperatur_Gradient = limit( + Regelabweichung_Temperatur_Gradient + + ((Regelabweichung_Temperatur - Regelabweichung_Temperatur_alt) * + (60.0 / sampling_time) - + Regelabweichung_Temperatur_Gradient) / + (10.0 / sampling_time), + -4.0, 2.0); + } + + // Standardgradient Temperatur + // f_PID_Temperaure.StandardGradient(...) + if (!Startup_finished || + !is_valid(Standardgradient_Regelabweichung_Temperatur) || + Temperatursprung) { + Standardgradient_Regelabweichung_Temperatur = 0.0; + } else if (is_valid(Regelabweichung_Temperatur)) { + const double n = (Zykluszeit_Regelabweichung_Temperatur / sampling_time); + Standardgradient_Regelabweichung_Temperatur = + limit(std::sqrt((Regelabweichung_Temperatur_Gradient * + Regelabweichung_Temperatur_Gradient + + Standardgradient_Regelabweichung_Temperatur * + Standardgradient_Regelabweichung_Temperatur * + (n - 1.0)) / + n), + 0.01, 1.0); + } + + // Temperatursprung + // f_TemperatureJumpHandler(...) + if (!Startup_finished) { + Counter_Temperatursprung = 0.0; + } else if (((Sollwert_Temperatur != Sollwert_Temperatur_alt) && + (std::abs(Regelabweichung_Temperatur) > 1.0)) || + Tuer_offen) { + Counter_Temperatursprung = + std::max(Counter_Temperatursprung + sampling_time, 0.0); + } else if (Regelabweichung_Temperatur < + std::max(0.2, Amplitude_Regelabweichung_Temperatur) && + Regelabweichung_Temperatur > + -std::max(0.2, Amplitude_Regelabweichung_Temperatur)) { + Counter_Temperatursprung = + std::min(Counter_Temperatursprung - sampling_time, 0.0); + } else if (Regelabweichung_Temperatur > + std::max(0.5, 2.0 * Amplitude_Regelabweichung_Temperatur) || + Regelabweichung_Temperatur < + -std::max(0.5, 2.0 * Amplitude_Regelabweichung_Temperatur)) { + Counter_Temperatursprung = + std::max(Counter_Temperatursprung + sampling_time, -120.0); + } + Temperatursprung = (Counter_Temperatursprung > 0.0) || + (Temperatursprung && Counter_Temperatursprung > -60.0); + + // Anti-wind-up Heizung (dynamisches Clamping) + // ------ F_PID_Temperatuer.AntiWindUpHeater(...) + if ((Counter_Tuer_geschlossen < 180.0) || (Counter_Tuer_offen > 0.0)) { + Regler_Heizung_MIN = 0.0; + Regler_Heizung_I_Anteil_MIN = 0.0; + Regler_Heizung_MAX = 100.0; + Regler_Heizung_I_Anteil_MAX = + limit(100.0 - P_Anteil_Heizung, Regler_Heizung_I_Anteil_MIN, + Stellgrad_Heizung_Mittelwert); + } else { + Regler_Heizung_MIN = 0.0; + Regler_Heizung_I_Anteil_MIN = 0.0; + Regler_Heizung_MAX = 100.0; + if (Temperatursprung) { + Regler_Heizung_I_Anteil_MAX = + limit(100.0 - P_Anteil_Heizung, Regler_Heizung_I_Anteil_MIN, + Regler_Heizung_MAX); + } else { + Regler_Heizung_I_Anteil_MAX = 100.0; + } + } + //---------------------- + + // Anpassung Xp Heizung + // // ------------F_PID_Temperatuer.AdaptXp(...) + if (Regelabweichung_Temperatur > Amplitude_Regelabweichung_Temperatur && + Regelabweichung_Temperatur_Mittelwert > 0.05 && !Temperatursprung) { + Regler_Heizung_Xp /= 2.0; + } + // Achtung: du referenzierst hier Zykluszeit_Regelabweichung_Feuchte später + // – steht unten. Wir setzen default, falls noch uninitialisiert: + if (!is_valid(Zykluszeit_Regelabweichung_Feuchte) || + Zykluszeit_Regelabweichung_Feuchte <= 0.0) { + Zykluszeit_Regelabweichung_Feuchte = 600.0; + } + + Regler_Heizung_Xp = + Regler_Heizung_Xp * + limit(Zykluszeit_Regelabweichung_Feuchte / 300.0, 1.0, 2.0) * + limit(1.0 + Amplitude_Regelabweichung_Temperatur / 0.5 + + Stellgrad_Kuehlung_Mittelwert / -100.0, + 1.0, 2.0); + //-----------// ------------F_PID_Temperatuer.AdaptXp(...)--------------------------------------------------- + + // P/I/D Heizung + //----------------- F_PID_Temperature.step(...) + if (!Startup_finished || !is_valid(Regelabweichung_Temperatur)) { + P_Anteil_Heizung = 0.0; + } else { + P_Anteil_Heizung = 100.0 / Regler_Heizung_Xp * Regelabweichung_Temperatur; + } + + if (!Startup_finished || !is_valid(I_Anteil_Heizung)) { + I_Anteil_Heizung = 0.0; + } else if (!Regelung_AUS && is_valid(Regelabweichung_Temperatur) && + Counter_Tuer_geschlossen > 60.0) { + I_Anteil_Heizung = limit( + I_Anteil_Heizung + 100.0 / Regler_Heizung_Xp / + (1.0 * Zykluszeit_Regelabweichung_Heizung) * + sampling_time * Regelabweichung_Temperatur, + Regler_Heizung_I_Anteil_MIN, Regler_Heizung_I_Anteil_MAX); + } + + if (!Startup_finished || !is_valid(D_Anteil_Heizung)) { + D_Anteil_Heizung = 0.0; + } else if (is_valid(Regelabweichung_Temperatur) && + is_valid(Regelabweichung_Temperatur_alt) && + Counter_Tuer_geschlossen > 0.0) { + D_Anteil_Heizung = + D_Anteil_Heizung + + (100.0 / Regler_Heizung_Xp * + (0.1 * Zykluszeit_Regelabweichung_Heizung) * + (Regelabweichung_Temperatur - Regelabweichung_Temperatur_alt) / + sampling_time - + D_Anteil_Heizung) / + (Tau_Heizung_Tv / sampling_time); + } + + if (Counter_Tuer_offen > 60.0 || Regelung_AUS || !Startup_finished) { + Stellgrad_Heizung = 0.0; + } else { + Stellgrad_Heizung = + limit(P_Anteil_Heizung + I_Anteil_Heizung + D_Anteil_Heizung, + Regler_Heizung_MIN, Regler_Heizung_MAX); + } + + if (!Startup_finished || !is_valid(Stellgrad_Heizung_Mittelwert)) { + Stellgrad_Heizung_Mittelwert = 0.0; + } else if (Temperatursprung) { + Stellgrad_Heizung_Mittelwert = Stellgrad_Heizung; + } else if (is_valid(Stellgrad_Heizung)) { + Stellgrad_Heizung_Mittelwert = + Stellgrad_Heizung_Mittelwert + + (Stellgrad_Heizung - Stellgrad_Heizung_Mittelwert) / + (Zykluszeit_Regelabweichung_Temperatur / sampling_time); + } + + + // ------------ F_PID_Temperature.step(...) !!!!! todo uj umbenennen in Heizung !!!!!!!!!!!!!!!!!!! + + + // ---------------------------------------------------- + // Ab hier: Kühlung + Feuchte-PIDs + Tür-PID + Aktorlogik + // ---------------------------------------------------- + // => in gleicher Art übersetzen (Muster ist identisch). + // + // Für dieses Snippet: wir übernehmen für die Outputs zumindest die Werte, + // die schon berechnet sind, und lassen Stellgrade der restlichen Aktoren, + // falls nicht berechnet, auf gültigen Default stehen. + + // Regelabweichung Kühlung + // F_ PID PID_Cooling() + double Regelabweichung_Kuehlung = Regelabweichung_Temperatur; + + // Gradient Regelabweichgun Kuehlung + + if (!Startup_finished) { + Regelabweichung_Kuehlung_Gradient = 0.0; + + } else { + Regelabweichung_Kuehlung_Gradient = + limit((Regelabweichung_Kuehlung - Regelabweichung_Kuehlung_alt) * + 60.0 / sampling_time - + Regelabweichung_Kuehlung_Gradient, + -4.0, 2.0); + } + + // Faktor Kuehlung + + if (!Startup_finished || Temperatursprung) { + Faktor_Kuehlung = 5.0; + } else if (Regelabweichung_Kuehlung < -0.1) { + Faktor_Kuehlung = std::min(Faktor_Kuehlung + sampling_time, 5.0); + } else { + Faktor_Kuehlung = std::max(Faktor_Kuehlung - sampling_time / 60.0, 0.2); + } + + // --------------------------- Gegenheizen Band !!! Überwacher !!!!! + double Regelabweichung_Entfeuchtung = Regelabweichung_Feuchte; + if (!Startup_finished || Temperatursprung || + (Counter_Temperatursprung > -600.0 && + Faktor_Gegenheizen_Band == 10.0)) { + Faktor_Gegenheizen_Band = 10.0; + + } else if (Stellgrad_Heizung_Mittelwert - Sollwert_Gegenheizen < -1.0) { + if (Regelabweichung_Entfeuchtung > 0.5) { + Faktor_Gegenheizen_Band = + std::max(Faktor_Gegenheizen_Band - sampling_time / 10.0, 0.0); + } else { + Faktor_Gegenheizen_Band = + std::min(Faktor_Gegenheizen_Band + sampling_time / 60.0, 10.0); + } + + } else if (Stellgrad_Heizung_Mittelwert - Sollwert_Gegenheizen > 1.0 && + Stellgrad_Kuehlung_Mittelwert < -5.0) { + if (Regelabweichung_Entfeuchtung < -0.5) { + Faktor_Gegenheizen_Band = + std::max(Faktor_Gegenheizen_Band - sampling_time / 10.0, 0.0); + } else { + Faktor_Gegenheizen_Band = + std::min(Faktor_Gegenheizen_Band + sampling_time / 600.0, 5.0); + } + } + else { + Faktor_Gegenheizen_Band = + std::max(Faktor_Gegenheizen_Band - sampling_time / 60.0, 0.1); + } + // --------------------------- Gegenheizen Band + + // -----------------------Sollwert Gegenheizen für I-Anteilverschiebung + + double Faktor_Entfeuchtung_Kuehlung = 0.0; + double Offset_Kuehlung = Faktor_Entfeuchtung_Kuehlung; + Offset_Kuehlung = + Faktor_Entfeuchtung_Kuehlung * Stellgrad_Entfeuchtung_Mittelwert * + std::max((50.0 - Stellgrad_Heizung_Mittelwert) / (50 - 0.0), 0.0) * + (8.0 - Stellgrad_Befeuchtung_Standby) / (8.0 - 2.0); + //------------------------------------------------------------ + + + // P-Anteil Kühlung + // f_PID_Cooling.SetP + double P_Anteil_Kuehlung = 0.0; + if (!Startup_finished) { + P_Anteil_Kuehlung = 0.0; + } else { + P_Anteil_Kuehlung = 100.0 / Regler_Kuehlung_Xp * Faktor_Kuehlung * + Regelabweichung_Kuehlung; + } + + // Begrenzung I-Anteil Kühlung bei Türöffnung + // f_PID_Cooling.Limit_I_PostDoorOpening(...) + double Regler_Kuehlung_MAX = 0; + double Regler_Kuehlung_MIN = 0; + double Regler_Kuehlung_I_Anteil_MAX = 0; + double Regler_Kuehlung_I_Anteil_MIN = 0; + + if ((Counter_Tuer_geschlossen < 180.0) || (Counter_Tuer_offen > 0.0)) { + Regler_Kuehlung_MAX = I_Anteil_Kuehlung; + Regler_Kuehlung_MIN = -100.0; + Regler_Kuehlung_I_Anteil_MAX = I_Anteil_Kuehlung; + Regler_Kuehlung_I_Anteil_MIN = limit( -100.0 - P_Anteil_Kuehlung, Regler_Kuehlung_MIN, Regler_Kuehlung_MAX); + } else { + Regler_Kuehlung_MAX = 0.0; + Regler_Kuehlung_MIN = -100.0; + Regler_Kuehlung_I_Anteil_MAX = 0.1 / Regler_Kuehlung_Xp * 100.0; + Regler_Kuehlung_I_Anteil_MIN = limit( -100.0 - P_Anteil_Kuehlung + Regelabweichung_Kuehlung_Gradient / 0.5 * 100.0, + Regler_Kuehlung_MIN, + Regler_Kuehlung_MAX); + } + + // f_PID_Cooling.Step(...) + // I Anteil Kühlung + if (!Startup_finished) { + I_Anteil_Kuehlung = 0.0; + } else if (Counter_Tuer_geschlossen > 60.0) { + I_Anteil_Kuehlung = + limit(I_Anteil_Kuehlung + + 100.0 / Regler_Kuehlung_Tn * sampling_time * + (Regelabweichung_Kuehlung + + (Stellgrad_Heizung - Sollwert_Gegenheizen) / 100.0 * + Regler_Heizung_Xp * Theta_I_Kuehlung * + Faktor_Gegenheizen_Band), + Regler_Kuehlung_I_Anteil_MIN, Regler_Kuehlung_I_Anteil_MAX); + } + + // D-Anteil Kühlung + + if (!Startup_finished) { + D_Anteil_Kuehlung = 0.0; + } else if (Counter_Tuer_geschlossen > 0.0) { + D_Anteil_Kuehlung += + (100.0 / Regler_Kuehlung_Xp * Regler_Kuehlung_Tv * + (Regelabweichung_Kuehlung - Regelabweichung_Kuehlung_alt) / + sampling_time - + D_Anteil_Kuehlung) / + (Tau_Kuehlung_Tv / sampling_time); + } + + // Berechnung Stellgrad Kühlung + // f_ + if (Counter_Tuer_offen > 60.0 || !Startup_finished) { + Stellgrad_Kuehlung = 0.0; + } else { + Stellgrad_Kuehlung = limit(P_Anteil_Kuehlung + I_Anteil_Kuehlung + + D_Anteil_Kuehlung + Offset_Kuehlung, + Regler_Kuehlung_MIN, Regler_Kuehlung_MAX); + } + + // Berechnung Stellgrad Mittelwert + + if (!Startup_finished) { + Stellgrad_Kuehlung_Mittelwert = 0.0; + } else { + Stellgrad_Kuehlung_Mittelwert = + limit(Stellgrad_Kuehlung_Mittelwert + + (Stellgrad_Kuehlung - Stellgrad_Kuehlung_Mittelwert) / + (600.0 / sampling_time), + Stellgrad_Kuehlung - 0.5 * 100.0 * Regler_Kuehlung_Xp, + Stellgrad_Kuehlung + 0.5 * 100.0 / Regler_Kuehlung_Xp); + } + // ------------------- F_ PID PID_Cooling() + + + // PID Regler Feuchte + // f_PID_Humidiy + Regelabweichung_Feuchte = Sollwert_Feuchte_Absolut - Istwert_Feuchte; + + // Berechnung Regelabweichung Feuchte Mittelwert + if (!Startup_finished) { + Regelabweichung_Feuchte_Mittelwert = 0.0; + } else { + Regelabweichung_Feuchte_Mittelwert = limit( + Regelabweichung_Feuchte_Mittelwert + + (Regelabweichung_Feuchte - Regelabweichung_Feuchte_Mittelwert) / + (60.0 / sampling_time), + Regelabweichung_Feuchte - 10.0, Regelabweichung_Feuchte + 10.0); + } + + // Feuchtesprung + // f_PID_Hunidity.HandleJump(...) + if (!Startup_finished) { + Counter_Feuchtesprung = 0.0; + } else if (Sollwert_Feuchte != Sollwert_Feuchte_alt && + std::abs(Regelabweichung_Feuchte) > 2.0) { + Counter_Feuchtesprung = + std::max(Counter_Feuchtesprung + sampling_time, 0.0); + } else if (std::abs(Regelabweichung_Feuchte) < 2.0 || + std::abs(Regelabweichung_Feuchte_Mittelwert) < 2.0) { + Counter_Feuchtesprung = + std::min(Counter_Feuchtesprung - sampling_time, 0.0); + } else if (std::abs(Regelabweichung_Feuchte_Mittelwert) > 5.0) { + Counter_Feuchtesprung = + std::max(Counter_Feuchtesprung + sampling_time, -120.0); + } + + Feuchtesprung = (Counter_Feuchtesprung > 0.0 || + (Feuchtesprung && Counter_Feuchtesprung > -120.0)); + + // Regelabweichung Befeuchtung + + double Regelabweichung_Befeuchtung = Regelabweichung_Feuchte; + + // Gradient regelabweichung Feuchte + + if (!Startup_finished) { + Regelabweichung_Befeuchtung_Gradient = 0.0; + } else { + Regelabweichung_Befeuchtung_Gradient = limit( + Regelabweichung_Befeuchtung_Gradient + + ((Regelabweichung_Befeuchtung - Regelabweichung_Befeuchtung_alt) * + 60.0 / sampling_time - + Regelabweichung_Befeuchtung_Gradient) / + 60.0 * sampling_time, + -20.0, 5.0); + } + + // Begrenzung I-Anteil bei Türöffnung + double Regler_Befeuchtung_MIN = 0.0; + double Regler_Befeuchtung_MAX = 0.0; + double Regler_Befeuchtung_I_Anteil_MIN = 0.0; + double Regler_Befeuchtung_I_Anteil_MAX = 0.0; + + if ((Counter_Tuer_geschlossen < 180.0) || (Counter_Tuer_offen > 0.0)) { + Regler_Befeuchtung_MIN = + std::max(Stellgrad_Befeuchtung_Standby - 2.0, Standby_Feuchtemodul); + Regler_Befeuchtung_MAX = std::min(100.0, Stellgrad_Feuchtemodul_MAX); + Regler_Befeuchtung_I_Anteil_MIN = 0.0; + Regler_Befeuchtung_I_Anteil_MAX = + limit(100.0 - P_Anteil_Befeuchtung, Regler_Befeuchtung_I_Anteil_MIN, + Stellgrad_Befeuchtung_Mittelwert); + } else { + if (Feuchtesprung) { + Regler_Befeuchtung_MIN = + std::max(Stellgrad_Befeuchtung_Standby - 2.0, Standby_Feuchtemodul); + } else { + Regler_Befeuchtung_MIN = + std::max(std::min(Stellgrad_Befeuchtung_Standby + + 0.25 * P_Anteil_Befeuchtung + + D_Anteil_Befeuchtung + Z_Anteil_Befeuchtung, + Stellgrad_Befeuchtung_Standby + 2.0), + std::max(Stellgrad_Befeuchtung_Standby - 1.0, + Standby_Feuchtemodul)); + } + Regler_Befeuchtung_MAX = std::min(100.0, Stellgrad_Feuchtemodul_MAX); + Regler_Befeuchtung_I_Anteil_MIN = 0.0; + Regler_Befeuchtung_I_Anteil_MAX = + limit(100.0, Regler_Befeuchtung_I_Anteil_MIN, + Stellgrad_Befeuchtung_Mittelwert); + } + + // Anteil P-Anteil Befeuchtung bei Feuchtesprung und Türöffnung + + if (Counter_Tuer_geschlossen < 180.0 && Feuchtesprung) { + Regler_Befeuchtung_Xp = Regler_Befeuchtung_Xp * 2.0; + } else if (Counter_Tuer_geschlossen > 300.0 && Feuchtesprung) { + Regler_Befeuchtung_Xp = Regler_Befeuchtung_Xp / 2.0; + } else { + Regler_Befeuchtung_Xp = + Regler_Befeuchtung_Xp * + (1.0 + Stellgrad_Entfeuchtung_Mittelwert / -100.0); + } + + // P-Anteil Befeuchtung + + if (!Startup_finished) { + P_Anteil_Befeuchtung = 0.0; + } + + else { + P_Anteil_Befeuchtung = + 100.0 / Regler_Befeuchtung_Xp * Regelabweichung_Befeuchtung; + } + + // I-Anteil Befeuchtung + + if (!Startup_finished) { + I_Anteil_Befeuchtung = 0.0; + } else if (Counter_Tuer_geschlossen > 60.0) { + I_Anteil_Befeuchtung = limit( + I_Anteil_Befeuchtung + 100.0 / Regler_Befeuchtung_Xp / + Regler_Befeuchtung_Tn * sampling_time * + Regelabweichung_Befeuchtung, + Regler_Befeuchtung_I_Anteil_MIN, Regler_Befeuchtung_I_Anteil_MAX); + } + + // D-Anteil Befeuchtung + if (!Startup_finished) { + D_Anteil_Befeuchtung = 0.0; + } else if (Counter_Tuer_geschlossen) { + D_Anteil_Befeuchtung += + (100.0 / Regler_Befeuchtung_Xp * Regler_Befeuchtung_Tv * + (Regelabweichung_Befeuchtung - Regelabweichung_Befeuchtung_alt) / + sampling_time - + D_Anteil_Befeuchtung) / + (Tau_Befeuchtung_Tv / sampling_time); + } + + // Z-Anteil Befeuchtung + + if (!Startup_finished || Feuchtesprung) { + Z_Anteil_Befeuchtung = 0.0; + } else if (Counter_Tuer_geschlossen > 0.0) { + Z_Anteil_Befeuchtung += + (100.0 / Regler_Befeuchtung_Xp * Regler_Befeuchtung_Tz * + ((Regelabweichung_Befeuchtung - + Regelabweichung_Befeuchtung_alt) - + (Regelabweichung_Befeuchtung_alt - + Regelabweichung_Befeuchtung_alt_alt)) / + sampling_time - + Z_Anteil_Befeuchtung) / + (Tau_Befeuchtung_Tz / sampling_time); + } + // Regler_Befeuchtung_MAX = 10.0; + // Berechnung Stellgrad Befeuchtung + if (Counter_Tuer_offen > 60.0 || !Startup_finished) { + Stellgrad_Befeuchtung = 0.0; + } else { + Stellgrad_Befeuchtung = + limit(P_Anteil_Befeuchtung + I_Anteil_Befeuchtung + + D_Anteil_Befeuchtung + Z_Anteil_Befeuchtung, + Regler_Befeuchtung_MIN, Regler_Befeuchtung_MAX); + } + + // Berechnung Stellgrad befeuchtung Mittelwert + + if (!Startup_finished) { + Stellgrad_Befeuchtung_Mittelwert = 0.0; + } else { + Stellgrad_Befeuchtung_Mittelwert = + limit(Stellgrad_Befeuchtung_Mittelwert + + (Stellgrad_Befeuchtung - Stellgrad_Befeuchtung_Mittelwert) / + (600.0 / sampling_time), + Stellgrad_Befeuchtung - 5.0 * 100.0 / Regler_Befeuchtung_Xp, + Stellgrad_Befeuchtung + 5.0 * 100.0 / Regler_Befeuchtung_Xp); + } + + if (!Startup_finished) { + Stellgrad_Befeuchtung_Standby = 4.0; + } else if (!(Feuchtesprung && Counter_Feuchtesprung < 300.0)) { + Stellgrad_Befeuchtung_Standby = + limit(Stellgrad_Befeuchtung_Standby + + (Stellgrad_Befeuchtung - Stellgrad_Befeuchtung_Standby) / + (600.0 / sampling_time), + 2.0, 8.0); + } + + // Regelabweichung Entfeuchtung + + Regelabweichung_Entfeuchtung = Regelabweichung_Feuchte; + + // Gradient Regelabweichung Entfeuchtung + + if (!Startup_finished) { + Regelabweichung_Entfeuchtung_Gradient = 0.0; + } + + else { + Regelabweichung_Entfeuchtung_Gradient = + limit(Regelabweichung_Entfeuchtung_Gradient + + ((Regelabweichung_Entfeuchtung - + Regelabweichung_Entfeuchtung_alt) * + 60.0 / sampling_time - + Regelabweichung_Entfeuchtung_Gradient) / + 60.0 * sampling_time, + -20.0, 5.0); + } + + // Faktor Entfeuchtung + + if (!Startup_finished) { + Faktor_Entfeuchtung = 5.0; + } else if (Regelabweichung_Entfeuchtung < -0.5) { + Faktor_Entfeuchtung = + std::min(Faktor_Entfeuchtung + sampling_time / 60.0, 5.0); + } else { + Faktor_Entfeuchtung = std::max(Faktor_Entfeuchtung - sampling_time, 0.2); + } + + // Gegenbefeuchten Band + + if (!Startup_finished || Feuchtesprung || + (Counter_Feuchtesprung > -600.0 && + Faktor_Gegenbefeuchten_Band == 5.0)) { + Faktor_Gegenbefeuchten_Band = 5.0; + } else if (Stellgrad_Befeuchtung_Mittelwert - Sollwert_Gegenbefeuchten < + -1.0) { + if (Regelabweichung_Kuehlung > 0.05) { + Faktor_Gegenbefeuchten_Band = + std::max(Faktor_Gegenbefeuchten_Band - sampling_time / 10.0, 0.0); + } else { + Faktor_Gegenbefeuchten_Band = + std::min(Faktor_Gegenbefeuchten_Band + sampling_time / 60.0, 5.0); + } + + } else if (Stellgrad_Befeuchtung_Mittelwert - Sollwert_Gegenbefeuchten > + 1.0 && + Stellgrad_Entfeuchtung_Mittelwert < -10.0) { + if (Regelabweichung_Kuehlung < -0.05) { + Faktor_Gegenbefeuchten_Band = + std::max(Faktor_Gegenbefeuchten_Band - sampling_time / 10.0, 0.0); + } else { + Faktor_Gegenbefeuchten_Band = + std::min(Faktor_Gegenbefeuchten_Band + sampling_time / 600.0, 2.0); + } + } else { + Faktor_Gegenbefeuchten_Band = + std::max(Faktor_Gegenbefeuchten_Band - sampling_time / 60.0, 0.2); + } + + // Sollwert Gegenbefeuchten für I-Anteilverschiebung + + Sollwert_Gegenbefeuchten = + 6.0 - 4.0 * (-Stellgrad_Entfeuchtung_Mittelwert / 100.0); + double Offset_Entfeuchtung = 0.0 * Stellgrad_Kuehlung_Mittelwert; + + //(* P-Anteil Entfeuchtung *) + + double P_Anteil_Entfeuchtung = 0.0; + if (!Startup_finished) { + P_Anteil_Entfeuchtung = 0.0; + } else { + P_Anteil_Entfeuchtung = 100.0 / Regler_Entfeuchtung_Xp * + Faktor_Entfeuchtung * + Regelabweichung_Entfeuchtung; + } + // I-Anteil Entfeuchtung + if (!Startup_finished) { + I_Anteil_Entfeuchtung = 0.0; + } else if (Counter_Tuer_geschlossen > 60.0) { + I_Anteil_Entfeuchtung = limit( + I_Anteil_Entfeuchtung + + 100.0 / Regler_Entfeuchtung_Xp / Regler_Entfeuchtung_Tn * + sampling_time * + (Regelabweichung_Entfeuchtung + + (Stellgrad_Befeuchtung - Sollwert_Gegenbefeuchten) / 100.0 * + Regler_Befeuchtung_Xp * Theta_I_Entfeuchtung * + Faktor_Gegenbefeuchten_Band), + Regler_Entfeuchtung_I_Anteil_MIN, Regler_Entfeuchtung_I_Anteil_MAX); + } + // D-Anteil Entfeuchtung + if (!Startup_finished) { + D_Anteil_Entfeuchtung = 0.0; + } else if (Counter_Tuer_geschlossen > 0.0) { + D_Anteil_Entfeuchtung = + D_Anteil_Entfeuchtung + + (100.0 / Regler_Entfeuchtung_Xp * Regler_Entfeuchtung_Tv * + (Regelabweichung_Entfeuchtung - + Regelabweichung_Entfeuchtung_alt) / + sampling_time - + D_Anteil_Entfeuchtung) / + (Tau_Entfeuchtung_Tv / sampling_time); + } + + // Begrenzung Stellgrad und I-Anteil + + if ((Counter_Tuer_geschlossen < 180.0) || (Counter_Tuer_offen > 0.0)) { + Regler_Entfeuchtung_MAX = I_Anteil_Entfeuchtung; + Regler_Entfeuchtung_MIN = -100.0; + Regler_Entfeuchtung_I_Anteil_MAX = I_Anteil_Entfeuchtung; + Regler_Entfeuchtung_I_Anteil_MIN = + limit(-100.0 - P_Anteil_Entfeuchtung, Regler_Entfeuchtung_MIN, + Regler_Entfeuchtung_I_Anteil_MAX); + } else { + Regler_Entfeuchtung_MAX = 0.0; + Regler_Entfeuchtung_MIN = -100.0; + Regler_Entfeuchtung_I_Anteil_MAX = 1.5 / Regler_Entfeuchtung_Xp * 100.0; + Regler_Entfeuchtung_I_Anteil_MIN = + limit(-100.0 - P_Anteil_Entfeuchtung + + Regelabweichung_Entfeuchtung_Gradient / 20.0 * 100.0, + Regler_Entfeuchtung_MIN, Regler_Entfeuchtung_I_Anteil_MAX); + } + + // Berechnung Stellgrad Entfeuchtung + + if (Counter_Tuer_offen > 60.0 || !Startup_finished) { + Stellgrad_Entfeuchtung = 0.0; + } else { + Stellgrad_Entfeuchtung = + limit(P_Anteil_Entfeuchtung + I_Anteil_Entfeuchtung + + Offset_Entfeuchtung + D_Anteil_Entfeuchtung, + Regler_Entfeuchtung_MIN, Regler_Entfeuchtung_MAX); + } + + // Berechnung Stellgrad entfeuchtung Mittelwert + + if (!Startup_finished) { + Stellgrad_Entfeuchtung_Mittelwert = 0.0; + } else { + Stellgrad_Entfeuchtung_Mittelwert = limit( + Stellgrad_Entfeuchtung_Mittelwert + + (Stellgrad_Entfeuchtung - Stellgrad_Entfeuchtung_Mittelwert) / + (600.0 / sampling_time), + Stellgrad_Entfeuchtung - 5.0 * 100.0 / Regler_Entfeuchtung_Xp, + Stellgrad_Entfeuchtung + 5.0 * 100.0 / Regler_Entfeuchtung_Xp); + } + + // PID Regler Tür + // f_PID_Door(...) + double Offset_Temperatur_Tuer; + if (Feuchtesprung) { + Offset_Temperatur_Tuer = 0.0; + } else { + Offset_Temperatur_Tuer = + 2.0 * Betauungsschutz / 100.0 * + limit((90.0 + Stellgrad_Kuehlung_Mittelwert) / (90.0 - 80.0), 0.0, + 1.0); + } + + // Regelabweichung + if (!Tuer_offen || + std::abs(Regelabweichung_Tuer) > + std::abs(Sollwert_Temperatur + Offset_Temperatur_Tuer - + Istwert_Temperatur_Tuer)) { + Regelabweichung_Tuer = Sollwert_Temperatur + Offset_Temperatur_Tuer - + Istwert_Temperatur_Tuer; + } + + // P-Anteil + + // Anti-Windup über dynamisches Integrator Clamping + + double Regler_Tuer_MAX = limit( + (100.0 + Stellgrad_Kuehlung) / (100.0 - 80.0) * 100.0, 0.0, 100.0); + double Regler_Tuer_MIN = 0.0; + double Regler_Tuer_I_Anteil_MAX = + limit(100.0 - P_Anteil_Tuer, 0.0, Regler_Tuer_MAX); + double Regler_Tuer_I_Anteil_MIN = 0.0; + + if (!Startup_finished) { + P_Anteil_Tuer = 0.0; + } else { + P_Anteil_Tuer = 100.0 / Regler_Tuer_Xp * Regelabweichung_Tuer; + } + + // I-Anteil + if (!Startup_finished) { + I_Anteil_Tuer = 0.0; + } else if (Temperatursprung && Regelabweichung_Tuer > 0.0) { + I_Anteil_Tuer = limit(I_Anteil_Tuer, Regler_Tuer_I_Anteil_MIN, + Regler_Tuer_I_Anteil_MAX); + } else if (!Tuer_offen) { + I_Anteil_Tuer = + limit(I_Anteil_Tuer + 100.0 / Regler_Tuer_Xp / Regler_Tuer_Tn * + sampling_time * Regelabweichung_Tuer, + Regler_Tuer_I_Anteil_MIN, Regler_Tuer_I_Anteil_MAX); + } + // D-Anteil + + if (!Startup_finished) { + D_Anteil_Tuer = 0.0; + } else { + D_Anteil_Tuer = D_Anteil_Tuer + + (100.0 / Regler_Tuer_Xp * Regler_Tuer_Tv * + (Regelabweichung_Tuer - Regelabweichung_Tuer_alt) / + sampling_time - + D_Anteil_Tuer) / + (Tau_Tuer_Tv / sampling_time); + } + + double Stellgrad_Tuer; + // Berechnung Stellgrad Tür + if (Tuer_offen || !Startup_finished) { + Stellgrad_Tuer = limit(P_Anteil_Tuer + I_Anteil_Tuer + D_Anteil_Tuer, + Regler_Tuer_MIN, Regler_Tuer_MAX); + } + + // Kennfelder Kühlung/Entfeuchtung + + int Index_Ueberhitzung = 1; + while (Kennfeld_Ueberhitzung[0][Index_Ueberhitzung] < Istwert_Temperatur && + Index_Ueberhitzung < 12) { + Index_Ueberhitzung++; + } + double Interpolation_Ueberhitzung = limit((Kennfeld_Ueberhitzung[0][Index_Ueberhitzung - 1] - Istwert_Temperatur) / + (Kennfeld_Ueberhitzung[0][Index_Ueberhitzung - 1] - Kennfeld_Ueberhitzung[0][Index_Ueberhitzung]), + 0.0, 1.0); + double Skalierung_Ueberhitzung_Kennfeld_Min = Kennfeld_Ueberhitzung[1][Index_Ueberhitzung] * + (Interpolation_Ueberhitzung + Kennfeld_Ueberhitzung[1][Index_Ueberhitzung - 1]) * + (1.0 - Interpolation_Ueberhitzung); + double Skalierung_Ueberhitzung_Kennfeld_Max = Kennfeld_Ueberhitzung[2][Index_Ueberhitzung] * + (Interpolation_Ueberhitzung + Kennfeld_Ueberhitzung[2][Index_Ueberhitzung - 1]) * + (1.0 - Interpolation_Ueberhitzung); + double Sollwert_Ueberhitzung = Kennfeld_Ueberhitzung[3][Index_Ueberhitzung] * + (Interpolation_Ueberhitzung + Kennfeld_Ueberhitzung[3][Index_Ueberhitzung - 1]) * + (1.0 - Interpolation_Ueberhitzung); + + //(* Entfeuchtung und Abtauung aus Kennfeld *) + int Index_Entfeuchtung = 1; // todo uj - warum nicht mit 0 starten? + while ((Kennfeld_Entfeuchtung[0][Index_Entfeuchtung] < Istwert_Temperatur) && (Index_Ueberhitzung < 12)) { + Index_Entfeuchtung++; + } + double Interpolation_Entfeuchtung = limit((Kennfeld_Entfeuchtung[0][Index_Entfeuchtung - 1] - + (Istwert_Temperatur) / (Kennfeld_Entfeuchtung[0][Index_Entfeuchtung - 1] ) - + Kennfeld_Entfeuchtung[0][Index_Entfeuchtung]), + 0.0, 1.0); + double Skalierung_Entfeuchtungsventil = Kennfeld_Entfeuchtung[1][Index_Entfeuchtung] * + Interpolation_Entfeuchtung + + Kennfeld_Entfeuchtung[1][Index_Entfeuchtung - 1] * + (1.0 - Interpolation_Entfeuchtung); + double Abtauzyklus_Pause = + Kennfeld_Entfeuchtung[2][Index_Entfeuchtung] * + Interpolation_Entfeuchtung + + Kennfeld_Entfeuchtung[2][Index_Entfeuchtung - 1] * + (1.0 - Interpolation_Entfeuchtung); + double Abtauzyklus_Dauer = + Kennfeld_Entfeuchtung[3][Index_Entfeuchtung] * + Interpolation_Entfeuchtung + + Kennfeld_Entfeuchtung[3][Index_Entfeuchtung - 1] * + (1.0 - Interpolation_Entfeuchtung); + + // Ende - f_PID_Door(...) + + // Überhitzungsregelung + + // Temperatur Verdampferausgang PT1 + // f_PT1.Vapourize(...) + if (!Startup_finished) { + Istwert_Temperatur_Verdampferausgang_PT1 = + Istwert_Temperatur_Verdampferausgang; + } else { + Istwert_Temperatur_Verdampferausgang_PT1 += + (Istwert_Temperatur_Verdampferausgang - + Istwert_Temperatur_Verdampferausgang_PT1) / + (60.0 * 4.0); + } + + // Skalierung Überhitzung + if (Istwert_Temperatur_Verdampferausgang < + (Istwert_Temperatur + Sollwert_Ueberhitzung)) { + Counter_Durchzug = MIN(Counter_Durchzug + sampling_time, 10.0); + } else { + // uj-todo; template for MAX + // Counter_Durchzug = MAX(MAX(Counter_Durchzug-sampling_time,-10),0); + } + if (Counter_Durchzug >= 10.0) { + Durchzug = true; + } else if (Counter_Durchzug <= -10.0) { + Durchzug = false; + } + + double Skalierung_Ueberhitzung_PT1 = Skalierung_Ueberhitzung_Kennfeld_Max; + + // Magnetventil Kühlung + + // Stellgrad Kühlung + + if (Counter_Verdichter_aus > 60.0 && Counter_Verdichter_aus < 600.0) { + Stellgrad_Kuehlventil = 1.0; + } else if (Istwert_Temperatur > 120.0 || Counter_Kuehlung_Freigabe <= 0.0) { + Stellgrad_Kuehlventil = 0.0; + } else { + Stellgrad_Kuehlventil = MAX(-Stellgrad_Kuehlung, 0.0) * + Skalierung_Ueberhitzung_PT1 * + Counter_Kuehlung_Freigabe; + } + + // Ende - f_PT1.Vapourize(...) + + // PWM Generierung Kuehlventil + // bool step(double Stellgrad,double sampling_time){ + + // f_PWMCoolingValve.Step(...) + Kuehlventil = PWM_Kuehlventil.step(Stellgrad_Kuehlventil, sampling_time); + + // Magnetventil Entfeuchtung + double T_Entfeuchtung; + if (!Startup_finished) { + T_Entfeuchtung = Istwert_Temperatur; + } else if (Entfeuchtungsventil) { + T_Entfeuchtung = + limit(T_Entfeuchtung + + ((Istwert_Temperatur - T_Entfeuchtung) * U_Entfeuchtung - + P_Entfeuchtung) / + (4.0 * C_Entfeuchtung), + -30.0, Istwert_Temperatur); + } else { + T_Entfeuchtung = + limit(T_Entfeuchtung + + ((Istwert_Temperatur - T_Entfeuchtung) * U_Entfeuchtung) / + (4.0 * C_Entfeuchtung), + -30.0, Istwert_Temperatur); + } + // Stellgrad Entfeuchtung + + if (Istwert_Temperatur > 120.0 || Counter_Entfeuchtung_Freigabe <= 0.0) { + Stellgrad_Entfeuchtungsventil = 0.0; + } else { + Stellgrad_Entfeuchtungsventil = MAX(-Stellgrad_Entfeuchtung, 0.0) * + Skalierung_Entfeuchtungsventil * + Counter_Entfeuchtung_Freigabe; + } + + // Abtauzyklus + bool Freigabe_Abtauzyklus = + Istwert_Feuchte > Sollwert_Feuchte_Absolut + 2.5; + if (!Freigabe_Abtauzyklus) { + Counter_Freigabe_Abtauzyklus = 0.0; + } else { + Counter_Freigabe_Abtauzyklus += sampling_time; + } + double Skalierung_Abtauzyklus_Dauer = 0.0; + ; + if (Abtauzyklus_Pause > 0.0 && Abtauzyklus_Dauer > 0.0) { + Skalierung_Abtauzyklus_Dauer = + limit(Counter_Freigabe_Abtauzyklus / + (10.0 * (Abtauzyklus_Pause + Abtauzyklus_Dauer) * 60.0), + 1.0, 5.0); + } + if (Counter_Abtauzyklus > + (Abtauzyklus_Pause + Abtauzyklus_Dauer * Skalierung_Abtauzyklus_Dauer) * + 60.0) { + Counter_Abtauzyklus = 0.0; + } else if ((T_Entfeuchtung < 0.0 && Freigabe_Abtauzyklus) || Abtauzyklus) { + Counter_Abtauzyklus += sampling_time; + } + + else { + Counter_Abtauzyklus = MAX(Counter_Abtauzyklus - sampling_time, 0.0); + } + Abtauzyklus = Counter_Abtauzyklus > Abtauzyklus_Pause * 60.0 && + Abtauzyklus_Pause > 0.0; + + if (Abtauzyklus) { + Stellgrad_Entfeuchtungsventil = 0.0; + } + // Ende -f_PWMCoolingValve.Step(...) + + + // PWM Entfeuchtungsventil + // f_PWMDeHumizeValve.Step(...) + Entfeuchtungsventil = PWM_Entfeuchtungsventil.step( + Stellgrad_Entfeuchtungsventil, sampling_time); + + // Druckausgleich vor Start Verdichter + if (!Verdichter && Counter_Entfeuchtung_Freigabe > 5.0) { + Entfeuchtungsventil = true; + } + + // Heizung Kessel + + if (Freigabe_Heizung) { + Stellgrad_HeizungKessel = + MAX(Stellgrad_Heizung * Counter_Heizung_Freigabe, 0.0); + } else { + Stellgrad_HeizungKessel = 0.0; + } + + // PWM Heizung Kessel + HeizungKessel = PWM_Heizung_Kessel.step(Stellgrad_HeizungKessel, 0.25); + + // Betauungsschutz + + double Stellgrad_Betauungsschutz_MAX = limit( + (90.0 + Stellgrad_Kuehlung_Mittelwert) / (90.0 - 80.0) * 100.0, 0.0, + limit((Sollwert_Temperatur - 25.0) / (-20.0 - 25.0) * Betauungsschutz, + 0.0, Betauungsschutz)); + + if (!Startup_finished) { + Stellgrad_Betauungsschutz = 0.0; + } + + // Tuerheizung + Stellgrad_HeizungTuer = + limit(Stellgrad_Tuer + Stellgrad_Betauungsschutz / 10.0, 0.0, 100.0); + + HeizungTuer = PWM_Heizung_Tuer.step(Stellgrad_HeizungTuer, 0.25); + + // Heizung Kesselrand + + Stellgrad_HeizungKesselrand = + limit(Stellgrad_Tuer * + limit(1.0 + Betauungsschutz / 100.0 * 2.0 * + (90.0 + Stellgrad_Kuehlung_Mittelwert) / + (90.0 - 80.0), + 1.0, 2.0) + + Stellgrad_Betauungsschutz, + 0.0, 100.0); + + // Ende - f_PWMDeHumizeValve.Step(...) + + + // PWM Kesselrand + // Ende - f_PWMKesselRand.Step(...) + HeizungKesselrand = PWM_Heizung_Kesselrand.step(Stellgrad_HeizungKesselrand, 0.25); + // Ende - f_PWMKesselRand.Step(...) + + { + // Binder Feuchtemodul + + // Sperrsignal Feuchtemodul + + bool Sperrsignal_Feuchte = false; + + // Gradient Feuchtemodul + + if (!Startup_finished) { + Temperatur_Feuchtemodul_Gradient = 0; + } else { + Temperatur_Feuchtemodul_Gradient += + ((Temperatur_Feuchtemodul - Temperatur_Feuchtemodul_alt) * 60.0 * + 4.0 - + Temperatur_Feuchtemodul_Gradient) / + (4.0 * 10.0); + } + + Sollwert_Temperatur_Feuchtemodul = + Sollwert_Temperatur_Feuchtemodul_MIN + + Stellgrad_Feuchtemodul_Mittelwert / 100.0 * + (Sollwert_Temperatur_Feuchtemodul_MAX - + Sollwert_Temperatur_Feuchtemodul_MIN); + + // Offset Stellgrad Feuchtemodul + + double Temperatur_Feuchtemodul_Standby = + Sollwert_Temperatur_Feuchtemodul - + (Stellgrad_Entfeuchtung_Mittelwert - 0.0) / (-100.0 - 0.0) * 60.0; + double Standby_Feuchtemodul = + limit((Temperatur_Feuchtemodul_Standby - Temperatur_Feuchtemodul) / + 10.0 * 5.0, + 0.0, 5.0); + + // Stellgrad Feuchtemodul + Stellgrad_Feuchtemodul = limit( + Stellgrad_Befeuchtung + + 2.0 * limit(Stellgrad_Befeuchtung - Stellgrad_Feuchtemodul_PT1, + -2.0, 2.0) + + Stellgrad_Feuchtemodul_Nachfuellen, + 0.0, 100.0); + + // Begrenzung Temperatur Feuchtemodul über Temperatur + double Stellgrad_Feuchtemodul_MAX_Temperatur = limit( + (Temperatur_Feuchtemodul_MAX - Temperatur_Feuchtemodul) / 40.0 * 100.0, + 0.0, 100.0); + + double Temperatur_Feuchtemodul_Gradient_MAX = 10.0; + if (Temperatur_Feuchtemodul < 90.0) { + Temperatur_Feuchtemodul_Gradient_MAX = 10.0; + } else { + Temperatur_Feuchtemodul_Gradient_MAX = limit( + 20.0 - + (Temperatur_Feuchtemodul - (Temperatur_Feuchtemodul_MAX - 60.0)) / + 60.0 * 20.0 - + Stellgrad_Feuchtemodul_MAX / 100.0 * 10.0, + 5.0, 20.0); + } + + double Stellgrad_Feuchtemodul_MAX_adaptiv = 10.0; + if (!Startup_finished) { + Stellgrad_Feuchtemodul_MAX_adaptiv = 10.0; + } else if (Temperatur_Feuchtemodul < 80.0) { + Stellgrad_Feuchtemodul_MAX_adaptiv = 10.0; + } else if (Stellgrad_Feuchtemodul + 20.0 > + Stellgrad_Feuchtemodul_MAX_adaptiv && + Stellgrad_Feuchtemodul_MAX_adaptiv < + Stellgrad_Feuchtemodul_MAX_Temperatur && + Temperatur_Feuchtemodul_Gradient < + 2.0 * Temperatur_Feuchtemodul_Gradient_MAX && + !Sperrsignal_Feuchte) { + Stellgrad_Feuchtemodul_MAX_adaptiv = + limit(Stellgrad_Feuchtemodul_MAX_adaptiv + + 20.0 * + limit((Temperatur_Feuchtemodul_Gradient_MAX - + Temperatur_Feuchtemodul_Gradient) / + Temperatur_Feuchtemodul_Gradient_MAX, + -2.0, 1.0) / + (60.0 * 4.0), + 0.0, Stellgrad_Feuchtemodul_MAX_Temperatur); + } else { + Stellgrad_Feuchtemodul_MAX_adaptiv = + limit(Stellgrad_Feuchtemodul_MAX_adaptiv - 5.0 / (60.0 * 4.0), 10.0, + Stellgrad_Feuchtemodul_MAX_Temperatur); + } + + // Begrenzung Stellgrad_Feuchtemodul + + Stellgrad_Feuchtemodul_MAX = + MIN(Stellgrad_Feuchtemodul_MAX_Temperatur - 5.0, + Stellgrad_Feuchtemodul_MAX_adaptiv + Stellgrad_Feuchtemodul_Boost); + + Stellgrad_Feuchtemodul = + MIN(Stellgrad_Feuchtemodul, Stellgrad_Feuchtemodul_MAX); + + // Stellgrad Feuchtemodul Boost + + if (!Startup_finished || Temperatur_Feuchtemodul < 80.0) { + Stellgrad_Feuchtemodul_Boost = 0.0; + } else if (Stellgrad_Feuchtemodul < + Stellgrad_Feuchtemodul_MAX_adaptiv - 10.0) { + Stellgrad_Feuchtemodul_Boost = + MIN(Stellgrad_Feuchtemodul_Boost + 10.0 / 60.0 * sampling_time, + 2.0 * Stellgrad_Feuchtemodul_MAX_Temperatur); + } else { + Stellgrad_Feuchtemodul_Boost = MAX( + Stellgrad_Feuchtemodul_Boost - (Stellgrad_Feuchtemodul + 10.0 - + Stellgrad_Feuchtemodul_MAX_adaptiv) / + 60.0 * sampling_time, + 0.0); + } + if (!Startup_finished) { + Stellgrad_Feuchtemodul_PT1 = Stellgrad_Feuchtemodul; + } else if (is_valid(Stellgrad_Feuchtemodul_PT1)) { + Stellgrad_Feuchtemodul_PT1 = 0.0; + } else { + Stellgrad_Feuchtemodul_PT1 = + Stellgrad_Feuchtemodul_PT1 + + (Stellgrad_Feuchtemodul - Stellgrad_Feuchtemodul_PT1) / (4.0 * 30.0); + } + + // Nachfüllen Befeuchtungsmodul + + double Stellgrad_Nachfuellen_Temperatur = 0.0; + double Skalierung_Nachfuellen_Temperatur_P_Anteil = 0.0; + double Skalierung_Nachfuellen_Temperatur_D_Anteil = 0.0; + + if (!Startup_finished) { + Stellgrad_Nachfuellen_Temperatur = 0.0; + Skalierung_Nachfuellen_Temperatur_D_Anteil = 0.0; + Skalierung_Nachfuellen_Temperatur_D_Anteil = 0.0; + Skalierung_Nachfuellen_Temperatur_I_Anteil = 0.0; + } else { + Stellgrad_Nachfuellen_Temperatur = limit( + MAX(Temperatur_Feuchtemodul - Sollwert_Temperatur_Feuchtemodul, 0.0) * + 2.0 + + MIN(Temperatur_Feuchtemodul - Sollwert_Temperatur_Feuchtemodul, + 0.0) * + 1.0, + -20.0, 50.0); + Skalierung_Nachfuellen_Temperatur_P_Anteil = limit( + MAX(Temperatur_Feuchtemodul - Sollwert_Temperatur_Feuchtemodul, 0.0) / + 20.0 + + MIN(Temperatur_Feuchtemodul - Sollwert_Temperatur_Feuchtemodul, + 0.0) / + 40.0, + -0.2, 5.0); + Skalierung_Nachfuellen_Temperatur_D_Anteil = + limit(Temperatur_Feuchtemodul_Gradient / 10.0, -5.0, 5.0); + Skalierung_Nachfuellen_Temperatur_I_Anteil = + limit(Skalierung_Nachfuellen_Temperatur_I_Anteil + + limit(Skalierung_Nachfuellen_Temperatur_P_Anteil + + Skalierung_Nachfuellen_Temperatur_D_Anteil, + -0.2, 25.0) * + sampling_time / 1200.0, + 0.0, 5.0); + } + double Stellgrad_Nachfuellen = 0.0; + Stellgrad_Feuchtemodul_Nachfuellen = 0.0; + + if (Temperatur_Feuchtemodul > Temperatur_Feuchtemodul_MAX && + Temperatur_Feuchtemodul_Gradient > 0.0) { + Stellgrad_Nachfuellen = 20.0; + Stellgrad_Feuchtemodul_Nachfuellen = 0.0; + } else { + Stellgrad_Nachfuellen = limit( + ((Stellgrad_Feuchtemodul_PT1 - Stellgrad_Feuchtemodul_Nachfuellen) * + (MAX(Skalierung_Nachfuellen_Temperatur_P_Anteil + + Skalierung_Nachfuellen_Temperatur_D_Anteil, + 0.0) + + Skalierung_Nachfuellen_Temperatur_I_Anteil) + + Stellgrad_Nachfuellen_Temperatur) * + 2.0 * 7.9681 / Durchflussmenge_Einlassventil_Feuchtemodul, + 0.0, 100.0); + Stellgrad_Feuchtemodul_Nachfuellen = + 0.5 * Stellgrad_Nachfuellen * + Durchflussmenge_Einlassventil_Feuchtemodul / 60.0 * 4.19 * 75.0 / + 600.0; + } + //(* Entleeren des Kessels *) + bool Entleeren_Kessel = false; + if (Startup_finished && Temperatur_Feuchtemodul < 70.0) { + Entleeren_Kessel = Counter_Entleeren_Kessel < 60.0; + Counter_Entleeren_Kessel += sampling_time; + } else { + Counter_Entleeren_Kessel = 0.0; + Entleeren_Kessel = false; + } + + //(* Abschlämmen des Kessels *) + Abschlaemmintegral = + Abschlaemmintegral + 0.1 * Durchflussmenge_Einlassventil_Feuchtemodul / + Durchflussmenge_Abschlaemmventil_Feuchtemodul * + Stellgrad_Nachfuellen / 100.0 * sampling_time; + + if (Entleeren_Kessel) { + Abschlaemmventil = true; + Stellgrad_Abschlaemmventil_zyklisch = 100.0; + } else { + Counter_Zyklus_Abschlaemmventil += sampling_time; + if (Abschlaemmintegral > 0.25 && Temperatur_Feuchtemodul_Gradient < 0.0) { + Abschlaemmventil = true; + Stellgrad_Abschlaemmventil_zyklisch = 2.5; + Counter_Zyklus_Abschlaemmventil = 0.0; + Abschlaemmintegral -= 0.25; + } else { + Abschlaemmventil = false; + if (Counter_Zyklus_Abschlaemmventil >= 10.0) { + Stellgrad_Abschlaemmventil_zyklisch = 0.0; + } + } + } + + // Stellgrad_Feuchtemodul = 2.0; + + // PWM Befeuchtungsmodul + HeizungFeuchtemodul = + PWM_Heizung_Feuchtemodul.step(Stellgrad_Feuchtemodul, 0.25); + // PWM Nachfüllen + Nachfuellen = PWM_Nachfuellen.step(Stellgrad_Nachfuellen, 0.25); + + // Abwassermanagement + if (!Entleerbehaelter_Unten || !Entleerbehaelter_Oben || Entleeren_Kessel) { + Counter_Nachlauf_Entleeren = 10.0; + Counter_Pause_Entleeren += sampling_time; + if (Counter_Pause_Entleeren > 30.0) { + Counter_Pause_Entleeren = 0.0; + } + + } else { + Counter_Nachlauf_Entleeren = + MAX(Counter_Nachlauf_Entleeren - sampling_time, 0.0); + Counter_Pause_Entleeren = 0.0; + } + bool Entleeren_Pause = false; + Entleeren = Counter_Nachlauf_Entleeren > 0.0; + Entleeren_Pause = Counter_Pause_Entleeren > 27.0; + Entleerpumpe = Entleeren && !Entleeren_Pause; + + if (!Startup_finished) { + Zyklus_Entleeren_Mittelwert = 600.0; + } else if (Entleeren && !Entleeren_alt) { + Zyklus_Entleeren_Mittelwert = limit( + Zyklus_Entleeren_Mittelwert + + (Counter_Zyklus_Entleeren - Zyklus_Entleeren_Mittelwert) / 10.0, + 10.0, 3600.0); + Counter_Zyklus_Entleeren = 0.0; + } else { + Counter_Zyklus_Entleeren += sampling_time; + } + + if (Steuerkontakt_Standby || Istwert_Temperatur > 110.0) { + Counter_Kuehlung_Freigabe = 0.0; + } else { + if (Stellgrad_Kuehlung < 0.0 || Stellgrad_Heizung < 2.0 || + Counter_Tuer_geschlossen < 300.0) { + Counter_Kuehlung_Freigabe = + MIN(Counter_Kuehlung_Freigabe + sampling_time / 10.0, 1.0); + } else { + Counter_Kuehlung_Freigabe = + MAX(Counter_Kuehlung_Freigabe - sampling_time / 300.0, 0.0); + } + } + Freigabe_Kuehlung = Counter_Kuehlung_Freigabe >= 1.0 || + (Freigabe_Kuehlung && Counter_Kuehlung_Freigabe > 0.0); + // * Freigabe Kühlung *) + + // (* Freigabe Entfeuchtung *) + if (Steuerkontakt_Standby || Istwert_Temperatur > 110.0) { + Counter_Entfeuchtung_Freigabe = 0.0; + } else { + if (Stellgrad_Entfeuchtung < 0.0 || Stellgrad_Befeuchtung < 2.0 || + Counter_Tuer_geschlossen < 300.0) { + Counter_Entfeuchtung_Freigabe = + MIN(Counter_Entfeuchtung_Freigabe + sampling_time / 10.0, 10.0); + } else { + Counter_Entfeuchtung_Freigabe = + MAX(Counter_Entfeuchtung_Freigabe - sampling_time / 300.0, 0.0); + } + } + Freigabe_Entfeuchtung = + Counter_Entfeuchtung_Freigabe >= 1.0 || + (Freigabe_Entfeuchtung && Counter_Entfeuchtung_Freigabe > 0.0); + + // (* Freigabe Heizung *) + if (Steuerkontakt_Standby || Istwert_Temperatur > 110.0) { + Counter_Heizung_Freigabe = 0.0; + } else { + if (Stellgrad_Heizung < 0.0 || Stellgrad_Kuehlung > -2.0 || + Counter_Tuer_geschlossen < 300.0) { + Counter_Heizung_Freigabe = + MIN(Counter_Heizung_Freigabe + sampling_time / 10.0, 10.0); + } else { + Counter_Heizung_Freigabe = + MAX(Counter_Heizung_Freigabe - sampling_time / 300.0, 0.0); + } + } + Freigabe_Heizung = Counter_Heizung_Freigabe >= 1.0 || + (Freigabe_Heizung && Counter_Heizung_Freigabe > 0.0); + // (* Freigabe Befeuchtung *) + if (Steuerkontakt_Standby || Istwert_Temperatur > 110.0) { + Counter_Befeuchtung_Freigabe = 0.0; + } else { + if (Stellgrad_Befeuchtung < 0.0 || Stellgrad_Entfeuchtung > -2.0 || + Counter_Tuer_geschlossen < 300.0) { + Counter_Befeuchtung_Freigabe = + MIN(Counter_Befeuchtung_Freigabe + sampling_time / 10.0, 10.0); + } else { + Counter_Befeuchtung_Freigabe = + MAX(Counter_Befeuchtung_Freigabe - sampling_time / 300.0, 0.0); + } + } + Freigabe_Befeuchtung = + Counter_Befeuchtung_Freigabe >= 1.0 || + (Freigabe_Befeuchtung && Counter_Befeuchtung_Freigabe > 0.0); + + // Verdichterabscaltung + + if (!Startup_finished) { + Drehzahl_Verdichter_adaptiv = Drehzahl_Verdichter_MAX; + } else if (Temperatursprung) { + Drehzahl_Verdichter_adaptiv = + MAX(Drehzahl_Verdichter_Kuehlung, Drehzahl_Verdichter_Entfeuchtung); + } else if (is_valid(Stellgrad_Kuehlung)) { + Drehzahl_Verdichter_adaptiv = + limit(Drehzahl_Verdichter_adaptiv + + (-Stellgrad_Kuehlung - 25.0) / 100.0 * + (Drehzahl_Verdichter_MAX - Drehzahl_Verdichter_MIN) / + (4.0 * 600.0), + Drehzahl_Verdichter_MIN, Drehzahl_Verdichter_MAX); + } + + Drehzahl_Verdichter_Kuehlung = + Drehzahl_Verdichter_MIN + + (MAX(-Stellgrad_Kuehlung_Mittelwert, -Stellgrad_Kuehlung) - 30.0) / + (90.0 - 30.0) * (Drehzahl_Verdichter_MAX - Drehzahl_Verdichter_MIN); + Drehzahl_Verdichter_Entfeuchtung = + Drehzahl_Verdichter_MIN + + 0.5 * + (MAX(-Stellgrad_Entfeuchtung_Mittelwert, -Stellgrad_Entfeuchtung) - + 50.0) / + (90.0 - 50.0) * (Drehzahl_Verdichter_MAX - Drehzahl_Verdichter_MIN); + + if (Verdichter) { + Drehzahl_Verdichter = + limit(MAX(Drehzahl_Verdichter_Kuehlung, + MAX(Drehzahl_Verdichter_Entfeuchtung, + Drehzahl_Verdichter_adaptiv)), + Drehzahl_Verdichter_MIN, Drehzahl_Verdichter_MAX); + } else { + Drehzahl_Verdichter = 1000.0; + } + + Stellgrad_Verdichter = + Drehzahl_Verdichter / Drehzahl_Verdichter_MAX * 100.0 * (160.0 / 200.0); + /* + (* -------------------- *) + (* Verflüssigerregelung *) + (* -------------------- *) */ + + Verfluessiger = Verfluessiger && + ((Drehzahl_Verdichter_adaptiv - Drehzahl_Verdichter_MIN) / ((Drehzahl_Verdichter_MAX - Drehzahl_Verdichter_MIN) < 0.30) && + (-Stellgrad_Kuehlung_Mittelwert < 30.0) && + (-Stellgrad_Entfeuchtung_Mittelwert < 60.0) || ((Drehzahl_Verdichter_adaptiv - Drehzahl_Verdichter_MIN) / (Drehzahl_Verdichter_MAX - Drehzahl_Verdichter_MIN) < 0.20) && + (-Stellgrad_Kuehlung_Mittelwert < 20.0) && + -Stellgrad_Entfeuchtung_Mittelwert < 50.0); + + }// Ende Feuchtemodul + + // ---------------------------------------- + // Werte die auf Veränderung geprüft werden + // ---------------------------------------- + Sammelalarm_quittiert_alt = Sammelalarm_quittiert; + Istwert_Temperatur_alt = Istwert_Temperatur; + Regelabweichung_Temperatur_alt = Regelabweichung_Temperatur; + Sollwert_Temperatur_alt = Sollwert_Temperatur; + Istwert_Feuchte_alt = Istwert_Feuchte; + Regelabweichung_Feuchte_alt_alt = Regelabweichung_Feuchte_alt; + Regelabweichung_Feuchte_alt = Regelabweichung_Feuchte; + Sollwert_Feuchte_alt = Sollwert_Feuchte; + Durchzug_alt = Durchzug; + Regelabweichung_Tuer_alt = Regelabweichung_Tuer; + HeizungFeuchtemodul_alt = HeizungFeuchtemodul; + Regelabweichung_Befeuchtung_alt_alt = Regelabweichung_Befeuchtung_alt; + Regelabweichung_Entfeuchtung_alt = Regelabweichung_Entfeuchtung; + + + + // ---------------- + // Rückgabewerte + // ---------------- + // F_Outputs out{}; + + binOut.bool_out01 = (std::abs((Sollwert_Temperatur - Istwert_Temperatur)) > Temperaturband); // du nutzt Temperaturband-Alarm + // separat; hier nur Beispiel + binOut.bool_out02 = (std::abs((Sollwert_Feuchte - Istwert_Feuchte)) > Feuchteband) && + (!Befeuchtung_aus) && (!Entfeuchtung_aus); + binOut.bool_out03 = Befeuchtung_aus || Entfeuchtung_aus; + binOut.bool_out07 = (!Status_Uebertemperatur) && + (!(std::abs(Istwert_Ueberwachungsregler - Istwert_Temperatur) > 20.0)); + alarmOut.Startup = Startup_finished; + + binOut.bool_out09 = HeizungKessel; + binOut.bool_out11 = HeizungTuer; + binOut.bool_out12 = HeizungKesselrand; + binOut.bool_out13 = Verfluessiger; + binOut.bool_out14 = Nachfuellen; + binOut.bool_out16 = Entleerpumpe; + binOut.bool_out17 = HeizungFeuchtemodul; + binOut.bool_out20 = Abschlaemmventil; + binOut.bool_out18 = Kuehlventil; + binOut.bool_out19 = Entfeuchtungsventil; + binOut.bool_out21 = Verdichter; + binOut.bool_out23 = !Sammelalarm_quittiert; + + analogOut.real_out01 = Istwert_Temperatur; + analogOut.real_out02 = Istwert_Temperatur; + analogOut.real_out04 = Istwert_Temperatur; + analogOut.real_out05 = limit(Istwert_Feuchte, 0.0, 100.0); + analogOut.real_out06 = limit(Istwert_Feuchte, 0.0, 100.0); + analogOut.real_out07 = Sollwert_Feuchte; + analogOut.real_out08 = limit(Istwert_Feuchte, 0.0, 100.0); + analogOut.real_out09 = Stellgrad_HeizungKessel; + analogOut.real_out10 = Stellgrad_Pumpe; + analogOut.real_out11 = Stellgrad_HeizungTuer; + analogOut.real_out12 = Stellgrad_HeizungKesselrand; + analogOut.real_out13 = Stellgrad_Feuchtemodul; + analogOut.real_out14 = Stellgrad_Abschlaemmventil_zyklisch; + analogOut.real_out16 = Temperatur_Feuchtemodul; + analogOut.Stellgrad_Feuchtemodul = Stellgrad_Feuchtemodul; + analogOut.real_out18 = Stellgrad_Kuehlventil; + analogOut.real_out19 = Stellgrad_Entfeuchtungsventil; + analogOut.real_out20 = Stellgrad_Luefter; + analogOut.real_out21 = Stellgrad_Verdichter; + analogOut.real_out25 = Schaltwert_Uebertemperatur; + analogOut.real_out26 = Schaltwert_Untertemperatur; + analogOut.Stellgrad_Heizung = Stellgrad_Heizung; + analogOut.Stellgrad_Kuehlung = Stellgrad_Kuehlung; + analogOut.Stellgrad_Befeuchtung = Stellgrad_Befeuchtung; + analogOut.Stellgrad_Entfeuchtung = Stellgrad_Entfeuchtung; + analogOut.Counter_Tuer = Counter_Tuer_offen; + + // alarms (wie ST) + alarmOut.alarm_01 = Bandalarm_Temperatur; + alarmOut.alarm_02 = Bandalarm_Feuchte; + alarmOut.alarm_03 = Tueralarm; + alarmOut.alarm_04 = false; + alarmOut.alarm_05 = false; + alarmOut.alarm_06 = Alarm_Wasser_Befeuchtungsmodul && !Befeuchtung_aus; + alarmOut.alarm_07 = Alarm_Abwasser_Befeuchtungsmodul; + alarmOut.alarm_08 = (Alarm_Heizung_Befeuchtungsmodul || Alarm_PT100_Befeuchtungsmodul) && + !Befeuchtung_aus; + + // alarm_09..alarm_15 sind im ST mit Selbsthaltung/Quittierung etc.: + alarmOut.alarm_09 = (((Istwert_Temperatur_Tuer < -50.0) || (Istwert_Temperatur_Tuer > 120.0)) && + Startup_finished) ||(alarm_09 && Sammelalarm_quittiert); + + alarmOut.alarm_10 = (std::abs(Istwert_Ueberwachungsregler - Istwert_Temperatur) > 20.0) || + ((((Istwert_Ueberwachungsregler < -50.0) || + (Istwert_Ueberwachungsregler > 120.0) && Startup_finished))) || + (alarm_10 && Sammelalarm_quittiert); + + alarmOut.alarm_11 = + Status_Uebertemperatur || StatusQuittierung_Uebertemperatur; + alarmOut.alarm_12 = + Status_Untertemperatur || StatusQuittierung_Untertemperatur; + + alarmOut.alarm_13 = (((Istwert_Temperatur_Verdampferausgang < -50.0) || + (Istwert_Temperatur_Verdampferausgang > 120.0)) && + Startup_finished) || + (alarm_13 && Sammelalarm_quittiert); + + alarmOut.alarm_14 = + (Counter_Wasserkanister_leer > 10.0 && Startup_finished) || + (alarm_14 && Sammelalarm_quittiert); + + alarmOut.alarm_15 = + ((analogInput.real_in11 > Sollwert_Feuchte_Max && !Befeuchtung_aus) || + (analogInput.real_in11 < Sollwert_Feuchte_Min && !Entfeuchtung_aus)) || + (alarm_15 && Sammelalarm_quittiert); + + // Selbsthaltung der Alarm-Bits (wie ST-OR alarm_x ...) + alarm_09 = alarmOut.alarm_09; + alarm_10 = alarmOut.alarm_10; + alarm_13 = alarmOut.alarm_13; + alarm_14 = alarmOut.alarm_14; + alarm_15 = alarmOut.alarm_15; + + // return out; + } + +private: + // ===== ST: VAR CONSTANT ===== + static constexpr double sampling_time = 0.25; + + static constexpr std::array, 4> Kennfeld_Ueberhitzung{ + {// 0: Temperatur + std::array{-20.0, -10.0, 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, + 60.0, 70.0, 80.0, 90.0, 100.0}, + // 1: Skalierung Min + std::array{0.01, 0.02, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, + 0.8, 0.9, 1.0, 1.0}, + // 2: Skalierung Max + std::array{0.01, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, + 1.0, 1.0, 1.0}, + // 3: Sollwert Überhitzung + std::array{-6.0, -8.0, -10.0, -8.0, -6.0, -8.0, -10.0, -12.0, + -16.0, -20.0, -24.0, -28.0, -32.0}}}; + static constexpr std::array, 4> Kennfeld_Entfeuchtung{ + {// 0: Temperatur + std::array{-20.0, -10.0, 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, + 60.0, 70.0, 80.0, 90.0, 100.0}, + // 1: Skalierung Entfeuchtung + std::array{0.08, 0.08, 0.08, 0.10, 0.12, 0.14, 0.16, 0.18, + 0.20, 0.22, 0.24, 0.26, 0.28}, + // 2: Abtauzyklus Pause + std::array{120.0, 120.0, 120.0, 120.0, 120.0, 90.0, 60.0, + 60.0, 60.0, 0.0, 0.0, 0.0, 0.0}, + // 3: Abtauzyklus Dauer + std::array{60.0, 60.0, 60.0, 30.0, 20.0, 10.0, 8.0, 4.0, 2.0, + 0.0, 0.0, 0.0, 0.0}}}; + + // Kennfelder (nur die, die oben genutzt werden; den Rest kannst du genauso + // hinzufügen) + static constexpr std::array Kennfeld_Regler_Heizung_Xp{ + 0.2, 0.5, 0.8, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0}; + static constexpr std::array Kennfeld_Regler_Kuehlung_Xp{ + 0.1, 0.1, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.0}; + static constexpr std::array, 9> + Kennfeld_Regler_Befeuchtung_Xp{ + {std::array{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, + 0.02}, + std::array{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, + 0.02}, + std::array{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, + 0.02}, + std::array{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, + 0.02}, + std::array{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, + 0.02}, + std::array{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, + 0.02}, + std::array{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, + 0.02}, + std::array{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, + 0.02}, + std::array{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, + 0.02}}}; + static constexpr std::array, 9> + Kennfeld_Regler_Entfeuchtung_Xp{ + {std::array{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, + 0.20}, + std::array{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, + 0.20}, + std::array{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, + 0.20}, + std::array{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, + 0.20}, + std::array{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, + 0.20}, + std::array{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, + 0.20}, + std::array{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, + 0.20}, + std::array{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, + 0.20}, + std::array{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, + 0.20}}}; + + static constexpr std::array, 3> + Kennfeld_Sollwert_Feuchte_Limit{ + {std::array{0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100}, + std::array{80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80}, + std::array{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}}; + + // Zeitkonstanten etc. + static constexpr double Tau_Heizung_Tv = 10.0; + + // Faktoren + static constexpr double F_Xp_Heizung = 3.8; + static constexpr double F_Xp_Kuehlung = 33.6; + static constexpr double F_Xp_Befeuchtung_BINDER = 131.0; + static constexpr double F_Xp_Entfeuchtung = 100.0; + static constexpr double F_Xp_Tuer = 10.0; + + // ===== ST: VAR (Zustände / Merker) ===== + // (ich halte hier nur die, die im übersetzten Teil genutzt werden; den Rest + // kannst du 1:1 ergänzen) + double Istwert_Temperatur{}; + double Istwert_Temperatur_alt{}; + double Sollwert_Temperatur{}; + double Sollwert_Temperatur_alt{}; + double Sollwert_Gegenbefeuchten = 0.0; + double Regelabweichung_Befeuchtung_alt = 0.0; + double P_Anteil_Befeuchtung = 0.0; + double Counter_Entfeuchtung_Freigabe = 0.0; + bool Freigabe_Entfeuchtung = false; + double Counter_Heizung_Freigabe = 0.0; + bool Freigabe_Heizung = false; + double Counter_Befeuchtung_Freigabe = 0.0; + bool Freigabe_Befeuchtung = false; + bool Abtauzyklus = false; + double Counter_Zyklus_Entleeren = 0.0; + double Drehzahl_Verdichter_Kuehlung = 0.0; + double Drehzahl_Verdichter_Entfeuchtung = 0.0; + double Drehzahl_Verdichter = 0.0; + + /*PWM(double zyklus_min, double zyklus_max, double initial_zykluszeit = -1.0) + noexcept : Zyklus(0.0), Ausgabe(0.0), Zykluszeit((initial_zykluszeit > 0.0) ? + initial_zykluszeit : zyklus_max), Zyklus_MIN(zyklus_min), + Zyklus_MAX(zyklus_max) + {} + + bool step(double Stellgrad,double sampling_time,double Zyklus_MIN,double + Zyklus_MAX){*/ + PWM PWM_Heizung_Kessel = {10.0, 600.0, 0.0}; + PWM PWM_Heizung_Tuer = {10.0, 600.0, 0.0}; + PWM PWM_Nachfuellen = {10.0, 600.0, 0.0}; + PWM PWM_Heizung_Kesselrand = {10.0, 600.0, 0.0}; + PWM PWM_Heizung_Feuchtemodul = {10.0, 600.0, 0.0}; + PWM PWM_Kuehlventil = {10.0, 600.0, 0.0}; + PWM PWM_Entfeuchtungsventil = {10.0, 600.0, 0.0}; + + double Istwert_Ueberwachungsregler{}; + std::uint32_t Modus_Ueberwachungsregler{}; + double Offset_Ueberwachungsregler{}; + double Klasse_Ueberwachungsregler{}; + bool Wasserkanister_leer{}; + double Regler_Tuer_Tn = 700.0; + double Regler_Tuer_Tv = 60.0; + double Tau_Tuer_Tv = 60.0; + double Regler_Entfeuchtung_MAX = 0.0; + double Regler_Entfeuchtung_MIN = 0.0; + double Regler_Entfeuchtung_I_Anteil_MAX = 0.0; + double Regler_Entfeuchtung_I_Anteil_MIN = 0.0; + bool Freigabe_Kuehlung = false; + double Sollwert_Temperatur_Feuchtemodul_MIN = 110.0; + double Sollwert_Temperatur_Feuchtemodul_MAX = 130.0; + double Zyklus_Entleeren_Mittelwert = 600.0; + + double Grenzwert_Uebertemperatur{}; + double Schaltwert_Uebertemperatur{}; + bool Status_Uebertemperatur{}; + std::uint32_t Counter_Status_Uebertemperatur{}; + bool StatusQuittierung_Uebertemperatur{}; + + double Grenzwert_Untertemperatur{}; + double Schaltwert_Untertemperatur{}; + bool Status_Untertemperatur{}; + std::uint32_t Counter_Status_Untertemperatur{}; + bool StatusQuittierung_Untertemperatur{}; + + double Istwert_Feuchte{}; + double Istwert_Feuchte_alt{}; + double Sollwert_Feuchte{}; + double Sollwert_Feuchte_alt{}; + double Counter_Entleeren_Kessel{}; + + bool Regelung_AUS{}; + double Counter_Regelung_AUS{}; + bool Steuerkontakt_Standby{}; + bool Sammelalarm{}; + bool Sammelalarm_quittiert{}; + bool Sammelalarm_quittiert_alt{}; + double Regler_Kuehlung_Tv = 5.0; + double Tau_Kuehlung_Tv = 30.0; + double Theta_I_Kuehlung = 1.0; + + // Feuchte absolut + double p_H2Omax_Sollwert{}; + double p_H2Omax_Istwert{}; + double Taupunkt_Istwert{}; + double Sollwert_Feuchte_Absolut{}; + double Sollwert_Temperatur_Feuchtemodul{}; + double Counter_Kuehlung_Freigabe = 0.0; + + // Tür + bool Tuer_offen{}; + double Counter_Tuer_offen{}; + double Counter_Tuer_geschlossen{}; + double Istwert_Temperatur_Tuer{}; + double Regelabweichung_Tuer{}; + double Regelabweichung_Tuer_alt{}; + double Abschlaemmintegral = 0.0; + double Standby_Feuchtemodul = 0.0; + double Regelabweichung_Befeuchtung_alt_alt = 0.0; + double Regelabweichung_Entfeuchtung_alt = 0.0; + double Durchflussmenge_Einlassventil_Feuchtemodul = 400.0; + double Durchflussmenge_Abschlaemmventil_Feuchtemodul = 1500.0; + + // Startup / reset + std::uint32_t Counter_reset_flag{}; + bool Startup_finished{}; + + // Feuchte limit + std::uint16_t Index_Sollwert_Feuchte_Limit{}; + double Interpolation_Sollwert_Feuchte_Limit{}; + double Sollwert_Feuchte_Min{}; + double Sollwert_Feuchte_Max{}; + + // Abschaltung Feuchte-Regler + bool Sollwert_Feuchte_aktiv{}; + bool Steuerkontakt_Befeuchtung_aus{}; + bool Steuerkontakt_Entfeuchtung_aus{}; + bool Befeuchtung_aus{}; + bool Entfeuchtung_aus{}; + double Sollwert_Gegenheizen = 2.0; + // Parameter Indizes + std::uint16_t Index_Feuchte{}; + std::uint16_t Index_Temperatur{}; + std::uint16_t Index_Temperatur_ohne_Feuchte{}; + + // Reglerparameter + double Regler_Heizung_Xp{}; + double Regler_Kuehlung_Xp{}; + double Regler_Befeuchtung_Xp{}; + double Regler_Entfeuchtung_Xp{}; + double Regler_Tuer_Xp{}; + double Regler_Befeuchtung_Tv = 30.0; + double Regler_Befeuchtung_Tn = 100.0; + double Regler_Befeuchtung_Tz = 1200.0; + double Tau_Befeuchtung_Tv = 10.0; + double Tau_Befeuchtung_Tz = 5.0; + + // Regelkern Temperatur + double Sollwert_Temperatur_MIN{}; + double Sollwert_Temperatur_MAX{}; + + double Regelabweichung_Temperatur{}; + double Regelabweichung_Temperatur_alt{}; + double Regelabweichung_Temperatur_Mittelwert{}; + double Standardregelabweichung_Temperatur{}; + double Regelabweichung_Temperatur_Gradient{}; + double Standardgradient_Regelabweichung_Temperatur{}; + double Zykluszeit_Regelabweichung_Temperatur{}; + double Amplitude_Regelabweichung_Temperatur{}; + double Zykluszeit_Regelabweichung_Heizung{}; + double Zykluszeit_Regelabweichung_Kuehlung{}; + double Regelabweichung_Kuehlung_Gradient{}; + double Regelabweichung_Kuehlung_alt{}; + double Faktor_Kuehlung{}; + double Faktor_Gegenheizen_Band{}; + double I_Anteil_Kuehlung{}; + double D_Anteil_Kuehlung{}; + double Regelabweichung_Befeuchtung_Gradient{}; + double I_Anteil_Befeuchtung{}; + double Istwert_Temperatur_Verdampferausgang_PT1 = 0.0; + double D_Anteil_Befeuchtung{}; + bool Temperatursprung{}; + double Counter_Temperatursprung{}; + double Faktor_Entfeuchtung{}; + double Faktor_Gegenbefeuchten_Band = 5.0; + double I_Anteil_Entfeuchtung = 0.0; + double D_Anteil_Entfeuchtung = 0.0; + double I_Anteil_Tuer = 0.0; + double P_Anteil_Tuer; + double Regler_Heizung_MIN{}; + double Regler_Heizung_MAX{}; + double Regler_Heizung_I_Anteil_MIN{}; + double Regler_Heizung_I_Anteil_MAX{}; + double P_Anteil_Heizung{}; + double I_Anteil_Heizung{}; + double D_Anteil_Heizung{}; + double Stellgrad_Heizung{}; + double Stellgrad_Heizung_Mittelwert{}; + double Regelabweichung_Entfeuchtung_Gradient = 0.0; + double D_Anteil_Tuer = 0.0; + double Counter_Verdichter_aus = 0.0; + double Counter_Freigabe_Abtauzyklus = 0.0; + double Counter_Abtauzyklus; + double Stellgrad_Feuchtemodul_MAX{}; + double Skalierung_Nachfuellen_Temperatur_I_Anteil{}; + double Counter_Zyklus_Abschlaemmventil = 0.0; + const double Regler_Kuehlung_Tn = 200.0; + + double Stellgrad_Feuchtemodul_Boost{}; + const double Temperatur_Feuchtemodul_MAX = 200.0; + + // Feuchte - nur Platzhalter (weil spätere Ausdrücke referenzieren) + double Regelabweichung_Feuchte{}; + double Regelabweichung_Feuchte_alt{}; + double Regelabweichung_Feuchte_alt_alt{}; + double Regelabweichung_Feuchte_Mittelwert{}; + double Standardregelabweichung_Feuchte{}; + double Regelabweichung_Feuchte_Gradient{}; + double Standardgradient_Regelabweichung_Feuchte{}; + double Zykluszeit_Regelabweichung_Feuchte{}; + double Amplitude_Regelabweichung_Feuchte{}; + bool Feuchtesprung{}; + double Counter_Feuchtesprung = 0.0; + double Offset_Regelabweichung_Befeuchtung{}; + double Offset_Regelabweichung_Entfeuchtung{}; + double Stellgrad_Kuehlung{}; + double Stellgrad_Kuehlung_Mittelwert{}; + double Stellgrad_Befeuchtung{}; + double Stellgrad_Befeuchtung_Mittelwert{}; + double Stellgrad_Befeuchtung_Standby{}; + double Stellgrad_Entfeuchtung{}; + double Stellgrad_Entfeuchtung_Mittelwert{}; + double Z_Anteil_Befeuchtung{}; + + // Aktoren/Signale (Defaults, bis restliche Logik ergänzt ist) + bool HeizungKessel{}; + double Stellgrad_HeizungKessel{}; + bool HeizungTuer{}; + double Stellgrad_HeizungTuer{}; + bool HeizungKesselrand{}; + double Stellgrad_HeizungKesselrand{}; + bool Verfluessiger{}; + bool Nachfuellen{}; + bool Entleerpumpe{}; + bool HeizungFeuchtemodul{}; + bool HeizungFeuchtemodul_alt{}; + bool Abschlaemmventil{}; + double Stellgrad_Abschlaemmventil_zyklisch{}; + bool Kuehlventil{}; + double Stellgrad_Kuehlventil{}; + bool Entfeuchtungsventil{}; + double Stellgrad_Entfeuchtungsventil{}; + bool Verdichter{}; + double Stellgrad_Verdichter{}; + double Stellgrad_Pumpe{}; + double Stellgrad_Luefter{}; + double Stellgrad_Betauungsschutz{}; + double Temperatur_Feuchtemodul_Gradient = 0.0; + double Stellgrad_Feuchtemodul_MAX_adaptiv = 0.0; + double Counter_Nachlauf_Entleeren = 0.0; + double Counter_Pause_Entleeren = 0.0; + + // “Durchzug” (wird später in Überhitzungslogik gesetzt) + bool Durchzug{}; + bool Durchzug_alt{}; + double Counter_Durchzug{}; + + // Befeuchtungsmodul Zustände (Platzhalter, damit “Werte die auf Veränderung + // geprüft werden” passt) + double Temperatur_Feuchtemodul{}; + double Temperatur_Feuchtemodul_alt{}; + double Stellgrad_Feuchtemodul{}; + double Stellgrad_Feuchtemodul_Mittelwert{}; + double Stellgrad_Feuchtemodul_PT1{}; + double Stellgrad_Feuchtemodul_Nachfuellen{}; + bool Entleeren{}; + bool Entleeren_alt{}; + bool Entleerbehaelter_Oben{}; + bool Entleerbehaelter_Unten{}; + double Counter_Wasserkanister_leer{}; + double Regler_Entfeuchtung_Tv = 5.0; + double Regler_Entfeuchtung_Tn = 200.0; + double Tau_Entfeuchtung_Tv = 60.0; + double Theta_I_Entfeuchtung = 0.1; + double C_Entfeuchtung = 200.0; + double U_Entfeuchtung = 0.4; + double P_Entfeuchtung = 500.0; + double Regler_Entfeuchten_I_Anteil_MIN = 0.0; + double Drehzahl_Verdichter_MIN = 1800.0; + double Drehzahl_Verdichter_MAX = 4500.0; + double Drehzahl_Verdichter_adaptiv = 0.0; + + // Alarmbits mit Selbsthaltung + bool alarm_09{}; + bool alarm_10{}; + bool alarm_13{}; + bool alarm_14{}; + bool alarm_15{}; + bool Alarm_Wasser_Befeuchtungsmodul{}; + bool Alarm_Abwasser_Befeuchtungsmodul{}; + bool Alarm_PT100_Befeuchtungsmodul{}; + bool Alarm_Heizung_Befeuchtungsmodul{}; + bool Bandalarm_Temperatur{}; + bool Bandalarm_Feuchte{}; + bool Tueralarm{}; +}; + +// namespace UTILITY_FUNCTIONS + +// double PT100_ResistanceToTemperature_Linear(double R) +// { +// constexpr double R0 = 100.0; +// constexpr double alpha = 0.00385; // IEC-Näherung + +// return (R - R0) / (R0 * alpha); +// } + +class PT1 { +public: + PT1() = default; + void initialize(double fs, double t_cutoff) { + fs_ = fs; + ts_ = 1 / fs_; + double f_cutoff = 1. / t_cutoff; + tau_ = 1 / (2 * PI_CONST * f_cutoff); + lambda_ = 2 * tau_ / ts_; + b0_ = k_ / (1. + lambda_); + b1_ = k_ / (1. + lambda_); + a0_ = (1. - lambda_) / (1. + lambda_); + }; + + double step(double x) { + + double y = b0_ * x + s1_; + // s1 = b1*x - a1*y + s1_ = b1_ * x - a0_ * y; + return y; + }; + +private: + double s1_ = 0.; + double fs_ = 1.; + double ts_ = 1.; + double tau_ = 1.; + double a0_ = 0.; + double b0_ = 0.; + double b1_ = 0.; + double k_ = 1.; + double lambda_ = 1.; +}; + +#ifdef BUILD_TARGET_SOM +namespace appengine::state { +class IStateVariable; +} +#endif + +#ifdef BUILD_TARGET_SOM +class Controller : public ControllerBase { +public: + bool initialize(const char *configFilePath, + appengine::IAppLogic *appLogic) override; + void step() override; + void terminate() override; + +private: + appengine::IAppLogic *appLogic_{nullptr}; + + // Beispiel: du wirst für diese ST-Logik sehr viele StateVars mappen; + // hier nur exemplarisch: + std::shared_ptr tempVariable_; + std::shared_ptr tempSetPointVariable_; + + // TODO: bool_inXX / real_inXX / bool_outXX / real_outXX / alarm_XX als + // StateVariables holen (oder je nach AppEngine: arrays/IO mapping) + + ClimateAlgorithm algo_{}; + PT1 FILTERED_TEMP{}; + PT1 FILTER_TUER{}; + // Eingänge + std::shared_ptr const_duty_cycle_; + std::shared_ptr const_freq_; + std::shared_ptr Wasserstand_Oben_Config_; + std::shared_ptr Wasserstand_Unten_Config_; + std::shared_ptr Fuellstand_Config_; + std::shared_ptr SV_Tuer_Variable_; + std::shared_ptr SV_Verdampferausgang_; + std::shared_ptr SV_Befeuchtungsmodul_; + std::shared_ptr SV_Verdichter_on_; + std::shared_ptr Startup_; + std::shared_ptr CounterTuer_; + + // ausgänge + std::vector subscriptions_{}; + std::shared_ptr Heizung_Bef_Config_; + std::shared_ptr MV_Kuehlung_Config_; + std::shared_ptr Abschlaemmen_Config_; + std::shared_ptr Entleerpumpe_Config_; + std::shared_ptr Heizung_Kesselrand_Config_; + std::shared_ptr + Freigabe_Verfluessigerluefter_Config_; + std::shared_ptr Heizung_Innenraum_Config_; + std::shared_ptr Heizung_Tuer_Config_; + std::shared_ptr Uebertemperatur_Config_; + std::shared_ptr MV_Entfeuchtung_Config_; + std::shared_ptr MV_Druckluft_Config_; + std::shared_ptr + Ansteuerung_Wassereinlass_Config_; + std::shared_ptr + Ansteuerung_Verdichter_Config_; + std::shared_ptr Verdichter_Duty_Config; + std::shared_ptr Luefter_Innenraum_Config_; + + std::shared_ptr SV_Stellgrad_Heizung; + std::shared_ptr SV_Stellgrad_Kuehlung; + std::shared_ptr SV_Stellgrad_Befeuchtung; + std::shared_ptr SV_Stellgrad_Entfeuchtung; + // Regelgrößen + std::shared_ptr SV_Sollwert_Temperatur_; + std::shared_ptr SV_Temperatur_Variable_; + std::shared_ptr SV_Sollwert_Feuchte_; + std::shared_ptr SV_Feuchte_Variable_; + + // std::vector subscriptions_{}; +}; + +extern "C" BINDER_SIMULINK_API_EXPORT ControllerBase *create(); + +#else +class Controller { + +public: + bool initialize(const char *configFilePath); + void step(); + void terminate(); + +private: +#if 0 + appengine::IAppLogic *appLogic_{nullptr}; + + // Beispiel: du wirst für diese ST-Logik sehr viele StateVars mappen; + // hier nur exemplarisch: + std::shared_ptr tempVariable_; + std::shared_ptr tempSetPointVariable_; + + // TODO: bool_inXX / real_inXX / bool_outXX / real_outXX / alarm_XX als StateVariables holen + // (oder je nach AppEngine: arrays/IO mapping) + + ClimateAlgorithm algo_{}; + PT1 FILTERED_TEMP{} ; + PT1 FILTER_TUER{}; + // Eingänge + std::shared_ptr const_duty_cycle_; + std::shared_ptr const_freq_; + std::shared_ptr Wasserstand_Oben_Config_; + std::shared_ptr Wasserstand_Unten_Config_; + std::shared_ptr Fuellstand_Config_; + std::shared_ptr SV_Tuer_Variable_; + std::shared_ptr SV_Verdampferausgang_; + std::shared_ptr SV_Befeuchtungsmodul_; + std::shared_ptr SV_Verdichter_on_; + std::shared_ptr Startup_; + std::shared_ptr CounterTuer_; + + // ausgänge + std::vector subscriptions_{}; + std::shared_ptr Heizung_Bef_Config_; + std::shared_ptr MV_Kuehlung_Config_; + std::shared_ptr Abschlaemmen_Config_; + std::shared_ptr Entleerpumpe_Config_; + std::shared_ptr Heizung_Kesselrand_Config_; + std::shared_ptr Freigabe_Verfluessigerluefter_Config_; + std::shared_ptr Heizung_Innenraum_Config_; + std::shared_ptr Heizung_Tuer_Config_; + std::shared_ptr Uebertemperatur_Config_; + std::shared_ptr MV_Entfeuchtung_Config_; + std::shared_ptr MV_Druckluft_Config_; + std::shared_ptr Ansteuerung_Wassereinlass_Config_; + std::shared_ptr Ansteuerung_Verdichter_Config_; + std::shared_ptr Verdichter_Duty_Config; + std::shared_ptr Luefter_Innenraum_Config_; + + std::shared_ptr SV_Stellgrad_Heizung; + std::shared_ptr SV_Stellgrad_Kuehlung; + std::shared_ptr SV_Stellgrad_Befeuchtung; + std::shared_ptr SV_Stellgrad_Entfeuchtung; + // Regelgrößen + std::shared_ptr SV_Sollwert_Temperatur_; + std::shared_ptr SV_Temperatur_Variable_; + std::shared_ptr SV_Sollwert_Feuchte_; + std::shared_ptr SV_Feuchte_Variable_; + + //std::vector subscriptions_{}; +#endif +}; + +#endif + diff --git a/controller/libctrl_algo.so b/controller/libctrl_algo.so index f28ae240cabe81b116070f2eedb9437db6426e1e..316beff462b0147908dcd580544e232d07e11463 100755 GIT binary patch literal 27712 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 delta 4620 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 diff --git a/tests/CMakeFiles/tests.dir/filter-test.cpp.o b/tests/CMakeFiles/tests.dir/filter-test.cpp.o deleted file mode 100755 index f2fa7e2d3510e82292c8c14dec8bcb785ba94efd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 497664 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�>6YfWQ@y6mSqUiGavZ<#IgQ$iRmHnMUY-2VnWOG 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

0n%@&EQ5kap#T!fPtY$brG{X=O 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%0DC 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