C-Control II Station
7.4.2 Binärcodeinterpreter
Der C2-Compiler erzeugt aus dem Programmquelltext des Anwenderprogramms einen
Binärcode. Dieser kann in die C-Control geladen werden. Bei der Ausführung des
Anwenderprogramms wird der Binärcode schrittweise gelesen und interpretiert. D.h. für
jeden gelesenen Code wird eine definierte Operation ausgeführt.
Die virtuelle Maschine der C-Control II Station kennt vier Codeformen -zwei 16bit-Formen
und zwei 32bit-Formen:
Form
low-byte (low-word)
A
Befehl (0 ... 63)
B
Befehl (64 ... 127)
C
Befehl (128 ... 191)
D
Befehl (192 ... 255)
An dem Wertebereich, in dem der Befehlscode liegt, erkennt der Interpreter die
Befehlsform. Abhängig von der Befehlsform werden optional ein Byte-Parameter und ein
Word-Parameter geladen, bevor es zu Ausführung der dem Codewert zugeordneten
Operation kommt. Einen Überblick über alle verfügbaren Operationen zu geben, führt an
dieser Stelle zu weit und ist für das prinzipielle Verständnis der C-Control II nicht
erforderlich.
7.4.3 Multithreading
Ein Hauptmerkmal der C-Control II Unit ist die Unterstützung von Multithreading in
Anwenderprogrammen. Verschiedene Programmteile können quasi gleichzeitig und
voneinander unabhängig abgearbeitet werden. Dadurch lassen sich komplexe, in der
Applikation parallel und asynchron ablaufende Vorgänge auf einfache Weise behandeln.
Beispiel:
verschiedene Digitalports sollen ständig überwacht werden; bei Eintreten einer bestimmten
Kombination ist eine Pulsfolge mit vorgegebenem Timing auszugeben; gleichzeitig sind
ständig einige A/D-Kanäle zu überwachen und bei Überschreitung von Grenzwerten soll
ein Alarm ausgelöst werden; von der seriellen Schnittstelle werden in einem bestimmten
Rhythmus Datenrahmen erwartet, die ausgewertet und beantwortet werden sollen; über
den Drucker sollen Meßwerte ausgedruckt werden
In Programmteilen, die mit anderen Geräten kommunizieren, kann es Situationen geben,
36
high-byte (low-word)
-
Byte-Parameter
-
Byte-Parameter
high-word
-
-
Word-Parameter
Word-Parameter