ECCO Manual 1.03.pdf - Horsch Elektronik AG
ECCO Manual 1.03.pdf - Horsch Elektronik AG
ECCO Manual 1.03.pdf - Horsch Elektronik AG
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 -