Definition der externen Variablen

Bezeichner

Wertebereich

Default

Bedeutung

anzahl_belegt

[0; MAX_UNS16]

0

Bei lückenloser Belegung von var[i].* wird hier der Index der zuletzt definierten Variable +1 eingetragen (ilast+1).

Bei lückender Belegung von var[i].* wird hier der höchste Index der definierten Variablen +1 eingetragen (imax+1).

var[i].*

i:= [0; 214]

Datensätze zur Definition der Variablen

name

ASCII-String

 

Über den Namen wird die Variable identifiziert. Aus diesem wird ein Gesamtname für den NC-Kanal und die Oberfläche zusammengesetzt (z.B. V.E.<name>). Der Name darf dabei nicht länger als 20 Zeichen sein.

Gross- und Kleinbuchstaben werden unterschieden.

byte_offset

[0; MAX_SGN32]

-1

Der Parameter byte_offset legt die Position im Speicher fest, an welcher die Variable abgelegt wird.

Die Angabe dieses Parameters ist optional. Alle Variablen mit byte_offset = –1 werden im V.E. -Speicher lückenlos hintereinander (beginnend mit Offset 0) angereiht.

type

[BOOLEAN,
SGN08, UNS08, SGN16, UNS16, SGN32; UNS32, REAL64, STRING, benuterzdefiniert]

UNS32

Der Typ gibt den Datentyp der Variablen an. Neben elementaren Datentypen (SGN08,...,REAL64) und dem Datentyp STRING kann hier auch ein benutzerdefinierter Variablentyp (s. Kapitel) angegeben werden.

scope

[GLOBAL; CHANNEL]

CHANNEL

Beim Gültigkeitsbereich wird zwischen einem kanalspezifischen und einem kanalübergreifenden, globalen unterschieden.

synchronisation

[TRUE, FALSE]

TRUE

Der Schreib-/Lesezugriff erfolgt normalerweise synchron zur Bearbeitung. In Einzelfällen kann diese implizite Synchronisierung unterdrückt werden (s. Kapitel). Falls es sich bei der Variable um eine Variablenstruktur handelt, wird die Synchronisationsart an alle untergeordneten Strukturelemente vererbt. Zusätzlich kann bei der Typdefinition (s. Kapitel) die Synchronisationsart für jedes Strukturelement individuell festgelegt werden.

access_rights

[READ_WRITE, READ_ONLY, WRITE_ONLY]

READ_WRITE

Per Default ist ein Schreib-/Lesezugriff auf die Variablen möglich, welcher über den Zugriffsschutz eingeschränkt werden kann. Falls es sich bei der Variable um eine Variablenstruktur handelt, wird das Zugriffsrecht an alle untergeordneten Strukturelemente vererbt. Zusätzlich kann bei der Typdefinition (s. Kapitel) das Zugriffsrecht für jedes Strukturelement individuell festgelegt werden.

array_elements

[0; MAX_UNS16]

0

Ist die Variable nicht als Feld ausgelegt, so muss die Feldgrösse mit 0 angegeben werden. Ansonsten wird an dieser Stelle die Anzahl der Feldelemente festgelegt.

size

[0; MAX_UNS32]

Abgeleitet von Datentyp (s. Tabelle 1)

Die Angabe der Variablengröße ist optional. Ist sie nicht angegeben, wird die Größe der Variablen aus ihrem Variablentyp abgeleitet. Die Angabe der Variablengröße ist nur notwendig falls zusätzliche Alignmentbytes berücksichtigt werden müssen. Bei Feldern gibt der Parameter die Größe eines Einzelelements an.

create_hmi_interface

[TRUE, FALSE]

FALSE

Für jede Variable kann zusätzlich der Zugriff über die Oberfläche durch ein entsprechendes Kommunikationsobjekt ermöglicht werden, falls das Flag gesetzt ist. Für Variablen mit benutzerdefiniertem Datentyp hat dieser Parameter keine Auswirkung.