Professional Documents
Culture Documents
Step7 300 Programozas PDF
Step7 300 Programozas PDF
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
Á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
1
1.1 A CPU-ban lévő programok
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.
A programmodulok fajtái
A STEP7-es programban különféle programmodulok alkalmazhatók.
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.
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
Ciklus Főprogram
Bekapcsolás
Indító
program
Fő
program
Ciklus
Megszakítás Megszakítás
<Megszakítás>
program
<Hiba> Megszakítás
Hiba
kezelés
Főprogram Főprogram
= OB 1
OB 1
FB 1
FC 1
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
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.
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.
TC1 TC2
OB10
stb.
TC1 TC2
OB10
stb.
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
T max
Foglalt
T min
TC Twait
PC16 OB40
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).
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
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).
2
2.1 A STEP7 indítása
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 „tervezet” objektum
• Az „állomás” objektum
• „S7/M7-Programm” objektum
• „Forrás-mappa” objektum
• „Programmodul” objektum
Az objektumok lehetnek:
• tulajdonságok hordozói,
• mappák,
• funkciók hordozói.
• Könyvtári objektum
• S7/M7-program objektum
• Forrásmappa
• Programmodulok mappája
Elhelyezése a tervezetben
• A „tervezet” objektum
• Az „állomás” objektum
• „S7/M7-Programm” objektum
• „Forrás-mappa” objektum
• „Programmodul” objektum
• A „tervezet” objektum
• Az „állomás” objektum
• „S7/M7-Programm” objektum
• „Forrás-mappa” objektum
• „Programmodul” objektum
M7-Program
• A „tervezet” objektum
• Az „állomás” objektum
• „S7/M7-Programm” objektum
• „Forrás-mappa” objektum
• „Programmodul” objektum
• A „tervezet” objektum
• Az „állomás” objektum
• „S7/M7-Programm” objektum
• „Forrás-mappa” objektum
• „Programmodul” objektum
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 „tervezet” objektum
• Az „állomás” objektum
• „S7/M7-Programm” objektum
• „Forrás-mappa” objektum
• „Programmodul” objektum
feldolgozása 3
3.1 A tervezet szerkezete
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 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.
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.
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.
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 megjelenítendő szöveg
nyelvének kiválasztása.
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ó.
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.
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.
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.
létrehozása 4
4.1 A létrehozás módja
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 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.
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
5
5.1 A programszerkesztő ablakának felépítése
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 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.
Megjegyzés
Futásban lévő programmodulok csatlakozófelületének megváltoztatása a CPU
leállását okozhatják.
6
6.1 Alapok
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.
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.
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)
Megjegyzés
Az adatelem értékének megváltoztatása csak az adatmodul tárolásakor kerül
átvételre.
Megjegyzés
Az adatelem értékének megváltoztatása csak az adatmodul tárolásakor kerül
átvételre.