# CC100_HW Hardwareanbindung für die digitalen Ein- und Ausgänge sowie die beiden PT-Temperatursensoren einer CC100-Steuerung. ### Inhaltsverzeichnis 1. [Funktionsumfang](#1-funktionsumfang) 2. [Voraussetzungen](#2-voraussetzungen) 3. [Software-Installation](#3-software-installation) 4. [Einrichten der Instanzen in IP-Symcon](#4-einrichten-der-instanzen-in-ip-symcon) 5. [Statusvariablen und Profile](#5-statusvariablen-und-profile) 6. [WebFront](#6-webfront) 7. [PHP-Befehlsreferenz](#7-php-befehlsreferenz) ### 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 - 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 Modul `CC100_HW` mithilfe des Schnellfilters gefunden werden. 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). **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 werden beim Erstellen der Instanz automatisch angelegt. Das Löschen einzelner Variablen kann zu Fehlfunktionen führen. #### Statusvariablen 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 | 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 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 #### PT-Werte manuell einlesen ```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.