ModulSolar Feststoff-Erweiterung: IDE-Anleitung Quelle: Stations/Dokumentation/IDE_Anleitung_ModulSolar_Feststoff_Erweiterung.md im onekey-Repo (Stand der Übernahme: 2026-07-26). Bei Codeänderungen dort zuerst aktualisieren. IDE-Anleitung: ModulSolar_ext um Feststoffkessel-Modus erweitern Diese Schritte werden in der LASAL CLASS 2 IDE durchgeführt, da sie die DECLARATION-Region der Klasse betreffen, die nicht direkt im Quelltext editiert werden darf (sie wird vom Codegen überschrieben). Nach Abschluss aller IDE-Schritte kann die zugehörige Logik im IMPLEMENTATION-Bereich ergänzt werden (siehe Abschnitt 5). 1. Neue Server-Channels anlegen Klasse ModulSolar_ext öffnen, im Reiter Server folgende Kanäle hinzufügen: Name Typ Retentive Initialize Default Kommentar P_QuellenTyp DINT File Ja 0 0 = Solar, 1 = Feststoffkessel P_RL_Soll DINT File Ja 60 Sollwert Rücklauf-Mindesttemperatur (°C) P_RL_Hyst DINT File Ja 3 Hysterese Rücklauf-Anhebung (K) P_MischerLaufzeit DINT File Ja 140 Mischer-Laufzeit gesamt (Sekunden) P_MischerInvert DINT File Ja 0 0 = normal, 1 = Motorrichtung invertiert P_MinKesselTemp DINT File Ja 60 Mindesttemperatur für Pumpenfreigabe (°C) RL_Ist DINT – Nein – Rücklauf-Ist-Temperatur (Read-Only Status) MischerPosition DINT – Nein – Mischer-Position 0-100% (Status) MischerState DINT – Nein – -1 = ZU, 0 = AUS, 1 = AUF Wichtig: Visualized = true (damit die Werte im UI verfügbar sind) WriteProtected = false bei den P_* -Parametern Bei RL_Ist , MischerPosition , MischerState : WriteProtected = true (nur Anzeige) 2. Hardware-Zuordnungen (I/O) In der Klassen-Eigenschaft ConfigClass oder analog zu In1_Assignment / Out1_Assignment zwei zusätzliche Konstanten anlegen: In4_Assignment (UINT) – Rücklauffühler (analog) Out5_Assignment (UINT) – Mischer AUF (digital) Out6_Assignment (UINT) – Mischer ZU (digital) Falls keine freien I/O-Plätze vorhanden sind: zwei vorhandene Outputs (z. B. Out3/Out4) umwidmen, dann muss aber die Manuell-Bedienung in CyWork entsprechend angepasst werden. 3. Struktur Datenstruct erweitern ( types.h ) Datei Stations/Terminal/LSL/Include/types.h öffnen, Struct Datenstruct (ab Zeile 256) ergänzen: Datenstruct : STRUCT ... // bestehende Felder QuellenTyp : USINT; // 0 = Solar, 1 = Feststoff RL_Soll : USINT; RL_Hyst : USINT; MischerLaufzeit : USINT; MischerInvert : USINT; MinKesselTemp : USINT; END_STRUCT; Achtung: Beim Hinzufügen am Ende ist die Größenänderung neutral für bestehende Module. Beim Einfügen in der Mitte würden alle Default-Tabellen verschoben. 4. DefaultValueSolar -Tabelle erweitern In ModulSolar_ext.st , Funktion DefaultValueSolar (in der TAB-Region) die neuen Felder ergänzen: 00000$USINT, //QuellenTyp --> 0 = Solar (Default) 00060$USINT, //RL_Soll --> 60 °C 00003$USINT, //RL_Hyst --> 3 K 00140$USINT, //MischerLaufzeit --> 140 s 00000$USINT, //MischerInvert --> 0 = normal 00060$USINT, //MinKesselTemp --> 60 °C 5. Logik-Implementierung in IMPLEMENTATION-Region Nach den obigen Schritten kompilieren ( batch.Compile(prj) ), dann den Logik-Code aus Code_Vorlage_Holzofen_Mode.md (im selben Verzeichnis) übernehmen: CyWork – Modus-Verzweigung am Anfang des Automatik-Zweigs Neue Methode MischerCtrlRL() ergänzen InitSolarDaten – neue Parameter aus Tabelle übernehmen GetRetentiveJson / SetRetentiveJson – JSON-Serialisierung erweitern LoginToDataLog – neue Messwerte registrieren 6. Test Kompilieren: Sigmatek LASAL Class IDE → Build → muss ohne Warnings durchlaufen Download auf Test-PLC HZS 771 (.52) Solar-Modus (P_QuellenTyp = 0): Verhalten muss identisch zur Vorversion sein Feststoff-Modus (P_QuellenTyp = 1): Pumpe nur ab P_MinKesselTemp , Mischer reagiert auf RL_Ist 7. Sicherheitshinweis Beim ersten Inbetriebnehmen des Feststoff-Modus an einer realen Anlage: Mischer manuell auf "AUS" testen (kein Stromfluss) P_MischerLaufzeit zunächst niedrig (z. B. 30 s) konfigurieren Endlagenschalter / mechanische Endanschläge prüfen Rücklauffühler-Plausibilität verifizieren (Realwerte 30-70 °C)