Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaDániel Kiss Megváltozta több, mint 7 éve
1
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
2
Kódblokkok: Egy automatizálási feladat létrehozásakor a felhasználói programot, az utasításokat kód blokkokba (OB, FB vagy FC) helyezzük. Organization Block (OB): Az OB azaz a Szervezési blokk olyan kód blokk, amellyel az utasítások szervezhetők, rendezhetők. Számos alkalmazásban egy folyamatos ciklikus OB, mint az OB 1, tartalmazza a program logikát.
3
Organization Block A ciklikus program OB-n kívül a CPU rendelkezik egyéb Organization Blokkal, melyek speciális funkciókat láthatnak el pl.: Indítás funkció (Startup) Megszakítások és hibák kezelése (Interrupt-ok) Egy előre beállított időben fut le (Time of Day) Megszakít, ha egy eszköz paramétereit megváltoztatjuk (Update) Minden OB a CPU egy konkrét eseményére válaszol és félbeszakíthatja a felhasználói programot az előre megszabott prioritási osztályzásnak megfelelően.
4
Organization Block
5
További kódblokkok Funkció Blokk (FB):
A funkcióblokk egy olyan programblokk, amely a be- kimeneti értékeit egy hozzárendelt memóriablokkban tárolja, így ezek elérhetőek maradnak a funkcióblokk végrehajtása után is. A funkcióblokkban tárolt alprogramok akkor hajtódnak végre, amikor a funkcióblokkot meghívják egy másik programblokkból, azaz egyfajta szubrutin funkciót lát el. A funkcióblokk a program különböző pontjairól többször is hívható. Funkció (FC): A funkció egy olyan funkcióblokk, amely nem rendelkezik hozzárendelt memóriával, így a funkcióblokk által használt ideiglenes adatok a blokk végrehajtása után elvesznek.
6
További kódblokkok Adat Blokk (DB):
Az adatblokkok a felhasználói program adatai részére lefoglalt területek a memóriában. Lehetnek: Általános adatblokkok Hozzárendelt adatblokkok Az általános adatblokk felépítését a blokk nevére kattintva a megjelenő táblázatot kitöltve tudjuk megadni. Itt megadhatjuk a következőket: Változó neve Változó típusa Változó kezdeti értéke Nem felejtő memóriarekesz tartalmazza Megjegyzés A hozzárendelt adatblokkoknál csak a kezdeti értéket és megjegyzést adhatunk meg.
7
A felhasználói program felépítéstípusának megválasztása:
Az alkalmazás kívánalmaitól függően, a felhasználói program tervezésekor választhatjuk a moduláris, megszakításos vagy a lineáris, lefutó felépítést. Egy lineáris program az automatizálási feladat minden utasítását sorban egymás után hajtja végre. A lineáris programvégrehajtáskor az összes programutasítás egyetlen program ciklusban, jellemzően az OB 1-ben található a ciklikus program végrehajtásához.
8
Moduláris programszerkesztés és végrehajtás esetén a főprogram (OB) különböző kód blokkokat hív meg részfeladatok végrehajtására. Moduláris felépítés létrehozásához az összetett automatizálási feladatot fel kell osztani kisebb szubrutin feladatokra, amelyek a folyamat funkcionális feladatainak felelnek meg. A tervezés a kód blokkok megfelelő helyen való meghívását követeli.
9
Összetett feladat megoldásához célszerű a moduláris program szerkesztés és végrehajtás alkalmazása FB-k és FC-k megtervezésével. A hívó blokk meghatározó paramétereket biztosít a meghívott blokknak. Mikor egy kód blokk meghív egy másik blokkot, akkor a CPU megszakítja a program kódot és a meghívott blokkot hajtja végre. Ha a meghívott blokk végrehajtásra került, a program végrehajtás visszatér a hívó blokk végrehajtásához. A feladat végrehajtás a blokk meghívásától folytatódik.
10
Az alábbi ábra mutatja a moduláris program végrehajtás menetét:
A) Hívó blokk B) Meghívott (megszakító) blokk 1) Program végrehajtás 2) Utasítás vagy esemény, ami egy másik blokkot hív meg 3) Program végrehajtás 4) Blokk vége, visszatérés a hívó blokk végrehajtásához
11
Funkcióblokkok/moduláris struktúra előnyei:
A meglévő kód blokkok a felhasználói programban többször is felhasználhatók, így a program tervezése és végrehajtása egyszerűsödik. Létrehozhatunk újrahasználható blokkokat olyan általános feladatok, részfeladatok számára, mint például egy szelep vagy motor vezérlése. Ezeket az általános kód blokkokat elmenthetjük egy külön mappában, hogy más feladatoknál is felhasználhatóak legyenek. Ha a felhasználói programot moduláris elemekből építjük fel, amelyek funkcionálisan kapcsolódnak a feladathoz, akkor a program szerkezete könnyebben áttekinthetővé és kezelhetőbbé válik. A moduláris összetevők nem csak a programtervezést teszik könnyebbé, de lehetővé teszik a program kód egyszerűbb és gyorsabb frissítését, módosítását. Moduláris összetevők leegyszerűsítik a program esetleges hibáinak keresését. A teljes program kisebb program szegmensekre osztása lehetővé teszi az egyes kód blokkok külön tesztelését a fejlesztés során. A moduláris programtervezést kihasználva a komplett program tervezési ideje lecsökkenthető.
12
Adatblokkok létrehozása a program-adatok tárolására:
Az adat blokkok (DB) a felhasználói programban lévő kód blokkok adatainak tárolására szolgálnak. A felhasználói program tárolhat adatokat a CPU speciális memória helyein, mint például a: bemenetekét (I), kimenetekét (Q) bit memóriákat (M). Ezen kívül használhat DB-ket magának a program változónak tárolására és gyors hozzáférésének érdekében. Létrehozhat csak olvasható DB-t is. Egy DB-ben tárolt adatok nem törlődnek, amikor a DB-t bezárják vagy a hozzá tartozó kód blokk véget ér. Kétféle DB típus létezik: Globális DB: a programban lévő kód blokk adatait tárolja. Bármely OB, FB vagy FC hozzáférhet a globális DB-ben tárolt adatokhoz. Eset (instance) DB: speciális FB adatainak tárolására szolgál. Az adatok elrendezése egy eset DB-ben tükrözi a paramétereket és az állandó adatokat az FB-ben. Pillanatnyi memória nem tárolódik eset DB-ben.
13
Funkció Blokk Példa
14
Négy blokk közül tudunk választani:
A bal oldalon lévő Devices fül alatt, a PLC mappában találhatók a Program blokkok. Ezen belül érhető el a fő programozó kódblokkunk az OB (Organization Block). Itt az „Add new block”-ra kattintva előugrik egy ablak, ahol beilleszthetünk egy újabb kódblokkot. Négy blokk közül tudunk választani: OB (Organization Block) FB (Function Block) FC (Function) DB (Data Block) Válasszuk ki a Function Block-ot, majd nevezzük el.
15
Ebben a példában egy végtelenített periodikus jelet fogunk megcsinálni egy Funkció Blokkban. Ezt elég sokszor alkalmazzák ciklikusan futó automatikus programokban, mint például futófény, vagy szivattyú motorjának váltakoztatására. A fenti képen a Funkció Blokk szimbólumtáblája látható. Input: (Bemenet) Olyan paraméterek, melyek értékeit a blokk olvassa Output: (Kimenet) Olyan paraméterek, melyek értékeit a blokk kiírja InOut: Olyan paraméterek, melyek értékeit a blokk hívásakor és a feldolgozás után beolvassa, majd újra írja ugyanazzal a paraméterrel Static: Olyan paraméterek, melyek megjegyzik az előző állapotukat (memóriában tárolja) Temp: Változókat ideiglenesen tárolja, egy ciklus után már elveszti az értékét
16
A funkció blokkon belül megírjuk a programot
A funkció blokkon belül megírjuk a programot. Ez esetben létra diagramban, mivel a LAD formátumot választottuk. Végtelen időzítő programja:
17
Szimbólumtábla kitöltése:
A Bemeneti változók (Input): Engedélyezés, amellyel a periódus jelet tudjuk elindítani Ton(ms), mellyel a jel aktív idejét állíthatjuk be Toff(ms), mellyel a kikapcsolt állapot idejét állítjuk be
18
Szimbólumtábla kitöltése:
A Kimeneti változók (Output): Kimenet, ahol az ismétlődő jelet tudjuk kivezetni Ton_ET, és a Toff_ET,-vel monitorozni tudjuk az időzítő aktuális állapotát Statikus változók (Static): T1 és a T2 időzítőket rakjuk ide
19
Programunk így: A Bemeneti változók (Input):
Engedélyezés, amellyel a periódus jelet tudjuk elindítani Ton(ms), mellyel a jel aktív idejét állíthatjuk be Toff(ms), mellyel a kikapcsolt állapot idejét állítjuk be
20
Szimbólumtábla kitöltése:
A szimbólumtáblában használt változókat egy # szimbólummal hívhatjuk meg, és rendelhetjük hozzá a logikai operátorokhoz, vagy blokkok bemeneteihez, illetve kimeneteihez.
21
Funkcióblokk alkalmazása:
Miután a funkcióblokkunkat betettük a programunkba, generálódik egy hozzá tartozó Adatblokk (DB). Ez tárolja el és menti a jelgenerátorunk változóit, bevitt értékeit. Tulajdonképpen ez a FB saját memóriája.
22
Ugyanazon funkcióblokk többszöri alkalmazása:
23
Köszönjük a figyelmet!
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.