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 Data Sheet
Product codes
198822
USER VARIABLEN - USER DEFINIERT
In der Regel überlässt man dem Compiler die Aufteilung der Variablen auf den Speicherbereich. Für
spezielle Anwendungen kann aber der Anwender die Variablen auf bestimmte Speicherplätze selbst
verteilen. Der Anwender hat selbst Sorge zu tragen dass gemeinsame Speicherzellen nicht ungewollt
verändert werden, d.h BIT[8] teilt sich z.B.eine Speicherzelle mit BYTE[1] und WORD[1]
spezielle Anwendungen kann aber der Anwender die Variablen auf bestimmte Speicherplätze selbst
verteilen. Der Anwender hat selbst Sorge zu tragen dass gemeinsame Speicherzellen nicht ungewollt
verändert werden, d.h BIT[8] teilt sich z.B.eine Speicherzelle mit BYTE[1] und WORD[1]
In der Regel ist das nur erforderlich wenn Systemtreiber geladen werden welche bestimmte Variablen als
Schnittstelle zum BASIC Teil des Programms benötigen. Dann werden sie Speicherzellen für den Treiber
vom Anwender dafür reserviert und der verbleibende Rest dem Compiler zu Vergabe überlassen.
Schnittstelle zum BASIC Teil des Programms benötigen. Dann werden sie Speicherzellen für den Treiber
vom Anwender dafür reserviert und der verbleibende Rest dem Compiler zu Vergabe überlassen.
{BYTEOFFSET}
Der Präprozessor Befehl {BYTEOFFSET} legt den Startpunkt zur automatischen Vergabe des Index für Byte
und Word Variablen fest. Bei Byte und Word Variablen wird der Index immer inkrementiert.
und Word Variablen fest. Bei Byte und Word Variablen wird der Index immer inkrementiert.
Beispiel für die Vergabe von Variablen Für einen Systemtreiber und Compileranweisung zur Variablen-
reservierung. Byte [1] und Byte [2] sind hier für einen Treiber reserviert
reservierung. Byte [1] und Byte [2] sind hier für einen Treiber reserviert
Der Compiler beginnt hier mit der Vergabe der Variablen ab dem dritten Byte. MyByte3 wäre also Byte[3]
BIT Variablen
Die Speicherplätze können auf BIT Variablen verteilt werden. Da aber maximal 256 BIT Variablen zulässig
sind, kann nicht der ganze Variablenspeicher an BIT Variablen vergeben werden. Die höchste BIT Variable
ist BIT[256] und liegt im Speicher im höchsten Bit des Memory Bytes 32
Die Speicherplätze können auf BIT Variablen verteilt werden. Da aber maximal 256 BIT Variablen zulässig
sind, kann nicht der ganze Variablenspeicher an BIT Variablen vergeben werden. Die höchste BIT Variable
ist BIT[256] und liegt im Speicher im höchsten Bit des Memory Bytes 32
Acht BIT Variablen (Zustand ON oder OFF) belegen 1 Byte im Speicher.
zulässig ist BIT[1] bis BIT[256]
BYTE Variablen
Bytes (Wertebereich 0 ... 255) ist der kleinste numerische Datentyp 1 Byte = 8 Bit
Bytes (Wertebereich 0 ... 255) ist der kleinste numerische Datentyp 1 Byte = 8 Bit
zulässig ist BYTE[1] bis BYTE[140] (240 bei der M ADV)
WORD Variablen
Words (Wertebereich -32768 ... 32767) belegen 2 Byte = 16 Bit
Words (Wertebereich -32768 ... 32767) belegen 2 Byte = 16 Bit
zulässig ist WORD[1] bis WORD[70] (120 bei der M ADV)
EXTERNE USER VARIABLEN
Mit den Control Units kann auch auch auf ein externes I²C-Bus EEPROM direkt zugegriffen werden. Das
EEPROM ist als ausgelagerter Speicher zu verstehen und wird in BASIC++ mit CHIPRAM deklariert. Anders
als bei beim internen Variablen-Speicher werden FLOAT, WORD und BIT-Variablen nicht unterstützt. Das
externe EEPROM muss immer auf die I²C-Bus Adresse 160 eingestellt werden. Es wird jeweis ein Byte
geschrieben oder gelesen.
EEPROM ist als ausgelagerter Speicher zu verstehen und wird in BASIC++ mit CHIPRAM deklariert. Anders
als bei beim internen Variablen-Speicher werden FLOAT, WORD und BIT-Variablen nicht unterstützt. Das
externe EEPROM muss immer auf die I²C-Bus Adresse 160 eingestellt werden. Es wird jeweis ein Byte
geschrieben oder gelesen.
9
define MyByte as byte[1]
define MyWord as word[1]
define MyBit as bit[1]
define MyByte1 as Byte[1]
define MyByte2 as Byte[2]
{BYTEOFFSET 3}
define MyByte3 as Byte