simatic a step7 programozás alapjai

54
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

Upload: phambao

Post on 05-Jan-2017

277 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Simatic a step7 programozás alapjai

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

Page 2: Simatic a step7 programozás alapjai

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

Page 3: Simatic a step7 programozás alapjai

Tartalom

1 A programszerkezet kialakítása 7 1.1 A CPU-ban lévő programok................................................................................. 7 1.2 A felhasználói programot alkotó programmodulok (blokkok) .............................. 7 1.2.1 Szervezőmodul (Organisationsblock).................................................................. 8 1.2.2 Hívási szerkezet a felhasználói programban..................................................... 13 1.3 A programmodulok (programblokkok) fajtái....................................................... 14 1.3.1 Szervezőmodul a ciklikus programfeldolgozáshoz (OB 1) ................................ 14 1.3.2 Függvények (FC) ............................................................................................... 16 1.3.3 Funkciómodul (FB) ............................................................................................ 17 1.3.4 Instant adatmodulok .......................................................................................... 19 1.3.5 Globális adatmodulok (DB)................................................................................ 19 1.3.6 Rendszer-FB-k (SFB) és rendszerfüggvények (SFC) ....................................... 19

2 A fejlesztőprogram (STEP7) 21 2.1 A STEP7 indítása .............................................................................................. 21 2.2 Objektumok és objektumhierarchia ................................................................... 22 2.2.1 A tervezet (projekt) objektum............................................................................. 23 2.2.2 A könyvtári objektum ......................................................................................... 23 2.2.3 Az állomás objektum.......................................................................................... 24 2.2.4 A programozható egység objektum................................................................... 25 2.2.5 Az S7/M7-Program objektum ............................................................................ 26 2.2.6 Programmodulok mappája................................................................................. 27 2.2.7 A forrásmappa objektum.................................................................................... 28 2.2.8 S7/M7-Program állomás és CPU nélkül ............................................................ 29

3 Tervezet (Projekt) létrehozása és feldolgozása 31 3.1 A tervezet szerkezete ........................................................................................ 31 3.2 Tervezet (Projekt) létrehozása .......................................................................... 32 3.3 Állomás beillesztése .......................................................................................... 32 3.4 Az S7-es program beillesztése.......................................................................... 33 3.5 Többnyelvű szövegek használata ..................................................................... 34 3.6 Micro Memory Card (MMC) adathordozóként ................................................... 36 3.6.1 Mit kell tudni a Micro Memory kártyáról (MMC)................................................. 36 3.6.2 Az MMC mint általános adathordozó................................................................. 37 3.6.3 A tervezet (projekt) elhelyezése az MMC-n....................................................... 37

4 Programmodulok (programblokkok) létrehozása 39 4.1 A létrehozás módja ............................................................................................ 39 4.2 A program megjelenítési módjának kiválasztása .............................................. 40 4.2.1 LAD (Létradiagramm) ........................................................................................ 40 4.2.2 FBD (funkcióterv) megjelenítési mód ................................................................ 40 4.2.3 Az STL (utasításlista) megjelenítési mód: ......................................................... 41 4.2.4 Az SCL (strukturált vezérlési nyelv)................................................................... 41 4.3 Programmodulok létrehozása............................................................................ 42 4.4 Programmodulok (blokkok) összehasonlítása................................................... 43

A STEP7 programozás alapjai segédlet 3

Page 4: Simatic a step7 programozás alapjai

Tartalom

5 Kódmodulok létrehozása 45 5.1 A programszerkesztő ablakának felépítése....................................................... 45 5.2 A változók deklarálása....................................................................................... 47 5.3 Az utasításrész felépítése ................................................................................. 48 5.4 Programmodul hívás aktualizálása.................................................................... 48 5.5 A csatlakozófelületek megváltoztatása.............................................................. 49

6 Adatmodulok (adatblokkok) létrehozása 51 6.1 Alapok................................................................................................................ 51 6.2 Az adatmodul deklarációs nézete...................................................................... 52 6.3 Az adatmodulok adatnézete .............................................................................. 53

A STEP7 programozás alapjai segédlet 4

Page 5: Simatic a step7 programozás alapjai

Tartalom

