SCHREIBEDATEI
Syntax :
SCHREIBEDATEI("Pfad/Dateiname","Text",Zeilenvorschubcode)
Mit dieser Anweisung können Textdateien erstellt werden.
Je nach Typ der verwendeten Zentrale werden unterschiedliche Verzeichnisse verwendet.
Als erster Parameter in der Klammer wird der Dateiname angegeben, Dieser Parameter ist vom Typ Zeichen und kann eine Konstanten oder eine Variable sein. Der Dateiname kann auch einen gültigen Pfad beinhalten, dieser muss dann aber schon vorhandenen sein, es wird kein neues Verzeichnis angelegt falls ein nicht existierendes Verzeichnis angegeben wird.
Die neue Zeile in der Datei wird an den vorhandenen Inhalt angehängt. Oftmals ist es erforderlich, dass die neue Zeile nicht angehängt wird, sondern als einziger Wert in der Datei stehen soll. Das ist z.B. der Fall wenn die Datei später mit LESEWERTEDATEI benutzt wird.
Um die Datei neu zu schreiben und den vorherigen Inhalt zu überschreiben, kann ein * als letztes Zeichen an den Dateinamen angehängt, beispielsweise:
SCHREIBEDATEI("Alterwert.txt*", Zeile, 1)
Als zweiter Parameter die Zeile, die in die Datei geschrieben werden soll, dieser Parameter ist vom Typ Zeichen und kann eine Konstamte in Hochkomma ober eine Variable sein,
Als dritter Parameter wird angegeben welcher Zeilenvorschub für die ausgegebene Zeile verwendet werden soll. Dieser Parameter ist vom Typ Zahl und kann als Konstante oder Variable angegeben werden. Es gibt folgende Codes für den Zeilenvorschub:
0 = kein Zeilenvorschub, die nächste Ausgabe beginnt unmittelbar hinter dieser Zeile
1 = Linux Zeilenvorschub (LF), es wird nur ein Linefeed ausgegeben, mit einem Editor unter Windows wird normalerweise kein Zeilenvorschub dargestellt. Wenn die Datei mit LESEWERTEDATEI gelesen werden soll, muss dieser Code für den Zeilenvorschub verwendet werden.
2 = Windows-Zeilenvorschub (CR/LF), es werden die für Windows üblichen zwei Codes für den Zeilenvorschub ausgegeben, so dass die Datei nach einem Download unter Windows mit einem Texteditor betrachtet werden kann. Im Normalfall sollte diese Option benutzt werden.
Bei der CCU1 werden die Textdateien auf einem USB-Stick, der in der Zentrale eingesteckt sein muss, geschrieben.
Bei der CCU2 kann sowohl auf die SD-Karte wie auch auf einen USB-Stick geschrieben werden.
Wenn auf die SD-Karte der CCU2 geschrieben werden soll muss diese über die WEB-UI initialisiert und eingebunden worden sein. Das passiert im Menüpunkt Einstellungen->Systemsteuerung->Speichereinstellungen.
Auf welches Medium bzw. in welches Verzeichnis geschrieben wird, kann im Reiter Zentrale des Hardwarefensters festgelegt werden. Bei der CCU1 kann das Verzeichnis nicht verändert werden, da nur das vorgegebene Verzeichnis verfügbar ist. Bei der CCU2 kann ein beliebiges Verzeichnis als Standardverzeichnis angegeben werden. Voreingestellt ist der Standardpfad für die SD-Karte. Falls standardmässig auf einen USB-Stick geschrieben werden soll, muss der Pfad /var/datadisk/ angegeben und der USB-Stick eingebunden werden.
Bei der CCU3 wird auf einen eingesteckten USB-Stick geschrieben, das Standardverzeichnis ist hier
/media/usb0/ .
Wenn in der Anweisung nur der Dateiname ohne Pfadangabe benutzt wird wird in das festgelegte Standardverzeichnis geschrieben. Wenn vor dem Dateinamen ein Pfad angegeben ist, der mit / beginnt, ist das eine absolute Pfadangabe und die Datei wird an den angegebenen Ort geschrieben. Wenn in ein Unterverzeichnis des Standardverzeichnisses geschrieben werden soll darf die Pfadangabe nicht mit / sondern muss mit dem Namen des Unterverzeichnisses beginnen. Das Unterverzeichnis muss existieren, also vorher angelegt worden sein.
Als erster Parameter in der Klammer wird der Dateiname (ggfs. mit Pfad) angegeben, als zweiter Parameter die Zeile, die in die Datei geschrieben werden soll. Beide Parameter sind vom Typ Zeichen und können Konstanten oder Variablen sein. Der Dateiname kann auch einen gültigen Pfad beinhalten, dieser muss dann aber auf dem USB-Stick vorhandenen sein erstellt werden.
Als dritter Parameter wird angegeben welcher Zeilenvorschub für die ausgegebene Zeile verwendet werden soll. Dieser Parameter ist vom Typ Zahl und kann als Konstante oder Variable angegeben werden. Es gibt folgende Codes für den Zeilenvorschub:
0 = kein Zeilenvorschub, die nächste Ausgabe beginnt unmittelbar hinter dieser Zeile
1 = Linux Zeilenvorschub (LF), es wird nur ein Linefeed ausgegeben, mit einem Editor unter Windows wird normalerweise kein Zeilenvorschub dargestellt.
2 = Windows-Zeilenvorschub (CR/LF), es werden die für Windows üblichen zwei Codes für den Zeilenvorschub ausgegeben, so dass die Datei nach einem Download unter Windows mit einem Texteditor betrachtet werden kann. Im Normalfall sollte diese Option benutzt werden.
Bevor ein USB-Stick entfernt wird muss die Anwendung SCHLIESSEDATEIEN ausgeführt werden, sonst gehen die zuletzt geschriebenen Daten bzw. Dateien verloren.
Bitte beachten Sie bei der CCU2 unbedingt:
Wenn ein USB-Stick verwendet wird muss dieser formatiert sein und vor dem Start der Zentrale eingesteckt werden. Nach dem Einstecken eines USB-Sticks muss die Zentrale ggfs. neu gebootet werden oder der USB-Stick muss über den entsprechenden Punkt des Webservers in der WEB-UI eingebunden werden.
Menüpunkt Einstellungen->Systemsteuerung->CL-Studio->Dateien bearbeiten.
Über diese WEB-Server-Seite können die Dateien bearbeitet werden und es kann ein Download der Dateien durchgeführt werden.
Bevor Dateien bearbeitet oder downgeloadet werden muss die Anweisung SCHLIESSEDATEIEN ausgeführt werden, damit alle geschriebenen Daten in den Dateien vorhanden sind. Ein USB-Stick sollte nicht entfernt werden bevor die Dateien durch Download gesichert wurden.
Bei der Angabe eines Pfads, bei dem in andere Verzeichnisse als die Standardverzeichnisse für SD-Karte oder USB-Stick geschrieben wird kann das Betriebssystem der Zentrale und die Systemstabilität beschädigt werden. Auf andere Verzeichnisse als die angegebenen Standardverzeichnisse kann über das Webserverprogramm nicht zugegriffen werden, d.h. Dateien an anderen Orten können nicht über das Browserprogramm gewartet werden. Benutzen Sie andere Verzeichnisse als die Standardverzeichnisse nur wenn Sie genau wissen was Sie tun und über entsprechende Fachkenntnisse verfügen.
Wenn das Standardverzeichnis für USB-Stick der SD-Karte angegeben wird und diese nicht eingebunden worden sind, wird in den RAM der Zentrale geschrieben.
Wenn die Dateien dort zu viel Platz beanspruchen wird die Funktionalität der Zentrale beeinträchtigt und es kommt zu Fehlfunktionen oder Absturz !
Die Anweisung SCHREIBEDATEI sollte also möglichst immer nur Dateien auf SD-Karte oder USB-Stick schreiben. Andernfalls müssen die Dateien regelmässig kontrolliert und ggfs. gelöscht werden. Andernfalls kann es passieren, dass zu viel Speicher der Zentrale belegt wird und ein normaler Betrieb nicht mehr möglich ist.
Beispiel:
(Zeile ist im Makro als Variable vom Typ Zeichen definiert)
Zeile:="Uhrzeit " + Uhrzeit + ": Bewegungsmelder Haustür"
SCHREIBEDATEI("BEWEGUNGEN.TXT",Zeile,2)
Beschreibung der Verwendung dieser Anweisung wenn der PC als Zentrale benutzt wird:
In welches Verzeichnis standardmässig geschrieben wird, kann im Reiter Zentrale des Hardwarefensters festgelegt werden.
Es kann auch Dateiname angegeben werden, der einen Pfad beinhaltet.
Beispiel:
SCHREIBEDATEI("c:\daten\CL\MeineDatei.txt","Das ist der Text",2)
|