BME Automatizálási és Alkalmazott Informatikai Tanszék Villamos laboratórium 1. PLC-k programoza sa Mérési útmutató Készítette: Oláh István mestertanár (olah.istvan@aut.bme.hu) 2014. szeptember Bevezetés A mérési a Siemens SIMATIC S7-1214C PLC programozása a Totally integrated Automation (TIA) Portál fejlesztőkörnyezet segítségével. A mérésen elvégzendő feladatok: Projekt létrehozása PLC konfigurációjának beállítása Bit logika, időzítők és számlálók programozása Címkék használata a program elemeinek kényelmes használatára Időzített végrehajtású blokk beállítása Diagnosztikai, működés megfigyelési szolgáltatások kipróbálása S7-1214 PLC és TIA Portal A mérésen használt PLC 14 digitális bemenettel (DI), 10 digitális kimenettel (DO), 2 analóg bemenettel (AI) és 1 analóg kimenettel (AO) (Signal Board) rendelkezik. A programozás létra diagram (Ladder Diagramm LAD), funkció blokk diagram (Function Block Diagram FBD), és strukturált vezérlő nyelv (Structured Control Language SCL) lehetséges. A PLC-k programja blokkokból áll. A használható blokk típusok: Organization Block (OB) alapvetően programszervezési célokra, Function (FC) alprogramok, amelyek a globális adatterületeket használják (szubrutin), és Function Block (FB) alprogramok, melyek saját adatblokkal hajthatók végre. A kódot tartalmazó blokkok hívhatják egymást maximálisan 16-os mélységben. A blokkok számozás 1 65535, de legfeljebb 1024 blokkot tartalmazhat egy program. A programvégrehajtás kitűntetett blokkok segítségével történik: OB1: főprogram (végtelen ciklus) OB100: indítási blokk (STOP RUN) OB 80: időzítési hibakezelés OB 82: diagnosztikai hibakezelés OB 1..200: ebben a tartományban további, eseménykezelő blokkok lehetnek: ciklikus időzített, időkésleltetés, hardver megszakítások
Moduláris program példa: A PLC program úgynevezett állapotvezérelt program: a bemenete, kimenetek és a memóriaváltozók állapota alapján hajtja végre a feladatokat. A PLC-ben használt memóriaterületek: Input (I), Output (Q az O használt a szervezési blokkokhoz), Memory (M). Használhatóak továbbá adatblokkok (DB), ezek összetett, előre definiált adatstruktúrák lehetnek (Global Data Block), illetve függvény blokkok hívási paraméterei lehetnek (Instance Data Block). Egy másik felosztása a memóriának: globális memória (I, Q, M terültek), PLC címkék (tag) (szimbolikus nevek a globális memória adataihoz), különböző adatblokkok és átmeneti memória (egy alprogram lokális, átmeneti memóriája, hivatkozás: L). A PLC adattípusai: Bitek és bitsorozatok (byte[8 bit] B, word[16 bit] W, dword[32 bit] D): I1.0, QB1, MW2, LD3 Egész (USInt, SInt, UInt, Int, UDInt, Dint U=unsigned, S=short[8 bit], D=double[32 bit], Int=integer[16 bit]): MB4, MW6, MD8 Lebegőpontos (Real [32 bit], LReal [64 bit] csak adatblokkban): MD11 Idő (time [32 bit]): T#1d_2h_3m_4s_5ms Dátum (date [16 bit]): D#2014-09-25 Napi idő (time of day [32 bit]): TOD#22:15:59.555 Dátum és idő (date and time long [12 byte]): DTL#2014-09-25-22:15:59.123456789 Karakter: a, T, @ Sztring: ABC További adattípusok: Tömbök, struktúrák, mutatók Az S7-1214C PLC a Siemens TIA Portal fejlesztő környezet segítségével programozható. A programnak két fő nézete van: a portál és a projekt nézet.
Egy új projekt létrehozása után először a hardvert kell konfigurálni, majd megírható a program. A hardver beállításának egyszerű módja nem specifikált PLC kiválasztása, majd a PLC hálózati keresése és hardverjellemzők feltöltése. (Lehetőség van az adott irányítási rendszer összeállítására a Siemens rendelési számok segítségével, de ebben az esetben a későbbi problémák elkerülése érdekében a pontos típusokat kell beállítani!) Az alapbeállítás után megkereshető a hálózaton a PLC.
A PLC felismerése után leellenőrizhetők az integrált bemenetek és kimenetek címei, illetve a teljes PLC konfigurációja. Szükség esetén a beállítások módosíthatóak! A Siemens S7-12xx PLC-k kezelnek egy belső adatbájtot rendszer bitekkel és egy másikat órajel bitekkel. Ezek használatát a PLC konfigurációjánál kell beállítani!
A PLC beállítása után elkezdhető a programozás. A navigációs ablakban megtalálhatóak a projekt elemei. A főprogram induláskor elő van készítve: üres OB1-es blokk.
1. példa: Alprogram (Function) készítése, amely a rendelkezésre álló kimenetekre másolja az órajel biteket. Létre kell hozni a program blokkot. Egy MOV utasítás segítségével az MB0 értéke átmásolható a QB0 bájtba. Az OB1-es főprogramból meg kell hívni az elkészített blokkot. A megfelelő műveletek szimbólumai projekt nézet jobb oldali paneljében megtalálhatók (Task Cards)!
Ezután a program letölthető a PLC-be, és kipróbálható! A letöltési funkció a projekt nézet listájában, a PLC-hez tartozó gyorsmenüben található!
2. példa: START/STOP logika két kapcsoló (nyomógomb) segítségével. Ez a hálózat a főprogramba, külön hálózatként kerül beillesztésre. A használható logikai műveletek a jobb oldali panelben megtalálhatóak.
3. példa: Késleltetés időzítő használatával. Szintén a főprogramba kerül egy egyszerű késleltetés megvalósítása időzítő segítségével. A hálózat a kapcsoló (bemenet) bekapcsolása után 2 másodperccel állítja be a kimenetet. A felhasznált időzítő On-Delay timer, az időzítők használata adatblokkot igényel, de ezt a fejlesztőkörnyezet elkészíti. Az időzítők működésével, és más utasításokkal, a rendszer működésével kapcsolatos információk a fejlesztő környezet Help-jében, illetve a Siemens leírásaiban megtalálhatók.
4. példa: Időzített végrehajtású blokk segítségével egy kimenet állapotának billegtetése. Új, ciklikus megszakítás által indított szervezési blokk létrehozása, és abban az egyik kimenet állapotának átbillentése.
A mérési feladatokat a segédletben található példák és a mérésvezető által megadott információk alapján kell elvégezni! Ellenőrző kérdések: Milyen lépéseket hajt végre a PLC indításkor, a főprogram első végrehajtása előtt? Milyen fázisokból, milyen lépésekből áll a PLC program végrehajtási ciklusa? Milyen típusú blokkok használhatóak a PLC programozásakor? Milyen időzítési, késleltetési lehetőségek használhatóak egy PLC programban?