You are on page 1of 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
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 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


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


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


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 Az SFB-k és SFC-k a CPU-ba beépített
rendszer FB-k (SFB) 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 A fejlesztőprogram minden FB-híváshoz
(Instant-DB) 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


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 3
OB 21 4
OB 22 5
OB 23 6
Ciklikus megszakítás OB 30 7
OB 31 8
OB 32 9
OB 33 10
OB 34 11
OB 35 12
OB 36 13
OB 37 14
OB 38 15
Külső megszakítás OB 40 16
OB 41 17
OB 42 18
OB 43 19
OB 44 20
OB 45 21
OB 46 22
OB 47 23
DPV1- megszakítás OB 55 2
OB 56 2
OB 57 2
Többprocesszoros OB 60 Multicomputing 25
megszakítás
Szinkronizációs OB 61 25
megszakítás OB 62
OB 63
OB 64
Redundanciahiba OB 70 csak H-rendsz. 25
OB 72 csak H-rendsz. 28
Aszinkron hiba OB 80 futási hiba 25
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

A STEP7 programozás alapjai segédlet 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 27
(Warmstart) 27
OB 101 Újraindulás 27
OB 102 Újraindítás, rem.
Változók törlődnek
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.

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

Bekapcsolás

Ciklus Főprogram

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


program
Ciklus

Megszakítás Megszakítás
<Megszakítás>
program

<Hiba> Megszakítás
Hiba
kezelé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


A programszerkezet kialakítása

Lineáris programozás Struktúrált programozás

Főprogram Főprogram
= OB 1

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 Egymásba foglalás mélysége

OB 1 FB 1 FC 1
Operációs rendszer

Instant DB 1

FB 2 FB 1 SFC 1

Instant DB 2 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 Az operációs rendszer indítja a
ciklusfelügyeleti időt ciklusfelügyeleti időt
2 A CPU betölti a perifériáról a bemenetek A CPU kiküldi a kimenetek állapotát a
állapotát a folyamati tárképbe (PAE) folyamati tárképből (PAA) a perifériára.
3 A CPU feldolgozza a felhasználói programot A CPU betölti a perifériáról a bemenetek
az abban lévő műveletek végrehajtásával. állapotát a folyamati tárképbe (PAE)
4 A CPU kiküldi a kimenetek állapotát a A CPU feldolgozza a felhasználói programot
folyamati tárképből (PAA) a perifériára. az abban lévő műveletek végrehajtásával.
5 A ciklus végén az operációs rendszer A ciklus végén az operációs rendszer
végrehajtja a konkrét utasításokon kívüli, ún. végrehajtja a konkrét utasításokon kívüli ún.
háttérfeladatokat, például modulok töltése, háttérfeladatokat, például modulok töltése,
illetve törlése globális adatok fogadása, illetve illetve törlése globális adatok fogadása, illetve
küldése. 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 Kimeneti tárkép Bemeneti tárkép Kimeneti tárkép


OB1 OB1 OB1
aktualizásása aktualizásása aktualizásása 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 Kimeneti tárkép OB1 OB1


Bemeneti tárkép Kimeneti tárkép OB1
aktualizásása aktualizásása aktualizásása aktualizásása

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


A programszerkezet kialakítása

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

Aktuális ciklus Következő ciklus

T max
Foglalt
T min

TC Twait

PC16 OB40

PC07 OB10 OB10

Bemeneti tárkép OB1


Kimeneti tárkép Bemeneti tárkép
OB1 OB1
PC01 aktualizásása aktualizásása aktualizásása

PC29 OB90 OB90 OB90

Tmax = A beállított maximális ciklusidő


Tmin = A beállított minimális ciklusidő
Tc = Tényleges cikusidő
Twait = A tényleges ciklusidő és a Tmin közötti különbség, amikor a fellépő megszakításokat lehet feldolgozni
PC = Prioritási osztály

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


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


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 Paraméter nem Aktuális paraméter
szükséges szükséges szükséges
kimeneti Paraméter nem Paraméter nem Aktuális paraméter
szükséges szükséges szükséges
átmenő Paraméter nem Aktuális paraméter −
szükséges 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


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 Hozzáférés minden
(DB 20) kódmodul számára
FC11

FB12 Instant DB
Hozzáférés csak
(DB 112)
az 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


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


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 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 Fontos funkciók


könyvtárban
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

• 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


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ó • CPU-üzenetek és felhasználó által definiált
kártyák 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ó • azt újabb STEP7-es verzióval programozták,
kártya ha...... így a konfigurációs adatbázis azt nem
tartalmazhatja
S7-Program • S7/M7 program beillesztése

M7-Program

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


kapcsolatok belül
programozása • Kapcsolattípusok és partnerek megadása
• Új kapcsolat beadása

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

• 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 • Lásd a programmappa objektumot


mappa (blokk)
Szövegkönyvtár • Felhasználói szövegkönyvtárak
mappa
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


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 További információk a PDIAG programcsomag
programmodul leírásában találhatók

A STEP7 programozás alapjai segédlet 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

• 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 • Az AWL-forrás programozás alapjai
(pl. AWL-Quelle) • 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


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
3

feldolgozása 3
3.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


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


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


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

létrehozása 4
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


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


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


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 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 Offline: itt az az érték látható, amivel a változó az adatmodul
(aktuális megnyitásakor, illetve utolsó tárolt változtatása után rendelkezett.
érték) 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

You might also like