C Control I Unit-M 2.0 BASIC 5 Vdc Inputs / outputs 16 x digital I/Os/8 x analog or digital I/Os/2 x analogue outputs (s 198822 Datenbogen
Produktcode
198822
26
werden. CCBASIC enthält dafür einige vordefinierte Konstanten: R1200, R2400, R4800, R9600 für die
Raten 1200 bis 9600 Bit pro Sekunde.
BAUD R2400
schaltet beispielsweise Sender und Empfänger auf die Rate von 2400 Bit pro Sekunde um.
Die weiteren Schnittstellenparameter - 8 Datenbits, kein Paritätsbit, 1 Stopbit -sind
fest und können nicht geändert werden. Die Handshake-Signale RTS und CTS werden in der
aktuellen Version nicht verwendet und sind in CCBASIC-Programmen nicht ansprechbar.
Raten 1200 bis 9600 Bit pro Sekunde.
BAUD R2400
schaltet beispielsweise Sender und Empfänger auf die Rate von 2400 Bit pro Sekunde um.
Die weiteren Schnittstellenparameter - 8 Datenbits, kein Paritätsbit, 1 Stopbit -sind
fest und können nicht geändert werden. Die Handshake-Signale RTS und CTS werden in der
aktuellen Version nicht verwendet und sind in CCBASIC-Programmen nicht ansprechbar.
Dateifunktionen
Die Dateifunktionen erlauben das Aufzeichnen von Messwerten oder anderen Daten oder können zum
Abspeichern von Information benutzt werden, die nach Ausfall der Betriebsspannung wieder in die
Programm-variablen geladen werden sollen. Der Speicherbereich im FLASH Speicher nach dem
Anwenderprogramm –meist der größte Teil - steht für diesen Zweck zur Verfügung. Der Speicher-
Bereich wird als eine Datei verwaltet, auf die lesend oder schreibend zugegriffen werden kann,
nachdem sie mit dem entsprechenden Attribut geöffnet wurde. Der Befehl zum Öffnen der Datei lautet
wie folgt:
OPEN# FOR WRITE
OPEN# F OR APPEND
OPEN# FOR READ
Dabei bedeutet WRITE das Öffnen zum Schreiben mit Überschreiben eventueller alter
Aufzeichnungen,
APPEND das Öffnen zum Schreiben mit Anhängen der neuen an die alten Aufzeichnungen und
READ das Öffnen zum Auslesen der Aufzeichnungen.
Es können nur Integerwerte gespeichert und gelesen werden. Jeder Wert belegt also 2 Bytes im
Speicher. Das Schreiben und Lesen erfolgt mit den Befehlen
PRINT# term
wobei das berechnete Ergebnis des Terms gespeichert wird, beziehungsweise
INPUT# variable
,wobei variable eine definierte Integervariable des Programms bezeichnet. Schreiben in und Lesen
aus der Datei erfolgt streng sequentiell. Dafür wird intern ein Dateizeiger verwaltet, der nach jedem
Zugriff um 1 erhöht wird. Vor jedem Schreiben sollte geprüft werden, ob noch genügend Platz im
Speicher zur Aufnahme der Daten vorhanden ist. Dafür kann die Funktion FILEFREE abgefragt
werden, die als Ergebnis die Größe des noch freien Speichers liefert (in Words). Folgendes Beispiel
zeigt die Anwendung der Funktion
DEFINE a WORD
DEFINE b WORD
DEFINE c WORD
DEFINE blocksize 3
. . .
IF FILEFREE >= blocksize THEN GOSUB writeblock
. . .
#writeblock
PRINT# a
PRINT# b
PRINT# c
RETURN
Vor jedem Lesen sollte geprüft werden, ob noch weitere Daten aufgezeichnet sind. Die Funktion dafür
lautet EOF (,,end of file”). Ihr Ergebnis ist -1, wenn in der Datei keine weiteren Daten verfügbar sind,
Abspeichern von Information benutzt werden, die nach Ausfall der Betriebsspannung wieder in die
Programm-variablen geladen werden sollen. Der Speicherbereich im FLASH Speicher nach dem
Anwenderprogramm –meist der größte Teil - steht für diesen Zweck zur Verfügung. Der Speicher-
Bereich wird als eine Datei verwaltet, auf die lesend oder schreibend zugegriffen werden kann,
nachdem sie mit dem entsprechenden Attribut geöffnet wurde. Der Befehl zum Öffnen der Datei lautet
wie folgt:
OPEN# FOR WRITE
OPEN# F OR APPEND
OPEN# FOR READ
Dabei bedeutet WRITE das Öffnen zum Schreiben mit Überschreiben eventueller alter
Aufzeichnungen,
APPEND das Öffnen zum Schreiben mit Anhängen der neuen an die alten Aufzeichnungen und
READ das Öffnen zum Auslesen der Aufzeichnungen.
Es können nur Integerwerte gespeichert und gelesen werden. Jeder Wert belegt also 2 Bytes im
Speicher. Das Schreiben und Lesen erfolgt mit den Befehlen
PRINT# term
wobei das berechnete Ergebnis des Terms gespeichert wird, beziehungsweise
INPUT# variable
,wobei variable eine definierte Integervariable des Programms bezeichnet. Schreiben in und Lesen
aus der Datei erfolgt streng sequentiell. Dafür wird intern ein Dateizeiger verwaltet, der nach jedem
Zugriff um 1 erhöht wird. Vor jedem Schreiben sollte geprüft werden, ob noch genügend Platz im
Speicher zur Aufnahme der Daten vorhanden ist. Dafür kann die Funktion FILEFREE abgefragt
werden, die als Ergebnis die Größe des noch freien Speichers liefert (in Words). Folgendes Beispiel
zeigt die Anwendung der Funktion
DEFINE a WORD
DEFINE b WORD
DEFINE c WORD
DEFINE blocksize 3
. . .
IF FILEFREE >= blocksize THEN GOSUB writeblock
. . .
#writeblock
PRINT# a
PRINT# b
PRINT# c
RETURN
Vor jedem Lesen sollte geprüft werden, ob noch weitere Daten aufgezeichnet sind. Die Funktion dafür
lautet EOF (,,end of file”). Ihr Ergebnis ist -1, wenn in der Datei keine weiteren Daten verfügbar sind,