You are on page 1of 6

Változók,

SIMON RÓBERT adattípusok, közös A J TON Y I I ST VÁ N -


V19/1
programozási P LC ÉS S C A DA -H M I
R E N D S Z ER E K I .
Ajánlott irodalom
elemek

POU változók Egyszerű nyelvi elemek


Változó típus Program (PROG) Funkcióblokk (FB) Funkció (FUN) Minden PLC program tartalmaz ún. egyszerű nyelvi elemeket, mint
VAR + + + ◦ határolók (delimiters),
◦ kulcsszavak (keywords),
VAR_INPUT + + +
◦ változók konstans értékei (literals),
VAR_OUTPUT + + -
◦ azonosítók (identifiers)
VAR_IN_OUT + + -
VAR_EXTERNAL + + -
Határolók
◦ A határolók (delimiters) olyan speciális karakterek, amelyek jelentése a használat helyétől függnek.
VAR_GLOBAL + - -
◦ Pl. Space, EOL (End of line), # + - . ; $ > < = >= <= stb.
VAR_ACCESS + - -
Egyszerű nyelvi elemek Egyszerű nyelvi elemek
Fenntartott kulcsszavak: Fenntartott kulcsszavak:
◦ A fenntartott kulcsszavak az IEC szabványban speciális célokat szolgálnak. Ismeretük azért fontos, mert ◦ A fenntartott kulcsszavakra példák:
ezek nem használhatók a felhasználó által definiált változó és más nevekben. ◦ ABS, AND, AND,
◦ A fenntartott kulcsszavak típusai: ◦ BOOL, BYTE, BY, BEGIN
◦ elemi adattípusok nevei (pl. INT, REAL stb.), ◦ CAL, CONSTANT, CONSTRAINT, COS, CTU,
◦ szabványos függvények nevei (pl. AND, MAX stb.), ◦ DATE, DT, DINT,
◦ szabványos funkcióblokkok nevei (pl. CTU, RTC stb.), ◦ ELSE, END_IF,
◦ szabványos függvények be- ill. kimeneti paraméterei (pl. AND, MAX stb.), ◦ FALSE, F_TRIG
◦ szabványos funkcióblokkok be- ill. kimeneti paraméterei (pl. AND, MAX stb.), ◦ FUNCTION
◦ EN és ENO változók a grafikus nyelvekben, ◦ GE, GT,
◦ az utasításlistás programnyelv (IL) operátorai, ◦ IF, JMP, LD, LWORD
◦ az ST nyelv elemei, ◦ MAX, MIN, NE
◦ az SFC nyelv elemei ◦ PROGRAM, Q, R_TRIG
◦ RET, RETURN, R_EDGE
◦ És még számos további kulcsszó

Egyszerű nyelvi elemek Egyszerű nyelvi elemek


Változók konstans értékei Azonosítók
Ezek a nyelvi elemek a változók értékeit reprezentálják (konstans faktorok). A formájuk függ a Olyan alfanumerikus karakter sztringek, amelyeket a PLC felhasználói program készítője használ
változó adattípusától. a változók, programok stb. azonosításához.

Három típust különböztetünk meg, amelyek: Azonosítókat az alábbi esetekben kell alkalmazni:
◦ ugrások és hálózat címkék esetén,
◦ numerikus karakterek (a bit sztring számok, az integer és a lebegőpontos adatok számszerű értékei),
◦ konstans felsorolások esetén,
◦ karakter sztringek értékei,
◦ konfigurációk, erőforrások, taszkok esetében,
◦ idővel kapcsolatos értékek. ◦ programok, függvények, funkcióblokkok esetében,
◦ címzési utak esetében,
◦ változók (általános, szimbolikus és direkt reprezentált változók) megadásánál, •
◦ származtatott adattípusok esetében,
◦ struktúrák komponensei esetében
◦ átmenetek, lépések, akcióboxok az ST nyelvben
Adattípusok
Adattípusok Az idő és dátum tárolása
Bool, bitfolyam Előjeles integer Előjel nélküli integer Lebegőpontos Idő, dátum Adattípus Leírás Kezdeti érték
BOOL INT UINT REAL TIME DATE Csak dátum d#0001-01-01
BYTE SINT USINT LREAL DATE TOD Csak idő tod#00:00:00.000
WORD DINT UDINT TIME_Of_DAY DT Dátum és napi idő dt#0001-01-01-00:00:00
DWORD LINT ULINT DATE_AND_TIME
LWORD STRING

Származtatott adattípusok Adat struktúrák


