Irányítástechnika 1 9. Elıadás PLC-k programozása Irodalom - Helmich József: Irányítástechnika I, 2005 - Zalotay Péter: PLC tanfolyam - Jancskárné Anweiler Ildikó: PLC programozás az IEC 1131-3 szabvány szerint, 2006 - Klöckner-Möller PS3 és PRG3 felhasználói kézikönyv - Klöckner-Möller Hungária: Hardverleírás és tervezési segédlet, 2005
Az IEC1131-3 nemzetközi szabvány Célja: a hordozhatóság: amennyire lehetséges a függvények, függvényblokkok hardverfüggetlenek legyenek.
Az IEC1131-3 nemzetközi szabvány - programnyelvek
Fejlesztıi környezet
• grafikus programozói felület; • több ablakos rendszer; • egérmőveletek; • legördülı menü; • beépített hypertextes helpfunkció; • szoftveres ellenırzés a tervezés során.
Erıforrás elosztás Erıforrás: (resource) központi egység, processzor. Egy erıforráson több taszk futhat, amelyek a prioritásuk, vagy a végrehajtás típusa (ciklikus, periodikus, interrupt) alapján különböznek egymástól. A programokat taszkokhoz rendeljük, ez eredményezi a futásidıbeli programot. Egy program több taszkhoz is hozzárendelhetı (instancálás).
Programszervezési egységek
Függvény (FGV): paraméterezhetı POU statikus változók nélkül (emlékezet nélkül), amely azonos bemeneti paraméterekre mindig azonos eredményt szolgáltat. Függvényblokk (FB): paraméterezhetı POU statikus változókkal, azonos bemeneti értékekre adott kimeneti értékek függnek a belsı ill. globális változók memóriában tárolt értékeitıl. Program (PRG): fıprogramként szolgál. Minden olyan változót itt kell deklarálni, amelyet fizikai címekhez akarunk rögzíteni (pl. a PLC be- és kimeneteihez). Mindegyik POU saját, lezárt tulajdonságokkal rendelkezik és a compiler a többi POU-tól függetlenül képes lefordítani. A fordítónak egyébként szüksége van minden információra azokról a programelemekrıl (prototípusok), amelyeket az adott POU hív. A lefordított POU-k késıbb a LINK eljárással főzhetık össze egységes programmá.
Programszervezési egységek
Programszervezési egységek
Létradiagram - az észak-amerikai programozási stíluson alapul, az USA-ban szabványos elektromos rajzjeleket használja; - standardizált relé-készlet és létraprogramozási szimbólumok.
Létradiagram szimbólumai
Létradiagram szimbólumai
Létradiagram szimbólumai
Utasításlista
- gépközeli, akkumulátorra épülı, assembly típusú nyelv; - a német utasításlista nyelven alapul (Anweisungsliste: AWL); - soronként egy parancs a megengedett; - a legtöbb fejlesztıi környezet biztosítja a használatát.
Funkcióterv - Európában elterjedten használt grafikus programozási nyelv; - a programelemek, mint blokkok összeköthetık, hasonlóan a logikai áramköri rajzokhoz; - olyan alkalmazásokban használják, amelyek vezérlıkomponensek közötti adat vagy információáramlást tartalmaznak.
Strukturált nyelv
- PASCAL-ra emlékeztetı, magas szintő, blokkszervezéső nyelv; - megengedi az összetett utasításokat is; - támogatja a ciklikus végrehajtást (REPEAT-UNTIL; WHILE-DO); - támogatja a feltételes végrehajtást (IF-THEN-ELSE; CASE); - a függvényeket (SQRT(), SIN()).
Lefutó nyelv: állapotgráf, léptetılánc A vezérlési feladat sorosan és párhuzamosan végrehajtandó lépések sorozataként tervezhetı. A léptetılánc szemléletesen mutatja be a program lefutását, miközben megadja, hogy mely idıpontban, milyen feltételek teljesülése estén, milyen beavatkozás engedélyezhetı a vezérelt folyamatban. Az IEC-1131-3 szabvány a vezérlı algoritmus strukturálásában hangsúlyozza a programtervezési technika jelentıségét.
Változótípusok
Változó-deklaráció
Elemi adattípusok
Változótípusokhoz rendelhetı attribútumok
Közvetlen címzéső változók
Közvetlen címzéső változók
Parancssor
Akkumulátor Neve: CURRENT RESULT (CR), aktuális eredmény. A fordító (compiler) gondoskodik arról, hogy rendelkezésre álljon a feldolgozandó adattípusnak megfelelı hosszúságú adatterület (akku-tároló). Az összehasonlítások eredménye (igaz/hamis, 0/1), a CR –ben képzıdik. A feltételes ugrás vagy hívás a CR értékétıl függ. Egy mővelet a CR értékét : • beállítja (B), • módosítja (M), • változatlanul hagyja (V), • nem definiálja (U).
Mőveletek
Mőveletek
Mőveletek
Standard függvényblokkok
Standard függvényblokkok
RS tároló
Jelölés:
Belsı algoritmus:
SR tároló
Jelölés:
Belsı algoritmus:
Felfutó él detektálása
Jelölés:
Algoritmus:
Lefutó él detektálása
Jelölés:
Algoritmus:
Lefelé számláló
Jelölés:
Felfelé számláló
Jelölés:
Fel-le számláló
Jelölés:
Impulzus idızítı (TP = Time Pulse) Jelölés:
Idıdiagram
Bekapcsoláskésleltetéses idızítı Jelölés:
Idıdiagram
Kikapcsoláskésleltetéses idızítı Jelölés:
Idıdiagram
Projekt felépítése