PLC PROGRAMOZÁSI NYELVEK

Slides:



Advertisements
Hasonló előadás
Szerver oldali programozás
Advertisements

Definíciók: Algoritmus: bármely véges sok lépéssel leírható tevékenység. Olyan pontos előírás, amely megmondja, hogy egy adott típushoz tartozó feladat.
Algoritmusok.
Hatékonyságvizsgálat, dokumentálás
Összefoglalás 1. Pascal program szerkezete 2. Pascal típusai
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
3. előadás (2005. március 1.) Utasítások, tömbök
JavaScript.
Programozás alapjai.
Bevezetés a Java programozásba
C A C nyelv utasításai. Ismétlés Utasítások csoportosítása.
Jt Java Kifejezések,precedencia. jt 2 Egy kifejezés operandusokból és operátorokból (műveletekből) áll. A kifejezésben szerepelhet egy vagy több operandus,
Java programozási nyelv 2. rész – Vezérlő szerkezetek
Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 1 Fordítóprogramok 1 Programozó matematikus szak 2003/2004-es tanév II. félév.
Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 1 Fordítóprogramok 1.5 Programozó matematikus szak 2003/2004-es tanév II. félév.
PHP Webprogramozás alapjai
PIC processzor és környezete
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Nem determinisztikusság és párhuzamosság. A nem determinisztikusság a párhuzamosságban gyökeredzik. Példa: S par  parbegin x:=0   x:=1   x:=2 parend;
A RobotinoView programozása
Vizuális és web programozás II.
ISZAM III.évf. részére Bunkóczi László
A PLC-s vezérlés előnyei és alkalmazásai (Mitsubishi)
Kivételkezelés a C++ nyelvben Bevezetés
GÉPIPARI AUTOMATIZÁLÁS II.
Operációs rendszerek gyakorlat 4. Gyakorlat Vakulya Gergely.
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
C nyelv utasításai.
Ismétlés A pascal program szerkezete: program programnev; Programfej
Klasszikus Programozás a FoxPro-ban
Programozási nyelvek, Pascal
Operátorok Értékadások
Programozási nyelvek.
Készítette: Csíki Gyula
Hernyák Zoltán Programozási Nyelvek II.
A PLC programozási nyelvek bemutatása
Turbo Pascal Indítás: C:\LANGS\Turbo Pascal Turbo Pascal.
Vezérlés Ha a szakasz modellezhető csupa kétállapotú jellel, akkor mindig alkalmazható vezérlés. Lehet analóg jellemző (nyomás, szint, stb.), de a modellhez.
Programozás. Programozási nyelvek: Gépi nyelv A számítástechnika őskorában egyedüli lehetőség volt a gép bitsorozattal való programozása. Minden processzor.
Objektum orientált programozás
A Visual Basic nyelvi elemei
Funkciós blokkok A funkciós blokkok áttekintése Az alkalmazás előnyei.
Operátorok Vezérlési szerkezetek Gyakorlás
Programozás, programtervezés
Török Katalin és Marosi Nóra 11/c. Pascal: Az es években megjelent magas szintű programozási nyelv, közel áll az emberi gondolkodáshoz. Nevét.
1 Mivel foglalkoz(t)unk a laborokon? 1.Labor: Word alapok Excel alapok: Excel alapok: Cellahivatkozás, munkalapfüggvény, diagram varázsló, trendvonal 2.
Adva S  parbegin S 1 ...  S n parend; Párhuzamos programszerkezet két vagy több olyan folyamatot tartalmaz, amelyek egymással közös változó segítségével.
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Excel programozás (makró)
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Utasítás és blokk. Elágazás típusai, alkalmazása Kovács.
Strukturált programozás.  A strukturált programozás jelenti valamennyi ma használatos programtervezési módszer alapját  Széles körben elfogadott az.
Készítette: Weigel Szilvia számítástechnika szak III. évfolyam, Budapest – ADU A Logo programozási nyelv X.
Programozási nyelvek csoportosítása.
Programozási alapok.
Programozható Vezérlések Kódblokkok ismertetése és alkalmazása a SIEMENS TIA portal-ban (s PLC csoport) Kemenes Roland Török Dániel JP3AZQ X93S49.
PLC PROGRAMOZÁS Gyakorlat
Gépészeti informatika (BMEGEMIBXGI)
Excel programozás (makró)
Algoritmizálás.
Beépített függvények használata programozáskor
Programozás C# -ban Elágazások.
A CLIPS keretrendszer
Példa: Dinteger = {..., -1,0,1,...}; Dboolean = {true, false};
Bevezetés a programozásba Algoritmikus gondolkodás
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Számítógépes algoritmusok
Informatikai gyakorlatok 11. évfolyam
Algoritmus készítés.
Előadás másolata:

PLC PROGRAMOZÁSI NYELVEK Készítette: Sallai Gábor Voura Dávid Lukács Péter Csinger Nikolett

Bevezetés Melyik a legkönnyebb, legkényelmesebb PLC programozási nyelv? Csak Tőled függ, hogy melyik tetszik. Bevezetés

Villamosmérnökök Nemzetközi Szervezete Programnyelvek és azok jelöléseinek, utasításainak összegyűjtése, csoportosítása IEEE 61131-3 szabvány Bevezetés

Bevezetés

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

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

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

Struktúrált programnyelv

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

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

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

Á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

STL/AWL Utasításlistás programnyelv

Utasításlistás programnyelv

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

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

Futófény 4 lámpával, időzítők használatával, STL Utasításlistás programnyelv

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

Á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

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

Létradiagram

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

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

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

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

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

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

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

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

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

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

Köszönjük a figyelmet!