Az elemi adattípusok mellett a programozónak szüksége lehet ezen elemi adattípusokon alapuló
származtatott adattípusok definiálására is. Ez az eljárás „derivation”-ként vagy A többféle adattípusból a STRUCT és
típusdefiniálásként (type definiation) ismert. Ily módon a felhasználó/programozó létrehozhat END_STRUCT kulcsszavak által határolt kereten
egy, az elemi adattípusokon alapuló, de az adott alkalmazáshoz jobban illeszkedő adattípust. belül definiálhatunk összetett adat struktúrát. Az
Definiálása a TYPE és END_TYPE kulcsszavakkal történik. eljárás a C programozási nyelvben „typedef”
funkcióként ismert.
Az adat struktúrák tartalmazhatnak IEC szerinti
elemi adatokat vagy származtatott adatokat. Az
adat struktúra tartalmazhat ún. alstruktúrákat is.
TYPE
Pressure: REAL;
LongFloatNum: LREAL;
END_TYPE
Adat struktúrák Felsorolás jellegű adattípusok
TYPE PRESSURE_SENSOR: A felsorolás jellegű adattípusok megengedik különböző állapotok hozzárendelését egyedi
STRUCT nevekhez.
INPUT: PRESSURE; (* Korábban definiált TYPE *) A lenti példában egy eszközhöz többféle, különböző működési módot rendelünk egy eszközhöz.
STATUS: BOOL;
CALIBRATION: DATE;
HIGH_LIMIT: REAL;
ALARM_COUNT: INT;
END_STRUCT TYPE
END_TYPE DEVICE_MOD: (INITIALISING, RUNNING, STANDBY, FAULTY);
END_TYPE

Speciális változók
Változók A PLC-kben az inputok (bemenetek), az outputok (kimenetek) és a flagek (merker memória)
A változókat az adattípusukkal tekintendők speciális változóknak. Az ilyen változók címzésére két lehetőség van:
együtt deklaráljuk. ◦ Direkt reprezentált változóként
◦ Szimbolikus változóként
A deklarációt a változó típusának
meghatározásával kell kezdeni, Direkt reprezentált változók esetén a változó direkt címzés útján címezhető (pl. I/O modul cím,
majd annak blokkjában adhatjuk memória cím, stb.).
meg kötelezően vagy opcionálisan
a következőket: Ilyenkor a változó a % jellel kezdődik, ezt az I (input), Q (output) vagy M (flag/memória) betűk
◦ változó neve egyike követi, majd az adattípust reprezentáló betű (pl.: X-bit).
◦ adattípusa
◦ kezdeti érték %IX0.0
%QW12
%MW2
Direkt PLC címek Jelentése

Speciális változók %
I
Bevezető karakter
Input
A szimbolikus változók deklarálása szintén tartalmazza a változó nevét és a bemenet, kimenet Q Output
vagy flag/memória hozzárendelést. A direkt címzésre az AT kulcsszó utal. M Bitmemória
nem megadott Bit
X Bit
B Byte
W Word
D DWord
L LWord
V.W.X.Y.Z Fejlesztőkörnyezet, ill. PLC függő

VAR Példák
OUT_DISP AT %QB6: BYTE; % I W 6 Input memória terület, Word, 6-os cím
ADC_4 AT %QD4: DINT; % Q D 4.1 Output memóriaterület, DWord, 4-es modul, 1-es cím
END_TYPE
% I X 5.2.1 Input memóriaterület, 5. modul, 2-es cím, 1. bit

Változótípusok Változó attribútumok


Az egyes POU-k paraméterezett működéséhez szükséges definiálnunk ezeket a paramétereket. A A bemutatott változótípusok deklarálásakor az alábbi kiegészítéseket tehetjük a deklaráló
paramétereket, vagy más néven változókat az egyes változótípushoz tartozó deklarációs kulcsszó mellé:
blokkban hozhatjuk létre. ◦ RETAIN
◦ A változó olyan memória területen lesz elhelyezve, amely memóriának a táplálása elemes vagy akkumulátoros megoldású, így
Változótípusok: értékét a tápfeszültség kiesésekor is megtartja
◦ INPUT VAR_INPUT ◦ EXTERNAL VAR_EXTERNAL ◦ R_EDGE és F_EDGE
◦ Bemeneti változó – a POU szempontjából bemenő paraméter ◦ Külső változók elérése POU-n belülről
◦ Ez a két kiegészítés arra utal, hogy változóként a bemeneti (BOOL) változó felfutó (R_EDGE) vagy lefutó (F_EDGE) éle kerül
◦ OUTPUT VAR_OUTPUT ◦ ACCESS VAR_ACCESS feldolgozásra
◦ Kimeneti változó – a POU algoritmusa az eredményeket itt ◦ A konfiguráció globális változója, amelyet a kommunikációs ◦ READ_ONLY és READ_WRITE
tudja publikálni csatorna címzéséhez lehet használni
◦ VAR_ACCESS típusú címváltozókhoz vannak fenntartva
◦ IN/OUT VAR_IN_OUT ◦ Saját változók VAR ◦ Annak jelzésére szolgál, hogy az adott változót a PLC program módosíthatja-e, vagy csak olvashatja
◦ Bemenő és kimenő paraméter is egyben ◦ Kívülről nem látható változó, a POU csak saját maga használja
◦ GLOBAL VAR_GLOBAL ◦ Konstansok VAR_CONSTANT
◦ Globális változók ◦ A változó értéke nem módosítható (konstans) a program
◦ konfiguráció, erőforrás, illetve program szinten teljes futása alatt
Változó attribútumok
Változótípusok és RETAIN CONSTANT R_EDGE READ_ONLY
attribútumok F_EDGE READ_WRITE
összerendelhetősége
VAR + + - -
VAR_INPUT - - + -
VAR_OUTPUT + - - -
VAR_IN_OUT - - + -
VAR_EXTERNAL - - - -
VAR_GLOBAL + + - -
VAR_ACCESS - - - +

You might also like