Ábrák 1-1 ábra Ciklikus programfeldolgozás ................................................................... 10 1-2 ábra Eseményvezérelt programfeldolgozás (megszakítás) ............................ 11 1-3 ábra Lineáris, illetve strukturált programozás.................................................. 12 1-4 ábra Hívási szerkezet a felhasználói programban .......................................... 13 1-5 ábra Ciklusidő .................................................................................................. 15 1-6 ábra Ciklusfelügyeleti idő................................................................................. 16 1-7 ábra Adatmodulok hozzáférési lehetőségei..................................................... 19

Táblázatok 1-1 táblázat STEP7 programmodulok ........................................................................... 8 1-2 táblázat Megszakításfajták...................................................................................... 9 1-3 táblázat A ciklikus programfeldolgozás lefutása ................................................... 14 1-4 táblázat Aktuális paraméterek típusai ................................................................... 18 1-5 táblázat Kezdeti értékek hozzárendelése ............................................................. 18 6-1 táblázat Deklarációs nézet oszlopai...................................................................... 52 6-2 táblázat Adatnézet oszlopai .................................................................................. 53

A STEP7 programozás alapjai segédlet 5

Page 6: Simatic a step7 programozás alapjai
Page 7: Simatic a step7 programozás alapjai

11A programszerkezet kialakítása

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

Page 8: Simatic a step7 programozás alapjai

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 CPU-fü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

Page 9: Simatic a step7 programozás alapjai

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 OB 1 1 Időpont megszakítás OB 10 – OB 17 2 Késleltetett megszakítás OB 20

OB 21 OB 22 OB 23

3 4 5 6

Ciklikus megszakítás OB 30 OB 31 OB 32 OB 33 OB 34 OB 35 OB 36 OB 37 OB 38

7 8 9 10 11 12 13 14 15

Külső megszakítás OB 40 OB 41 OB 42 OB 43 OB 44 OB 45 OB 46 OB 47

16 17 18 19 20 21 22 23

DPV1- megszakítás OB 55 OB 56 OB 57

2 2 2

Többprocesszoros megszakítás

OB 60 Multicomputing 25

25 Szinkronizációs megszakítás

OB 61 OB 62 OB 63 OB 64

Redundanciahiba OB 70 csak H-rendsz. OB 72 csak H-rendsz.

25 28

Aszinkron hiba 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

A STEP7 programozás alapjai segédlet 9

Page 10: Simatic a step7 programozás alapjai

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

27 27 27

Szinkronhiba OB 121 Programozási hiba OB 122 Periféria hozzá-férési hiba

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.

Bekapcsolás

FőprogramCiklus

Operációs rendszer Felhasználói program

1-1 ábra Ciklikus programfeldolgozás

A STEP7 programozás alapjai segédlet 10

Page 11: Simatic a step7 programozás alapjai

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.

Bekapcsolás

Főprogram

<Megszakítás>

<Hiba>

Megszakításprogram

Hibakezelés

Ciklus

Operációs rendszer Felhasználói program

Indítóprogram

Megszakítás

Megszakítás

1-2 ábra 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

Page 12: Simatic a step7 programozás alapjai

A programszerkezet kialakítása

Főprogram= OB 1

Lineáris programozás

Főprogram

OB 1

FB 1

FC 1

Struktúrált programozás

1-3 ábra Lineáris, illetve strukturált programozás

A STEP7 programozás alapjai segédlet 12

Page 13: Simatic a step7 programozás alapjai

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.

FB 1

Instant DB 1

OB 1

Ope

ráci

ós r

ends

zer

Ciklus kezdete Egymásba foglalás mélysége

FC 1

FB 2

Instant DB 2

FC 1

FB 1

Instant DB 1

SFC 1

DB 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

Page 14: Simatic a step7 programozás alapjai

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 kezdetére és ismét elindítja a ciklusfelügyeleti időt.

A CPU ezt követően visszatér a ciklus kezdetére és ismét elindítja a ciklusfelügyeleti 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

Page 15: Simatic a step7 programozás alapjai

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.

Aktuális ciklus

OB10

OB1 OB1Bemeneti tárképaktualizásása

Kimeneti tárképaktualizásása

