Array Offset

forellengarten

Level-1
Beiträge
217
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
ich bitte um einen kurzen Tipp, wie ich ein Array wie folgt anlegen kann (Twincat):


xyz: Array[Arraystart..Arraystart+AnzahlElemente]

Arraystart und AnzahlElemente möchte ich als Konstante ablegen.

Ich erhalte dabei immer einen Fehler (falscher Initialwert).

Für Eure Hilfe schonmal
! 1000 THANX !
 
Zuletzt bearbeitet:
So direkt geht das nicht, die Grenzen müssen Zahlen sein, und als Konstanten deklariert sein.

Code:
    xyz: ARRAY[Arraystart..AnzahlElemente] OF BYTE;

Du kannst die Anz. Elemente während der Laufzeit nicht verändern, somit musst du halt selber rechnen...
 
So direkt geht das nicht, die Grenzen müssen Zahlen sein, und als Konstanten deklariert sein.

Code:
    xyz: ARRAY[Arraystart..AnzahlElemente] OF BYTE;

Du kannst die Anz. Elemente während der Laufzeit nicht verändern, somit musst du halt selber rechnen...


nein, nein, es soll nicht während der Laufzeit geändert werden. Das ganze soll nur in der Variablendeklaration so stehen, damit das Array angepaßt wird, wenn die Konstante "AnzahlElemente" verändert wird (wäre bei Hardware-Änderung der Fall).
 
auch in der Definition von CONSTANT kannst du nicht rechnen

Konstanten werden mit dem Schlüsselwort CONSTANT gekennzeichnet. Sie
können lokal oder global deklariert werden.
Syntax:
VAR CONSTANT bzw. VAR_GLOBAL CONSTANT
<Bezeichner>:<Typ> := <Initialisierung>;
END_VAR
Beispiel:
VAR CONSTANT
con1:INT:=12; (* 1. Konstante*)
END_VAR
 
Zuletzt bearbeitet:
Genau, DU musst beim Deklarieren rechnen, das war auch das was eigentlich gemeint hatte...
(Aber da nur ganze, natürliche Zahlen verwendet werden dürfen, sollte das nicht das Problem sein :cool:)
 
Zurück
Oben