Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
PLC PROGRAMOZÁSI NYELVEK
Készítette: Sallai Gábor Voura Dávid Lukács Péter Csinger Nikolett
2
Bevezetés Melyik a legkönnyebb, legkényelmesebb PLC programozási nyelv? Csak Tőled függ, hogy melyik tetszik. Bevezetés
3
Villamosmérnökök Nemzetközi Szervezete
Programnyelvek és azok jelöléseinek, utasításainak összegyűjtése, csoportosítása IEEE szabvány Bevezetés
4
Bevezetés
5
Struktúrált programnyelv (ST)
Szöveges, ST = Structured Programming Magas szintű (Pascal / C nyelvhez hasonló) Értékadó, feltételes, vezérlési és ciklusszervező utasítások Programsorok elválasztása pontosvesszővel Megjegyzések zárójelek között, csillag karakterrel határolva Teljes szöveges kód végrehajtódik ciklusonként Struktúrált programnyelv
6
Előnyei: Hátrányai: Hardver független nyelv
Bonyolult aritmetikai műveletek és függvénykapcsolatok A szöveges változók kezelése révén a technológiai változók azonosítása egyszerű Tömör, átlátható, jól követhető felépítés Hátrányai: Az ST nyelvről a végrehajtható kódot egy compiler állítja elő, amely hibalehetőséget rejt magában A nyelv által biztosított absztrakciók csak kellő gyakorlattal kezelhetők Struktúrált programnyelv
7
Lehetnek az operátorokkal azonos függvények
A függvényhívás egy kifejezés, de a funkcióblokk hívás egy utasítás. A funkcióblokk hívások tehát nem engedélyezettek egy kifejezésen belül Lehetnek az operátorokkal azonos függvények Amennyiben egy kifejezés több operátort tartalmaz, akkor a precedencia szabály lép életbe Alapszabályok: Változó értékének meghatározásához Operandus + ST operátor Kifejezés: numerikus, alfanumerikus karakterek és idő adatok (pl.: 15, „xyz”, t#5d-3h) változók (egy vagy több elemes, pl.: Var 1, Var [1,2,3] függvények visszatérési értékei pl.: FunName(Par1,Par2) összetett kifejezések Operandus: Struktúrált programnyelv
8
Struktúrált programnyelv
9
Utasítások: Funkcióblokk hívás RETURN EXIT
Értékadó utasítás „ := „ operátor használatával. Pl.: a := 20; b[0] = d**2; 1:= 20/6; e = REAL_TO_INT; Bináris értékadás műveletként Ha az értékadás nem hajtódik végre, akkor a változó megőrzi addigi értékét, nem íródik felül. Funkcióblokk hívás FunctionBlock ( FB név InputParameter1 := kifejezés1, InputParameter2 := kifejezés2, ); RETURN Kilépés függvényből, funkcióblokkból, vagy programból mielőtt befejeződik. EXIT Mindhárom iterációs utasításból közvetlen kilépést biztosít. j:=0; WHILE (j<10) DO i:=0; WHILE (i<10) DO IF (i=j) THEN EXIT; ELSE i:=i+1; END_IF; END_WHILE; j:=j+1; END_WHILE Struktúrált programnyelv
10
Feltételes utasítás IF CASE Iterációs utasítások WHILE REPEAT FOR
IF <Boole kifejezés> THEN <utasítások> ELSE END_IF CASE <Integer kifejezés> OF <1.érték> <1.utasítás> <2.érték> <2.utasítás> <3.érték> <3.utasítás> ELSE <utasítás> END_CASE Feltételes utasítás IF CASE Iterációs utasítások WHILE REPEAT FOR WHILE <Boole kifejezés> DO <utasítások> END_WHILE REPEAT <utasítások> UNTIL <Boole kifejezés> END_REPEAT FOR <iterációs változó kezdeti értéke> TO<végérték kifejezés> BY<inkrementáló kifejezés> DO<utasítások> END_FOR Struktúrált programnyelv
11
Utasításlistás programnyelv (IL)
Szöveges, IL = Instruction List PLC kialakulásával egyidős Alacsony szintű, gépi kódhoz közeli Siemensnél STL (Statement List) vagy AWL (Anweisungs-Liste) Utasítások sorozatából áll Utasításlistás programnyelv
12
Általánosan: Sorrendi végrehajtás, kivétel ugró utasítás A lépéseket feladatokra/Network-ökre kell bontani és megszámozni Operációs rész (Műveleti) - leggyakrabban logikai feltételek (ÉS, VAGY, NEM) - Siemensnél angol/német névnek a rövidítése Operandus rész – leggyakrabban kimenet be- vagy kikapcsolása, időzítő vagy számláló indítása Akkumulátor: Processzor regiszterei, belső adatmozgások és számítások Műveleti eredmény idekerül S7-300 – két darab 32 bites Adattípusa függ : művelettől, operandus adattípusától IL-ben jelölése CR (current result) Utasításlistás programnyelv
13
STL/AWL Utasításlistás programnyelv
14
Utasításlistás programnyelv
15
Feltételes végrehajtás – C (ha akkumulátor értéke TRUE) Kombinálhatók
Negálás – N Egymásba ágyazás – ( ) Feltételes végrehajtás – C (ha akkumulátor értéke TRUE) Módosító postfixek: Kombinálhatók Utasításlistás programnyelv
16
Ugrásnál akkumulátor értéke nem változik Minden sor címkézhető
Ugrások: Ugrásnál akkumulátor értéke nem változik Minden sor címkézhető Program tetszőleges címre ugorhat Előre ugrás, hátra ugrás (veszélyes!) Műveleti precedencia könnyen eltéveszthető!! Utasításlistás programnyelv
17
Futófény 4 lámpával, időzítők használatával, STL
Utasításlistás programnyelv
18
Létradiagram (LAD) Grafikus, LAD = Ladder diagram
Áramúttervből alakult ki Legnépszerűbb programozási nyelv Könnyű követhetőség Gyors hibadiagnosztika Már messze túllépett a relé jellegű logikán Létradiagram
19
Áramútrajz készítésének szabályai:
A működtető áramkörök áramútját két függőleges egyenes vonal, az áramforrás két pólusa közötti vízszintes egyenes mentén ábrázoljuk. A vízszintes vonalak, vagyis az áramutak kereszteződését kerülni kell Az áramutakat lehetőleg a működtető feszültségek szerint kell csoportosítani. A hatást kifejtő elem (mágneskapcsoló, relé tekercse, jelzőlámpa) egyik sarkát mindig közvetlenül kötjük be a jobb oldali függőleges egyenesbe, a földelt ágba földzárlat esetén így nem következik be hibás működés. Az építőelemeket mindig nyugalmi helyzetükben ábrázoljuk. Létradiagram
20
Network: egy tekercshez tartozó hálózatrész
LAD elemei: vezeték, csatlakozások, kontaktusok, tekercsek, függvények, funkcióblokkok Network: egy tekercshez tartozó hálózatrész Logikai kapcsolat: soros vagy párhuzamos kapcsolás Létradiagram
21
Létradiagram
22
Létradiagram programozás szabályai/lehetőségei:
(az áramútterv szabályain felül) Az összetartozó működtető és működtetett elemeket azonos betűjellel látjuk el Az egyes áramutakat a sorrendi működés szerint ábrázoljuk A létradiagram egyes elemeihez további adatok is írhatók A függvényblokkok és funkcióblokkok valamennyi funkciójáról gondoskodni kell Egy speciális funkció általában nem csatlakozhat közvetlenül a bal oldali referenciavezetékre, csak logikai feltételen keresztül. Ez alól kivétel a FB alkalmazás esete, amikor is legalább egy bemeneti Boole változónak kell a bal oldali sínre csatlakoznia A bal és jobb oldali vezetékre csak Boole típusú változó csatlakoztatható A létradiagramon visszacsatoló ágak is kialakíthatók Létradiagram
23
PLC ciklikus működésű. Minden egyes ciklusban a teljes
PLC ciklikus működésű Minden egyes ciklusban a teljes létradiagram kiértékelésre kerül. Létradiagram
24
Funkcióblokkos programnyelv (FBD)
Grafikus, FBD = Function Block Diagram Funkcióblokk = Szoftver IC , Téglalap jelölés Kis programokat tartalmazó blokkok összekapcsolása Funkcióblokkok a funkcióblokkban > Szubrutin felépítés Bemenet bal oldalon, Kimenet jobb oldalon > Jelfolyam balról jobbra Funkcióblokkos programnyelv
25
AND blokk - Siemens / Schneider / Programozói felület
Blokkok két főbb jellemzője: Bemeneti/Kimeneti paraméterek, belső változók adatai Algoritmus : - Feldolgozza a bemeneti paramétereket, változók adatait és előállítja a kimeneti jelet - Mindig végrehajtódik funkcióblokk meghívásánál, végrehajtásánál Funkcióblokkos programnyelv
26
Program felépítése nagyon hasonló a létradiagramhoz
Blokkok összekapcsolása huzalozással Létradiagramm és a funkcióblokk átkonvertálhatók egymásba Három nyomógomb, ha kettő aktív a kimenet is aktív, ha három aktív a kimenet nem aktív. Funkcióblokkos programnyelv
27
SORRENDI FOLYAMATÁBRA (SFC)
Grafikus, SFC = Sequential Flow Chart Grafcet francia nemzeti szabvány továbbfejlesztése Számítástechnikából, digitális technikából jött jelölések Négyzet vagy téglalap jelölés Kiértékelés fentről lefelé, balról jobbra Sorrendi folyamatábra
28
Lépés (Step) = Átmeneti feltételek (Translations) + Akciók (Actions)
Minden feltételhez, akcióhoz alprogram társul Ábrán: belső állapot, feltételek, kimeneti események „1 az n”-ből típusú állapotkódolásból fejlődött ki Feltételnél a bemenet , Akciónál a kimenet programozása Ciklusosságot programozni kell! Nem lehet közvetlenül a PLC-be tölteni Sorrendi folyamatábra
29
Kétvonalas átmenettel jelöljük A program mindegyik ágon folytatódik
ÉS elágazás A, Átmenet tiltva: 5-6 aktív, 4 nem aktív (a+bc=0 vagy 1) feltétel állapota közömbös B, Átmenet engedve: 4,5,6 aktív (a+bc=0) feltétel nem teljesül – átmenet tiltva C, Minden teljesül: 4,5,6 aktív és a (a+bc=1) teljesül Kötelező az átlépés D, C utáni állapot bekövetkezését tükrözi Átlépés párhuzamosan megy végbe: - 7. és 8. lépés aktív - 4., 5., 6. lépés inaktív - 7. és 8. lépés elérhető lesz Sorrendi folyamatábra
30
Egyvonalas átmenettel jelöljük Továbbhaladás csak az egyik ágon
VAGY elágazás Egyvonalas átmenettel jelöljük Továbbhaladás csak az egyik ágon Ágak belépésénél kizáró feltételek Megadható a feltétel vizsgálásának sorrendje Sorrendi folyamatábra
31
SFC igényli a legkevesebb ismeretet Léptetőrelé funkció (stepplader)
S600 lépés: X400 – aktiválás S601 – törlés Y430 – kimenet Törlési funkció nem kerül feltüntetésre Sorrendi folyamatábra
32
Köszönjük a figyelmet!
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.