Kimeneti tárképaktualizásása

Bemeneti tárképaktualizásása

Bemeneti tárképaktualizásása

Kimeneti tárképaktualizásása

Kimeneti tárképaktualizásása

Bemeneti tárképaktualizásása

stb.

stb.

TC1 TC2

Következő ciklus

Aktuális ciklus Következő ciklus

OB1

Ciklusidő a CPU-ban (1998 októberig)

OB10

OB1 OB1

TC1 TC2

OB1

Ciklusidő a CPU-ban (1998 októbertől)

1-5 ábra 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

Page 16: Simatic a step7 programozás alapjai

A programszerkezet kialakítása

Aktuális ciklus Következő ciklus

OB10 OB10

OB40

PC07

PC01

TC

Tmin

Tmax

Twait

PC16

OB1 OB1 OB1

Foglalt

OB90 OB90 OB90PC29

TmaxTminTcTwaitPC

Ciklusfelügyeleti idő a CPU-ban (1998-ig)

= 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

Bemeneti tárképaktualizásása

Bemeneti tárképaktualizásása

Kimeneti tárképaktualizásása

1-6 ábra 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

• 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.

1.3.2 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

Page 17: Simatic a step7 programozás alapjai

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 (Instant-DB). Az átadásra kerülő paramétereket valamint statikus változókat az instant-DB-ben 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

Page 18: Simatic a step7 programozás alapjai

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 FB-hez 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 Összetett adattípus Paramétertípus − Bemeneti Kezdeti érték lehetséges Kezdeti érték lehetséges− Kimeneti Kezdeti érték lehetséges Kezdeti érték lehetséges

Á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

Page 19: Simatic a step7 programozás alapjai

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

FC11

FB12

GlobálisDB

(DB 20)

Instant DB(DB 112)

Hozzáférés mindenkódmodul számára

Hozzáférés csakaz FB12 számára

1-7 ábra Adatmodulok hozzáférési lehetőségei

1.3.6 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

Page 20: Simatic a step7 programozás alapjai

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

Page 21: Simatic a step7 programozás alapjai

2A fejlesztőprogram (STEP7) 22.1 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

Page 22: Simatic a step7 programozás alapjai

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

Page 23: Simatic a step7 programozás alapjai

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 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

2.2.2 A könyvtári objektum

A könyvtár tartalmazhat S7/M7-programokat, és programmodulok elhelyezésére szolgál.

• Könyvtári objektum • S7/M7-program objektum • Forrásmappa • Programmodulok mappája

Szimbólum Objektummappa Fontos funkciók

Könyvtár • Áttekintés a szabványos könyvtárakról

• Könyvtárak használata

Szimbólum Objektumok a

könyvtárban Fontos funkciók

S7-Programm M7-Programm

• S7/M7 program beillesztése • S7-/M7-Programok egyidejüleg objektumok és

objektum-mappák

A STEP7 programozás alapjai segédlet 23

Page 24: Simatic a step7 programozás alapjai

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

• A „tervezet” objektum • Az „állomás” objektum • A „programozható készülék” objektum

• „S7/M7-Programm” objektum • „Forrás-mappa” objektum • „Programmodul” objektum

Szimbólum 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

Page 25: Simatic a step7 programozás alapjai

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

• A „tervezet” objektum • Az „állomás” objektum • A „programozható készülék” objektum

• „S7/M7-Programm” objektum • „Forrás-mappa” objektum • „Programmodul” objektum

Szimbólum 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 M7-Program

• S7/M7 program beillesztése

Hálózati kapcsolatok programozása

• Állomások hálózatba kötése egy tervezeten belül

• Kapcsolattípusok és partnerek megadása • Új kapcsolat beadása

A STEP7 programozás alapjai segédlet 25

Page 26: Simatic a step7 programozás alapjai

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

• A „tervezet” objektum • Az „állomás” objektum • A „programozható készülék” objektum

• „S7/M7-Programm” objektum • „Forrás-mappa” objektum • „Programmodul” objektum

Szimbólum 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 • 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

A STEP7 programozás alapjai segédlet 26

