From a459f66847e30b7cfba71875436a8df59e1421ca Mon Sep 17 00:00:00 2001 From: "belevo\\mh" Date: Mon, 20 Jul 2026 15:15:57 +0200 Subject: [PATCH] no message --- CC100_HW/README.md | 125 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 99 insertions(+), 26 deletions(-) diff --git a/CC100_HW/README.md b/CC100_HW/README.md index b059e3a..55caa12 100644 --- a/CC100_HW/README.md +++ b/CC100_HW/README.md @@ -1,5 +1,6 @@ -# Manager_1 -Beschreibung des Moduls. +# CC100_HW + +Hardwareanbindung für die digitalen Ein- und Ausgänge sowie die beiden PT-Temperatursensoren einer CC100-Steuerung. ### Inhaltsverzeichnis @@ -13,55 +14,127 @@ Beschreibung des Moduls. ### 1. Funktionsumfang -* +- Ansteuerung von vier digitalen Ausgängen +- Auswertung von acht digitalen Eingängen +- Auswertung von zwei PT-Temperatursensoren +- Automatisches Einlesen der Temperaturen alle 30 Sekunden +- Automatisches Einlesen der digitalen Eingänge alle 2 Sekunden +- Schreiben der Ausgangszustände in die CC100-Systemdatei +- Umrechnung der digitalen Eingangszahl in acht einzelne Schaltzustände +- Umrechnung der PT-Rohwerte in Temperaturwerte ### 2. Voraussetzungen - IP-Symcon ab Version 7.1 +- Linux-basiertes CC100-System +- Zugriff des IP-Symcon-Dienstes auf die benötigten Systemdateien +- Schreibberechtigung für die Datei der digitalen Ausgänge +- Vorhandene CC100-Kernel- und IIO-Treiber + +Folgende Systemdateien werden verwendet: + +```text +/sys/kernel/dout_drv/DOUT_DATA +/sys/devices/platform/soc/44009000.spi/spi_master/spi0/spi0.0/din +/sys/bus/iio/devices/iio:device2/in_voltage13_raw +/sys/bus/iio/devices/iio:device2/in_voltage1_raw +``` + +Das Modul ist wegen dieser fest eingetragenen Systempfade nur für die entsprechende CC100-Hardware vorgesehen. ### 3. Software-Installation -* Über den Module Store das 'Manager_1'-Modul installieren. -* Alternativ über das Module Control folgende URL hinzufügen +- Das Verzeichnis `CC100_HW` in die verwendete IP-Symcon-Modulbibliothek kopieren. +- Alternativ die zugehörige Modulbibliothek über die Modulverwaltung installieren. +- Anschließend die Modulbibliothek neu laden. ### 4. Einrichten der Instanzen in IP-Symcon - Unter 'Instanz hinzufügen' kann das 'Manager_1'-Modul mithilfe des Schnellfilters gefunden werden. - - Weitere Informationen zum Hinzufügen von Instanzen in der [Dokumentation der Instanzen](https://www.symcon.de/service/dokumentation/konzepte/instanzen/#Instanz_hinzufügen) +Unter `Instanz hinzufügen` kann das Modul `CC100_HW` mithilfe des Schnellfilters gefunden werden. -__Konfigurationsseite__: +Weitere Informationen zum Hinzufügen von Instanzen befinden sich in der [Dokumentation der Instanzen](https://www.symcon.de/service/dokumentation/konzepte/instanzen/#Instanz_hinzufügen). -Name | Beschreibung --------- | ------------------ - | - | +**Konfigurationsseite**: + +Name | Beschreibung +--- | --- +FilePath | Dateipfad zum Schreiben der digitalen Ausgangszustände +Standardwert | `/sys/kernel/dout_drv/DOUT_DATA` + +Im aktuellen Modulverzeichnis ist keine `form.json` vorhanden. Die Eigenschaft `FilePath` ist deshalb nicht über eine normale Konfigurationsseite auswählbar und verwendet standardmäßig den im Modul hinterlegten Pfad. ### 5. Statusvariablen und Profile -Die Statusvariablen/Kategorien werden automatisch angelegt. Das Löschen einzelner kann zu Fehlfunktionen führen. +Die Statusvariablen werden beim Erstellen der Instanz automatisch angelegt. Das Löschen einzelner Variablen kann zu Fehlfunktionen führen. #### Statusvariablen -Name | Typ | Beschreibung ------- | ------- | ------------ - | | - | | +Name | Ident | Typ | Beschreibung +--- | --- | --- | --- +DO 1 | Bit1 | Boolean | Digitaler Ausgang 1 +DO 2 | Bit2 | Boolean | Digitaler Ausgang 2 +DO 3 | Bit3 | Boolean | Digitaler Ausgang 3 +DO 4 | Bit4 | Boolean | Digitaler Ausgang 4 +DI1 | DI1 | Boolean | Digitaler Eingang 1 +DI2 | DI2 | Boolean | Digitaler Eingang 2 +DI3 | DI3 | Boolean | Digitaler Eingang 3 +DI4 | DI4 | Boolean | Digitaler Eingang 4 +DI5 | DI5 | Boolean | Digitaler Eingang 5 +DI6 | DI6 | Boolean | Digitaler Eingang 6 +DI7 | DI7 | Boolean | Digitaler Eingang 7 +DI8 | DI8 | Boolean | Digitaler Eingang 8 +PT1 Temperatur | PT1 | Float | Berechnete Temperatur des PT1-Eingangs +PT2 Temperatur | PT2 | Float | Berechnete Temperatur des PT2-Eingangs #### Profile -Name | Typ ------- | ------- - | - | +Name | Typ | Verwendung +--- | --- | --- +~Switch | Boolean | Darstellung der digitalen Ausgänge als Schalter +~Temperature | Float | Darstellung der PT-Werte als Temperatur + +Es werden keine eigenen Variablenprofile erstellt. ### 6. WebFront -Die Funktionalität, die das Modul im WebFront bietet. +Im WebFront werden folgende Werte dargestellt: + +- Vier digitale Ausgänge +- Acht digitale Eingänge +- Zwei Temperaturwerte + +Die digitalen Eingänge werden alle 2 Sekunden aus der CC100-Systemdatei gelesen. + +Die PT-Rohwerte werden alle 30 Sekunden eingelesen und anhand der im Modul hinterlegten Skalierungsbereiche in Temperaturwerte umgerechnet. + +#### Einschränkung der digitalen Ausgänge + +Die vier Ausgangsvariablen sind als bedienbare Schalter registriert. Die aktuelle `RequestAction()`-Implementierung verarbeitet die Identifikatoren `Bit1` bis `Bit4` jedoch nicht. + +Beim direkten Schalten über das WebFront wird deshalb die Fehlermeldung `Invalid Ident` ausgelöst. Die Bedienung der Ausgänge funktioniert erst nach einer entsprechenden Erweiterung von `RequestAction()`. ### 7. PHP-Befehlsreferenz -`boolean GEF_BeispielFunktion(integer $InstanzID);` -Erklärung der Funktion. +#### PT-Werte manuell einlesen -Beispiel: -`GEF_BeispielFunktion(12345);` \ No newline at end of file +```php +GEF_DOUT_ReadPTValues(12345); +``` + +Liest beide PT-Rohwerte ein, berechnet die Temperaturen und aktualisiert die Variablen `PT1` und `PT2`. + +Dabei muss `12345` durch die Objekt-ID der CC100_HW-Instanz ersetzt werden. + +#### PT-Werte über RequestAction aktualisieren + +```php +IPS_RequestAction(12345, 'DOUT_ReadPTValues', ''); +``` + +#### Digitale Ein- und Ausgänge aktualisieren + +```php +IPS_RequestAction(12345, 'UpdateFile', ''); +``` + +Diese Aktion liest die digitalen Eingänge ein und schreibt den aus `Bit1` bis `Bit4` berechneten Ausgangswert in die konfigurierte Systemdatei. \ No newline at end of file