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
Page of 73
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]
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.
{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. 
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
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
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
zulässig ist BYTE[1] bis BYTE[140] (240 bei der M ADV)
WORD Variablen
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.
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