22.02.2013 Aufrufe

ECCO Manual 1.03.pdf - Horsch Elektronik AG

ECCO Manual 1.03.pdf - Horsch Elektronik AG

ECCO Manual 1.03.pdf - Horsch Elektronik AG

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Horsch</strong> <strong>Elektronik</strong> <strong>AG</strong><br />

Numerische Register<br />

Register gibt es in verschiedenen Varianten, die sich in ihrem Einsatzgebiet und der<br />

Wortbreite unterscheiden:<br />

AV Array bestehend aus 16-bit Elementen. Bis zu 256 Arrays, je bis zu 32767<br />

Elementen. Muss im .ARRAYS Block definiert werden.<br />

AW Array bestehend aus 32-bit Elementen. Bis zu 256 Arrays, je bis zu 32767<br />

Elementen. Muss im .ARRAYS Block definiert werden.<br />

C Counter. Der Einsatz von Zählern in neuen Programmen wird nicht mehr<br />

empfohlen. Besitzt eine interne Wortbreite von 16bit.<br />

FW Fliesskomma-Konstante. Ist eine gewöhnliche Konstante, bei welcher der<br />

Dezimalpunkt um vier Stellen verschoben wurde. Wird bei .SET_CONST definiert<br />

und im Zusammenhang mit Slaves und dem PAC verwendet.<br />

KV 16bit Konstante. Es sind bis zu 512 KV Konstanten möglich, die im<br />

.SET_CONST Block definiert werden.<br />

KW 32bit Konstante. Es sind bis zu 512 KW Konstanten möglich, die im<br />

.SET_CONST Block definiert werden.<br />

LV Lokales 16-bit Register einer Display-Routine oder einer Funktion. Bis zu 32<br />

Register möglich, die genaue Anzahl hängt von der Deklaration der Funktion<br />

oder Display-Routine ab.<br />

LW Lokales 32-bit Register einer Display-Routine oder einer Funktion. Bis zu 32<br />

Register möglich, die genaue Anzahl hängt von der Deklaration der Funktion<br />

oder Display-Routine ab.<br />

RV Globale 16bit Register. Die Anzahl hängt von .LIMITS ab, höchstens jedoch<br />

32767.<br />

RW Globale 32bit Register. Die genaue Anzahl wird in .LIMITS deklariert,<br />

höchstens jedoch 32767.<br />

SR Variable Strings. Die Anzahl wird in .LIMITS festgelegt, beträgt jedoch<br />

maximal 4096.<br />

ST Konstanter String in einer Landessprache. Bis zu 2048 Strings pro Sprache<br />

möglich.<br />

SW Systemregister. Die genaue Bedeutung der einzelnen Register befindet sich<br />

im Anhang 5. 4 „Systemregister“.<br />

T Globaler Timer. Bis zu 255 möglich, wobei die Obergrenze in .LIMITS<br />

festgelegt wird.<br />

ZW Zeitwert. Die genaue Anzahl hängt von .LIMITS ab, maximal jedoch 49.<br />

Indirekte Adressierung<br />

Wenn ein Wert in einem Register abgelegt wird, so wird dieses üblicherweise bereits<br />

bei der Kompilierung festgelegt. Dieses Festlegen heisst direkte Adressierung, da die<br />

Registeradresse direkt angegeben wird. Ein Beispiel ist RV001, was das erste RV-<br />

Register angibt.<br />

Indirekte Adressierung erlaubt es hingegen, die Adresse erst zur Laufzeit festzulegen.<br />

Andere Bezeichnungen sind Referenzen oder Pointer; die Idee ist in jedem<br />

Fall, die Adresse eines Werts in einem eigenen Register abzulegen. Damit können<br />

äusserst leistungsfähige Algorithmen implementiert werden, jedoch neigen Programme<br />

mit indirekter Adressierung zur Unleserlichkeit. Ein Beispiel ist RV(RV002). Um<br />

das genaue Register zu kennen, muss zuerst der Wert von RV002 bekannt sein. Hat<br />

RV002 den Wert 1, so greift die indirekte Adressierung auf den Wert RV001 zu.<br />

19.12.05 – Ver.: 1.03 <strong>ECCO</strong> Referenz - 27/305 -

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!