ARRAY
Komplexní typ ARRAY dovoluje definovat více rozměrové proměnné typu vektor, matice až do n-rozměrné struktury. Elementy typu ARRAY mohou být libovolné datové
typy mimo formálních parametrů, jinými slovy, všechny elementy musí být stejného typu. Při deklaraci nelze vkládat jako element další typ ARRAY (vnoření) a
oblast musí být spojitá. Další omezení ohledně indexu rozměru (záporných, nulových), počtu rozměrů závisí na výrobci PLC. Typ ARRAY nemá pevnou velikost a
jeho velikost závisí na velikosti deklarace (rozměru) a velikosti použitého typu elementu. Definice typu ARRAY se provádí v závorkách s určením velikosti rozměru
a určením typu obsahu.
příklad struktury typu ARRAY [0..1, 0..2] |
definice |
typ |
index |
obsah |
MATICE |
ARRAY [0..1, 0..2] INT
nebo
ARRAY [1, 2] INT |
0 |
0 |
INTEGER |
0 |
1 |
INTEGER |
0 |
2 |
INTEGER |
1 |
0 |
INTEGER |
1 |
1 |
INTEGER |
1 |
2 |
INTEGER |
Příklad přístupu k položce [0,2] proměnné MATICE: MATICE[0,2]
Poznámka |
Rozměry vektoru, matice, ... by měly být v rozsahu větším než 1 (alespoň 2), v případě, že je rozměr roven 1, nemá použití tohoto rozměru význam. |
|
STRUCT
Komplexní datový typ STRUCT dovoluje definovat oblast dat různých typů mimo formálních parametrů. Při deklaraci je možno provádět vnoření dalších
strukturovaných typů proměnných ale ne mateční, aby nedošlo k rekurzi struktury. Počet vnoření struktur je dán typem PLC. Pro častokrát opakované struktury, bývá
možno vytvořit pre-definici, která obsahuje potřebnou definici proměnných a vkládá se jako uživatelem předdefinovaná struktura. Typ STRUCT nemá pevnou velikost a
jeho velikost závisí na počtu vložených elementů a velikosti použitých typu elementů. Definice se vkládá mezi klíčová slova STRUCT a END_STRUCT (podle typu
PLC).
příklad struktury typu STRUCT "ANALOG" |
definice |
typ |
poznámka |
ANALOG |
STRUCT |
začátek struktury |
|
P_ADRR |
BYTE |
adresa periferie |
ANA_IN |
WORD |
vstupní slovo periferie analogu |
U_MAX |
REAL |
horní limit |
U_MIN |
REAL |
dolní limit |
ANA_VAL |
REAL |
výsledná hodnota analogu |
LIM_MAX |
BOOL |
indikace přetečení |
LIM_MIN |
BOOL |
indikace podtečení |
|
END_STRUCT |
konec struktury |
Příklad přístupu k položce ANA_VAL proměnné ANALOG je v tečkové notaci: ANALOG.ANA_VAL
Poznámka |
Rozměry vektoru, matice, ... by měly být v rozsahu větším než 1 (alespoň 2), v případě, že je rozměr roven 1, nemá použití tohoto rozměru význam. |
|