Skip to main content

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:

  1. CyWork – Modus-Verzweigung am Anfang des Automatik-Zweigs
  2. Neue Methode MischerCtrlRL() ergänzen
  3. InitSolarDaten – neue Parameter aus Tabelle übernehmen
  4. GetRetentiveJson / SetRetentiveJson – JSON-Serialisierung erweitern
  5. LoginToDataLog – neue Messwerte registrieren

6. Test

  1. Kompilieren: Sigmatek LASAL Class IDE → Build → muss ohne Warnings durchlaufen
  2. Download auf Test-PLC HZS 771 (.52)
  3. Solar-Modus (P_QuellenTyp = 0): Verhalten muss identisch zur Vorversion sein
  4. 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)