Page 27: Simatic a step7 programozás alapjai

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 rendszer-adatmodulok (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

• A „tervezet” objektum • Az „állomás” objektum • A „programozható készülék” objektum

• „S7/M7-Programm” objektum • „Forrás-mappa” objektum • „Programmodul” objektum

Szimbólum 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

További információk a PDIAG programcsomag leírásában találhatók

A STEP7 programozás alapjai segédlet 27

Page 28: Simatic a step7 programozás alapjai

A fejlesztőprogram (STEP7)

Szimbólum Objektummappa Fontos funkciók

A programmodult az F-FUP/-KOP/-AWL/-DB programcsomaggal készítették

További információk az „S7 Distributed Saftey” programcsomag leírásában található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

• A „tervezet” objektum • Az „állomás” objektum • A „programozható készülék” objektum

• „S7/M7-Programm” objektum • „Forrás-mappa” objektum • „Programmodul” objektum

Szimbólum Objektummappa Fontos funkciók

Forrásmappa • Az AWL-forrás programozás alapjai

• Forrásprogram kivitele • Forrásprogram behozatala

Forrásprogram (pl. AWL-Quelle)

• 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

Hálózatminta

A STEP7 programozás alapjai segédlet 28

Page 29: Simatic a step7 programozás alapjai

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

Page 30: Simatic a step7 programozás alapjai
Page 31: Simatic a step7 programozás alapjai

3Tervezet (Projekt) létrehozása és feldolgozása 33.1 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

Page 32: Simatic a step7 programozás alapjai

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 MPI-alhá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:

• PC/PG

SIMATIC 300-Station

SIMATIC 400-Station

SIMATIC H-Station

SIMATIC PC-Station

SIMATIC S5

Idegen állomások, azaz nem SIMATIC S7/M7, SIMATIC S5

A STEP7 programozás alapjai segédlet 32

Page 33: Simatic a step7 programozás alapjai

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 S7-Programmot 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

Page 34: Simatic a step7 programozás alapjai

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

Page 35: Simatic a step7 programozás alapjai

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

Szöveg lefordítása.

A lefordított szöveg behozatala (import).

A megjelenítendő szöveg nyelvének kiválasztása.

Kiviteli (export) állomány létrehozása a fordításhoz.

A STEP7 programozás alapjai segédlet 35

Page 36: Simatic a step7 programozás alapjai

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 CSV-formá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

Page 37: Simatic a step7 programozás alapjai

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

Page 38: Simatic a step7 programozás alapjai

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

Page 39: Simatic a step7 programozás alapjai

44Programmodulok (programblokkok) létrehozása

4.1 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

Page 40: Simatic a step7 programozás alapjai

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

Page 41: Simatic a step7 programozás alapjai

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

Page 42: Simatic a step7 programozás alapjai

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 S7-Program 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

Page 43: Simatic a step7 programozás alapjai

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

Page 44: Simatic a step7 programozás alapjai

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

Page 45: Simatic a step7 programozás alapjai

55Kódmodulok létrehozása

5.1 A programszerkesztő ablakának felépítése

A STEP7 programozás alapjai segédlet 45

Page 46: Simatic a step7 programozás alapjai

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

Page 47: Simatic a step7 programozás alapjai

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

Page 48: Simatic a step7 programozás alapjai

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

Page 49: Simatic a step7 programozás alapjai

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

Page 50: Simatic a step7 programozás alapjai
Page 51: Simatic a step7 programozás alapjai

66Adatmodulok (adatblokkok) létrehozása

6.1 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

Page 52: Simatic a step7 programozás alapjai

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ó • bemeneti (IN) • kimeneti (OUT) • átmenő (IN_OUT) • statikus (STAT)

Name (név) Ez az oszlop tartalmazza az adatelem nevét. Type (tipus) 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 (kezdeti érték)

Itt lehet kezdeti értéket adni az adatelemnek. Ha nem adnak, akkor az 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

Page 53: Simatic a step7 programozás alapjai

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 (kezdeti érték)

Itt lehet kezdeti értéket adni az adatelemnek. Ha nem adnak, akkor az 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 (Kommentár)

Itt lehet elhelyezni az adatelem kommentárját.

A STEP7 programozás alapjai segédlet 53

Page 54: Simatic a step7 programozás alapjai

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