Dateifunktionen

BASIC2006

Die C-Control I hat die Möglichkeit den nicht verwendeten Programmspeicher als nicht flüchtigen Lese-/Schreibspeicher zu benutzen. Man spricht von sogenannten Dateifunktionen.

Eine Datei wird im freien Speicher nach dem Programmcode der C-Control im EEprom/Flashspeicher angehängt. Die Daten sind dann nicht flüchtig. Jedoch gehen sie nach dem Übertragen eines neuen Programms verloren, bzw. werden dabei überschrieben.

Man sollte bei sämtlichen Schreiboperationen mit dem EEProm/Flashspeicher immer vorsichtig sein und keine Print# in oft wiederholende Endlosschleifen oder ähnliches einbauen. Ein EEprom/Flashspeicher kann laut Hersteller unendlich oft gelesen werden, aber nur begrenzt beschrieben werden. Die garantierten Schreibzyklen liegen je nach Hersteller bei EEProms zwischen 100.000 und 1.000.000, bei Flashspeicher zwischen 10.000 und 100.000.

Die neuere Generationen der C-Control I haben einen Flashspeicher im Kontroller-Baustein integriert und können nach überschreiten der Anzahl von Schreibzyklen unzuverlässig arbeiten, wodurch der komplette Kontroller unbrauchbar wird. Die erste Generation hingegen hält das Programm in einem extra verwendeten EEprom-Speicherbaustein, welcher im Notfall getauscht werden kann.

Die Datei muss mit Angabe des Datei-Modus geöffnet werden und bei Nichtgebrauch wieder geschlossen werden.

Es werden 3 Zugriffs-Modi zur Verfügung gestellt:

  • Open# for write, die Datei wird zum Schreiben neu angelegt und Werte nach dem Öffnen mit Print# geschrieben.
  • Open# for append, die Datei wird zum Schreiben erweitert und Werte nach dem Öffnen mit Print# geschrieben.
  • Open# for read, die Datei wird zum Lesen geöffnet und Werte mit Input# ab dem Anfang gelesen.

Die Datei muss nach Verwenden wieder mit Close# geschlossen werden.

Mit Filefree kann abgefragt werden, ob noch weitere Werte geschrieben werden können. Mit Filesize kann die Größe der aktuellen Datei abgefragt werden.

Mit Basic++ wurden auch alternative Anweisungen für die mit einer "#" endenden Anweisungen eingeführt. Sie sind aber von funktional identisch.

  • Open# entspricht Open
  • Close# entspricht Close
  • Print# entspricht FPrint
  • Input# entspricht FInput

Bemerkung:

Um einzelne Werte zu speichern, kann man auch das EEProm Objekt verwenden.

Beispiel:

 Define pegel1 as AD[1]
 Define pegel2 as AD[2] 

 #Anfang 

 if minute=50 then
   Open# for write
   Print# day
   Print# hour
   Print# pegel1
   Print# pegel2
   Close#
 end if

 Goto Anfang

Siehe auch: OPEN

© 2004 - 2012 tappertzhofen. Alle Reche vorbehalten.
Seitenanfang | Impressum