Definition von Variablentypen
Neben den benutzerdefinierten Variablentypen können auch die elementare Datentypen (BOOLEAN, ..., REAL64) und Zeichenketten vom Typ STRING verwendet werden:
Variablentyp | Größe |
|
BOOLEAN, UNS08, SGN08 | 1 Byte | |
UNS16, SGN16 | 2 Byte | |
UNS32, SGN32 | 4 Byte | |
REAL64 | 8 Byte | |
STRING | 128 Byte Ab der CNC-Version V2.10.1025.00 können Stringvariablen inklusive Endekennung bis zu 128 Zeichen umfassen. Aus Gründen der Abwärtskompatibilität muss für die Verwendung von Stringvariablen mit mehr als 20 Zeichen der Parameter use_extended_string_var = 1 gesetzt werden. In Abhängigkeit des Parameters use_extended_string_var sind Stringvariable auf folgende Zeichenlängen (inklusive Endekennung) begrenzt: use_extended_string_var = 0: 21 Byte (Default) use_extended_string_var = 1: 128 Byte |
VORSICHT | |
Falls in einer bestehenden Konfiguration nachträglich auf 128-Byte große Stringvariablen gewechselt wird (use_extended_string_var = 1), müssen die Adressen der externen Variablen im Speicher (Index, Byte-Offset) und die PLC angepasst werden, damit nachfolgende Variablen nicht überschrieben werden! |
Die Definition der Variablentypen erfolgt in der gleichen Konfigurationsliste wie das Festlegen der externen Variablen.
Im Konfigurationsfile können Kommentare ganzzeilig, oder am Ende einer Zeile eingefügt werden. Bei ganzzeiligem Kommentar muss am Zeilenanfang das Kommentarzeichen "'#", gefolgt von einem Leerzeichen eingefügt werden.
Soll am Ende einer Zeile ein Kommentar eingefügt werden, so muss vor dem Kommentar lediglich ein Leerzeichen vorhanden sein. Wurde in der Zeile jedoch ein String definiert, so muss dem Kommentar das Kommentarzeichen "(" vorangestellt werden.
Leerzeilen sind ebenfalls möglich.
Definition der Variablentypen:
Bezeichner | Wertebereich | Default | Bedeutung |
use_extended_string_var | [0; 1] | 0 | Mit dem Parameter „use_extended_string_var“ kann die zulässige Zeichenanzahl von Stringvariablen von 21 auf 128 Zeichen (jeweils inklusive Endmarke) erhöht werden. Falls die Adressen der V.E. Variablen in 24-Byte Blöcken (s.) vorgegeben sind, ist bei den 128 Byte großen Variablen vom Typ STRING zu beachten, dass sie im Speicherlayout mehrere 24-Byte Blöcke belegen und der Index entsprechend hochgezählt (vergl. Variablenarrays) werden muss. |
struct[i] .* | i:= [0; 29] | Datensätze zur Definition der Variablentypen. Das Schlüsselwort „struct“ ersetzt das in älteren CNC-Versionen gebräuchliche Token „type“. Auf Grund der Abwärtskompatibilität wird jedoch „type“ auch weiterhin unterstützt. | |
struct[i]. name | ASCII-String |
| Über den Namen wird der Variablentyp identifiziert. Er darf dabei nicht länger als 20 Zeichen sein. Gross- und Kleinbuchstaben werden unterschieden. |
struct[i]. element[j] .* | j:= [0; 49] | Datensätze zu Definition der Elemente des Variablentyps. | |
struct[i]. element[j].name | ASCII-String |
| Über den Namen wird das Strukturelement identifiziert. Er darf nicht länger als 20 Zeichen sein. Gross- und Kleinbuchstaben werden unterschieden. |
struct[i]. element[j].type | ASCII-String [BOOLEAN, | UNS32 | Der Typ gibt den Datentyp des Strukturelements an. Neben elementaren Datentypen (SGN08,...,REAL64) kann hier auch der Datentyp STRING oder ein benutzerdefinierter Datentyp angegeben werden. |
struct[i]. element[j].
| [TRUE, FALSE] | Wird von Variableninstanzierung geerbt (s. Kapitel) | Normalerweise erben alle Strukturelemente die Synchronisierungsart für den Schreib-/Lesezugriff (s. Kapitel) von der Variableninstanzierung. Mit diesem Parameter kann jedoch die Synchronisationsart für das Strukturelement individuell festgelegt werden. |
struct[i]. element[j]. access_rights | [READ_WRITE, READ_ONLY, WRITE_ONLY] | Wird von Variableninstanzierung geerbt(s. Kapitel) | Normalerweise erben alle Strukturelemente die Zugriffsrechte von der Variableninstanzierung. Mit diesem Parameter kann jedoch das Zugriffsrecht für das Strukturelement individuell festgelegt werden. |
struct[i]. element[j]. array_elements | [0; MAX_UNS16] | 0 | Ist das Strukturelement nicht als Feld ausgelegt, so muss die Feldgrösse mit 0 angegeben werden. Ansonsten wird an dieser Stelle die Anzahl der Feldelemente festgelegt. |