SIMATIC A STEP7 programozás alapjai Kivonatos alkalmazási segédlet az S7-300 PLC családhoz
Ingyenesen letölthető, csökkentett funkciójú STEP7 verzió (STEP7 Lite) a következő Internet címen: http://support.automation.siemens.com/WW/view/en/22764848
Készítette: Mérnök 2000 Kft. a Siemens zRt. A&D megbízásából. Copyright: Siemens zRt. A&D Budapest 2008. május
Figyelem! Ez a segédlet csak a gépkönyvekkel együtt használható. Az esetleges hibákért felelősséget nem vállalunk.
A STEP7 programozás alapjai segédlet
2
Tartalom 1
A programszerkezet kialakítása 1.1 1.2 1.2.1 1.2.2 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6
2
3
31
A tervezet szerkezete ........................................................................................ 31 Tervezet (Projekt) létrehozása .......................................................................... 32 Állomás beillesztése .......................................................................................... 32 Az S7-es program beillesztése.......................................................................... 33 Többnyelvű szövegek használata ..................................................................... 34 Micro Memory Card (MMC) adathordozóként ................................................... 36 Mit kell tudni a Micro Memory kártyáról (MMC)................................................. 36 Az MMC mint általános adathordozó................................................................. 37 A tervezet (projekt) elhelyezése az MMC-n....................................................... 37
Programmodulok (programblokkok) létrehozása 4.1 4.2 4.2.1 4.2.2 4.2.3 4.2.4 4.3 4.4
21
A STEP7 indítása .............................................................................................. 21 Objektumok és objektumhierarchia ................................................................... 22 A tervezet (projekt) objektum............................................................................. 23 A könyvtári objektum ......................................................................................... 23 Az állomás objektum.......................................................................................... 24 A programozható egység objektum................................................................... 25 Az S7/M7-Program objektum ............................................................................ 26 Programmodulok mappája................................................................................. 27 A forrásmappa objektum.................................................................................... 28 S7/M7-Program állomás és CPU nélkül ............................................................ 29
Tervezet (Projekt) létrehozása és feldolgozása 3.1 3.2 3.3 3.4 3.5 3.6 3.6.1 3.6.2 3.6.3
4
A CPU-ban lévő programok................................................................................. 7 A felhasználói programot alkotó programmodulok (blokkok) .............................. 7 Szervezőmodul (Organisationsblock).................................................................. 8 Hívási szerkezet a felhasználói programban..................................................... 13 A programmodulok (programblokkok) fajtái....................................................... 14 Szervezőmodul a ciklikus programfeldolgozáshoz (OB 1) ................................ 14 Függvények (FC) ............................................................................................... 16 Funkciómodul (FB) ............................................................................................ 17 Instant adatmodulok .......................................................................................... 19 Globális adatmodulok (DB)................................................................................ 19 Rendszer-FB-k (SFB) és rendszerfüggvények (SFC) ....................................... 19
A fejlesztőprogram (STEP7) 2.1 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8
7
39
A létrehozás módja ............................................................................................ 39 A program megjelenítési módjának kiválasztása .............................................. 40 LAD (Létradiagramm) ........................................................................................ 40 FBD (funkcióterv) megjelenítési mód ................................................................ 40 Az STL (utasításlista) megjelenítési mód: ......................................................... 41 Az SCL (strukturált vezérlési nyelv)................................................................... 41 Programmodulok létrehozása............................................................................ 42 Programmodulok (blokkok) összehasonlítása................................................... 43
A STEP7 programozás alapjai segédlet
3
Tartalom
5
Kódmodulok létrehozása 5.1 5.2 5.3 5.4 5.5
6
A programszerkesztő ablakának felépítése....................................................... 45 A változók deklarálása....................................................................................... 47 Az utasításrész felépítése ................................................................................. 48 Programmodul hívás aktualizálása.................................................................... 48 A csatlakozófelületek megváltoztatása.............................................................. 49
Adatmodulok (adatblokkok) létrehozása 6.1 6.2 6.3
45
51
Alapok ................................................................................................................ 51 Az adatmodul deklarációs nézete...................................................................... 52 Az adatmodulok adatnézete .............................................................................. 53
A STEP7 programozás alapjai segédlet
4
Tartalom
Ábrák 1-1 ábra 1-2 ábra 1-3 ábra 1-4 ábra 1-5 ábra 1-6 ábra 1-7 ábra
Ciklikus programfeldolgozás ................................................................... 10 Eseményvezérelt programfeldolgozás (megszakítás) ............................ 11 Lineáris, illetve strukturált programozás.................................................. 12 Hívási szerkezet a felhasználói programban .......................................... 13 Ciklusidő .................................................................................................. 15 Ciklusfelügyeleti idő................................................................................. 16 Adatmodulok hozzáférési lehetőségei..................................................... 19
Táblázatok 1-1 táblázat 1-2 táblázat 1-3 táblázat 1-4 táblázat 1-5 táblázat 6-1 táblázat 6-2 táblázat
STEP7 programmodulok ........................................................................... 8 Megszakításfajták...................................................................................... 9 A ciklikus programfeldolgozás lefutása ................................................... 14 Aktuális paraméterek típusai ................................................................... 18 Kezdeti értékek hozzárendelése ............................................................. 18 Deklarációs nézet oszlopai...................................................................... 52 Adatnézet oszlopai .................................................................................. 53
A STEP7 programozás alapjai segédlet
5
A programszerkezet kialakítása
1
1.1
1
A CPU-ban lévő programok A PLC központi egységében (CPU) tulajdonképpen egyszerre két különböző program fut. • az operációs rendszer, és a • felhasználói program.
Az operációs rendszer Minden CPU tartalmaz egy operációs rendszert, amely minden olyan funkciót és folyamatot irányít, amelyek nincsenek valamelyik specifikus vezérlési feladattal kapcsolatban. Feladatai közé tartozik: • az új indítás (Warmstart) és újraindulás végrehajtása • a bemeneti és kimeneti folyamati tárkép aktualizálása • a felhasználói program hívás • megszakításkérések érzékelése és a megszakítási OB-k hívása • hibák felismerése és kezelése • tárterületek kezelése • a kommunikáció végrehajtása a programozó készülékkel és más kommunikációs partnerekkel
A felhasználói program • A felhasználói programot a programozó készíti el, és tölti a PLC-be. Minden olyan műveletet tartalmaz, ami specifikus irányítástechnikai feladatai végrehajtásához szükséges.
1.2
A felhasználói programot alkotó programmodulok (blokkok) A STEP7 fejlesztőprogram lehetőséget biztosít a felhasználói program strukturálására, azaz különálló, magukban zárt programrészletek írására. Egy ilyen strukturált programírás a következő előnyökkel bír. • Nagyméretű programokat áttekinthetően lehet programozni • Szabványos, többször felhasználható programrészeket lehet létrehozni • A programszervezés egyszerűsödik • Könnyebben lehet programváltoztatásokat végrehajtani
A STEP7 programozás alapjai segédlet
7
A programszerkezet kialakítása
• A program kipróbálása egyszerűbb, mert részletekben helyezhető üzembe
A programmodulok fajtái A STEP7-es programban különféle programmodulok alkalmazhatók. 1-1 táblázat
STEP7 programmodulok
Programmodul
Rövid leírása
Szervezőmodul (OB)
A felhasználói program szerkezetét határozzák meg
Rendszer-FC-k (SFC) és rendszer FB-k (SFB)
Az SFB-k és SFC-k a CPU-ba beépített függvények és rendszerműveletek, illetve gyakran használt egyéb műveletek végrehajtására szolgálnak.
Funkciómodul (FB)
A felhasználó által programozott program modulok, amelyeknél a paraméterek automatikusan adatterületet kapnak.
Függvények (FC)
A felhasználó által programozott program modulok, amelyek nem rendelkeznek a paramétereik számára automatikusan adatterülettel.
Instant-adatmodulok (Instant-DB)
A fejlesztőprogram minden FB-híváshoz Instant-DB-t rendel, és azt automatikusan létre is hozza.
Adatmodulok (DB)
Adatok tárolására szolgáló területek a felhasználói tárban. Szemben az FB-khez rendelt Instant-adatmodulokkal ezek ún. globális adatterületek.
A DB-k kivételével a többi programmodul végrehajtható programkódokat tartalmaz, ezért ezeket kódmoduloknak is nevezik. Számuk és megengedett hosszuk CPUfüggő.
1.2.1
Szervezőmodul (Organisationsblock) A szervezőmodulok (OB-k) képezik a csatlakozófelületet az operációs rendszer és a felhasználói program között. Az OB-ket mindig az operációs rendszer hívja, amennyiben a velük kapcsolatos esemény bekövetkezett (például megszakításkérés, ciklikus programfuttatás, a különféle indítási módok, illetve a hibák kezelése). A programozó a szervezőmodulokba írt programmal tudja a CPU viselkedését a fenti esetekben meghatározni.
A STEP7 programozás alapjai segédlet
8
A programszerkezet kialakítása
Megszakításfajták és prioritás Azokat az eseményeket, amelyek egy adott OB indítását előidézik, megszakításoknak (Alarm, interrupt) is hívják. Az alábbi táblázat összefoglalja a STEP7 keretében alkalmazható megszakításokat, és az ekkor lefutó szervezőmodulok prioritását. Nem minden CPU-ban található az összes szervezőmodul. 1-2 táblázat
Megszakításfajták
Megszakításfajta
Szervezőmodul
Prioritási osztály (előre beállított)
Szabad ciklus Időpont megszakítás Késleltetett megszakítás
OB 1 OB 10 – OB 17 OB 20 OB 21 OB 22 OB 23 OB 30 OB 31 OB 32 OB 33 OB 34 OB 35 OB 36 OB 37 OB 38 OB 40 OB 41 OB 42 OB 43 OB 44 OB 45 OB 46 OB 47 OB 55 OB 56 OB 57 OB 60 Multicomputing
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2 2 2 25
OB 61 OB 62 OB 63 OB 64 OB 70 csak H-rendsz. OB 72 csak H-rendsz. OB 80 futási hiba OB 81 táphiba OB 82 diagnosztikai megsz. OB 83 kártya ki-be OB 84 CPU-készülékhiba OB 85 Programfutási hiba OB 86 Decentrális periféria hiba OB 87 Kommunikációs hiba
25
Ciklikus megszakítás
Külső megszakítás
DPV1- megszakítás
Többprocesszoros megszakítás Szinkronizációs megszakítás
Redundanciahiba Aszinkron hiba
A STEP7 programozás alapjai segédlet
25 28 25
9
A programszerkezet kialakítása
Megszakításfajta
Szervezőmodul
Prioritási osztály (előre beállított)
Felfutás (Startup)
OB 100 Újraindítás (Warmstart) OB 101 Újraindulás OB 102 Újraindítás, rem. Változók törlődnek OB 121 Programozási hiba OB 122 Periféria hozzá-férési hiba
27 27 27
Szinkronhiba
Az OB indítási információi Minden szervezőmodul rendelkezik 20 bájt indítási információval a TEMP területen. Ezeket az operációs rendszer adja át az adott OB indításakor. Az indítási információk az indítás okáról szolgáltatnak adatokat (tehát például hiba-OB esetében a hibáról). Az OB 40 külső megszakítási szervezőmodul például többek között a megszakítást kiváltó kártya címét adja vissza.
Ciklikus programfeldolgozás A tároltprogramú vezérléseknél (PLC) első sorban a ciklikus programfeldolgozás az uralkodó végrehajtási mód, azaz az operációs rendszer állandóan, hurokszerűen fut, és minden hurokban egyszer hívja az OB1-et. A felhasználói program az OB1-ben tehát ciklikusan kerül végrehajtásra.
Operációs rendszer
Felhasználói program
Bekapcsolás
Ciklus
1-1 ábra
Főprogram
Ciklikus programfeldolgozás
A STEP7 programozás alapjai segédlet
10
A programszerkezet kialakítása
Eseményvezérelt programfeldolgozás (megszakítás) A ciklikus programfeldolgozás bizonyos okokból (megszakítások) felfüggeszthető. Ha egy ilyen megszakítást kiváltó esemény bekövetkezik, akkor az éppen feldolgozás alatt álló programmodult az operációs rendszer utasításhatáron megállítja, és másik, az adott eseményhez rendelt szervezőmodult indít el. Ennek végrehajtása után folytatódik a ciklikus program a megszakítási helyen.
Operációs rendszer
Felhasználói program
Bekapcsolás Indító program
Ciklus
1-2 ábra
Fő program
<Megszakítás>
Megszakítás
Megszakítás program
Megszakítás
Hiba kezelés
Eseményvezérelt programfeldolgozás (megszakítás)
Lineáris, illetve strukturált programozás Fennáll annak lehetősége, hogy a teljes program az OB1-be kerüljön (lineáris programfeldolgozás). Ez azonban csak nagyon egyszerű programoknál fogadható el. Összetettebb irányítástechnikai feladatokat jól csak úgy lehet megoldani, hogy a teljes feladatot több részfeladatra bontják, amelyek pl. megfelelnek a feladat technológiai funkcióinak, vagy feladatelemekre, amelyeket többször kell meghívni. A felhasználói programban ezeket a részfeladatokat megfelelő programrészek ún. programmodulok (programblokkok) reprezentálják (strukturált programozás).
A STEP7 programozás alapjai segédlet
11
A programszerkezet kialakítása
Lineáris programozás
Főprogram = OB 1
Struktúrált programozás
Főprogram
OB 1 FB 1
FC 1
1-3 ábra
Lineáris, illetve strukturált programozás
A STEP7 programozás alapjai segédlet
12
A programszerkezet kialakítása
1.2.2
Hívási szerkezet a felhasználói programban A felhasználói program futtatásához ezeket a programmodulokat hívni kell. Ezt egy STEP7-es művelettel, a modulhívással lehet végrehajtani. A modulhívások sorrendjét és egymásba foglalását hívási szerkezetnek, hívási hierarchiának nevezik. A megengedett egymásbafoglalási mélység CPU-függő. A következő ábra példát mutat a hívási sorrendre és egymásbafoglalási mélységre egy feldolgozási ciklusban. Ciklus kezdete
Operációs rendszer
OB 1
Egymásba foglalás mélysége
FB 1
FC 1
Instant DB 1
FB 2 Instant DB 2
FB 1
SFC 1
Instant DB 1 DB 1
FC 1
1-4 ábra
Hívási szerkezet a felhasználói programban
Szabályok a programmodulok elkészítésének sorrendjéhez: • A programmodulokat (blokkokat) sorrendben fentről lefele kell elkészíteni. • Minden modulnak, amit hívni akar már készen kell lenni, különben hibajelzést kap. Ez azt jelenti, hogy egy a fenti szerkezet szerinti vízszintes sorban először a jobboldalon lévő programmodulnak kell elkészülni, és így tovább balra haladva. • Legvégül kell elkészíteni az OB 1-et.
A STEP7 programozás alapjai segédlet
13
A programszerkezet kialakítása
1.3
A programmodulok (programblokkok) fajtái
1.3.1
Szervezőmodul a ciklikus programfeldolgozáshoz (OB 1) A ciklikus programfeldolgozás a tároltprogramú vezérlések « normál » programfeldolgozása. Az operációs rendszer ciklikusan hívja az OB1-et, és indítja ezzel a felhasználói program ciklikus feldolgozását.
A ciklikus programfeldolgozás lefutása A következő táblázat a ciklikus programfeldolgozás egyes szakaszait mutatja: 1-3 táblázat
A ciklikus programfeldolgozás lefutása
Lépés
CPU-k 1998.októberig
CPU-k 1998.októbertől
1
Az operációs rendszer indítja a ciklusfelügyeleti időt
Az operációs rendszer indítja a ciklusfelügyeleti időt
2
A CPU betölti a perifériáról a bemenetek állapotát a folyamati tárképbe (PAE)
A CPU kiküldi a kimenetek állapotát a folyamati tárképből (PAA) a perifériára.
3
A CPU feldolgozza a felhasználói programot az abban lévő műveletek végrehajtásával.
A CPU betölti a perifériáról a bemenetek állapotát a folyamati tárképbe (PAE)
4
A CPU kiküldi a kimenetek állapotát a folyamati tárképből (PAA) a perifériára.
A CPU feldolgozza a felhasználói programot az abban lévő műveletek végrehajtásával.
5
A ciklus végén az operációs rendszer végrehajtja a konkrét utasításokon kívüli, ún. háttérfeladatokat, például modulok töltése, illetve törlése globális adatok fogadása, illetve küldése.
A ciklus végén az operációs rendszer végrehajtja a konkrét utasításokon kívüli ún. háttérfeladatokat, például modulok töltése, illetve törlése globális adatok fogadása, illetve küldése.
6
A CPU ezt követően visszatér a ciklus A CPU ezt követően visszatér a ciklus kezdetére és ismét elindítja a ciklusfelügyeleti kezdetére és ismét elindítja a ciklusfelügyeleti időt. időt.
Folyamati tárképek A CPU a program utasításaiban található bemenetek (E, illetve I) és kimenetek (A, illetve Q) állapotát a folyamati tárképből olvassa, ami biztosítja az állandóan változó folyamati jelek konzisztens leképzését. A CPU normál működés esetén nem nyúl közvetlenül a tényleges bemenetekhez, illetve kimenetekhez, hanem azok másolatát használja a folyamati tárképből.
Megszakítási lehetőségek A ciklikus programfeldolgozás felfüggeszthető: • Valamely megszakítási esemény által. • STOP-utasítással (üzemmód kapcsoló, parancs a PG-ről, SFC 46 STP, SFB 20 STOP). • Tápkimaradás által. • Hiba következtében.
A STEP7 programozás alapjai segédlet
14
A programszerkezet kialakítása
Ciklusidő A ciklusidő az az idő, amire az operációs rendszernek szüksége van a ciklikus program valamint minden ezt megszakító programrész (például más szervezőmodulok lefuttatása), illetve a rendszerműveletek (például a tárképek aktualizálása) végrehajtásához. Az operációs rendszer ezt az időt folyamatosan figyeli. Ciklusidő a CPU-ban (1998 októberig) Aktuális ciklus
Következő ciklus
TC1
TC2
OB10
stb.
Bemeneti tárkép aktualizásása
OB1
OB1
Kimeneti tárkép aktualizásása
Bemeneti tárkép aktualizásása
OB1
Kimeneti tárkép aktualizásása
Ciklusidő a CPU-ban (1998 októbertől) Aktuális ciklus
Következő ciklus
TC1
TC2
OB10
stb.
Bemeneti tárkép aktualizásása
1-5 ábra
Kimeneti tárkép aktualizásása
OB1
OB1
Bemeneti tárkép aktualizásása
Kimeneti tárkép aktualizásása
OB1
Ciklusidő
A fenti ábrában az OB1-et egy időpontmegszakítás szakítja meg
Ciklusfelügyeleti idő A STEP7-tel meg tudja változtatni a ciklusfelügyeleti időt. Ha ez az idő letelik, és az OB1 még nem indult újra, akkor a CPU leáll, miután kísérletet tett az OB80 hívására. Az OB80-ban, ha az a programban benn van, reagálni lehet a ciklusidő túllépésre
Minimális ciklusidő Az S7-400-CPU-nál, valamint a 318-as CPU-nál be lehet állítani a minimális ciklusidőt. Ez akkor célszerű, ha az OB1 indítása közötti időszakaszoknak egyenlő hosszúnak kell lenni, vagy ha például a túl rövid ciklusidő miatt a folyamati tárkép aktualizálása túl gyakran történik egy viszonylag lassú folyamatban
A STEP7 programozás alapjai segédlet
15
A programszerkezet kialakítása
Ciklusfelügyeleti idő a CPU-ban (1998-ig) Aktuális ciklus
Következő ciklus T max Foglalt
T min Twait
TC
PC16
OB40
PC07
PC01
OB10
OB10
Bemeneti tárkép OB1 aktualizásása
OB1
PC29
Tmax Tmin Tc Twait PC
Kimeneti tárkép aktualizásása
Bemeneti tárkép OB1 aktualizásása
OB90
= = = = =
1-6 ábra
OB90
OB90
A beállított maximális ciklusidő A beállított minimális ciklusidő Tényleges cikusidő A tényleges ciklusidő és a Tmin közötti különbség, amikor a fellépő megszakításokat lehet feldolgozni Prioritási osztály
Ciklusfelügyeleti idő
A folyamati tárkép aktualizálásával kapcsolatban az 1998 utáni rendszer természetesen a fenti ábrához is hozzáértendő.
A folyamati tárkép aktualizálása (PAE/PAA, illetve angolul PII/PIO) A CPU ciklikus programfeldolgozása során az operációs rendszer automatikusan aktualizálja a folyamati tárképet. A S7-400-as, illetve a 318-as CPU-nál az aktualizálás kikapcsolható, ha
1.3.2
•
helyette közvetlenül akarnak a tárképhez hozzáférni
•
a bemenetek egy vagy több résztárképét az SFC 26 UPDAT_PI és SFC 27 UPDAT_PO rendszerfüggvénnyel akarják aktualzálni.
Függvények (FC) A függvények olyan programmodulok, amelyeket a felhasználó ír. A függvény végrehajtandó kódokat tartalmaz és nem rendelkezik „emlékezettel” (saját adatterülettel). Az FC temporális változóit a rendszer a lokális adatok veremtárában tartja. Ezek az adatok a függvény lefutása után eltűnnek. Adatok tárolására a programozó a globális adatmodulokat használhatja. Mivel az FC nem rendelkezik hozzárendelt tárterülettel, az aktuális paramétereket abszolút címeken keresztül kell átadni.
A STEP7 programozás alapjai segédlet
16
A programszerkezet kialakítása
Alkalmazási terület Függvényeket alkalmazhatunk, amikor • Valamilyen függvényértéket akarunk a hívó programmodulnak visszaadni (például matematikai függvények). • Valamilyen technológiai funkciót akarunk végrehajtani (például valamilyen vezérlési feladat logikai műveletekkel).
Az aktuális paraméterek hozzárendelése a formális paraméterekhez Az ún. formális paraméter tulajdonképpen helyfoglalónak tekinthető a „tényleges” paraméter számára. Az aktuális paraméterek az FC hívásakor átkerülnek a formális paraméterek helyére. Az FC-nél minden formális paraméterhez kötelezően aktuális paramétert kell hozzárendelni (például a #Start formális paraméterhez az E3.6 aktuális paramétert). Az operációs rendszer a bemeneti, kimeneti és átmenő paramétereket pointerként (mutatóként) tárolja annak a kódmodulnak az aktuális paraméterére, amely a függvényt hívta.
Fontos különbség az FC és FB kimeneti paramétereinél A funkciómodulban (FB) a paraméterekhez való hozzáféréskor az aktuális paraméter másolatán hajtja végre a program, ami az ún. instant-DB-ben található. Ha egy FB hívásakor például nem adnak át bemeneti paramétert (nem adnak abszolút címet a formális operandushoz), akkor a program az instant-DB-ben tárolt korábbi értéket használja (az instant-DB úgy működik, mint az FB „emlékezete”). A függvények (FC) nem rendelkeznek „emlékezettel” (tárhellyel a paraméterek tárolására). A formális paraméterek számára az aktuális paraméterek (címek) átadása tehát kötelező. Az FC-paraméterekhez való hozzáférés címeken keresztül valósul meg (tartományon átnyúló mutatókkal). Ha aktuális paraméterként adatmodulból fognak operandust átadni vagy a hívó modul egy lokális változóját, akkor a paraméterátadáshoz az aktuális paraméter másolatát a hívó modul lokális adataiban tárolja átmenetileg a rendszer.
1.3.3
Funkciómodul (FB) Az FB-k olyan programmodulok, amelyeket a felhasználó ír. A funkciómodul végrehajtandó kódokat tartalmaz és rendelkezik „emlékezettel” (saját adatterülettel). Az ún. „emlékezetet”, saját adatterületet egy DB alkotja (InstantDB). Az átadásra kerülő paramétereket valamint statikus változókat az instant-DBben tárolják. Az átmeneti (temporális) változókat a rendszer a lokális veremtárban tárolja. Az instant-DB-ben tárolt adatok nem vesznek el, amikor az FB futása befejeződik. A lokális veremtárban lévő adatok azonban az FB feldolgozásának befejeződése után törlődnek.
A STEP7 programozás alapjai segédlet
17
A programszerkezet kialakítása
Aktuális paraméterek hozzárendelése a formális paraméterekhez A STEP7-ben általában nem szükséges, hogy egy FB formális paraméterekhez kivétel nélkül és feltétlenül aktuális paramétereket rendeljenek hozzá. Vannak azonban kivételek. Az alábbi esetekben az aktuális paraméterek hozzárendelése elengedhetetlenül szükséges: • Összetett típusnál, ha az átmenő paraméterként van deklarálva (például STRING, ARRAY vagy DATE_AND_TIME). • Minden paramétertípusnál (például TIMER, COUNTER vagy POINTER). Az FB esetében a STEP 7 a formális paraméterekhez a következő módon rendeli hozzá az aktuális paramétereket. • Ha a hívási utasításban meg vannak adva az aktuális paraméterek: Akkor az FB az ott megadott aktuális paramétereket alkalmazza. • Ha a hívási utasításban nincsenek megadva az aktuális paraméterek: Az FB azokat a paraméterértékeket veszi, amelyek az instant-DB-ben vannak. 1-4 táblázat
Aktuális paraméterek típusai
Változók
Elemi típus
Összetett típus
Paramétertípus
bemeneti
Paraméter nem szükséges
Paraméter nem szükséges
Aktuális paraméter szükséges
kimeneti
Paraméter nem szükséges
Paraméter nem szükséges
Aktuális paraméter szükséges
átmenő
Paraméter nem szükséges
Aktuális paraméter szükséges
−
Kezdeti értékek hozzárendelése a formális paraméterekhez Az FC-kel szemben az FB kezdeti értékeket is tárolhat a paraméterek számára. Ezeket az értékeket az FB az instant-DB-jében tárolja, amelyet híváskor kell az FBhez hozzárendelni. Ha híváskor az FB valamely formális paraméteréhez nem rendelnek aktuális paramétert, akkor az FB az instant-DB-ből veszi az aktuális értéket. Ezek az értékek lehetnek olyan kezdeti értékek, amelyeket az FB deklarációs táblájában adtak meg. A következő táblázat mutatja, hogy mely változókhoz milyen típusok esetében lehet kezdeti értéket hozzárendelni. 1-5 táblázat
Kezdeti értékek hozzárendelése
Változó
Elemi adattípus
Bemeneti
Kezdeti érték lehetséges Kezdeti érték lehetséges −
Kimeneti
Kezdeti érték lehetséges Kezdeti érték lehetséges −
Összetett adattípus
Paramétertípus
Átmenő
Kezdeti érték lehetséges −
Statikus
Kezdeti érték lehetséges Kezdeti érték lehetséges −
Átmeneti (temp)
−
A STEP7 programozás alapjai segédlet
−
− −
18
A programszerkezet kialakítása
1.3.4
Instant adatmodulok A paramétert átadó funkciómodulok minden hívásához egy instant adatmodult kell hozzárendelni. Ebben az adatmodulban helyezkednek el az FB aktuális paraméterei és a statikus adatai. Az instant adatmodul felépítésében teljesen megfelel az FB-ben deklarált paramétereknek. Az „instant” az FB egy-egy megvalósulását jelenti.
1.3.5
Globális adatmodulok (DB) Az adatmodulok a kódmodulokkal (FB, FC, OB) szemben nem tartalmazhatnak STEP7 utasításokat. Feladatuk azon felhasználói adatok tárolása, amelyekkel a felhasználói program dolgozik. A globális adatmodulok olyan felhasználói adatok tárolására szolgálnak, amelyeket bármelyik programmodul használ. A DB-k mérete más és más, maximális méretük CPU-függő.
Globális adatmodulok a felhasználói programban Ha kódmodult (FC, FB vagy OB) hívnak, az átmenetileg kaphat tárhelyet a lokális veremtáron (L-Stack), vagy folyamatos tárolásra megnyithat egy globális adatmodult. A lokális veremtárral szemben a DB-ben tárolt adatok nem törlődnek, sem akkor, amikor a kódmodul sem pedig, amikor a DB zárásra kerül. A programban egyszerre lehet egy globális DB és egy instant-DB nyitva. A következő ábra mutatja az adatmodulokhoz való különböző hozzáférést.
FC10 Globális DB (DB 20)
Hozzáférés minden kódmodul számára
FC11
FB12
1-7 ábra
1.3.6
Instant DB (DB 112)
Hozzáférés csak az FB12 számára
Adatmodulok hozzáférési lehetőségei
Rendszer-FB-k (SFB) és rendszerfüggvények (SFC)
Előre elkészített modulok Nem kell minden függvényt maguknak programozni. Az S7-CPU-k előre elkészített programmodulokat is tartalmaznak, amelyeket a felhasználói programban hívhatnak. További információk a referenciakézikönyvben találhatók.
A STEP7 programozás alapjai segédlet
19
A programszerkezet kialakítása
Rendszerfunkciómodulok (SFB) Egy rendszer-FB olyan funkciómodul, amely a CPU operációs rendszerében található. Mivel az operációs rendszer részét képezik, nem kell ezeket programként betölteni. Az SFB ugyanúgy igényel egy instant-DB-t, amit azonban valóban be kell tölteni a CPU-ba.
Rendszerfüggvény (SFC) Egy rendszer-FC olyan függvény, amely a CPU operációs rendszerében található. Mivel az operációs rendszer részét képezik, nem kell ezeket programként betölteni. Ugyanúgy mint az FC-k az SFC-k sem rendelkeznek emlékezettel (saját adatterülettel).
A STEP7 programozás alapjai segédlet
20
A fejlesztőprogram (STEP7)
2
2.1
2
A STEP7 indítása A Windows indítása után a képernyőn megjelenik a , a SIMATIC manager szimbóluma. A fejlesztőprogramot leggyorsabban e szimbólummal lehet elindítani. Ekkor megnyílik a SIMATIC manager ablaka. Innen lehet minden további a STEP7 programcsomagban működő alkalmazást elindítani. Ugyancsak lehetősége van a Manager indítására a „Start” nyomógombon keresztül. Az így megnyíló menüben megtalálja a SIMATIC menüpontot.
A SIMATIC Manager A SIMATIC Manager a STEP7 belépési felülete a fejlesztőprogram alkalmazásainak eléréséhez. Többek között a következő lehetőségek állnak az Ön rendelkezésére. • Tervezetek (projektek) létrehozása. • Az irányítástechnikai rendszer (hardware) konfigurálása és paraméterezése. • Az irányítástechnikai hálózatok (Profibus, Ethernet stb.) tervezése. • Programmodulok programozása. • A programok üzembe helyezése és futás közbeni ellenőrzésük. A SIMATIC Manager-rel dolgozhatnak • offline, azaz a vezérlés csatlakoztatása nélkül, • online, azaz a vezérlés csatlakoztatásával.
A STEP7 programozás alapjai segédlet
21
A fejlesztőprogram (STEP7)
2.2
Objektumok és objektumhierarchia A Windows-Explorer tartalom-szerkezetéhez hasonlóan, amelyben mappák és állományok helyezkednek el, a SIMATIC Manager is egy objektumhierarchia, amely tervezeteket (projektek), illetve azokban különböző mappákat tartalmaz. A következő kép példa egy objektumhierarchiára: •
A „tervezet” objektum
•
Az „állomás” objektum
•
A „programozható készülék” objektum
•
„S7/M7-Programm” objektum
•
„Forrás-mappa” objektum
•
„Programmodul” objektum
Az objektumok lehetnek: • tulajdonságok hordozói, • mappák, • funkciók hordozói.
Objektumok mint tulajdonságok hordozói Az objektum kiválasztása után • az Edit > Open Objekt menüparancsokkal az objektum tartalma módosítható. • Az Edit > Object Properties menüparancsokkal párbeszédablak kapcsolható be, amiben objektumspecifikus tulajdonságokat lehet beállítani.
Objektumok mint mappák Egy mappában további mappák, illetve objektumok találhatók, amik láthatóvá válnak, ha a mappát megnyitják.
A STEP7 programozás alapjai segédlet
22
A fejlesztőprogram (STEP7)
2.2.1
A tervezet (projekt) objektum A tervezet egy adott automatikai feladat minden programjának és adatainak összességét reprezentálja és mint objektum foglalja magában. A tervezet az objektumhierarchia csúcsán áll. A következőkben ismertetésre kerülnek a SIMATIC Manager objektumai táblázatszerűen, szimbólumaikkal és tartalmukkal. Szimbólum
2.2.2
Objektummappa
Fontos funkciók
Tervezet (projekt)
•
Tervezet létrehozása
•
Tervezetek, könyvtárak létrehozása
•
Nyomtatás
•
Többnyelvű szövegek kezelése
•
Reorganizáció
•
A kezelő számára fontos szövegek kezelése
•
Operátori objektumok (OS) beillesztése
•
Több személy által készített tervezetek
•
1-es verziójú tervezetek átfordítása
•
2-es verziójú tervezetek átfordítása
•
A PG/PC-csatlakozó felület beállítása
A könyvtári objektum A könyvtár tartalmazhat S7/M7-programokat, és programmodulok elhelyezésére szolgál.
Szimbólum
Szimbólum
•
Könyvtári objektum
•
S7/M7-program objektum
•
Forrásmappa
•
Programmodulok mappája
Objektummappa
Fontos funkciók
Könyvtár
•
Áttekintés a szabványos könyvtárakról
•
Könyvtárak használata
Objektumok a könyvtárban
Fontos funkciók
S7-Programm
•
S7/M7 program beillesztése
M7-Programm
•
S7-/M7-Programok egyidejüleg objektumok és objektum-mappák
A STEP7 programozás alapjai segédlet
23
A fejlesztőprogram (STEP7)
2.2.3
Az állomás objektum A SIMATIC 300/400-Station egy S7-es készüléket reprezentál (Hardware) egy vagy több programozható kártyával.
Elhelyezése a tervezetben
Szimbólum
•
A „tervezet” objektum
•
Az „állomás” objektum
•
A „programozható készülék” objektum
•
„S7/M7-Programm” objektum
•
„Forrás-mappa” objektum
•
„Programmodul” objektum
Objektummappa
Fontos funkciók
állomás
•
állomások beillesztése
•
állomás töltése a PG-be
•
a konfiguráció töltése a PLC-be
•
CPU-üzenetek és diagnózisüzenetek megjelenítése (kártyák állapota)
•
Az üzemállapot kijelzése és megváltoztatása
•
Óra és dátum kijelzése, megváltoztatása
•
A tárak törlése, teljes tártörlés
A fenti módon lehet PC-állomásokat (például PC-PLC -> WINAC) is konfigurálni.
A STEP7 programozás alapjai segédlet
24
A fejlesztőprogram (STEP7)
2.2.4
A programozható egység objektum A hierarchiában a programozható egység (kártya) egy ilyen kártya paraméterezési adatait reprezentálja (CPUxxx, FMxxx, CPxxx). Azoknak a kártyáknak a rendszeradatait, amelyek nem rendelkeznek remanens tárral (például CP441), a CPU tárolja és tölti, ezért nincs is hozzárendelve az ún. „Systemdaten” objektum. Az ilyen objektumok nem jelennek meg a tervezet (projekt) hierarchiájában.
Elhelyezés a tervezet hierarchiájában
Szimbólum
•
A „tervezet” objektum
•
Az „állomás” objektum
•
A „programozható készülék” objektum
•
„S7/M7-Programm” objektum
•
„Forrás-mappa” objektum
•
„Programmodul” objektum
Objektummappa
Fontos funkciók
Programozható kártyák
•
CPU-üzenetek és felhasználó által definiált diagnózisüzenet megjelenítése
•
A készülék diagnózisa és a kártya állapotának megjelenítése
•
Töltés az EPROM-kártyán keresztül
•
Jelszóvédelem a PLC-hez való hozzáféréshez
•
Kényszerítési ablak megjelenítése
•
Üzemállapotváltás
•
Óra és dátum beállítása
•
A tárak törlése és a CPU teljes tártörlése
•
Diagnózisszimbólum az online-nézetben
•
Az operációs rendszer aktualizálása a PLC-n
Programozható kártya ha......
•
azt újabb STEP7-es verzióval programozták, így a konfigurációs adatbázis azt nem tartalmazhatja
S7-Program
•
S7/M7 program beillesztése
Hálózati kapcsolatok
•
Állomások hálózatba kötése egy tervezeten belül
programozása
•
Kapcsolattípusok és partnerek megadása
•
Új kapcsolat beadása
M7-Program
A STEP7 programozás alapjai segédlet
25
A fejlesztőprogram (STEP7)
2.2.5
Az S7/M7-Program objektum Az S7-/M7- Program olyan mappa, amely az S7/M7-CPU-k programjait vagy a nem-CPU-kártyák (például programozható CP vagy FM) programjait tartalmazza.
Elhelyezés a tervezet hierarchiájában
Szimbólum
•
A „tervezet” objektum
•
Az „állomás” objektum
•
A „programozható készülék” objektum
•
„S7/M7-Programm” objektum
•
„Forrás-mappa” objektum
•
„Programmodul” objektum
Objektummappa
Fontos funkciók
S7-Program
•
S7-/M7-Program beillesztése
•
Szimbólikus/abszolút címzés
•
Üzenetszámok kiadása
•
A felhasználó által definiált diagnózisüzenetek kiadása (a teljes projektre vonatkozóan)
•
Kezelői szövegek elkészítése és fordítása
•
Többnyelvű szövegek kezelése
•
CPU-üzenetek megjelenítése
•
Hibakezelés
M7-Program
•
M7-es rendszerek programozása
Program
•
Programok készítése általában
Forrásmappa
•
Lásd a forrásmappa objektumot
Programmodul mappa (blokk)
•
Lásd a programmappa objektumot
Szövegkönyvtár mappa
•
Felhasználói szövegkönyvtárak
Szimbólum-táblázat •
Abszolút és szimbolikus címzés
A STEP7 programozás alapjai segédlet
•
Globális szimbólumok bevitele
•
Szimbólumra vonatkozó üzenetek hozzárendelése (egész tervezetre)
•
Kezelői szövegek fordítása
•
Megjelenítési jellemzők programozása szimbólumon keresztül
•
A kommunikációs jellemző programozása szimbólumon keresztül
•
Szimbólumtáblázat importálása és exportálása
26
A fejlesztőprogram (STEP7)
2.2.6
Programmodulok mappája Offline nézetben a programmodulok mappája a következőket tartalmazhatja: kódmodulok (OB, FB, FC, SFB, SFC), adatmodulok (DB), felhasználó által definiált adattípus (UDT), illetve változók táblája. A „Sytemdaten” objektum rendszeradatmodulok (SDB) formájában tartalmazza a konfiguráció eredményét. Online nézetben a programmodulok mappája azokat a végrehajtható programrészeket tartalmazza, amelyek a CPU-ban találhatók.
Elhelyezés a tervezet hierarchiájában
Szimbólum
•
A „tervezet” objektum
•
Az „állomás” objektum
•
A „programozható készülék” objektum
•
„S7/M7-Programm” objektum
•
„Forrás-mappa” objektum
•
„Programmodul” objektum
Objektummappa
Fontos funkciók
Programmodul
•
Programmodulok töltése
•
Referenciaadatok elérése
•
Áthuzalozás
•
Program összehasonlítása
•
Kezelői szövegek fordítása
•
Programmodulok létrehozása
OB (szervezőmodul) FC (függvények) FB (Funkciómodulok) UDT (Felhasználó által definiált adattípus) DB (globális adatmodul) SFC (rendszerfüggvény) SFB (rendszerfunkciómodul) Olvasásvédett programmodul Diagnózisképes programmodul
A STEP7 programozás alapjai segédlet
További információk a PDIAG programcsomag leírásában találhatók
27
A fejlesztőprogram (STEP7)
Szimbólum
Objektummappa
Fontos funkciók
A programmodult További információk az „S7 Distributed Saftey” az F-FUP/-KOP/programcsomag leírásában találhatók. AWL/-DB programcsomaggal készítették VAT (változók táblázata) Rendszeradatok (SDB)
2.2.7
A forrásmappa objektum A forrásmappa szöveges formában megírt forrásprogramot tartalmaz.
Elhelyezés a tervezet hierarchiájában
Szimbólum
•
A „tervezet” objektum
•
Az „állomás” objektum
•
A „programozható készülék” objektum
•
„S7/M7-Programm” objektum
•
„Forrás-mappa” objektum
•
„Programmodul” objektum
Objektummappa
Fontos funkciók
Forrásmappa
•
Az AWL-forrás programozás alapjai
•
Forrásprogram kivitele
•
Forrásprogram behozatala
•
Az AWL-forrás programozás alapjai
•
AWL-forrás létrehozása
•
Programmodul-minták beillesztése
•
Meglévő modulok forrásprogramjának beill.
•
A forrásprogram fordítása
•
Forrásprogram létrehozatala meglévő modulból
•
Forrásprogram kivitele
•
Forrásprogram behozatala
Forrásprogram (pl. AWL-Quelle)
Hálózatminta
A STEP7 programozás alapjai segédlet
28
A fejlesztőprogram (STEP7)
2.2.8
S7/M7-Program állomás és CPU nélkül Programot akkor is lehet írni, ha nem készítettek konfigurációt. Ekkor a megírt program független a programozható kártyától és annak beállításaitól.
S7-Program létrehozása konfiguráció nélkül 1. Nyissa meg az adott tervezetet (projektet). 2. Jelölje ki az offline-nézetben a tervezetet. 3. Válassza a következő menüpontokat: Einfügen > Programm > S7-Programm, A projektmappa alá bekerül egy S7-es programmappa, amely tartalmaz egy mappát a programmodulok és egyet a forrásmodulok számára valamint a szimbólummappát. A programmodulok mappájában lehet programozni.
A független programmappa hozzárendelése a szabadon programozható kártyához A konfigurációfüggetlen létrehozott programokat később a SIMATIC Managerben egyszerűen hozzárendelheti, átmásolhatja egy konfigurációval rendelkező állomás alá.
A STEP7 programozás alapjai segédlet
29
Tervezet (Projekt) létrehozása és feldolgozása 3
3.1
3
A tervezet szerkezete A tervezetek feladata egy adott irányítástechnikai feladat megoldása során keletkező adatok, illetve programok rendezett befogadása. A tervezetben található adatok a következőkre terjednek ki. • Konfigurációs adatok az irányítástechnikai rendszer felépítéséről és paraméterek az azt alkotó egységek (például CPU) számára. • Különböző kommunikációs hálózatok tervezési, programozási adatai. • A programozható egységek programjai. A tervezetben az adatokat objektumok formájában helyezik el. Az objektumok a tervezetben fa-szerkezetet (projekthierarchia) alkotnak. Ennek a megjelenési formája hasonlít a Windows Explorer képére, csak az objektumszimbólumok kinézete más.
Az objektumhierarchia csúcsán itt az „S7_Pro1” nevű tervezet áll. Szimbóluma egy kartotékfiók, jelezve, hogy minden irányítástechnikai adat, illetve program vagy leírás ebben a dobozban található. Felhasználható a tervezet tulajdonságainak meghatározásához is. Az egyes objektumokban lévő további objektumok a jobboldali ablakban láthatók, ha a megfelelő szimbólumot kiválasztják. A tervezetet két nézetben láthatják: online (ekkor a PLC-ben lévő adatokat és programokat mutatja) és offline.
Hozzáférésvédelem A STEP7 5.4-es verziójától kezdve lehetőség van jelszóval védeni a tervezetet és a könyvtárat (Projektpasswort). Ehhez azonban szükséges a SIMATIC Logon telepítésére. A jelszó kiadásán kívül lehetőség van változási jegyzőkönyv aktivizálására. Ha a SIMATIC Logon telepítve van a számítógépen, akkor a SIMATIC Manager-ben a további ezzel kapcsolatos menüpontok jelennek meg.
A STEP7 programozás alapjai segédlet
31
Tervezet (Projekt) létrehozása és feldolgozása
3.2
Tervezet (Projekt) létrehozása Új tervezetet a File > New menüparancsokkal lehet létrehozni. A megjelenő ablakban meg kell adni a tervezet nevét, és szükség esetén a tárolási helyet, ami alapbeállításban a STEP7 S7proj alkönyvtára. Létrehozáskor a projekt egy MPIalhálózaton kívül mást nem tartalmaz. A továbblépés két úton történhet:
Első változat: először az irányítástechnikai rendszer konfigurálása Ha ismerik az irányítástechnikai rendszer elemeit és felépítését célszerű a konfigurációval folytatni a munkát (HWKonfig). A konfiguráció után már rendelkezésre állnak azok a mappák („S7-Programm”), amelybe a továbbiakban a programmodulok kerülnek.
Második változat: először a program létrehozása Előzetes konfiguráció nélkül is létrehozhatnak programot, amit egy később elkészített konfiguráció programmappájába utólag beilleszthetnek. Ez főleg akkor célszerű, ha a program írásának kezdetekor, még nem ismert az irányítástechnikai rendszer pontos felépítése, és elemeinek típusa. A lépések a következők: 4. Illessze be tervezetébe a megfelelő programmappát (Insert > Program > S7 vagy M7-Program). 5. Írja meg a programot a létrejövő programmappa Block-mappájában programmodulok formájában. 6. Utólag hozza létre a tervezetben az irányítástechnikai rendszer konfigurációját, majd 7. az előzőleg létrehozott programmappa Block-mappáját másolja át az utólag elkészült konfiguráció üres programmappájába.
3.3
Állomás beillesztése A tervezetben az állomás (Station) az automatikai rendszer felépítését reprezentálja, és az egyes kártyák konfigurálásához és paraméterezéséhez szükséges adatokat tartalmazza. Az állomást az Insert > Station menüponttal lehet beilleszteni a projektbe. A következő állomástípusok között lehet választani: • SIMATIC 300-Station • SIMATIC 400-Station • SIMATIC H-Station • SIMATIC PC-Station • PC/PG • SIMATIC S5 • Idegen állomások, azaz nem SIMATIC S7/M7, SIMATIC S5
A STEP7 programozás alapjai segédlet
32
Tervezet (Projekt) létrehozása és feldolgozása
Hardver konfiguráció megadása A készülékkonfigurációban (HWKonfig) egy katalógus segítségével a CPU és a vezérlésben található összes kártya tulajdonságait lehet meghatározni. A konfigurációt az állomás ikonjára való kettős kattintással lehet indítani. A készülékkonfiguráció befejezése és tárolása után minden programozható egységhez automatikusan kapcsolódik egy S7-es programmappa valamint egy kapcsolati táblázat.
A következő lépések A készülékkonfiguráció befejezése után elkészíthetők a programozható kártyák számára a programok.
3.4
Az S7-es program beillesztése A programozható kártyák számára a programot objektum-mappákban kell elhelyezni. Az S7-es kártyáknál ezt a mappát „S7-Programm”-nak nevezik. (M7-nél „M7-Programm”). A következő képen látható példaként egy S7-program egy SIMATIC-300-as állomásban.
Egyes mappákban készen talált objektumok Minden programozható kártyához a STEP7 automatikusan hozzárendel egy S7Programmot mappaként. Az „S7-Program” mappában már megtalálható a: • szimbólumtáblázat („Symbol”), • mappa a programmodulok számára („Baustein”, „Block”) • forrásmappa („Quellen”, „Source”), amely a forráskódban lévő programot tartalmazhatja.
Programmodulok (program-block) létrehozása Ha programot akarnak írni, ki kell jelölni a már létrejött „Blocks” objektumot, és az Insert > S7-programblock menüparancsokkal programmodulokat kell létrehozni. Létrehozáskor egy követőablakban ki kell választani a modul fajtáját. (Datablock, Datantyp (UDT), Funktion (FC), Funktionsblock (FB), Organisationsblock (OB), Variablentable (VAT)). Az egyes programmodulok (programblokkok) megnyitása után beírható a program STL-, LAD- vagy FDB megjelenítési módban.
A STEP7 programozás alapjai segédlet
33
Tervezet (Projekt) létrehozása és feldolgozása
Megjegyzés A rendszeradatok (SDB) objektumokat, amelyeket a programmappákban talál, a rendszer hozta létre a konfigurálás során. A rendszeradatok (Systemdata) objektumot ugyan meg lehet nyitni, de nem lehet sem megnézni sem megváltoztatni. Módosításuk csak a konfigurációban lehetséges.
Programmodulok használata a szabványos könyvtárakból (Standard Library) A felhasználói programok elkészítéséhez felhasználhatja a szabványos modulkönyvtárak tartalmát is, amelyek telepítéskor a STEP7-tel kerülnek a programozó készülékre. A könyvtárak elérése a következő menüpontokkal történik: File > Open és a megjelenő ablakban Standard Library Az S7-Program létrehozásakor automatikusan létrejön az üres szimbólum-mappa (Objekt „Symbole”). Ha ezt megnyitják, a képernyőn megjelenik a szimbólumszerkesztő („Symbol Editor”) és benne a szimbólumtáblázat. Ebben a táblázatban kell megadni az egyes abszolút címekhez tartozó szimbólumokat.
Külső szövegszerkesztőben megírt forrásprogram behozatala (import) A forrásnyelven megírt állományokat tetszőleges ASCII-szerkesztővel meg lehet írni. Ezeket az állományokat be lehet azután hozni bármelyik tervezetbe, majd azokat programmodullá lehet alakítani (lefordítani). A behozott forrásállomány lefordításakor programmodulok (blokkok) keletkeznek, amelyeket a fejlesztőprogram a „Block” mappában helyezi el.
3.5
Többnyelvű szövegek használata A STEP 7 lehetővé teszi egy adott tervezet szövegrészeinek kivitelét, lefordítását, majd más nyelven való visszahozását a tervezetbe. Így egy adott nyelven elkészített irányítástechnikai megoldás alkalmazása során más-más nyelven jeleníthető meg. A következő szövegfajták esetében lehet a fenti megoldást választani: •
Címek és kommentárok (utasítás-, hálózat-, szimbólum- stb.)
•
Megjelenítési szövegrészek (például az operátorpaneleken programozott szövegrészek).
Kivitel (Export) A kivitel a kiválasztott objektum minden programmoduljára és szimbólumtáblájára végrehajtásra kerül. Minden szövegtípusra létrehoz a rendszer egy kiviteli állományt. Ebben van egy oszlop a forrásnyelv és egy a célnyelv számára. A forrásnyelv szövegét nem szabad megváltoztatni.
A STEP7 programozás alapjai segédlet
34
Tervezet (Projekt) létrehozása és feldolgozása
Behozatal (Import) Behozatalnál a célnyelv oszlopának tartalma kerül át a kiválasztott objektumba. Csak azokat a fordításokat veszi át a program, amelyek forrásszövege (a kivitt rész) a „forrásnyelv” oszlopában található bejegyzésnek megfelelnek.
Nyelvváltás A nyelvváltáskor minden olyan nyelv kiválasztható, amely a kijelölt tervezetben való bevitelkor megadásra került. A „Cím és kommentár”-ral kapcsolatos nyelvváltás csak a kiválasztott objektumra hajtódik végre. A „Kijelzett szöveg”-gel kapcsolatos nyelvváltás viszont a teljes tervezetre végrehajtódik
Nyelv törlése Ha egy nyelvet törölnek, akkor e nyelv minden szövege törlődik a tervezet belső adatbázisából.
A fordítás menete Kiviteli (export) állomány létrehozása a fordításhoz.
Szöveg lefordítása.
A lefordított szöveg behozatala (import).
A megjelenítendő szöveg nyelvének kiválasztása.
A STEP7 programozás alapjai segédlet
35
Tervezet (Projekt) létrehozása és feldolgozása
A kiviteli (export) állomány felépítése
A kiviteli állomány formátuma Választhat, hogy a kiviteli állomány milyen formátumban legyen. Ha a CSVformátumot választották, akkor tartsák szem előtt, hogy az Excel a CSV-állományt csak akkor nyitja meg helyesen, ha használják a megnyitási dialógust. Ha a CSVállományt kettős kattintással nyitják meg, a CSV-állomány általában használhatatlanná válik. A helyes eljárás: • A kiviteli állomány megnyitása az Excel-lel. • Tárolja az állományt XLS-ként. • A szöveg lefordítása szabályosan. • Az XLS-állomány tárolása CSV-formátumban.
3.6
Micro Memory Card (MMC) adathordozóként
3.6.1
Mit kell tudni a Micro Memory kártyáról (MMC) A Micro Memory kártyák (MMC) rendkívül kisméretű, a CPU-ba bedugható tárolókártyák. Az MMC-k esetében a korábbi tárkoncepciótól eltérő megoldást használnak, amelyet a következőkben röviden leírunk.
Az MMC feladata Az MMC nem csak a töltőtár (Load Memory) szerepkörét látja el, de általános adathordozóként is alkalmazható.
MMC mint töltőtár (Load Memory) Az MMC ebben a szerepben a teljes programot tartalmazza programmodulokkal (OB, DB, FC, ...) valamint a konfigurációval. Ezek a tartalmak meghatározzák a CPU működését, átvitelük az MMC-re a STEP7 töltési funkciójával történik. A
A STEP7 programozás alapjai segédlet
36
Tervezet (Projekt) létrehozása és feldolgozása
CPU-ba töltött modulok, amennyiben a töltés futás közben történik, azonnal hatni fognak, míg a konfiguráció csak újraindítás után.
Viselkedés teljes tártörlés után Az egész futtatható program teljes tártörlést követően is megmarad.
Töltés és törlés Az MMC-n lévő programmodulokat lehet törölni, illetve felülírni. A törölt, illetve felülírt modulok többé vissza nem állíthatók.
Hozzáférés az MMC-n lévő adatmodulokhoz Azokhoz az adatmodulokhoz, amelyeket a CPU futás közben ritkán használ, illetve nagyobb adatmennyiségre, a CPU rendelkezik beépített kezelési függvényekkel, ezek a következők: •
SFC 82: adatmodul létrehozása a töltőtárban.
•
SFC 83: olvasás a töltőtárban lévő adatmodulokból.
•
SFC 84: írás a töltőtárban lévő adatmodulokba.
MMC és jelszóvédelem Ha egy CPU, amely háttértárként (töltőtárként) MMC-vel rendelkezik, jelszóval védett, akkor ezt a jelszót ezen MMC SIMATIC Manager-beni megnyitásakor is kéri a fejlesztőprogram.
3.6.2
Az MMC mint általános adathordozó A SIMATIC Micro Memory kártyát (MMC) a STEP7 fejlesztőprogramban teljesen normális külső adathordozóként lehet használni. Ha a tárkapacitása megfelelően nagy, akkor a programozókészülék tartalomjegyzékében lévő bármely állomány rá átvihető. Így lehetősége van minden egy adott létesítménnyel kapcsolatos dokumentumot, mint például rajzok, karbantartási utasítások, működési leírások stb. Az MMC-n tárolni, és ezzel mások számára rendelkezésre bocsátani.
3.6.3
A tervezet (projekt) elhelyezése az MMC-n A STEP 7-tel tervezetének minden adatát és tetszőleges egyéb adatokat is (pl. WORD- vagy Excel-állományokat) elhelyezhet az MMC-n, ha ehhez megfelelő CPU-ja, PG-je és megfelelő méretű MMC-je van. Ebből többek között az az előnye származik, hogy olyan programozókészülékkel is hozzáférhet tervezetének minden adatához, amelyen előzőleg e tervezetet nem helyezték el.
A STEP7 programozás alapjai segédlet
37
Tervezet (Projekt) létrehozása és feldolgozása
Az MMC-n a következő adatokat lehet elhelyezni Avval a feltétellel, hogy MMC-je elegendő méretű, bármelyik állomány elhelyezhető rajta, mint például az alábbiak: • A teljes STEP 7-tervezet • Az állomás konfigurációja • Szimbólumtáblázatok • Programmodulok és forrásprogramok (source) • Többnyelvű szövegek • Egyéb tetszőleges állományok mint pl. WORD- vagy Excel-állományok
A STEP7 programozás alapjai segédlet
38
Programmodulok (programblokkok) létrehozása 4
4.1
4
A létrehozás módja A program létrehozása történhet egyrészt ún. inkrementális módon, amikor a fejlesztő minden sor után ellenőrzi annak szintaktikai helyességét, majd a végén létrejön a programblokk (programmodul), ami azonnal betölthető a PLC-be. Másrészt forrásnyelven, ami szövegszerkesztőben (belső vagy külső) történik, feltételezve az STL (AWL) mnemonikok ismeretét. A forrást azután le kell fordítani (compiler), és amennyiben a szöveg megfelelt a STEP7 szintaktikai előírásainak, a fordítás után az adott program „Block” (Bausteine) mappájában programmodult hoz létre.
Az inkrementális szerkesztő Az inkrementális programszerkesztővel (Block mappa) olyan programmodulok hozhatók létre, amelyekből a felhasználói program felépíthető. Akkor célszerű ezt a programszerkesztési módot használni, ha bevitelüket azonnal ellenőrizni szeretnék. Különösen előnyös ez, ha kezdő programozókról van szó. Az inkrementális szerkesztés esetén a fejlesztőprogram minden sort és minden programelemet megvizsgál szintaktikai helyesség szempontjából. Ha hibát talál, azt kijelzi, és kijavításáig a szerkesztést nem lehet lezárni. A szintaktikailag helyes program azonnal és lefordítódik és bekerül a felhasználói programba.
Forrásprogram szerkesztése A forrásnyelvű szerkesztőben olyan szövegszerkesztett forrásprogramokat hoznak létre, amelyeket utána le kell fordítani, hogy belőlük a PLC-be tölthető programmodulok (programblokkok) keletkezzenek. A program szerkesztéséhez nem szükséges feltétlenül a STEP7 fejlesztővel rendelkezni, bármilyen szövegszerkesztő megfelel. A létrehozott szövegállományok egy vagy több programmodul forrásprogramját tartalmazhatják, amelyek lehetnek OB-k, FB-k, FC-k, DB-k vagy UDT-k. Akár az egész felhasználói program is benne lehet egy szövegállományban. A szerkesztés során esetleg elkövetett hibák csak a fordításkor derülnek ki.
A STEP7 programozás alapjai segédlet
39
Programmodulok (programblokkok) létrehozása
4.2
A program megjelenítési módjának kiválasztása
A programszerkesztő indítása A szerkesztőt a SIMATIC Managerben a megfelelő objektumon (programblokk vagy forrásobjektum) végrehajtott kettős kattintással lehet legegyszerűbben elindítani. A STEP7-es program létrehozásához három megjelenítési mód áll rendelkezésre: utasításlista (STL, AWL), áramútterv (LAD, KOP), illetve funkcióterv (FBD, FUP). A program vagy egyes programrészek megírásához magasszintű grafikus vagy nemgrafikus programnyelvek is rendelkezésre állnak: GRAPH7, HIGH-Graph, CFC, illetve SCL. A magasszintű nyelvek csak a professzionális STEP7 részei, de külön is megvehetők a normál STEP7-hez.
4.2.1
LAD (Létradiagramm) A LAD grafikus megjelenítési mód a korábbi relés vezérléseknél használt áramútterv mintájára készült. Az áramútterv elemeit, mint például nyitóérintkezőket, záróérintkezőket, illetve működtetett kimeneteket hálózatokban lehet összefogni. Több ilyen hálózat összekapcsolásával jön létre a program, a kódmodul.
Példa a LAD megjelenítési módra:
4.2.2
FBD (funkcióterv) megjelenítési mód Az FBD megjelenítési mód (Funkcióterv) a bool-algebrában megismert logikai szimbólumokkal történő ábrázolást használja. Természetesen komplex funkciók, mint például matematikai műveletek is rendelkeznek ebben a megjelenítési módban megfelelő szimbólumokkal.
A STEP7 programozás alapjai segédlet
40
Programmodulok (programblokkok) létrehozása
Példa az FBD megjelenítési módra:
4.2.3
Az STL (utasításlista) megjelenítési mód: Az STL megjelenítési mód gépikód-szerű szöveges nyelv. Az egyes utasítások nagyobbrészt megfelelnek azoknak a lépéseknek, amelyekkel a CPU a programot végrehajtja. Több utasítás alkot egy hálózatot.
Példa az STL megjelenítési módra:
4.2.4
Az SCL (strukturált vezérlési nyelv) Az előbbi megjelenítési módok mindegyike az alap-programcsomag részét képezi. Az SCL (Structured Control Language) nyelven való programozás lehetőségét külön termékként meg kell venni. A nyelv a többi magasszintű számítógépnyelvhez hasonlóan szöveges programírást tesz lehetővé. Kulcsszavaiban és definícióiban lényegében megfelel az IEC1131 – 3 ajánlásainak. A Pascal-szerű SCL-nyelv magasszintű utasításaival egyszerűbbé teszi a bonyolultabb feladatok (adatfeldolgozás, kommunikáció, hosszabb képletek, programozási struktúrák stb.) megírását. A programozás forrásnyelven történik, amit később le kell fordítani futtatható kódra. Mind a szerkesztőt, mind a fordítót tartalmazza az SCL programcsomag.
A STEP7 programozás alapjai segédlet
41
Programmodulok (programblokkok) létrehozása
Példa SCL-programra BEGIN CONTROL := FALSE; FOR INDEX := 1 TO ENDWERT DO IQ1 := IQ1 * 2; IF IQ1 > 10000 THEN CONTROL = TRUE END_IF; END_FOR; END_FUNCTION_BLOCK
4.3
Programmodulok létrehozása
Mappa a programmodulok számára (Blocks mappa) Az S7-es programot kétféle módon lehet létrehozni: • Programmodulok (blokkok) formájában • Forrásnyelven A kész programmodulok a „Blocks” (Bausteine) mappába kerülnek, ami az S7Program nevű mappából ágazik el. A mappában a CPU-ba tölthető programmodulok kerülnek, ezek: OB, FC, FB, DB. A program létrehozásakor a „Blocks” mappa automatikusan kap egy üres OB1-et, mivel a ciklikusan futó program mindenképpen igényel egy ilyen programmodult. A mappában a fentieken túl még a következő objektumok kaphatnak helyet: • A felhasználó által definiált adattípusok, amelyek bonyolultabb adatszerkezetek létrehozását segítik, de nem kerülnek a CPU-ba. • A felhasználó által létrehozott VAT-táblák, amelyek lehetővé teszik a változók állapotának figyelését és állítását. • A rendszeradatok „Systemdata” (Systemdatenbausteine) objektum, ami a Konfiguráció lefordításából keletkezett. • Azok a rendszerfüggvények (SFC-k, SFB-k), amelyeket a programban hívni akarnak. A rendszeradatmodulok (Sytemdatablock) kivételével minden objektumra való kettős kattintással megnyílik az adott objektum szerkesztőprogramja.
A STEP7 programozás alapjai segédlet
42
Programmodulok (programblokkok) létrehozása
4.4
Programmodulok (blokkok) összehasonlítása A programmodulok összehasonlítására a következő lehetőségek állnak rendelkezésre: • A SIMATIC Manager-ben a programmodulok összehasonlítását a következő menüparancsokkal lehet elérni: Options > Compare Blocks. Ha az OK nyomógombot működtetik az ezt követő párbeszédablakban, akkor a „Compare Blocks – Results” ablak összehasonlítási regisztere tartalommal töltődik fel. • Az összehasonlítás hívása a programeditorban a következő menüparancsokkal: Options > Compare On-/Offline Partner. A következőkben ismertetésre kerül az összehasonlítás módja:
Az összehasonlítás módja: Kódmodulok (futtatható programmodulok) Az első lépésben a STEP7 az összehasonlítandó programmodulok csatlakozófelületeinek időbélyegét ellenőrzi. Ha ezek az időbélyegek egyenlők, akkor a STEP7 abból indul ki, hogy a csatlakozófelületek egyformák. Ha a csatlakozófelületek időbélyegei különbözők, akkor a STEP7 fajtánként összehasonlítja a csatlakozófelületek adattípusait. Ha eltérések mutatkoznak, akkor mindig az első különbséget mutatja meg az adott deklarációs tartományban. Amennyiben a deklarációs részben az adattípusok megegyeznek, akkor a változók kezdeti értékei következnek. A program minden eltérést kijelez. Második lépésben a STEP 7 az utasításkódokat ellenőrzi hálózatonként. Különlegességek a PG-n végrehajtott program – program (offline – offline) összehasonlításnál: az Offline-Online-összehasonlítástól eltérően a STEP 7 ebben az esetben ellenőrzi az eltérő változóneveket is, ami az offline – online összehasonlításnál nem lehetséges. Az összehasonlításból ki vannak zárva a különböző kommentárok valamint programmodul tulajdonságok (Block Attributes).
Az összehasonlítás módja: adatmodulok Az első lépésben a STEP7 az összehasonlítandó adatmodulok csatlakozófelületeinek időbélyegét ellenőrzi. Ha ezek az időbélyegek egyenlők, akkor a STEP7 abból indul ki, hogy az adatstruktúrák egyformák. Ha az időbélyegek különböznek, akkor az adatszerkezetek első elétéréséig folytatja az ellenőrzést. Ha az adatszerkezetek egyformák, akkor a STEP7 a kezdeti, illetve aktuális értékeket hasonlítja össze. Minden eltérést kijelez. Különlegességek a PG-n végrehajtott program – program (offline – offline) összehasonlításnál: Az Offline-Online-összehasonlítástól eltérően a STEP 7 ebben az esetben ellenőrzi az eltérő változóneveket is, ami az offline – online összehasonlításnál nem lehetséges. Az összehasonlításból ki vannak zárva a különböző kommentárok, valamint az adatmodulban felhasznált UDT-k szerkezetei.
A STEP7 programozás alapjai segédlet
43
Programmodulok (programblokkok) létrehozása
Az összehasonlítás menete a programszerkesztőben 1. Nyissa meg azt a programmodult, amit egy betöltött programmal össze akar hasonlítani. 2. Válassza az Options > Compare On-/Offline Partner menüpontot Ha az online-partner elérhető, akkor a „Compare” regiszterben a programszerkesztő alsó részében megjelennek az összehasonlítás eredményei.
Az összehasonlítás menete a SIMATIC Manager-ben 3. Jelölje meg a SIMATIC Manager-ben azt a blokkmappát vagy azokat a programmodulokat, amelyeket össze akar hasonlítani. 4. Válassza az Options > Compare Blocks menüpontot. 5. Válassza a „Compare Blocks” párbeszédmezőben az összehasonlítás módját: (ONLINE/offline vagy Path 1/Path 2). 6. Ha Path1/Path 2-összehasonlítás: Válassza ki a SIMATIC Manager-ben azt a blokkmappát vagy blokkot, amivel az összehasonlításnak meg kell történni. A programmodulok automatikusan bekerülnek a párbeszédmezőbe. 7. Aktivizálja az „SDB-t is” mezőt, ha az SDB-ket is össze kell hasonlítani.
A STEP7 programozás alapjai segédlet
44
Kódmodulok létrehozása
5
5.1
5
A programszerkesztő ablakának felépítése
A STEP7 programozás alapjai segédlet
45
Kódmodulok létrehozása
A „Programelemek” regiszter A programozás során használható programutasítások teljes áttekintését tartalmazza a grafikus megjelenítési módokban: LAD, és FBD. A „Call Structure” az aktuális S7-es program hívási szerkezetét mutatja. A „Programmelements” regiszter az áttekintőablakban tartalmazza a grafikus programozáshoz a programelemeket csoportokba szedve. Tartalmazza ezen felül a már megírt programmodulokat és a könyvtári függvényeket. A regisztert a View - Overview menüpontokon keresztül hívható
Változók deklarációja A változók deklarációtáblája két részből áll: a változók áttekintő képe valamint maga a deklaráció.
Programutasítások A szerkesztőnek ebben a részében lehet a programutasításokat megírni, amelyeket a PLC fel fog dolgozni. A program modulokból (blokkokból), a modulok hálózatokból állnak.
A STEP7 programozás alapjai segédlet
46
Kódmodulok létrehozása
5.2
A változók deklarálása A kódmodulok (OB, FC, FB) megnyitása után ablak jelenik meg a változók áttekintésével és a változók részletnézetével valamint az utasítások programozására szolgáló felülettel e tábla alatt.
A változók részletnézetében határozhatja meg a programmodul lokális változóit, azok típusát, illetve elnevezését. Ennek hatására következők történnek: • A deklaráció által a program tárhelyet foglal le temp-változók esetében a lokális veremtárban, funkciómoduloknál a később hozzárendelt instant adatmodulban. • A bemeneti, kimeneti és átmeneti paraméterek meghatározásával rögzíti a programmodul csatlakozófelületét a programban történő meghíváshoz. Ezeken keresztül történik majd a programmodul végrehajtása során a kívülről érkező és a kifelé menő értékek átadása. • Ha a változókat egy funkciómodulban deklarálja, akkor e deklaráció határozza meg a híváskor keletkező instant-DB adatszerkezetét (ez nem vonatkozik a TEMP változókra).
A STEP7 programozás alapjai segédlet
47
Kódmodulok létrehozása
5.3
Az utasításrész felépítése Az utasításrészben a program végrehajtásához szükséges utasításkódokat szerkeszti a választott megjelenítési módtól függő kódokkal, illetve grafikus szimbólumokkal. Az utasításokat hálózatokba viszi be. A programszerkesztő a beadott utasítás lezárása után azonnal szintaxisvizsgálatot hajt végre, és az esetleges hibákat vörös és kurzív írással kijelzi. Egy kódmodul utasításrésze a legtöbb esetben egy sor hálózatból, és azokban több utasításból áll. Az utasításrészben beadhatja a programmodul, illetve a hálózatok címeit, kommentárjait, illetve STL megjelenítési módban az utasításokhoz is írhat kommentárokat, amit azt az alábbi ábra mutatja.
5.4
Programmodul hívás aktualizálása Az Edit > Aufruf > Aktualisieren menüpontokkal a programszerkesztőben az érvénytelenné vált modulhívásokat lehet automatikusan aktualizálni. Az aktualizálásra a következő csatlakozófelület módosítások után van szükség. • Új formális paraméterek beillesztése • Formális paraméterek törlése • Formális paraméterek nevének megváltoztatása • Formális paraméterek típusának megváltoztatása • Formális paraméterek sorrendjének megváltoztatása A formális és aktuális paraméterek összerendelése során az operációs rendszer a következőképpen jár el: • Egyező paraméternevek: A rendszer az aktuális paramétereket automatikusan hozzárendeli, ha a formális paraméter neve változatlan. Kivétel: LAD esetében az előzetes összekapcsolás bináris paraméterek esetében csak akkor marad meg, ha az adattípus változatlan marad. Ha azonban az adattípust megváltoztatták, akkor az előzetes hozzárendelés üres ágként látható. • Egyező paraméter adattípusok: Miután a rendszer az egyező nevű paramétereket összerendelte, a még hozzá
A STEP7 programozás alapjai segédlet
48
Kódmodulok létrehozása
nem rendelt egyező adattípusú (a „régi” formális paraméterrel megegyező típusú) formális paramétereket rendeli össze. • Egyező paraméterpozíció: Az 1-es és 2-es szabályok szerinti hozzárendeléssel még össze nem rendelt aktuális paramétereket a rendszer a „régi” csatlakozófelületnek megfelelő pozíciók szerint rendeli hozzá az új formális oldalhoz. Ha a három említett szabály szerint sem sikerült minden aktuális paramétert összerendelni a formálisakkal, akkor azok törlésre kerülnek, vagy bináris paraméterek esetében LAD megjelenítési módban nyitott ágként megmaradnak.
5.5
A csatlakozófelületek megváltoztatása A blokkmappában lévő offline-modulok csatlakozófelületét a STEP7 5-ös verziójától kezdve az ún. inkrementális szerkesztőben (a programszerkesztő) is el lehet végezni. • Változtassa meg az adott modul csatlakozófelületét. • Nyissa meg ezt követően minden hívását. A megfelelő hívások vörös színre váltottak. • Használja ekkor az Edit> Aufruf > Aktualisieren menüpontokat. FB esetén hozza létre újra az instant-DB-ket. Megjegyzés Futásban lévő programmodulok csatlakozófelületének megváltoztatása a CPU leállását okozhatják.
A STEP7 programozás alapjai segédlet
49
Adatmodulok (adatblokkok) létrehozása
6
6.1
6
Alapok Az adatmodul olyan része a programnak, amiben például olyan értékeket helyeznek el, amihez a vezérelt berendezés hozzá tud férni. Szemben a kódmodulokkal (futtatható programmodul), amelyeket a STEP7-tel programoztak, az adatmodul csak a változók deklarációját és az adatokat tartalmazza. Az adatmodul megnyitásakor választhatnak az ún. deklarációs nézet és az adatnézet között. Az átkapcsolás a „View – Dataview” menüpontokkal lehetséges.
Deklarációs nézet A deklarációs nézetet akkor célszerű választani: • Ha az adatmodul szerkezeti felépítését szeretnénk látni ill. létrehozni, • Ha olyan adatmodult akarunk vizsgálni vagy létrehozni, amelyek felhasználó által definiált adattípust (UDT) tartalmaznak. Azoknak az adatmoduloknak a szerkezetét, amelyek egy FB-hez vagy UDT-hez vannak hozzárendelve, nem lehet megváltoztatni. Ehhez az FB-t, illetve az UDT-t kell megváltoztatni, majd a DB-t újra létrehozatni.
Adatnézet Adatnézetben akkor célszerű a DB-t kapcsolni, ha abban az értékeket meg akarják változtatni. Csak adatnézetben láthatja minden adatelem aktuális értékét, illetve tudja azokat megváltoztatni. Adatnézetben minden UDT adatelem látható teljes névvel és értékkel.
A globális adatmodul és az instant-adatmodul közötti különbség A globális adatmodul nincs hozzárendelve kódmodulhoz, adatihoz a program bármelyik pontján hozzá lehet férni. Bár az instant-adatmodulhoz is bárhol hozzá lehet férni, tulajdonképpen egy adott FB adott hívásához van hozzárendelve, és annak paraméterértékeit tartalmazza. Adatszerkezete teljes mértékben megfelel az illető FB deklarációs táblájának a TEMP változók kivételével.
A STEP7 programozás alapjai segédlet
51
Adatmodulok (adatblokkok) létrehozása
6.2
Az adatmodul deklarációs nézete 6-1 táblázat
Deklarációs nézet oszlopai
Oszlop
Magyarázat
Adresse (cím)
Az adatelem címe, amit a STEP7 automatikusan hozzárendel
Deklaration
Ezt az oszlopot csak az instant-DB esetében jeleníti meg a program. Ebből lehet megtudni, milyen fajta deklarációhoz tartozik az adott változó
Name (név) Type (tipus)
•
bemeneti (IN)
•
kimeneti (OUT)
•
átmenő (IN_OUT)
•
statikus (STAT)
Ez az oszlop tartalmazza az adatelem nevét. Itt kell megadni az adatelem típusát (BOOL, INT, WORD, ARRAY stb.). A változók lehetnek elemi, összetett, illetve felhasználó által definiált (UDT) változók.
Initial Value
Itt lehet kezdeti értéket adni az adatelemnek. Ha nem adnak, akkor az (kezdeti érték) alapértelmezés szerinti kerül ide (0). Az érték megadásának igazodni kell az adattípushoz. Comment
Itt lehet elhelyezni az adatelem kommentárját.
A STEP7 programozás alapjai segédlet
52
Adatmodulok (adatblokkok) létrehozása
6.3
Az adatmodulok adatnézete Az adatnézet az adatmodul minden változójának az aktuális értékét mutatja. Ezeket az értékeket csak adatnézetben tudja megváltoztatni. Összetett adattípusok, illetve felhasználó által definiált adattípusok esetében az adatnézet ezek minden adatelemét megmutatja külön sorban teljes névvel. Ha az elemek egy instant-adatmodul in-out tartományában vannak, akkor az aktuális értéket tartalmazó oszlopban az a mutató (pointer) látható, amely erre az összetett vagy felhasználó által definiált adattípusra mutat. 6-2 táblázat
Adatnézet oszlopai
Oszlop
Magyarázat
Adress (cím)
Az adatelem címe, amit a STEP7 automatikusan hozzárendel
Deklaration
Ezt az oszlopot csak az instant-DB esetében jeleníti meg a program. Ebből lehet megtudni, milyen fajta deklarációhoz tartozik az adott változó •
bemeneti (IN)
•
kimeneti (OUT)
•
átmenő (IN_OUT)
•
statikus (STAT)
Name (név)
Ez az oszlop tartalmazza az adatelem nevét.
Typ (típus)
Itt a változó számára megadott adattípus látható Globális adatmodulnál itt csak elemi adattípusok állnak, mivel az összetett adatokat tartalmazó változóknál a rendszer az elemeket egyenként sorolja fel. Az instant-adatmodulnál még a paramétertípusok is megjelennek. Ha az
elemek egy instant-adatmodul in-out tartományában vannak, akkor az aktuális értéket tartalmazó oszlopban az a mutató (pointer) látható, amely erre az összetett vagy felhasználó által definiált adattípusra mutat. Initial value
Itt lehet kezdeti értéket adni az adatelemnek. Ha nem adnak, akkor az (kezdeti érték) alapértelmezés szerinti kerül ide (0). Az érték megadásának igazodni kell az adattípushoz. A kezdeti érték az adatmodul első tárolása alkalmával aktuális értékként kerül a CPU operatív tárjába, hacsak nem határoznak meg más aktuális értéket a változó számára. Aktualwert (aktuális érték)
Offline: itt az az érték látható, amivel a változó az adatmodul megnyitásakor, illetve utolsó tárolt változtatása után rendelkezett. Online: az adatmodul megnyitásakor érvényes aktuális érték látható, de automatikusan nem aktualizálódik. Aktualizáláshoz az F5-ös funkcióbillentyűt kell működtetni. Tartsák szem előtt: csak aktuális értéket lehet a CPU-ba betölteni.
Comment
Itt lehet elhelyezni az adatelem kommentárját.
(Kommentár)
A STEP7 programozás alapjai segédlet
53
Adatmodulok (adatblokkok) létrehozása
Az adatelemek értékének megváltoztatása adatnézetben Az aktuális értékek megváltoztatása csak adatnézetben lehetséges. • Kapcsolja át a View > Datview menüparanccsal az adatmodult adatnézet megjelenítési módba. • Adja be az adatelem kívánt aktuális értékét az „Actualvalue” oszlop megfelelő mezőjébe. Az érték megjelenésének meg kell felelni az adott adatelem deklarált típusának. Megjegyzés Az adatelem értékének megváltoztatása csak az adatmodul tárolásakor kerül átvételre.
Az adatelemek értékének visszaállítása a kezdeti értékre A visszaállítás csak adatnézetben lehetséges. • Kapcsolja át a View > Datview menüparanccsal az adatmodult adatnézet megjelenítési módba. • Válassza ezután az Edit > Initialize Data Block menüpontot. Minden változó visszakapja az eredetileg deklarált kezdeti értéket. Megjegyzés Az adatelem értékének megváltoztatása csak az adatmodul tárolásakor kerül átvételre.
A STEP7 programozás alapjai segédlet
54