Professional Documents
Culture Documents
s40 Bev
s40 Bev
PLC-programozási nyelv
használatába
Tartalomjegyzék
1. A kézikönyvről ......................................................................................................... 5
2. Bevezetés.................................................................................................................. 5
3. Hardver feltételek és a szövegábrázolási konvenciók.............................................. 7
Hardver................................................................................................................................ 7
Szövegábrázolási konvenciók ............................................................................................. 7
4. PS4 installálás és huzalozás ..................................................................................... 8
Címkódolás ......................................................................................................................... 8
Buszlezárás.......................................................................................................................... 8
5. Első programozási feladat ...................................................................................... 11
Feladat ismertetés.............................................................................................................. 11
Alapinformációk az IEC1131-3 szerinti programozáshoz ................................................ 11
6. A navigátor ............................................................................................................. 15
Áttekintés .......................................................................................................................... 15
7. Új projekt indítása .................................................................................................. 17
8. Felhasználói program létrehozása .......................................................................... 19
Programbevitel utasításlistával.......................................................................................... 25
Program tárolás ................................................................................................................. 27
POU nyomtatás ................................................................................................................. 29
9. Topológia konfigurálás .......................................................................................... 31
10. Felhasználói program gépi kódjának generálása.................................................... 35
11. Teszt és az üzembe helyezés menete...................................................................... 39
Programozó PC és a vezérlő összekötése.......................................................................... 39
Az operációs rendszer és az alkalmazói program letöltése a PS4-150/200-ba ................. 40
Az operációs rendszer és az alkalmazói program letöltése a PS4-300/PS416-ba............. 41
Program indítás PS4-200 és PS4-300 esetén .................................................................... 44
Program ellenőrzés............................................................................................................ 47
3
12. Programbevitel kontaktusterv / funkcióblokk segítségével ................................... 51
Példaprogram bemutatása kontaktustervvel / funkcióblokkal .......................................... 51
Programbevitel kontaktusterv alapján............................................................................... 53
Programellenőrzés és üzembe helyezés kontaktusterv /funkcióblokk esetén ................... 63
13. Második programozási feladat ............................................................................... 67
Megoldási javaslat a „LIGHT” funkcióblokk fejlesztésére .............................................. 68
A funkcióblokk felhasználása ........................................................................................... 69
Javaslat az „EXP_PS4” program fejlesztésére.................................................................. 74
A második programozási feladat bevitele ......................................................................... 76
Az EXP_PS4 program bevitele......................................................................................... 82
Program online vizsgálata és változtatása......................................................................... 85
A „light” funkcióblokk többszörös instancálása ............................................................... 89
A be-/kimenetek kijelzése és a kimenetek kényszerítése PS4-en ..................................... 92
A második programozási feladat LD/FBD ábrázolása...................................................... 95
4
Bevezetés
1. A kézikönyvről
2. Bevezetés
5
Hardver feltételek és a szövegábrázolási konvenciók
Hardver
Az első programozási feladathoz egy PS4-141-MM1, PS4-151-MM1, PS4-201-MM1,
PS4-271-MM1 vagy PS4-341-MM1 típusú PLC, a második feladathoz egy további
EM4-101-DD1 bővítő modul, a bővítés csatlakoztatásához a KPG1-PS3 típusú
csatlakozókábelre van szükség. A programozó PC és a vezérlés összekötéséhez minden eseten
a ZB4-303-KB1 jelű kábelt kell használni.
Szövegábrázolási konvenciók
A válassza a <Project → New> felszólítás jelentése a következő: Aktiválja a New parancsot a
Project menüből.
A dőlt kisbetű azokat a szövegeket jelöli, melyeket, ahogy leírva van, kell Önnek begépelni.
Például: c:\Project\example
A kezelési utasításokat a ► jellel fogjuk jelölni. Az összes többi bekezdés csupán
információkat ad anélkül, hogy valamit kötelezően kellene tenni.
7
PS4 installálás és huzalozás
Címkódolás
Az EM4-101-DD1 készüléknek, mint minden passzív slavenek a Moeller PLC-rendszerében a
címkódoló (S2) kapcsolójával kell a megfelelő címet beállítani. Jelen esetben a kiválasztott
cím az egyes, ezért a következő kapcsoló beállítást kell eszközölni. (A kódkapcsoló részletes
ismertetése az EM4_xxxx.doc jelű dokumentációban megtalálható.)
Buszlezárás
A buszon fizikálisan az első és az utolsó helyen levő résztvevő (állomás) buszlezáró
ellenállását kell beiktatni, azaz az S1 kapcsoló mindkét elemét, mint a következő ábrán
látható, be kell állítani.
8
PS4 installálás és huzalozás
9
Első programozási feladat
Feladat ismertetés
11
Első programozási feladat
jelből (X: bit, (nem kötelező), B: bájt, W: szó) valamint az ötjegyű címzésből áll. Az első
három helyi érték a topológiai címet adja meg, mely a készülékkonfigurációból adódik. Azon
vezérlések esetén, ahol a kompakt CPU-n kívül nincs más résztvevő, az első három jegy
értéke 0. Az utolsó két jegy a bájt és a bitazonosítót adja meg. Például az AT %I0.0.0.0.3 a
nulladik bájt negyedik bitjét (számozás rendje: 0…7) jelenti. Amennyiben a változó
adatszélessége nem bit, akkor annak mérete külön jelölve van, és természetesen az ötödik jegy
elmarad. (Pl.: AT %QW0.0.0.0 a nulladik kimeneti szót jelenti. Megjegyezzük, hogy a bájtok
és szavak egyértelmű összerendelése miatt a szavak száma csak páros lehet. Részletesebben
lásd az S40_0003.doc leírásban.)
A példafeladatban csak bináris be-/kimenetek fordulnak elő, melyeknek a következő fizikai
címeket adjuk:
Initial_pos bemenet 0.0
start_button bemenet 0.1
stop_button bemenet 0.2
position_A bemenet 0.3
motor kimenet 0.0
A változónevek szabadon megválaszthatók az adott szabályokon belül (lásd: S40_0003.doc)
A deklaráció a következőképpen néz ki:
(* kezdeti pozíció *)
(* START nyomógomb *)
(* STOP nyomógomb *)
(* Pozíció A elérve *)
12
Első programozási feladat
szerepelni, valamint a teljes program végét az END_PROGRAM kulcsszó zárja le.
(* kezdeti pozíció *)
(* START nyomógomb *)
(* START nyomógomb *)
(* Pozíció A elérve *)
(* A motor bekapcsol *)
(* A motor kikapcsol *)
13
A navigátor
6. A navigátor
Áttekintés
Indítsa el a Windows-t és aktiválja a Sucosoft navigátor szimbólumot. A Sucosoft S40
elindul, és a következő navigátor kezelői felület jelenik meg:
15
A navigátor
ben futó program online módon ellenőrizhető, módosítható.
Továbbá rendelkezésre egy dokumentumformátum szerkesztő, amellyel a nyomtatott
formátum alakja határozható meg.
A navigátor fő ablakának felső részén a cím-, alul pedig a státuszsor található. A címsor alatt
közvetlenül a menüsor, majd a szimbólumsor (ikonsor) következik. A szimbólumsorhoz
csatlakozik az eszköztár. A eszköztár és a státussor között található rész három ablakra van
felosztva:
A felső baloldali (kereső) ablak tartalmazza a fastruktúrát a mindenkori könyvtárakkal
együtt. Ezen ablak alsó részén található a forrásokat (Sources), készülékeket (Devices) és
az alkalmazói modulokat (Libraries) tartalmazó iratrendező szimbólum.
A jobb felső ablakban található az aktuális fastruktúrában megnyitott könyvtár fájlnézete.
A két fenti ablak alatt az aktuális eseményeket ismertető harmadik ablak látható, mely pl.
programkód generáláskor mutatja a státus- és a hibajelzéseket.
A három ablak méretét a határoló vonalak egérrel való mozgatásával változtathatjuk meg.
Az alábbi grafika az első programozási feladat esetén mutatja az egyes, a program
beviteltől a kész program ellenőrzéséig, terjedő lépéseket. Ez az ábra a továbbiakban
tájékoztatóul végigkíséri Önt a következő fejezetekben is.
Projekt létrehozása
POU létrehozása
Változó deklarálás
Programbevitel
Topológia konfigurálás
Programkód létrehozása
16
Új projekt indítása
7. Új projekt indítása
Projekt létrehozása
POU létrehozása
Változó deklarálás
Programbevitel
17
Új projekt indítása
► Kattintson az ablak alsó részén található „New Folder” kapcsolófelületre, majd
adja meg az új könyvtárnevet és az OK-val erősítse meg a könyvtár elnevezést.
► Az új projekt elnevezés mezőbe írja be az „Example” nevet, majd az OK-val
erősítse meg a névbeadást.
Ezáltal az S40 létrehoz egy új projektstruktúrát a saját („Sources” „Devices”)
alkönyvtáraival.
A címsorban az „Example” projektnév, a státuszsorban pedig a „C:\Projects”, mint
projektmeghajtó és az érvényes alkönyvtára jelenik meg.
Mielőtt a saját POU egységek fejlesztését megkezdené, bizonyosodjon meg,
hogy a helyes PLC-típust választotta ki. (Az aktuális típus a navigátor
szimbólum sorában egy kiválasztó ablakban látható.) A kiválasztott PLC-
típustól függően állnak rendelkezésre a különböző adattípusok, a gyártó-
specifikus függvények és funkcióblokkok.
18
Felhasználói program létrehozása
A mellékelt ábrán a
szintaktikus ellenőrzésű
deklaráció esetén érvényes
gyorsmenü látható.
A példánkban futóképes programra van szüksége, ezért indulásként a "Program" POU-t kell
választani.
A felhasználói program létrehozásához használja a navigátor menüben
► <Options. → POU Editor > menüpontokat,
vagy a szimbólumsorban válassza ki a
19
Felhasználói program létrehozása
20
Felhasználói program létrehozása
kulcsszavakkal foglalkozni.
A felhasználói program előállításához választhat a különböző programnyelvek között,
nevezetesen a szöveges utasításlistás (IL) programnyelv, valamint a grafikus programnyelvek
– a kontaktusterves (LD) és a funkcióblokkos (FDB) – között. A példaprogramot első
lépésben állítsa elő utasításlistában (IL).
A két POU-rész, a deklarálás és az utasítássorozat, létrehozása teljesen tetszőleges, sőt akár a
kettő egymással párhuzamosan is történhet. A példában azonban először deklaráljuk a
változókat, majd ezt követően készítjük el az utasítássorozatot.
Változók deklarálása
Projekt létrehozása
POU létrehozása
Változó deklarálás
Programbevitel
Topológia konfigurálás
Az adott változótípus kiválasztása az ablak alsó részén felajánlott típusokra való kattintással
történhet.
A változók deklarálását az előre beállított változótípussal, a"Local"-val kezdje. Ezért nem
szükséges az iratgyűjtő -lovast aktivizálni. Csak azok a cellák jelennek meg, melyek az adott
változótípus esetén megengedettek. Deklarálja az összes "Local" változótípust.
Amennyiben egy POU-ban további változótípusok is előfordulnak, akkor a iratgyűjtő-lovassal
válassza ki a következő típust és deklarálja azokat is. A listában mindig csak egy típus
változói jelennek meg.
A változók deklarálása a munkasor egyes celláinak kitöltésével történik. Az aktuális
munkasor celláinak szerkesztésekor annak sorszáma kiszíneződik.
Az egyes cellák között válthat a
kurzor balra /jobbra,
TAB / shift + TAB,
Kurzor fel/le,
oldal fel/oldal le gombokkal, vagy
az egérmutató megfelelő elhelyezésével és a jobb billentyű megnyomásával.
Egy cellának a hibás beírását, vagy nem teljes deklarálást legkésőbb a cella/sor elhagyásakor
21
Felhasználói program létrehozása
jelzi a szerkesztő.
A jelzést OK-val kell nyugtázni, majd utána lehet a cellát vagy sort javítani.
A standard Windows funkciók (másolás, kivágás, beszúrás, törlés) mellett az
„Insert line” és „Delete line” funkciókkal lehetősége van a táblázatban egy vagy
több sort a jelölt helytől kezdődően beszúrni vagy törölni.
Teljes sort a baloldali sorszámozásra való kattintással lehet kijelölni.
Ha a bevitel során elvéti a beírást, vagy a „Delete” vagy „Backspace” billentyűvel
törölheti a hibás bevitelt. A téves törlést az „Alt + Backspace”, a Ctrl + Z
billentyűk együttes lenyomásával, vagy az <Edit → Undo> menüpontok
kiválasztásával tudja visszaállítani.
Mint korábban említettük, a példaprogramban szereplő változók „Local” típusúak.
► Az első változó deklarálásához adja meg sorban egymás után a következő adatokat.
Name: initial_pos (változó nevének megadása)
Ha a bevitelre kerülő szöveg túl hosszú, akkor a bevitel balra továbbgördül. A
„Home” billentyűvel, vagy a cella megnövelésével tudja a teljes szöveget újra
láthatóvá tenni. A cella megnövelését a fejrész oldalsó határoló vonalával tudja
változtatni. (A bal egérgomb lenyomása mellett a vonalat a kívánt pozícióba
viheti.)
Type: (változó típusának megadása) Ehhez a cellához a különböző adattípusokat felsoroló
listamező tartozik, melyet az <Insert →Data types…> menüpontokkal, vagy az egérgomb
jobb gombjával előhívható gyorsmenüvel lehet megnyitni. Válassza a „BOOL” típust.
Initial Value: (változó kezdeti értékének megadása) Ennek kitöltése nem szükséges, mert
programstartnál alapbeállításként az „initial_pos” változó automatikusan nulla értéket veszi
fel.
Attribute: (változó tulajdonságának megadása) Nem kell kitölteni.
Ebben a mezőben lehet a remanens változók számára a „RETAIN” kulcsszót, vagy
konstansok esetén a „CONSTANT” megadni. Be-/kimeneti (I/Q) változók esetén nincs
értelme az attribútum megadásának.
Address: I0.0.0.0.0 (változó címének megadása) Az „initial_pos” változó címének megadása.
Comment: (változóhoz tartozó kommentár megadás). Az adott esetben adja be a berendezés
alaphelyzete kommentárt.
► Egy sort az „Enter” nyomógomb leütésével lehet befejezni és elhagyni.
A teljesen definiált változósor a következőképpen néz ki.
Name Type Address Comment
initial_pos BOOL I0.0.0.0.0 berendezés alaphelyzete
► Hasonló módon deklarálja a példaprogram többi változóját is.
Name Type Address Comment
start_button BOOL I0.0.0.0.1 start nyomógomb
stop_button BOOL I0.0.0.0.2
position_A BOOL I0.0.0.0.3 „A” pozíció elérve
motor BOOL Q0.0.0.0.0
22
Felhasználói program létrehozása
Ezzel a teljes változólista következő:
23
Felhasználói program létrehozása
szimbólumlista megfelelő ikonját.
szabad módú változó szerkesztő (Variable Editor: Free Mode)
A képernyőn megjelenik a változódeklarációs szerkesztő ablak, amelyet már korábban a
szintaktikusan vezérelt szerkesztővel létrehozott:
24
Felhasználói program létrehozása
Programbevitel utasításlistával
Projekt létrehozása
POU létrehozása
Változó deklarálás
Programbevitel
Topológia konfigurálás
Operátorok beszúrása
Az „Insert” menüpont alatt található az „Operators…” kiválasztó menüpont, amellyel a
rendelkezésre álló műveleteket tudja beszúrni, azaz a listából közvetlenül egy operátort a
programba bevinni. A művelet a következő lépcsőkből áll: <Insert → Operators…>
menüpontok, majd a kiválasztott művelet kifestése, és az „Accept” kapcsolófelületre
kattintással a kiválasztás megerősítése. További lehetőségként rendelkezésére áll a „Toolbox”,
melyet a <View → Toolbox> menüpontokkal lehet a szerkesztőablakba behívni / kiszűrni.
A műveleti jelet a szerkesztő a kurzor pozíciónál szúrja be, azonban ha ismeri a szükséges
operátor írásmódját, akkor közvetlenül a tasztatúráról is beviheti a műveleti jelet.
25
Felhasználói program létrehozása
Változók beszúrása
Az „Insert” menüpont alatt található az „Insert Variable…” kiválasztó menüsor, amelyben a
deklarált változók típusonként vagy összesítve kilistázhatók. A listából a kívánt változó
kiválasztható, és a program utasítássorába az „Accept” kapcsolófelületre kattintással kurzor
helyére beszúrható.
A változók beszúrására további két egyszerű lehetőség áll rendelkezésre. Az egyik az
egérgomb jobbgombjára kattintva az előzőekben ismertetett menüsor előhívása, a másik a
standard szimbólumsor alábbi szimbólumára kattintás.
Beszúrás az összes változóból (Select from all variables)
A programbevitel során a két szerkesztőablak között a Ctrl + TAB váltással bármikor
választhat.
► Vigye be a példaprogramot, mint az alábbiakban látható, miközben vegye figyelembe a
korábban megadott szabályokat.
26
Felhasználói program létrehozása
Program tárolás
A POU-k egy projekten belül mindig a „source”, vagy annak valamelyik alkönyvtárában
kerülnek letárolásra. Ha egy POU, pl. egy funkcióblokkot alkönyvtárban kell letárolni, akkor
előzőleg az alkönyvtárt a navigátorban az <Edit → New> parancsokkal létre kell hozni.
► Tárolja le a kész programot a <File → Save as…> menüpontokkal, vagy kattintson a
következő szimbólumra.
aktuális POU letárolása (Save the current POU)
Szintaktikus ellenőrzés
A szintaktikus ellenőrzéskor mindig az utoljára letárolt változatot ellenőrzi a program.
Amennyiben a képernyőn látható programot megváltoztatta anélkül, hogy azt letárolta volna,
akkor program szintaktikus ellenőrzés meghívásakor a következő dialógussal kérdez vissza.
„Save changes in <POU name> ?”. Az ellenőrzéshez erősítse meg a rákérdezést OK-vel.
► Az ellenőrzéshez válassza a <File → Syntax check> menüpontokat, vagy a
27
Felhasználói program létrehozása
28
Felhasználói program létrehozása
POU nyomtatás
► A nyomtatáshoz válassza a <File → Print…> menüpontokat, vagy a
nyomtatás (Print)
29
Topológia konfigurálás
9. Topológia konfigurálás
Topológia konfigurálás
Programkód létrehozása
31
Topológia konfigurálás
A topológia konfigurálás összes műveletét a menüsorból vagy a topológia konfigurátor
szimbólumlistájának megfelelő ikonjaival lehet elvégezni.
32
Topológia konfigurálás
A fájl automatikusan *.dcf kiterjesztéssel kerül mentésre az utoljára megnyitott aktuális
könyvtárba. Figyeljen arra, hogy a fájlt a project kompo.sys, vagy annak egyik alkönyvtárába
tárolja le.
► A topológia konfigurálás befejezése után az Alt + F4 billentyűk lenyomásával visszatérhet
a navigátor menühöz.
33
Felhasználói program gépi kódjának generálása
Topológia konfigurálás
Programkód létrehozása
Válaszként megnyílik a következő „New Make file – PS4-200” feliratú dialógus ablak:
35
Felhasználói program gépi kódjának generálása
A program paraméterezése
A különböző programparamétereket (pl. a mindenkori PLC-típusnak megfelelő kompilálási
opciókat, a lényeges programindítási feltételeket, a ciklusidő milyenségét, maximumát, a
jelszót, a merkerterületeket) ebben a menüpontban kell meghatározni. Ez történhet pl. a
megfelelő ikonra
PLC program paraméterek (PLC program parameters)
kattintással, azonban esetünkben elegendő az előzetesen beállított standard paramétersor is.
A programkód generálás
► Válassza a <Generate → All generate> menüpontokat, vagy az
új programkód generálás (Generate new program code)
ikonra kattintva létrehozza a futtatandó programkódot az aktuálisan kiválasztott generáló lista
alapján.
A kimeneti (alsó) ablakban látható a generálás menete.
Hibamentes lefutás esetén megfelelő jelzés jelenik meg az ablak utolsó soraként.
Amennyiben a fordítás során hiba lép fel, akkor az a kimeneti ablakban magyarázattal együtt
megjelenik.
A kijelzett hiba a <Project → Print Output> menüpontokkal kinyomtatható.
36
Felhasználói program gépi kódjának generálása
Hibakezelés
Ha programkód generálás során hiba lépett fel, akkor az a navigátor ablak alsó kimeneti felén
megjelenik.
Balról jobbra a következők láthatók:
hibahely ( deklarációs vagy utasításlistás rész)
hibahely sorának száma
oszlopának száma és
a POU neve illetve elérési útvonala.
► a hibás sor kifestése mellett az Enter billentyűt leütve, vagy a hibás sorra való kettős
kattintásra megjelenik a POU-szerkesztő.
A szerkesztőben a kurzor a hiba helyén villog, és a POU-sort pirossal kifestve jelzi a program.
► Javítsa ki a talált hibát, majd újra indítsa el a kódgenerálási folyamatot.
37
Teszt és az üzembe helyezés menete
online POU-szerkesztő
39
Programbevitel kontaktusterv / funkcióblokk segítségével
legördülő menüből válassza ki a megfelelő csatlakozást.
A vonal (line) és állomás (station) mezőknek a példánk szempontjából nincs jelentősége, ezért
ezek üresen hagyhatók. (Ezen mezőknek a jelentősége a Suconet K hálózaton keresztüli
programozásnál van jelentősége.)
► A kommunikációs konfigurációt a <File → Save> menüpontokkal lehet letárolni
miközben a rendszerprogram automatikusan az example.ccf nevet adja a fájlnak.
Összekötés felépítése
► Kapcsolja össze a programozó PC-t a PLC-vel.
► A „Connect” ikonra kattintva, hozza létre az összeköttetést. Ha az összeköttetés létrejött,
akkor az example mező sorában a status mezőben a „connected” (összekapcsolva) jelzés
jelenik meg.
40
Teszt és az üzembe helyezés menete
A baloldali mezőben alapfelállásban a futtatható (.pcd kiterjesztésű) fájlok nevei láthatók. (Az
alsó kiválasztó mezőben a PLC operációs (.osf kiterjesztésű) fájljainak a típusa is beállítható.)
A „Memory Medium” alapbeállítása a PRG, azaz a programozó készülék.
41
Programbevitel kontaktusterv / funkcióblokk segítségével
Az operációs rendszer letöltése a PLC-be
► Aktiválja a „Transfer…” kapcsolófelületet a teszt és üzembe helyezési menü fő ablakában.
Megnyílik a korábban már ismertetett, de a PS4-300/PS416-ra vonatkozó „Transfer/File
Manager” nevezetű dialógus ablak.
42
Teszt és az üzembe helyezés menete
Alkalmazói program átvitele a PLC-be
A „Transfer/File Manager” dialógus ablakban válassza ki a”.pcd” kiterjesztésű fájlokat.
► Jelölje ki a listából a letölteni kívánt programkód fájt, majd a „Transfer→ PLC” kapcsoló-
felületre kattintva, töltse le a programot. Az előzőekhez hasonlóan itt is kijelzés jelenik
meg a képernyőn az átvitel folyamatáról.
43
Programbevitel kontaktusterv / funkcióblokk segítségével
Ha korábban a PS4-200 típusú PLC családot választotta, akkor a következő ablak jelenik
meg:
Ha korábban a PS4-300 típusú PLC családot választotta, akkor viszont a következő ablak
jelenik:
44
Teszt és az üzembe helyezés menete
A „CPU Operating Status” mező mutatja a CPU üzemállapotát, valamint a PLC üzemmód-
választó kapcsolójának állását. A „Program Information” azokat a program végrehajtási
paramétereket mutatja meg, melyeket a kódgenerálás előtt beállított. Jelenlegi példánkban ez
az alap paraméter (default) értékeknek felel meg. A paramétereket nem lehet ebben az
ablakban módosítani.
Az alsó sorban található kapcsolófelületekkel lehet a programot indítani, leállítani, illetve a
programfutás közben fellépő hibákat diagnosztizálni.
► Állítsa a PLC üzemmód választó kapcsolót „RUN” állásba, melynek hatására a hidegstart
„Cold Start” kapcsolófelület kifeketedik, azaz indítható a PLC-t.
► A hidegstartra kattintva a PLC elindul, melyet a „CPU Operating Status” mező első sora a
„CPU Status” „Run” jelzése is mutat.
Ha Sucosoft S40 nem képes a programot elindítani, akkor a rendszer a lehetséges üzenet
kijelzésével ad felvilágosítást az előfordulható okokról. A „Diagnostics” kapcsolófelületre
kattintással a következő ablak jelenik meg a PS4-200 esetén:
45
Programbevitel kontaktusterv / funkcióblokk segítségével
46
Teszt és az üzembe helyezés menete
► A program futása leállítható, ha a „Halt” kapcsolófelületre kattint, vagy a PLC választó-
kapcsolót HALT-ba állítva a PLC-n a RESET gombot megnyomja. A leállított program
bármikor újra indítható a melegstart vagy a hidegstart kapcsolófelületek működtetésével,
ha a választókapcsoló RUN állásban van. (Természetesen a választókapcsoló nem HALT
állása mellett a RESET nyomógomb működtetése mellett is indítható a PLC!)
► Az OK-ra kattintva lehet a dialógus ablakot bezárni.
Program ellenőrzés
A „Program” ablak két részből áll. A baloldali a”Instanc” rész tartalmazza a RESOURCE-t,
mely a programstruktúrának legfelső szintjét mutatja, és a CPU-t reprezentálja.
A jobb oldali rész a mintaprogramot (jelen esetben a Position POU-t) tartalmazza.
► A RESOURCE-ra való kettős kattintással lehet a program további strukturális szintjeit
megjeleníteni. Jelen esetben csak a Position POU-t.
Ebben az ablakban a fastruktúrában kiválaszthatja azt a POU-t, melyet online módon
megjeleníteni, vagy módosítani akar. Ha a program további POU-t (funkcióblokkot,
függvényt) tartalmaz, akkor azt a programnév melletti „+” jelzés mutatja, melyeket további
kettős kattintással lehet javítás vagy megjelenítés céljából előhívni.
47
Programbevitel kontaktusterv / funkcióblokk segítségével
Ha egy programot online módon kíván módosítani, akkor annak regisztrálva kell
lennie, másrészt a teljes programnak tartalmában és a programkódban azonosnak
kell lenni a PLC-ben letárolt program verzióval. A példánkban feltételeztük, hogy
a fenti utasításokat követte, és akkor az említett két kívánalom automatikusan
teljesül.
► Válassza ki a baloldali ablakban a Position POU-t, majd kattintson a Display/Modify
kapcsolófelületre, hogy megnyíljon az az ablak, amelyben a Position POU programsorai
láthatók.
48
Teszt és az üzembe helyezés menete
► Jelölje ki az „initial_pos” változót és az <Online → Transfer Variable> menüpontokkal
vigye át a kijelölt változót a változó ablakba. Ismételje meg az eljárást a „motor” változó
estében is, majd az <Online → Online Variable Window> menüparancsokkal nyissa meg a
változó ablakot, amelyben a „Position” nevű POU látható.
► Kétszer a „Positon” névre kattintva, megjelenik a két bevitt változó, és kijelölve a „Display
Status” négyzetet, a kiválasztott változók állapota is folyamatosan kijelzésre kerül:
A PS4-300/PS416 típusú PLC-k esetén két további oszlop is megjelenik az ablakban, melyek
a változók „RUN” állapotban való adott értékű kényszerítésére (Force) szolgálnak, melynek
most a példánk szempontjából nincsen jelentősége.
► Az állapotkijelzés folyamatos megjelenítéséhez kattintson még egyszer a „Display Status”
kijelölő négyzetre.
► Az online szerkesztőbe az ALT + TAB billentyűk lenyomásával térhet vissza.
► Válassza a „Modify” parancsot
A változó ablak becsukódik, és a kurzor ismét a program első sorában villog. Így lehetősége
van a program esetleges módosítására.
Egy változtatás után a PLC-be való letöltéshez még az aktiválás (Activate)
kapcsolófelületet is működtetni kell. Ezáltal a módosított részlet mind a kiinduló
forrásnyelvi POU-ban és a letárolt programkódban, mind a PLC-ben
aktualizálásra kerül.
► Végezetül, ha be akarja fejezni az Online-Editort, akkor válassza a <File → Exit>
menüpontokat.
49
Programbevitel kontaktusterv / funkcióblokk segítségével
51
Második programozási feladat
POU megjelenítés kontaktusterves formában
► Válassza ki a kontaktusterves nyelvet (ladder logic) az <Options → Programming
Language → LD> menüpontokat, vagy a standard szimbólumlistából a
LD
ikont. A „position” POU az utasításrészben kontatktusterves (létradiagramos) formában
jelenik meg.
52
Programbevitel kontaktusterv / funkcióblokk segítségével
POU megjelenítés logikai funkcióblokkos formában
► Válassza ki a logikai funkcióblokkos nyelvet (Funtion Bock Diagram) az <Options →
Programming Language → FBD> menüpontokat, vagy a standard szimbólumlistából a
FBD
ikont. A „position” POU az utasításrészben funkcióblokkos formában jelenik meg.
Mindkét előző ábrán látható grafikai ábrázolás logikai tartalma megfelel a mintaprogramban
felvázolt feladatnak.
Az egyes utasításkommentárok nem az egyes grafikus szimbólumokhoz, hanem a hálózathoz
(annak kezdetéhez), vannak hozzárendelve.
53
Második programozási feladat
A program megvalósítási javaslata létradiagramban:
Motor bekapcsolása
Motor kikapcsolása
54
Programbevitel kontaktusterv / funkcióblokk segítségével
► Kattintson a megnyitott eszköztár „S” kapcsolófelületére, vagy szúrjon be egy S operátort
az <Insert → Operands…> menüpontokkal, vagy a jobboldali egérgomb által előhívott
gyorsmenü segítségével.
A már meglévő kimenettel párhuzamosan kapcsolva egy Set-kimenet épül be a
kontaktustervbe. Jelölje ki a „régebbi” kimenetet és törölje azt.
A 001 hálózat grafikus szerkesztése elkészült.
► Kattintson az „Initial LD Network (új hálózat indítása) ikonra, hogy egy újabb hálózatot
indítson el. A létrehozott új 002 számú hálózat szintén tartalmaz egy kontaktust és egy
kimeneti szimbólumot az ideiglenes „undef_opd” megnevezésekkel
► Jelölje ki a kurzorral az első kontaktus szimbólumot, hogy egy további érintkezőt (VAGY
kapcsolatot) beszúrhasson.
► Kattintson a megnyitott eszköztár „OR” kapcsolófelületére, vagy szúrjon be egy OR
operátort az <Insert → Operands…> menüpontokkal, vagy a jobboldali egérgomb által
előhívott gyorsmenü segítségével.
A már meglévő kontaktussal sorba kapcsolva egy újabb érintkező épül be a
kontaktustervbe.
► Egérrel jelölje ki a kimeneti szimbólumot, hogy a hálózatot az „R” (reset) paranccsal
lezárhassa.
► Kattintson a megnyitott eszköztár „R” kapcsolófelületére, vagy szúrjon be egy R operátort
az <Insert → Operands…> menüpontokkal, vagy a jobboldali egérgomb által előhívott
gyorsmenü segítségével.
A már meglévő kimenettel párhuzamosan kapcsolva egy Reset-kimenet épül be a
kontaktustervbe. Jelölje ki a „régebbi” kimenetet és törölje azt.
Ezzel mindkét hálózat grafikus szerkesztése elkészült.
55
Második programozási feladat
56
Programbevitel kontaktusterv / funkcióblokk segítségével
► Adja meg a motor bekapcsolása („Switches motor on”) kommentárt, majd az OK kapcsoló
felülettel erősítse meg a beadást. A beadott kommentár a hálózat fejrészében a hálózati
számozás alatt jelenik meg.
Hasonló módon adja meg a 002 hálózat számára is a szükséges kommentárt.
57
Második programozási feladat
A kontaktusterves formában való programozás ezzel befejeződött. A LD/FBD ablak a
következőket kell mutatnia:
58
Programbevitel kontaktusterv / funkcióblokk segítségével
Motor kikapcsolása
59
Második programozási feladat
► Kattintson az „Initial FBD Network (új hálózat indítása) ikonra, hogy egy újabb hálózatot
indítson el. A létrehozott új 002 számú hálózat szintén tartalmaz egy bemenetet és egy
kimenetet tartalmazó szimbólumot, az ideiglenes „undef_opd” megnevezésekkel
► Jelölje ki a kurzorral a bementi szimbólumot, hogy egy további logikai funkcióblokkot
(VAGY kapcsolatot) beszúrhasson.
► Kattintson a megnyitott eszköztár „OR” kapcsolófelületére, vagy szúrjon be egy OR
operátort az <Insert → Operands…> menüpontokkal, vagy a jobboldali egérgomb által
előhívott gyorsmenü segítségével.
A megjelölt helyen megjelenik egy VAGY logikai funkcióblokk két csatlakozással, mint
bemenetekkel.
► Egérrel jelölje ki a kimeneti szimbólumot, hogy a hálózatot az „R” (reset) paranccsal
kiegészíthesse.
► Kattintson a megnyitott eszköztár „R” kapcsolófelületére, vagy szúrjon be egy R operátort
az <Insert → Operands…> menüpontokkal, vagy a jobboldali egérgomb által előhívott
gyorsmenü segítségével.
A már meglévő kimenettel párhuzamosan kapcsolva egy Reset-kimenet épül be a
funkcióblokk diagramba. Jelölje ki a „régebbi” kimenetet és törölje azt.
Ezzel mindkét hálózat grafikus szerkesztése elkészült.
60
Programbevitel kontaktusterv / funkcióblokk segítségével
61
Második programozási feladat
► Adja meg a motor bekapcsolása („Switches motor on”) kommentárt, majd az OK kapcsoló
felülettel erősítse meg a beadást. A beadott kommentár a hálózat fejrészében a hálózati
számozás alatt jelenik meg.
Hasonló módon adja meg a 002 hálózat számára is a szükséges kommentárt.
62
Programbevitel kontaktusterv / funkcióblokk segítségével
A funkcióblokkos formában való programozás ezzel befejeződött. A LD/FBD ablak a
következőket kell mutatnia:
63
Második programozási feladat
LD megjelenítés
Az egyes programnyelvek között, akár aktív, akár kikapcsolt állapot-kijelzés mellett szabadon
átkapcsolhat.
► Válassza ki az <Options → Programming Language> menüpontokat.
► Válassza ki az LD programnyelvet, hogy a program létradiagramban legyen látható:
Modify ikonnal
FBD megjelenítés
A programnyelvek között, akár aktív, akár kikapcsolt állapot-kijelzés mellett szabadon
átkapcsolhat.
64
Programbevitel kontaktusterv / funkcióblokk segítségével
► Válassza ki az <Options → Programming Language> menüpontokat.
► Válassza ki az FBD programnyelvet, hogy a program logikai funkcióblokkos formában
legyen látható:
Modify ikonnal
65
Második programozási feladat
Feladat valamilyen digitális kimeneti egység nyolc kimenetes LED kijelzőjén futófény hatás
programozása, azaz az egyes LED-k egymás után rövid időre felvillannak. A váltásnak 2Hz-
es ütemben kell megvalósulni.
A futófény automatikusan indul, ha a vezérlés feszültséget kap, és addig fut, míg a vezérlést
kívülről le nem állítják. Kezelőszerveket nem kell figyelembe venni, azaz a bemeneteket nem
kell lekérdezni.
Az üzembe helyezést követően online módon a programfutást módosítani kell, miszerint a
futási sebességet le kell csökkenteni 1Hz-re.
67
Második programozási feladat
Program EXP_PS4
FB_LIGHT hívása
konkrét adatokkal
-kimeneti bájt
-időzítés
FB_LIGHT
kijelzés
vezérlése
FB_TP hívása
FB_TP
világítási
időzítés
68
Második programozási feladat
ahol
IN indítási feltétel
PT időzítési érték
Q az időtag bináris kimenete (állapota)
ET aktuális idő kijelzése
Az időtag az IN bemenetre adott digitális jel felfutó élére indul, és az időtag kimenetén (Q)
függetlenül a bemenet értékétől a PT-n megadott ideig logikai „1” szint jelenik meg, majd
visszavált nullába.
A funkcióblokk felhasználása
Egy létező funkcióblokk minden egyes felhasználásakor a meghívó POU deklarációs részében
egy instancálást, azaz egy kópiát kell definiálni. Ehhez a funkcióblokkot egy szabadon
megválasztott instanc-névvel, lokális változóként kell deklarálni.
A TP funkcióblokkot a „LIGHT” funkcióblokkban kell meghívni, ezért a „LIGHT” POU
deklarációs részében kell azt deklarálni. Ebben az esetben a TP funkcióblokknak a Pulse
lokális változónevet adjuk. A lokális változóknak a kulcsszava a VAR, tehát:
69
Második programozási feladat
Egy funkcióblokk hívása előtt a bemeneti változóknak át kell adni azokat az értékeket,
melyeket a futás során fel kell dolgozni, illetve az eredményként szolgáló kimeneti változók
értékeit szintén hozzá kell rendelni valamilyen változókhoz. Ezek a változónevek szabadon
megválaszthatók.
A példánkban a „LIGHT” funkcióblokkban a TP funkcióblokk felhasználásához a következő
változókat határoztuk meg:
Start az az indítási feltétel, melyet át kell adni az IN bemeneti változónak
Pulse_duration azr impulzusidőt meghatározó operandus
Time_running az időzítő kimeneti státusza, melyet a funkcióblokk Q kimenete biztosít
Curent_time az aktuálisan eltelt idő, melyet a funkcióblokk ET kimenete mutat
70
Második programozási feladat
A második eljárás esetén a funkcióblokk hívása előtt az egyes bemeneti paramétereket egyedi
LD utasításokkal kell betölteni, és az ST paranccsal a funkcióblokk bemeneti operandusának
átadni. A funkcióblokk hívása után lehet az egyes kimeneti operandusokat lekérdezni, ahol az
egyes kimeneti operandusokra vonatkozó írásmód az alábbiak szerint hangzik:
Instancnév.operandus
A funkcióblokk hívás és az egyes paraméterátadások a fenti példában a második eljárás
szerint a következő formájú:
A Q kimenet addig ad "1" kimenetet, amíg az időzítés fut. Ezután egy ciklusidőre a kimenet
"0"-t vesz fel, mely az időtag újraindítását eredményezi. A periódusidő közelítőleg megfelel a
PT értékének, hiszen az egy ciklusidő okozta hiba ebben az esetben elhanyagolható.
Így a világítási időzítés programozási utasítássorai a következők:
71
Második programozási feladat
(* címke *)
72
Második programozási feladat
(* időzítési alapérték *)
(* futó fény *)
(* aktuális idő *)
(* TP funkcióblokk instancálása *)
(* bitminta forgatás *)
(* funkcióblokk hívása *)
73
Második programozási feladat
feldolgozásra, ha az időzítés éppen lefutott. Ezután az időzítés azonnal újra startol, és a
forgatási rész mindaddig nincs feldolgozva, amíg az újabb időzítés fut.
A futófény sebességét egy TIME adattípusú változó adja meg, melyet 500ms kezdeti értékkel
veszünk figyelembe, mert ez felel meg a 2Hz-es elvárt ütemidőnek. A változót lokális
változóként deklaráljuk, mivel csak ebben a POU-ban használjuk fel. A változó neve legyen a
Running_speed:
A kijelzés vezérlésére a Display nevű változót használjuk. Ez a változó adja meg majd a
kimeneti címet. Jelen esetben legyen a 0-ás kimeneti bájt, melynek kezdeti értéke hideg start
esetén legyen = 1. Ezt a változót szintén lokálisnak deklaráljuk.
74
Második programozási feladat
Az "EXP_PS4" program végezetül a következő formával rendelkezik:
)
END_PROGRAM
Az alábbi grafika összefoglalva a programbeadástól a kész program ellenőrzéséig mutatja be
az egyes lépéseket.
FB_LIGHT funkcióblokk bevitele
változó deklaráció
programbevitel
EXP_PS4 program bevitele
változó deklaráció
programbevitel
topológia konfigurálás
programkód generálás
teszt és üzembe helyezés
programot a PLC-be letölteni
programot elindítani
programot online ellenőrizni és módosítani
75
Második programozási feladat
POU Editor
76
Második programozási feladat
Változók deklarálása
FB_LIGHT funkcióblokk bevitele
változó deklaráció
programbevitel
EXP_PS4 program bevitele
változó deklaráció
programbevitel
A változókat szintaktikusan vezérelt módban deklaráljuk, mert ebben a formában nem kell a
kulcsszavakra és a helyes írásmódra gondot fordítani.
A programjavaslatban a következő változókat határoztuk meg:
(* időzítési alapérték *)
(* futófény *)
(* aktuális idő *)
(* TP funkcióblokk instancálása *)
77
Második programozási feladat
► Írja be a "Pulse" változónevet.
► A funkcióblokk adattípusának megadása a következőképpen történik:
78
Második programozási feladat
► Válassza ki az időzítő (Timer) funkcióblokk alkönyvtárat.
► Jelölje ki az idősítők listájából a TP funkcióblokkot, majd kattintson az "Accept"
kapcsolófelületre. a lista bezáródik, és a munkasor típus mezejében megjelenik a TP jelölés.
Egy másik, de csak, mint a jelenlegi egyszerű esetekben ajánlott lehetőség, a
mezőbe funkcióblokk kézzel való begépelése.
► Adja meg a kommentár értékét.
► Kattinson a változókat kijelölő lovasok közül az "In_Out"-ra, hogy a funkcióblokk be-
/kimeneti változóját, a "light_strip"-t deklarálja. (Korábban deklarált lokális változó eltűnik
a képernyőről.)
► Kattinson a változókat kijelölő lovasok közül az "Input"-ra, hogy a funkcióblokk be-
meneti változóját, a "pulse_duration"-t deklarálja.
Ezzel elkészült a funkcióblokk változóinak deklarálása. Az összes deklarált változót egyszerre
is meg lehet tekinteni, ha a szerkesztőt átkapcsolja a szabad módú formátumba.
► A szabad módú deklarálás bekapcsolásához. vagy a < Options → Variable Editor → Free
mode> menüpontokat, vagy a megfelelő ikont kell leütnie.
Free mode
79
Második programozási feladat
Programbevitel utasításlistával
FB_LIGHT funkcióblokk bevitele
változó deklaráció
programbevitel
EXP_PS4 program bevitele
változó deklaráció
programbevitel
IL ikonnal
80
Második programozási feladat
► Tárolja le az elkészült programot a megfelelő <File → Save as…> menüpontokkal, vagy a
Print
Állítsa be a képernyőt, mint kimenetet, és így megszemlélheti a teljes POU-t (deklarációs és
utasításrészt együttese), vagy pedig a POU nyomtatása fejezet szerint (29. oldalon) akár az
egészet is kinyomtathatja.
A funkcióblokkok elkészítéséhez bonyolult esetben célszerűbb az alábbi eljárást
alkalmazni.
1. Első lépésként program típusként a teljes blokkfunkciót leprogramozni, majd
szintaktikusan ellenőrizni, és lefordítani illetve a PLC-ben letöltés után online
módon ellenőrizni.
2. A letesztelt és lementett programot a POU-szerkesztő <File → Convert POU
Type> menüpontokkal és a „Function Block” típusváltással funkcióblokká
átalakítani.
3. Az átalakított és más néven lementett funkcióblokk deklarációs részét
átalakítani, hiszen FB-k esetén nem lehet a változókhoz abszolút címzést
hozzárendelni, továbbá alapvetően meg kell egymástól különböztetni a
bemeneti, kimeneti, be-/kimeneti és lokális változókat.
A deklarációt célszerű a szabad módú (Free mode) deklarációs formában
átalakítani, mert ebben az esetben egyszerre látható az összes változótípus.
4. A deklaráció módosítását követően végre kell hajtani a szintaktikus
ellenőrzést, és hibajelzés esetén az adott helyeken a hibákat kijavítani.
81
Második programozási feladat
Az EXP_PS4 program bevitele
Továbbra is maradjon a POU-szerkesztőben aktivált szintaktikai módban és utasításlistás
programnyelv mellett.
► Nyissa meg a <File → New POU> menüpontokkal, vagy a standard szimbólumlista „P”
ikonjával egy új program típusú POU-t.
Változók deklarálása
FB_LIGHT funkcióblokk bevitele
változó deklaráció
programbevitel
EXP_PS4 program bevitele
változó deklaráció
programbevitel
82
Második programozási feladat
Ezzel befejeződött a POU deklarálása.
► Állítsa be a szabad módú változószerkesztőt (<Options→ Variable Editor → Free mode>),
és láthatja a helyes szintaktikai ábrázolásban a változókat.
Programbevitel utasításlistában
83
Második programozási feladat
► A listából jelölje ki a [FB]-vel jelölt, „light_sequence” instanc nevű fájlt, majd kattintson
az „Accept” kapcsolófelületre. A lista bezáródik, majd az utasításlistában megjelenik a
funkcióblokk.
► Egészítse ki a megfelelő paraméterezéssel a már meghívott funkcióblokkot, azaz a be-
/kimenetekhez rendelje hozzá a megfelelő változókat („Running_speed” és „Display”),
amint az a következő ábrán látható.
84
Második programozási feladat
)
Amennyiben a funkcióblokk hívásának beírása kézzel történik, figyeljen arra,
hogy „In_Out” típusú változókat csak a zárójelen belül szabad átadni, továbbá
üresen nem lehet hagyni, azaz mindig értéket kell kapni.
85
Második programozási feladat
86
Második programozási feladat
► Még egyszer hajtsa végre az előző parancsot, vagy kattintson a Status Display ikonra, hogy
az eddigi folyamatos változófrissülés befejeződjön. A képernyőn az utolsó aktualizált érték
„befagyva” látható.
Módosítások az Online-Editorban
Az online szerkesztőben az utasításlista online módon változtatható, melynek előnye, hogy
nincs szükség a POU-editor és az újólagos programkód generálás időt igénylő műveleteire. A
rendszerprogram az egyes változtatásokat a hozzátartozó POU fájlban és a futásképes prog-
ramkódban automatikusan visszavezeti.
Activate nyomógombra.
87
Második programozási feladat
A módosítást automatikusan tárolja a funkcióblokk, és ezzel egyidejűleg az új programkód is
legenerálódik. Ezután a megváltozott programkód letöltődik a PLC-be, és a programfutásnál
hatásossá válik, azaz a kimeneti LED soron megváltozik a futófény iránya. Az egész folyamat
során különböző rendszerüzenetek jelennek meg, melynek lezárásaként az OK gombbal kell a
egészet megerősíteni.
► végül zárja le az Online-Editort a <File → Exit> parancsokkal.
88
Második programozási feladat
► tárolja le a konfigurációt.
► Nyissa meg az „EXP_PS4” programot a POU-szerkesztőben, és bővítse a változó-
deklarációt a második futófény változóival.
A „LIGHT” funkcióblokk újabb instancálása érdekében bevezetjük a „Light_sequence2”
változót.
Az online nyomkövetés érdekében, azaz hogy a másodikként instancált „LIGHT” funkció-
blokk az elsőtől teljesen függetlenül fut, további két változót deklarálunk a
„Light_sequence2” funkcióblokk paraméterezéséhez.
A „Runnung_speed2” változót T#250ms értékkel inicializáljuk, és így a második futófény
kétszeres sebességgel fut, mint az első.
A második futófény kijelzése, mint az előbb már konfiguráltuk, az EM4-101-DD1 kimeneti
89
Második programozási feladat
bájtján, a „Display2” változóval történik. A cím első helye azt a vonalszámot mutatja, ahová a
modul csatlakozik, azaz a jelenlegi példánkban az első vonalra. Az EM4-101-DD1 a
példánkban ezen a vonalon az első résztvevő, azaz a második szám is 1. Mivel a bővítő modul
közvetlenül a soros vonalra csatlakozik, a modul száma 0, mely a harmadik számjegyet adja.
A címzés negyedik száma a megszólítandó kimeneti bájtot tartalmazza, mely, jelen esetben az
első (és egyetlen) kimeneti bájt miatt, szintén 0. Így a második futófény teljes címzése, az
(EM4-101-DD1 kimeneti bájtja) %QB1.1.0.0 jelöléssel írható le.
A bővített változó deklaráció a következőképpen néz ki:
A deklarálás után még a szerkesztő utasításrészében meg kell hívni a második funkcióblokkot
is:
► Pozícionálja a kurzort a program végére.
► Az újonnan deklarált funkcióblokk bekötésével kezdje a módosítást:
Az egér bal gombjával elhívható gyorsmenü megnyitása után használja az <Insert → Insert
variable…> parancsokat.
90
Második programozási feladat
► Válassza ki deklarált változótípusnak megfelelően a „Local…” menüpontot, melynek
hatására megnyílik a „Insert variable: Local” kiválasztó ablak.
► Jelölje ki a listában a „Light_sequence2” változót, majd kattintson az „Accept”
kapcsolófelületre. A lista bezáródik, majd az utasításlistában megjelenik a funkcióblokk.
► A paramétereket jelölje el a „Running_speed2” és a „Display2” változókkal.
A bekötés másik módjaként a meglévő „Light_sequence” hívást a program végére bemásolni,
és utána a jelöléseket értelemszerűen hozzáigazítani.
Ehhez lenyomott bal egérgombbal jelölje ki a funkcióblokkot, majd kattintson a másolás
(Copy) ikonra. Poziciónálja a program végére a kurzort, és kattintson a beszúrás (Insert)
ikonra. Végül módosítsa sorban a „Light_sequence” „Running_speed” és „Display”
megnevezéseket sorban egymás után „Light_sequence2” „Running_speed2” és „Display2”
nevekre.
► Tárolja le a POU-t, és hozza létre a programkód létrehozás alatt egy új generáló listát.
► Generálja le módosított programkódot a <Generate → Generate All> menüparancsokkal,
vagy a megfelelő szimbólumokkal, majd töltse le a programot a PLC-be
A start után láthatja , hogy a futófény az EM4-101-DD1 kimenetén kétszer gyorsabb ütemben
fut, mint a PS4-en.
Ezzel sikerült Önnek egy saját maga által gyártott funkcióblokkot egyszerű módon
kétszeresen is instancálni, anélkül, hogy külön gondoskodni kellene arról, hogy a „LIGHT”
funkcióblokk belső változóit a PLC-ben hol helyezze el. Hasonlóképpen nem kell a több-
szörösen instancált gyártó-specifikus funkcióblokk (TP) adatterületeinek címzésével sem
foglalkozni.
A módosított „EXP-PS4” program LD vagy FBD nyelvi formában a következők szerint
ábrázolható:
91
Második programozási feladat
92
Második programozási feladat
93
Második programozási feladat
94
Második programozási feladat
AWB2700-1306-D/GB).
Felhívjuk a figyelmét, hogy magyar nyelven szerkesztett formában is rendelkezésre áll az IEC
kompatíbilis programnyelv adatainak és változóinak típusait, illetve az egyes utasításokat,
függvényeket, funkcióblokkokat ismertető dokumentációja. A dokumentációs fájl neve
S40_xxxx.doc (word97 formátumban), elérhető az internetes honlapunkon (www.moeller.hu).
(Az xxxx helyén az évszám utolsó két dekádja és majd azon belül a hónap sorszáma található.)
LIGHT funkcióblokk
FBD ábrázolási mód:
95
Második programozási feladat
LD ábrázolás:
96
Második programozási feladat
Az EXP_PS4 program
LD és FBD ábrázolás módban:
97