11. mérés
Logikai vezérlők alkalmazástechnikája Bevezetés Technológiai folyamatok irányítási rendszereinek fejlődését tekintve megállapítható, hogy az utóbbi 2-3 évtizedben a korábbi analóg technikákat fokozatosan, napjainkra szinte teljes mértékben a digitális, számítógépes irányítási technikák váltották fel. A korai, centralizált rendszerek az alacsony megbízhatóság és a jelentős kábelezési költségek következtében továbbfejlesztésre szorultak, a mára kialakult (negyedik illetve ötödik generációsnak besorolt) rendszertechnikai megoldások hierarchikus, térbeli tagoltságot is magába foglaló, elosztott feldolgozást megvalósító, hálózati kommunikációra épülő struktúrát követnek. A fejlődés az ötödik generációs irányítási rendszereket jellemző intelligens távadók és beavatkozók, valamint a terepi buszok megjelenésével napjainkban is tart. A hierarchikus struktúrájú irányítási rendszerek alapvető szintjei •
a vezénylői (más szóval diszpécseri) szint, amely magába foglalja az ember-gép kapcsolati felület működtetését, az adatok archiválását, a folyamatjelek és folyamatállapotok vizuális megjelenítését, különleges információfeldolgozás (diagnosztika, anomáliák felderítése, adatbányászat) megvalósítását
•
a folyamat jeleit kezelő folyamatállomások szintje, a technológiai szint.
A mérés célja A jelen laboratóriumi gyakorlat célja, hogy a hallgatók gyakorlati tapasztalatokkal bővítsék a számítógépes technológiai-folyamat irányítás néhány tipikus eszközére és a hozzájuk tartozó tervezési módszerekre vonatkozó ismereteiket. A gyakorlat keretében felhasznált rendszer Siemens S7 PLC egységekből épül fel, komponensei a WinCC operációs rendszer, PROFIBUS hálózati csatoló, PROFIBUS kábelezés, S7-314C-2DP kompakt PLC modulok (2 egység, mindegyikben CPU, analóg és digitális ki- és bemenetek). A rendszer szolgáltatásait a hallgatók egy egyszerű mintafolyamaton elvégzendő mérések illetve beavatkozások keretében ismerik meg. A gyakorlat programja: (1) a rendszer konfigurálása előkészített könyvtári elemekből építkezve a WinCC felületen keresztül, (2) a konfigurált rendszer megfelelőségének ellenőrzésére alkalmas tesztek segítségével, (3) a mintafolyamat előírt viselkedésének biztosítása érdekében egyszerű mérési, irányítási és diagnosztikai algoritmusok tervezése, valamint realizálása könyvtári modulok felhasználásával, (4) a megtervezett rendszer üzembe helyezése, működtetése és bemérése, továbbá az eredmények összevetése az előzetes számításokkal.
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
175
Labor 2. Hallgatói segédlet
A mérés elméleti alapjai Mérési elrendezés A logikai vezérlők alkalmazásával kialakítható irányítási rendszerek vizsgálata céljából mintarendszerként korszerű Siemens PLC egységekből az alábbi elrendezés képezi a mérés tárgyát. A fizikai folyamat egy termikus folyamat, amely két beavatkozási és két hőmérséklet mérési ponttal kialakított hűtőtönk:
Vezénylõi PC: ember-gép kapcsolati felület (WinCC) programfejlesztés (Simatic Manager) tervezés (MATLAB)
CP5611 PROFIBUS interfész PROFIBUS
Fûtés vezérlés
PLC1 PLC1
Analóg kimenet Analóg bemenet
Analóg bemenet Digitális bemenet
Tranzisztor hõmérséklet Hûtõtönk hõmérséklet t>80 C
Hûtõtönk
Nyugtázás Digitális kimenet
S7-314C-2DP Ventillátor vezérlés PLC2
Analóg kimenet
S7-314C-2DP 11-1. ábra. A mérési elrendezés vezérlő elemei
176
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
11. mérés
Logikai vezérlők alkalmazástechnikája
Simatic Manager: az ember-gép kapcsolati felületet WinCC operációs rendszer alatt realizáló és a programozó egység szerepét betöltő PC, amely a CP5611 típusú kommunikációs kártya segítségével kapcsolódik a PROFIBUS hálózathoz. Az S7-314C-2DP PLC egységek programfejlesztése és letöltése a laborfeladatok teljesítése során a Simatic Manager szoftver alkalmazásával történik. S7-314C-DP: kompakt PLC, integrált analóg és digitális ki- és bemeneti pontokkal (24 digitális kimenet, 16 digitális bemenet, 4 analóg feszültség bemenet, 2 analóg feszültség kimenet), PROFIBUS DP master/slave interfész, integrált PID funkció. A termikus folyamat kialakítása : A termikus folyamat fő objektuma egy hűtőtönk. A hűtőtönk hőmérsékletét egy teljesítmény-tranzisztorral lehet növelni. Egy-egy hőmérséklet-érzékelővel a teljesítménytranzisztor tok-hőmérsékletét illetve a hűtőtönk hőmérsékletét érzékeljük. A termikus folyamat gyorsítása érdekében kényszerhűtést alkalmazunk. A termikus folyamatot a folyamatirányító PLC-khez egy illesztőkártya segítségével kötjük.
11-2. ábra. Az illesztő kártya és a termikus folyamat egyesített felépítése
A két hőmérséklet jelet egy-egy komparátorral figyeljük. Ha a hőmérséklet 80°C fölé emelkedne, a komparátor logikai igaz kimenete egy RS-tárolót bebillent. Az RS tároló igaz állapota (egy-egy piros LED-en jelezzük) letiltja a fűtést és vezérli az aktív alacsony nyitott kollektoros "hiba" kimenetet. Az illesztő kártya analóg ki- és bemenetei mindkét irányban 0-10V-os jelszintűek. A bemenetek bemeneti ellenállása 100kOhm. A kimenetek maximális terhelő árama 10mA. © BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
177
Labor 2. Hallgatói segédlet
Az illesztő kártya kétállapotú kimenete (a túl-hőmérsékletet követően aktív "hiba") nyitott kollektoros és aktív alacsony, kétállapotú bemenete (nyugta) pedig nyitott kollektoros kimenetet feltételez és aktív alacsony. Az illesztő kártya egy-egy csatlakozóval (8 pólusú RJ-45) kapcsolódik a 2 PLC-hez. A PLCk kimenetei (azaz az illesztő kártya bemenetei) között az illesztő kártyán elhelyezett egy-egy "jumper"-rel lehet választani. A PLC-khez kapcsolódó csatlakozók lábkiosztása: 1 - Nincs bekötve 2 - Nyugta (él-vezérelt aktív lefutó bemenet a túl-hőmérséklet tárolójának alapállapotba billentéséhez ) 3 - Hiba (túl-hőmérsékletet jelző tárolt, nyitott kollektoros, aktív alacsony kimenet) 4 - UV_cont (ventillátor feszültséget vezérlő bemenet) 5 - UP (fűtőteljesítményt vezérlő bemenet) 6 - Uϑ2 (tranzisztor tok hőmérséklet kimenet) 7 - Uϑ1 (hűtőtönk hőmérséklet kimenet) 8 - Közös nulla (GND) Az illesztő kártya 24V-os tápbemenetének bekötéséhez egy kétpólusú csatlakozó áll rendelkezésre. A tápfeszültség meglétét egy zöld LED jelzi.
11-3. ábra. A termikus folyamat egyszerűsített vázlata
A termikus folyamat objektumából egy-egy mérőhelyen több – eltérő fizikai jellemzőkkel bíró – változat is rendelkezésre áll. A változatok a tranzisztor és hűtőtönk közötti szigetelés meglétében illetve fajtájában, valamint a hőmérsékletérzékelők elhelyezésében különböznek egymástól. A tranzisztor tokhőmérséklet érzékelőjét nem mindegyik változat tartalmazza.
ϑ1
Up W1(s)
ϑ2 W2(s, UV_cont)
11-4. ábra. A termikus folyamat irányítástechnikai vázlata
178
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
11. mérés
Logikai vezérlők alkalmazástechnikája
A fenti blokkvázlatban a kissé szokatlan W2 ( s, UV _ cont ) jelölés egy olyan W2 (s ) átviteli függvényt jelöl, amelynek paraméterei függenek az UV _ cont ventillátor vezérlő feszültségtől, mivel a hőleadási viszonyokat a ventillátor légsebessége nyilvánvalóan befolyásolja. Az analóg és digitális csatlakozási pontok bekötése: Vegyük észre, hogy a folyamatjelek csatlakoztatásán túlmenően, a PLC-k analóg és digitális jeleinek keresztbekötése számos feladat elvégzésére ad lehetőséget. Folyamatvezérlő PLC (PLC #1) Jel Változó név AI0 IW10 (word) Analóg bemenet AI1 IW12 (word) Analóg bemenet AO0 QW10 (word) Analóg kimenet DI0 I0.0 (bit) Digitális bemenet DO0 Q0.0 (bit) Digitális kimenet DI8-DI15 I1.0–I1.7 bitenként IB1 byte-ként DO8-DO15 Q1.0–Q1.7 bitenként QB1 byte-ként Folyamathangoló PLC (PLC #2) Jel Változó név AO0 QW10 (word) Analóg kimenet DI8-DI15 I1.0–I1.7 bitenként IB1 byte-ként DO8-DO15 Q1.0–Q1.7 bitenként QB1 byte-ként
Fizikai jelentés Uϑ1 (hűtőtönk hőmérséklet) Uϑ2 (tranzisztor tok hőmérséklet) UP (fűtőteljesítmény vezérlés) ”Hőmérséklet magas” (t>80ºC) jelzés ”Hőmérséklet magas” jelzés nyugtázása PLC #2 digitális kimeneteivel összekötve PLC #2 digitális bemeneteivel összekötve
Fizikai jelentés UV_cont (ventillátor vezérlő feszültség) PLC #1 digitális kimeneteivel összekötve PLC #1 digitális bemeneteivel összekötve
Hivatkozások, felkészüléshez ajánlott irodalom [1]
Dr. Tuschák Róbert: Szabályozástechnika, Műegyetemi Kiadó, 55020, Bp., 1994. A szabályozási kör szintézise, (9. fejezet, 191-234. old.) Statikus nemlinearitások hatása (253-259. old.)
[2]
Németh Gábor (szerk.): Informatika I., Műegyetemi Kiadó, 55021, Bp. Multiprocesszoros rendszerek, (3.1 fejezet, 98. o.)
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
179
Labor 2. Hallgatói segédlet
Feladatok a felkészüléshez A mérést megelőző otthoni felkészülésként végezze el az alábbiakat önállóan. Az írásbeli feladatokat (kézzel írottan) be kell mutatni a mérésvezetőnek. Elfogadásuk előfeltétele a mérés megkezdésének. A szóbeli felkészülést a mérésvezető szúrópróbaszerűen ellenőrizheti. A mérést megelőző otthoni felkészülésként végezze el az alábbiakat önállóan! 1. Olvassa át alaposan A mérés elméleti alapjai c. szakaszban foglaltakat! 2. A Laboratórium 2. c. tárgy webes adatlapja alatt töltse le és válaszolja meg írásban az Ön számára kijelölt feladatot! 3. Olvassa el és gondolja végig a Mérési feladatokat! 4. Válaszolja meg a (mérési leírás végén található) Ellenőrző kérdéseket!
Alkalmazandó eszközök PC + PROFIBUS illesztő
WinCC Simatic Manager MATLAB
Tápegység
24V dc, 5A
S7-314C-2DP folyamatvezérlő illletve folyamathangoló PLCk
CPU: 314C-2DP
PLC #1 és PLC #2
4 analóg bemenet: ±10V dc, 11 bit + előjel 2 analóg kimenet: ±10V dc, 11 bit + előjel 24 digitális bemenet: 24V dc 16 digitális kimenet: 24V dc
Folyamatmodell
180
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
11. mérés
Logikai vezérlők alkalmazástechnikája
Siemens S7-300 PLC Bevezetés, elméleti alapok A laboratóriumi gyakorlatban két Siemens S7 314C-2DP típusú kompakt folyamatvezérlő számítógép található. A PLC-k PROFIBUS hálózaton keresztül kapcsolódnak egymáshoz, illetve a programozó eszköz és a kezelői beavatkozás/megjelenítés feladatát ellátó számítógéphez. A PLC lényegében egy olyan számítógép, amelyet architektúráját, működési rendszerét, programozási nyelvét és konstrukcióját tekintve gyártási folyamatok vezérlésére illetve szabályozására fejlesztették ki. A PLC analóg és digitális jelekkel csatlakozik a folyamathoz, programozása speciális programozó készülékkel vagy – mint ahogy a jelen mérésben is – hagyományos PC-vel történik. A PLC-k programozása a Simatic Manager programmal történik, míg a folyamat jeleinek megjelenítése, illetve a szabályozók paramétereinek beállítása a WinCC program segítségével történik. Felépítés Az S7-314C-2DP PLC a Siemens S7-300-as családba tartozó alsó-közép kategóriás kompakt vezérlő. A kompakt kifejezés arra utal, hogy a vezérlőegység fő részeit (CPU és jelkezelő kártyák) egy házon belül alakították ki.
11-5. ábra. A központi egység a elemei a homloklapon
1. Memóriakártya 2. Állapot- és hibajelzők •
SF – programhiba, hiba a hibaelemzéssel rendelkező kártyákról
•
BF – PROFIBUS hiba
•
5VDC – tápfeszültség meglétének kijelzése
•
FRCE – legalább egy be/kimenetet valamilyen állapotra kényszeríttettek
•
RUN – a CPU indítási szakaszában villog, normál RUN üzemmódban világít
•
STOP – ha teljes tártörlés szükséges lassan villog, törlés alatt gyorsan villog, STOP állapotban folyamatosan világít
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
181
Labor 2. Hallgatói segédlet
3. MMC (Micro Memory Card) ejector 4. Üzemmódkapcsoló •
RUN – program futtatása
•
STOP – futó program leállítása, programok letöltése
•
MRES – PLC teljes tárának törlése
5. X2 PROFIBUS csatlakozó. 6. X1 MPI csatlakozó. 7. 24V-os feszültségcsatlakozás. 8. Az integrált be- és kimenetek csatlakozópontjai. A 314C-2DP kompakt PLC-ben 24 digitális bemenet, 16 digitális kimenet, 4 analóg bemenet és 2 analóg kimenet található. Akkumulátorok A PLC 4 darab 32 bites akkumulátorral rendelkezik. Az adatokat és a műveleti eredmények értékei ezekbe az akkumulátorokba kerülnek. Lényeges tulajdonság, hogy a legújabb adat mindig az egyes számú akkumulátorba (ACCU1) töltődik, melynek korábbi tartalma a másodikba (ACCU2) másolódik. Így tehát a negyedik akkumulátor tartalma elvész. Memóriakezelés A PLC-ben rendelkezésre álló memória alapvetően három részre osztható: •
A memóriakártyán található részben tárolódik minden programkód, az adatblokkok és a konfigurációs adatok.
•
A RAM memória tartalmazza a mindenkori futó programot és annak adatait.
•
A rendszer memória pedig további konfigurációs adatokat, valamint a be- és kimenetek (PII és PIQ) aktuális értékeit tárolja.
Programblokkok A PLC programozási nyelve – a STEP7 – strukturált programozást tesz lehetővé, ezért az alkalmazói program modulokból (a Siemens PLC terminológiája szerint blokkokból) épül fel, amelyek mindegyike egy-egy feladatot tartalmaz. Az egyes blokkok feldolgozási sorrendjét mindig egy ún. szervezőblokk (OB – Organization Block) fogja össze, ami tartalmazza a többi blokk hívását. Ciklikus programfuttatás esetében ez a szervezőblokk az OB1. A blokkoknak különböző fajtái és funkciói vannak: 1. Szervezőblokk (OB = Organization Block): Speciális, csak az operációs rendszer által meghívott programblokk. Itt megemlíthető az OB1, amely a ciklikus programvezérlést tartalmazza, az OB35, amely 100 ms-os idővezérelt megszakítás, valamint a hibakezelő blokkok. 2. Funkcióblokkok (FB = Function Block): Memóriával, saját adattárolóval rendelkezik, ahol változók tárolhatók a következő hívásig. 3. Függvények (FC = Function): Részfunkciót hajt végre, de nem rendelkezik saját memóriaterülettel. 4. Adatblokkok (DB = Data Block): Ezek a blokkok tartalmazzák az alkalmazói programhoz szükséges adatokat. Egyik típusa az osztott adatblokk, melyet a program bármely blokkja láthat. Másik típusa az egyedi adatblokk, mely egy saját függvényblokkot szolgál ki. FB hívásakor a fejlesztőprogram hozzárendeli ezt a lokális DB-t a modulhoz.
182
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
11. mérés
Logikai vezérlők alkalmazástechnikája
5. Rendszerfunkciók (SFB, SFC = System FB, System FC): Előre meghatározott, beépített funkciókat tárolnak. Ebben az esetben a modulok a CPU operációs rendszerében helyezkednek el, és az alkalmazói tárból nem foglalnak le területet. Hívásuk a felhasználói programban történik. 6. Rendszer-adatblokkok (SDB = System DB): Az operációs rendszer, konfiguráció beállítások, kártyák paramétereit és a kommunikációs adatokat tartalmazzák. Memóriahivatkozás A Siemens PLC-k memóriakezelését az alábbi ábra szemlélteti a memória blokk típusai alapján. Az adott típusokra a következő címazonosítóval lehet hivatkozni: CPU Memory Area Process-Image Input Table (PII) Process-Image Output Table (PIQ) Bit Memory (M) Local Data Stack (L Stack) Direct peripheral input area (I) Direct peripheral output area (Q) Shared Data Block (DB) Instance Data Block (DI) Timer (T) Counter (C)
Bit I Q M L DBX DIX T C
Byte IB QB MB LB PIB PQB DBB DIB
Word IW QW MW LW PIW PQW DBW DIW T C
Double Word ID QD MD LD PID PQD DBD DID
11-6. ábra. A Siemens PLC-k memóriakezelése
Programfeldolgozás A PLC-k programfeldolgozása ciklikus működésű. A ciklus mindig egy startup blokkal (OB100 vagy OB101) indul, ami RUN állapotba való átkapcsoláskor vagy újraindításkor hívódik meg. A blokk törli a belső változókat, a megfelelő memóriákat és megszakítás kéréseket. Egy programciklus az alábbi részekből áll: 1. A ciklusidő-figyelés újraindítása. 2. A kimeneti értékek táblájának (PIQ) kiírása a kimeneti kártyákra. 3. A bemeneti jelek állapotának lekérdezése és a bemeneti értékek táblájának (PII) aktualizálása. 4. A felhasználói program végrehajtása a benne lévő utasításokkal (azaz az OB1 blokk meghívása).
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
183
Labor 2. Hallgatói segédlet
A felhasználói programot tehát az OB1 blokk tartalmazza, amit a rendszer ciklikusan meghív, a többi függvényblokkot is innen hívhatjuk meg. A CPU folyamatosan figyeli ennek a blokknak a futási idejét, a ciklusidőt (cycle time), ami nem léphet túl egy meghatározott értéket. Ha a ciklusidő mégis túllépi a megengedett értéket, az operációs rendszer meghívja az OB80 hibakezelő blokkot, vagy ha ez nincs, akkor a CPU STOP üzemmódba vált. A CPU a jelek konzisztenciájának biztosítása érdekében egy bemeneti változóra hivatkozáskor nem közvetlenül olvassa bemeneti kártyákat, hanem minden ciklus elején „mintavételezi” a bemenetek értékét és eltárolja egy táblázatban (PII = Process Image Input) és onnan veszi ki az értékét. Hasonlóképpen, a kimeneteket először egy táblázatba (PIQ = Process Image Output), majd onnan a ciklus végén egyszerre írja ki a kimeneti kártyákra. Az idővezérelt programfeldolgozásnál (pl. mintavételes szabályozásnál) lehetőség van adott programrészek meghatározott időközökben való meghívására. Alapbeállításban az operációs rendszer 100 ms-enként meghívja az OB35 blokkot. A mérés során ezt a blokkot fogjuk használni, ebből a blokkból hívódnak meg a felhasználói függvények. Keretrendszer A laborgyakorlat során a mérési feladatokat egy keretrendszer segítségével oldjuk meg. Ez a keretrendszer lényegében két fő részből áll. Egyrészt a PLC-be letölthető blokkokból, amelyek az alapvető funkciókat biztosítják, megvalósítva a PLC-khez kapcsolódó termikus folyamatmodell jeleinek kezelését, a jelek mintavételezését, a szabályozók kiválasztását és a beavatkozó jel kiadását. Másrészt a keretrendszer biztosítja, hogy a WinCC megjelenítő rendszerben beállított szabályozó paraméterek a PLC meghatározott adatblokkjaiba kerülnek és közvetlenül hozzáférhetők. A folyamatmodell aktuális változói a DB100 adatblokkban találhatók, amelyre az SCL programban Process néven hivatkozhatunk (például Process.Y): Név TIPUS Y1_PER Y2_PER U_PER Y1 Y2 Y Sp U_MAN U U1 U2 U3 U4 UU UU1 UU2 UU3 UU4 E0 E1 E2 E3 E4 MAX MIN YSZAB
184
Típus WORD WORD WORD WORD REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL BOOL
Funkció Szabályozó típusa Folyamat kimenete (I/O format) = IW10 Folyamat kimenete (I/O format) = IW12 Beavatkozó jel (I/O format) = QW10 Folyamat T1 kimenete Folyamat T2 kimenete Folyamat kimenete (szabályozóhoz) Alapjel Kézi beavatkozó jel Számított beavatkozó jel k-1 beavatkozó jel k-2 beavatkozó jel k-3 beavatkozó jel k-4 beavatkozó jel Korlátozott beavatkozó jel k-1 beavatkozó jel k-2 beavatkozó jel k-3 beavatkozó jel k-4 beavatkozó jel k hibajel k-1 hibajel k-2 hibajel k-3 hibajel k-4 hibajel Felső limit Alsó limit 0=Y1, 1=Y2 alapján szabályozás
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
11. mérés
Logikai vezérlők alkalmazástechnikája
HIBA NYUGTA MINTAV
BOOL BOOL WORD
Hibajelzés Nyugtázás Mintavételi idő * 100ms
A mintavételi ciklust az OB35 blokk megvalósítja meg. Ezt a blokkot a PLC operációs rendszere 100 ms-onként meghívja, így a Process.Mintav változó értékével a 100 msec-os alapidő egész számú többszöröseként adhatjuk meg a mintavételi időt, azaz azt a ciklusidőt, amellyel az OB35 blokk mintavételezi a bemeneteket és lefuttatja a szabályozót megvalósító programrészlet. A megjelenítő rendszerben 12 szabályozó állítható be, az aktuális szabályozót a Process.Tipus változóban jelöli ki. Az egyes szabályozókhoz tartozó paraméterek a szabályozó sorszámának megfelelő adatblokkban találhatók. Azaz az első szabályozó adatai a DB1 blokkban, a másodiké a DB2 blokkban, stb. A paramétereket tartalmazó blokkokra az SCL programban a Data1, Data2, … szimbólumokkal hivatkozhatunk. A különböző típusú szabályozók paraméterei az alábbiaknak megfelelően kerültek definiálásra. A szabályozók közül az első kilenc előre beprogramozott szabályozási struktúrák részére van fenntartva. A keretrendszer garantálja, hogy a szabályozó a sorszámának megfelelő függvényblokk (pl. az második szabályozó esetén az FC2) minden egyes mintavételi ciklusban meghívásra kerül. A program módosítása során fontos betartani, hogy a megfelelő függvényben a visszatérés előtt értéket kell adnunk a Process.U beavatkozó jelet tároló változónak. A keretrendszer ezenkívül gondoskodik a korábbi mintavételi pontokban képzett beavatkozó jel, hibajel értékeinek léptetéséről is. Általánosan elmondható, hogy a Process (DB100) adatblokk változóit a keretrendszer kezeli, így azokat – a Process.U kivételéve – nem célszerű megváltoztatni, mert ez hibás működéshez vezethet. 1. PLC-be beépített folytonos PID szabályozó A beépített szabályozó (FB41) PLC-beli paramétereinek blokkvázlata a Mellékletben található, így itt csak a DB1 (Data1) adatblokkban található paraméterekkel foglalkozunk: Név P I D K TI TD T
Típus BOOL BOOL BOOL REAL TIME TIME TIME
Funkció P kompenzáció bekapcsolása I kompenzáció bekapcsolása D kompenzáció bekapcsolása Szabályozó Kc Szabályozó Ti (ms-ban) Szabályozó Td (ms-ban) Szabályozó T (ms-ban)
2–4. Diszkrét szabályozás A szabályozó blokkvázlata:
r[k]
e[k]
P(z) Q(z)
u[k]
uu[k]
y[k] folyamat
P(z) = p0 + p1z–1 + p2z–2 + p3z–3 Q(z) = q0 + q1z–1 + q2z–2 + q3z–3
11-7. ábra. A diszkrét szabályozó blokkvázlata
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
185
Labor 2. Hallgatói segédlet
A szabályozók paraméterei a DB2 (Data2), DB3 (Data3), illetve a DB4 (Data4) adatblokkban találhatók, a polinomokat z–1 hatványai szerinti alakban kell megadni. Név Q0 Q1 Q2 Q3 P0 P1 P2 P3
Típus REAL REAL REAL REAL REAL REAL REAL REAL
Funkció q0 paraméter q1 paraméter q2 paraméter q3 paraméter p0 paraméter p1 paraméter p2 paraméter p3 paraméter
A keretrendszerben ez a három szabályozó előre beprogramozott, a paraméterek értéke beállítható WinCC felületről. A szabályozó algoritmus az FC2 (Szab2), FC3 (Szab3), illetve az FC4 (Szab4) függvényblokkban található, így szükség szerint módosítható. Az előre beprogramozott algoritmus az alábbi módon állítja elő a Szab2 szabályozó beavatkozó jelét: Process.U := ( (Data2.P3*Process.E3 + Data2.P2*Process.E2 + Data2.P1*Process.E1 + Data2.P0*Process.E0) – (Data2.Q3*Process.UU3 + Data2.Q2*Process.UU2 + Data2.Q1*Process.UU1)) / Data2.Q0;
5–7. Általános diszkrét szabályozás korlátozással A szabályozó blokkvázlata:
r[k]
e[k]
F(z) B(z)
x[k]
u[k]
uu[k]
y[k] folyamat
xx[k]
H(z) B(z)
F(z) = f0 + f1z–1 + f2z–2 + f3z–3 B(z) = b0 + b1z–1 + b2z–2 + b3z–3 H(z) = h0 + h1z–1 + h2z–2 + h3z–3
11-8. ábra. Az általános diszkrét szabályozó blokkvázlata
A szabályozók paraméterei a DB5 (Data5), DB6 (Data6), illetve a DB7 (Data7) adatblokkban találhatók, a polinomokat z–1 hatványai szerinti alakban kell megadni. Név F0 F1 F2 F3 F4 B0 B1 B2 B3 B4 H0
186
Típus REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL
Funkció f0 paraméter f1 paraméter f2 paraméter f3 paraméter f4 paraméter b0 paraméter b1 paraméter b2 paraméter b3 paraméter b4 paraméter h0 paraméter
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
11. mérés
Logikai vezérlők alkalmazástechnikája
H1 H2 H3 H4 X0 X1 X2 X3 X4 XX0 XX1 XX2 XX3 XX4
REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL
h1 paraméter h2 paraméter h3 paraméter h4 paraméter x[k] x[k-1] x[k-2] x[k-3] x[k-4] xx[k] xx[k-1] xx[k-2] xx[k-3] xx[k-4]
A keretrendszerben ez a három szabályozó szintén előre beprogramozott, a paraméterek értéke beállítható WinCC felületről. A szabályozó algoritmus az FC5 (Szab5), FC6 (Szab6), illetve az FC7 (Szab7) függvényblokkban található, így szükség szerint szintén módosítható. A blokkvázlatból látható, hogy a szabályozó megvalósításához szükség van még két, x[k]val és xx[k]-val jelölt belső változóra, amelyek esetében a mintavételi ciklusonkénti léptetést is a megfelelő függvényblokkban kell megoldanunk. Az előre beprogramozott algoritmus az alábbi módon állítja elő a Szab5 szabályozó beavatkozó jelét: // Belső jel léptetése Data5.X4 := Data5.X4; Data5.X3 := Data5.X2; Data5.X2 := Data5.X1; Data5.X1 := Data5.X0; Data5.XX4 := Data5.XX3; Data5.XX3 := Data5.XX2; Data5.XX2 := Data5.XX1; Data5.XX1 := Data5.XX0; // Belső jelek kiszámítása Data5.X0 := ( (Data5.F4*Process.E4 + Data5.F3*Process.E3 + Data5.F2*Process.E2 + Data5.F1*Process.E1 + Data5.F0*Process.E0) – (Data5.B4*Data5.X4 + Data5.B3*Data5.X3 + Data5.B2*Data5.X2 + Data5.B1*Data5.X1)) / Data5.B0; Data5.XX0 := ( (Data5.H4*Process.UU4 + Data5.H3*Process.UU3 + Data5.H2*Process.UU2 + Data5.H1*Process.UU1 + Data5.H0*Process.UU) – (Data5.B4*Data5.XX4 + Data5.B3*Data5.XX3 + Data5.B2*Data5.XX2 + Data5.B1*Data5.XX1)) / Data5.B0; // Beavatkozó jel kiszámítása Process.U := Data5.X0 + Data5.XX0;
8. Folytonos szabályozás A szabályozó blokkvázlata:
r(t)
e(t)
P(s) Q(s)
u(t)
uu(t)
y(t) folyamat
P(s) = p0 + p1s–1 + p2s–2 + p3s–3 Q(s) = q0 + q1s–1 + q2s–2 + q3s–3
11-9. ábra. A folytonos szabályozó blokkvázlata
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
187
Labor 2. Hallgatói segédlet
A szabályozók paraméterei a DB8 (Data8), illetve a DB9 (Data9) adatblokkban találhatók, a polinomokat s–1 hatványai szerinti alakban kell megadni. Név Q0 Q1 Q2 Q3 P0 P1 P2 P3 X1 X2 X3
Típus REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL
Funkció q0 paraméter q1 paraméter q2 paraméter q3 paraméter p0 paraméter p1 paraméter p2 paraméter p3 paraméter x1 integrátor x2 integrátor x3 integrátor
A keretrendszerben ez a két szabályozó előre beprogramozott, a paraméterek értéke beállítható WinCC felületről. A szabályozó algoritmus, amely a delta transzformáción alapul, az FC8 (Szab8), illetve az FC9 (Szab9) függvényblokkban található, így szükség szerint módosítható. Az előre beprogramozott algoritmus az alábbi módon állítja elő a Szab8 szabályozó beavatkozó jelét: FUNCTION FC8: VOID VAR_TEMP tmv : REAL; END_VAR tmv := WORD_TO_INT(Process.Mintav) * 0.1; // integrátorok aktualizásása Data8.X3 := Data8.X3 + tmv * (Process.E0*Data8.P3 Process.UU*Data8.Q3)/Data8.Q0; Data8.X2 := Data8.X2 + tmv * ((Process.E0*Data8.P2 Process.UU*Data8.Q2)/Data8.Q0 + Data8.X3); Data8.X1 := Data8.X1 + tmv * ((Process.E0*Data8.P1 Process.UU*Data8.Q1)/Data8.Q0 + Data8.X2); // beavatkozó jel számítása Process.U := Data8.X1 + Process.E0*Data8.P0/Data8.Q0;
9. Folytonos PI szabályozás korlátozással A szabályozási rendszerekben a beavatkozó jelre korlátozások érvényesek. Ebben a mérési elrendezésben a beavatkozó jel korlátozva van a 0,+10V tartományra a hardware megvalósítás következtében. Ha a beavatkozó jel eléri a korlátot, akkor kiesik a lineáris működési tartományból, és a viselkedés jelentősen eltérhet a várt működéstől. Ennek a hatásnak a csökkentésére számos módszer létezik. Ez a szabályozó a PI szabályozás beavatkozó jelének korlátozását FOXBORO szabályozással oldja meg.
e(t)
r(t)
-
k
u(t) +
P(s)
y(t)
1 1 + sTi
11-10. ábra. A FOXBORO szabályozó blokkvázlata
188
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
11. mérés
Logikai vezérlők alkalmazástechnikája
A FOXBORO szabályozó korlátozás nélkül megegyezik egy hagyományos soros PI szabályozási körrel.
r(t)
e(t)
-
k
1 + sTi sTi
u(t)
P( s)
y(t)
11-11. ábra. Soros PI szabályozási kör
Az azonosság könnyen belátható,
1
C ( s) = k 1−
1 1 + sTi
=k
1 + sTi . sTi
A FOXBORO szabályozás a telítés problémáját úgy oldja meg, hogy a szabályozó és folyamat bemenő jelét hasonló módon korlátozza. A k és Ti paramétereket a kezelőfelületről lehet beállítani. A Szab9 program kódja a következő: FUNCTION FC9: VOID VAR_TEMP tmv : REAL; END_VAR tmv := WORD_TO_INT(Process.Mintav) * 0.1; IF Process.Init THEN Data9.X0 := Process.UU * Data9.Ti; END_IF; Data9.X0 := Data9.X0 + tmv * (Process.UU - Data9.X0/Data9.Ti); Process.U := Data9.K*Process.E0 + Data9.X0/Data9.Ti; END_FUNCTION
10–12. Mintaprogramok A fennmaradó három szabályozóhelyre szabadon programozható tetszőleges algoritmus vagy program. Minden programblokkhoz (FC10 … FC12 – Szab10 … Szab12) tartozik egy 10 valós paramétert tartalmazó adatblokk (DB10 … DB12 – Data10 … Data12) is, amelynek minden egyes változóját a WinCC felületről állíthatjuk. Így számos, az előre beprogramozott szabályozótól eltérő algoritmus megvalósítására nyílik lehetőségünk. Név Par1 Par2 Par3 Par4 Par5 Par6 Par7 Par8 Par9 Par10
Típus REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL
Funkció 1. paraméter 2. paraméter 3. paraméter 4. paraméter 5. paraméter 6. paraméter 7. paraméter 8. paraméter 9. paraméter 10. paraméter
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
189
Labor 2. Hallgatói segédlet
WinCC kezelőfelület A keretrendszerhez tartozó WinCC kezelőfelület a következőképpen néz ki:
11-12. ábra. A WinCC kezelőfelülete
Az ablak bal felső szélén választhatjuk ki az aktuális szabályozó típusát. A szabályozó paramétereit a megfelelő gomb megnyomása után kinyíló ablakban adhatjuk meg. A bal alsó sarokban, a három csúszkával állíthatjuk be a kézi beavatkozó jelet, az alapjelet és a folyamat paramétereként szolgáló hűtőventillátor jelét. Az ablak felső részén láthatjuk a szabályozókör egyszerűsített blokkdiagramját, a megfelelő jelek és azok aktuális értékeinek feltüntetésével. Ha a termikus folyamatmodell túlmelegszik (azaz hőmérséklete 80°C fölé emelkedik), a beépített védelme lekapcsolja a beavatkozó jelét és hibajelzést ad. Ekkor a folyamat blokkja felett található Nyugta gomb háttere pirosra vált. A gomb megnyomásával a hibajelzés nyugtázható. A blokk alatt található kapcsolóval pedig kiválaszthatjuk, hogy a két hőmérséklet közül melyiket vegyük figyelembe a szabályozó hibajelének képzésekor. Az ablak területének nagy részét a megjelenítő panel foglalja el. Ezen piros színnel az alapjel, kék, illetve lila színnel a két hőmérséklet, zöld és kékeszöld színnel pedig a szabályozó beavatkozó jele, illetve a korlátozott beavatkozó jel diagrammja látható. A kezelői felület lehetőséget ad még, hogy az aktuális adatokat egy, a MATLAB program által is feldolgozható fájlba (.m fájlba) kiírjuk. Ez úgy történik, hogy megnyomjuk az Adatmentés start gombot, majd megadjuk a fájl nevét. Ezután a rendszer 1 másodpercenként kiírja az aktuális értékeket. A mentést a gomb ismételt megnyomásával fejezhetjük be. A fájl ezután a következő formátumú lesz, ami közvetlenül feldolgozható a MATLAB programmal:
190
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
11. mérés
Logikai vezérlők alkalmazástechnikája
Ts = 1; data = […, …, …, …, …; … …, …, …, …, …]; t = data(:,1); y = data(:,2); u = data(:,3); uu = data(:,4); a = data(:,5);
A MATLAB-ban betölthetjük az értékeket, ha beírjuk fájl nevét kiterjesztés nélkül.
Simatic Manager A Siemens S7-300-as típusú PLC-khez szükséges programokat a Simatic szoftver segítségével tudjuk megírni, szimulálni, a PLC-t felprogramozni. A szoftver kezelőfelülete a Simatic Manager, mely használatával képesek vagyunk beállítások, konfigurációk, fejlesztések, szimulációk és sok más dolog elvégzésére. A STEP7 szoftver több, alacsonyabb és magasabb szintű programozási nyelvet ismer: •
STL (Statment List) – Szöveges, a gépi kódhoz leginkább hasonlító programozási nyelv, amely közvetlenül a CPU által végrehajtott utasításokat tartalmazza.
•
LAD (Ladder Logic) – A relés vezérlési diagrammoknak megfelelő grafikus nyelv, amelyben a kapcsolók és relék segítségével könnyen követhető az információáramlás.
•
FBD (Function Block Diagram) – Grafikus programozási nyelv, a logikai algebra funkcióinak megfelelő blokkokkal.
•
GRAPH – Sorrendi vezérlés (állapotok és átmenetek) megvalósításához alkalmas programozási nyelv.
•
HiGraph – Állapotgráfokon alapuló magas szintű programozási nyelv.
•
SCL (Structured Control Language) – A PASCAL programozási nyelvnek megfelelő magas szintű programozási nyelv.
A programozási nyelvek közül a legalapvetőbb az STL, mivel ez a CPU utasításait tartalmazza. A Simatic Manager segítségével azonban bármelyik programozási nyelven elkészíthetjük a programjainkat, és akár át is konvertálhatjuk erre. A laborgyakorlat során azonban az SCL programozási nyelv segítségével kell a feladatokat megoldani, amely nagymértékben hasonlít a PASCAL programozási nyelvhez. Az SCL részletes ismertetése a tárgy webes adatlapján található. A Simatic Manager használata során létre kell hoznunk egy projektet, amely tartalmazza a feladatban szereplő PLC-ket, a PLC fizikai konfigurációjának megfelelő konfigurációs táblát, amelyben az egyes modulok, valamint a be- és kimenetek címei szerepelnek, valamint a hálózati kapcsolatokat, beállításokat is.
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
191
Labor 2. Hallgatói segédlet
A keretrendszer projektje a Simatic Managerben A mérési feladathoz tartozó keretrendszer projektje a következőképpen néz ki:
11-13. ábra. A keretrendszer projektje a Simatic Managerben
A megfelelő blokkra kattintva behívható a blokkhoz tartozó szerkesztőprogram. Például az FC4 függvényblokkra kattintva az alábbi SCL szerkesztőprogram indul el:
11-14. ábra. Az SCL szerkesztőprogram
192
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
11. mérés
Logikai vezérlők alkalmazástechnikája
A Simatic Manager és az SCL szerkesztőprogram használata alapvetően megegyezik bármelyik másik Windows alapú program használatával. Az alapvető funkciókon (betöltés, mentés, vágólap használata, ablakok kezelése stb.) felül természetesen kiegészült még néhány, a PLC-kkel kapcsolatos speciális funkcióval is. gombra kattintva, vagy a File|Compile (Ctrl+B) Az SCL programot elkészítése után a menüponttal fordíthatjuk le. Az esetleges fordítási hibákat az ablak alsó részén láthatjuk. Sikeres fordítás után a gombra kattintva, vagy a PLC|Download (Ctrl+L) paranccsal tölthetjük le a blokkot a PLC-be. Az editor még lehetőséget ad lépésenkénti nyomkövetésre (debug) és töréspontok beállítására is. A PLC-k fizikai összeállítása, a CPU és a modulok kapcsolódása, a be- és kimenetek címkiosztása a HW Config programmal adható meg:
11-15. ábra. A HW Config program
WinCC A SIMATIC WinCC program segítségével a folyamatirányítási feladatok az ember-gép kapcsolata (HMI = Human Machine Interface) valósítható meg. Grafikus felülete lehetőséget biztosít, hogy elemenként tetszőlegesen felépítsük az operátori felületet. Lehetőséget nyújt egy folyamat jeleinek megjelenítésére, vezérlésére. A megjelenítéshez használhatunk előre definiált grafikai szimbólumokat, grafikai szerkesztővel rajzolt ábrát vagy a valódi rendszerről készített digitális képeket. A keretrendszerrel foglalkozó korábbi fejezetben példát láthattunk egy WinCC kezelői felületre. Az alábbi ábrán pedig a WinCC konfigurációs felületén láthatók a termikus folyamatmodell jeleinek megfelelően létrehozott belső változók (ezeket a Siemens WinCC terminológia tag-nek hívja). Ugyanilyen változókon keresztül kapcsolódhatunk a szabályozók paramétereit tartalmazó adatblokkokhoz is.
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
193
Labor 2. Hallgatói segédlet
11-16. ábra. A WinCCExplorer ablaka
A WinCC fontos részét alkotja még a grafikus editor, amely segítségével a kezelői felületek ablakait állíthatjuk össze. Az ábrán a keretrendszer főablakát láthatjuk szerkesztés közben:
11-17. ábra. A WinCC keretrendszerének főablaka 194
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
11. mérés
Logikai vezérlők alkalmazástechnikája
Mintapélda az SCL programozási nyelv használatára A programozási nyelv részletes leírása a tárgy webes adatlapján található. Itt egy olyan egyszerű mintapéldát adunk amely alkalmas a programozási lehetőségek szemléltetésére. Írjunk egy olyan mintapéldát amely a hőmérsékletet összehasonlítja egy beolvasott értékkel és ez alapján állít egy digitális kimenetet. Nyissuk meg a Szab10_src (a 10. programhoz tartozó forrás fájl) programot a Simatic Manager-ből. A feladat megvalósítására a következő programot írjuk be: FUNCTION FC10: VOID VAR_TEMP Limit : REAL; END_VAR Limit := Data10.Par1; IF Process.Y > Limit THEN Q1.0 := 1; ELSE Process.U := Process.U_MAN; Data10.Par2 := Process.Y; END_FUNCTION
Q1.0 := 0; END_IF;
A Limit lokális változót a VAR_TEMP és az END_VAR utasítások között kell deklarálni. A felhasználói felületen beállított változók értékei a Data10.Par1, Data10.Par2, … változókba kerülnek. Ezek a változók nem csak a beállított értékeket képesek beolvasni hanem meg is jeleníthetik a programban történt értékadás eredményét. A tranzisztor beolvasott hőmérsékleti értékét a Process.Y változó tartalmazza. Ezt az értéket megjelenítjük a Data10.Par2 változóban is. A Q1 digitális portot (byte) a QB1:=0 utasítással egyszerre, vagy a bitenként, egyesével lehet állítani. (A port állapota a kezelő felületen és a PLC-is látható. A biteket a kezelő felületen közvetlenül is tudjuk állítani az egérrel). A tranzisztor Process.U fűtési feszültséget a kézi beavatkózójel kezelőszerv állításával tudjuk módosítani. Ez feltétlenül szükséges a program ellenőrzéséhez. Fordítsuk le a programot. Ha nem kaptunk fordítási hibát, akkor le tölthetjük a PLC-be. A programot a 10-es program kiválasztásával aktiváljuk. Állítsuk be a 10. Mintaprogram gomb megnyomásakor megjelenő ablakban az 1.Paraméter értékét a kivánt hőmérsékleti küszöbértékre.
Mérési feladatok 1. A rendszerkomponensek és az ember-gép kapcsolati felület elemeinek azonosítása 1.1. A mérési elrendezés számos komponensből áll, az első feladat ezen komponensek azonosítása, a fizikai összeköttetések és a termikus folyamat megfelelő bekötésének ellenőrzése. Adja meg a mérési elrendezés software és hardware elemeit! 1.2. Az ember-kép kapcsolati felület on-line formában áll rendelkezésre, a feladat a mérésvezető közvetlen közreműködésével a konfigurációs felület elemzése, megismerése.
2. A rendszerkomponensek egyedi és integrált alapműködtetése, a termikus folyamat távműködtetése 2.1. Nulla fűtési érték és 100%-s hűtés mellett mérje meg a folyamat kimeneti hőmérsékletének értékét! © BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
195
Labor 2. Hallgatói segédlet
2.2. Az előzőekben elemzett felületen keresztül állítson be állandó fűtési értékeket, ellenőrizze a ”Hőmérséklet magas” esemény bekövetkeztét, valamint a fűtéskikapcsolási automatika működését. A ”Hőmérséklet magas” esemény bekövetkezte után ellenőrizze a fűtés letiltását. Mérje meg kikapcsolási hőmérsékletet. Adja ki a nyugtázást és ellenőrizze ismét az engedélyezett működést! Ellenőrizze az analóg és digitális be- és kimenetek működését! 2.3. A mérésvezető által megadott állandó fűtési érték és ventillátor vezérlés mellett regisztrálja az állandósult hőmérsékleti értéket! A továbbiakban ezt a fűtési és ventilátor vezérlési értékeket tekintjük a munkaponti értékeknek. 2.4. Ismételje meg az előző mérést úgy, hogy a fűtési értéken nem változtat, de megadott ventilátor vezérlést a felére csökkenti! Értékelje a kapott mérési eredményt a ventillátor vezérléstől való függés szempontjából! 2.5. Határozza meg a 2.3 pontban megadott ventilátor vezérlés esetén a kivezérelhetőségi tartományt, vagyis határozza meg a fűtési érték azon tartományát, amelyre a fűtéskikapcsolási automatika még nem kapcsol be!
3. A termikus folyamat identifikációja 3.1. A 2.3. feladatban megadott munkapontban (fűtési, hűtési érték) határozza meg a termikus folyamat leírását, azaz identifikálja a rendszert. Állítsa be a rendszert a munkapontba (várja meg, még teljesen beáll az állandósult értére). Indítsa el mérési rekordok elmentését az Adatmentés start gomb aktiválásával. Az Adatmentés ablakban állítsa be az adatmentés helyét a …Matlab/work könyvtárra és írja be az adatfájl nevét! (Máshová is állíthatja, de akkor meg kell változtatni az aktuális könyvtárat a Matlabban is.) A bemeneti fűtési feszültséget változtassa meg 1V-tal. Ha a folyamat teljesen beállt a új statikus értékre, akkor fejezze be az adatmentést (Adatmentés vége). Jelenítse meg a rekordokat MATLAB eszközökkel! Ellenőrizze a MATLAB és WinCC környezetben megjelenített regisztrátumok azonosságát! 3.2. A mért adatok alapján becsülje meg közelítőleg a folyamat statikus erősítését és domináns időállandóját (lásd M3 melléklet)! Írja fel a rendszer becsült átviteli függvényét időállandós és zérus-pólus alakban! Hasonlítsa össze a mért és a becsült folyamat viselkedését Matlabban egységugrás esetén (használja a step és lsim utasítást).
4. Zárt szabályozási kör kialakítása a hőmérséklet szabályozására 4.1. Az identifikált folyamatmodell alapján paraméterezzen egy PI szabályozót. A ventillátor vezérlését arra az értékre állítsa be amelynél az identifikációt elvégezte. Válassza ki a PLC beépített PID modulját (1. szabályozó) vagy a korlátozott PI szabályozást (9. szabályozó). A kezelő felületről adjon ki kis amplitúdójú ugrásfüggvény alakú alapjeleket (például 5ºC-os ugrást) és vizsgálja, regisztrálja, jelenítse meg és archiválja a kapott eredményeket! A szabályozó paramétereket úgy állítsa be, hogy minél gyorsabb legyen a beállás, de a kimeneti túllövés értéke ne haladja meg a 10%-ot. 4.2. Vizsgálja meg egy beállított szabályozás parametrikus érzékenységét! Egy adott hőmérsékletre beállt szabályozott rendszerre alkalmazzon egy zavarást úgy, hogy a ventilátor vezérlését a munkaponti érték felére csökkenti. Regisztrálja a jeleket és értékelje az eredményt! Hogyan változott a kimeneti hőmérséklet és a beavatkozó jel? Milyen statikus hibát okozott a zavarás?
196
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
11. mérés
Logikai vezérlők alkalmazástechnikája
5. A Simatic Manager alatti programozási lehetőségek megismerése és alkalmazása 5.1. Írjon programot a PLC-re a mérésvezető által kiválasztott feladat végrehajtására. Az FC10-es függvény-blokk átírásával, lefordításával, letöltésével és kiválasztásával tudja ellenőrizni a megírt program működését (Az SCL programozási nyelv használata fejezet mintaprogramja segít a feladat megoldásában). Az FC10-es függvény-blokkot minden mintavételi időpontban meghívja az operációs rendszer, tehát külön belső ciklust nem kell megvalósítani !!! a. A Q1 digitális be- és kimenet segítségével valósítsa meg a mérésvezető által megadott logikai hálózatot! Vizsgálja meg, hogy a mintavételezési idő megváltoztatásának milyen hatása van! b. Alakítson ki jelzőbitre alapozott adatátvitelt a két PLC egység között! c. A hőmérsékleti értékektől függően kapcsolja a digitális kimeneteket! d. Jelezze egy digitális kimeneten, ha a hőmérséklet egy adott intervallumon belül marad! e. Jelezze egy digitális kimeneten, ha a hőmérséklet egy adott időn keresztül meghalad egy megadott hőmérséklet értéket! f. Jelezze egy villogó digitális kimenettel, ha a hőmérséklet meghalad egy megadott hőmérséklet értéket! g. Valósítsa meg a mérésvezető által megadott kombinációs logikai hálózatot! h. Alakítson ki egyszerű kétállású szabályozót a hőmérséklet értéktartására!
Kiegészítő mérési feladatok 6. A/D átalakítás felbontásának mérése 6.1. A kezelőfelületen megjelenő hőmérséklet kijelzés alapján állapítsa meg az A/D átalakítás felbontását.
7. Identifikáció a Matlab arx utasítás segítségével 7.1. Egy adott munkapontban (fűtési, hűtési érték) tervezzen meg egy bemeneti fűtési görbét amely segítségével vizsgálja a rendszer viselkedését. A görbe tartalmazzon legalább egy felfelé és egy azonos amplitúdójú lefelé ugrást. Az időtartamot úgy állítsa be, hogy a folyamat teljesen beálljon a statikus értékre. Hozzon létre a egy mérési rekordot archiváló fájlt! Exportálja az archivált fájlt MATLAB környezetbe és jelenítse meg a rekordokat MATLAB eszközökkel! Ellenőrizze a MATLAB és WinCC környezetben megjelenített regisztrátumok azonosságát! 7.2. Végezzen el egy identifikációt Matlabban az arx utasítás segítségével (lásd M2 melléklet)! Adja meg a folyamat folytonos átviteli függvényét zérus pólus alakban, időállandóit és statikus erősítését! Hasonlítsa össze a becsült és az identifikált átviteli függvényeket! Hasonlítsa össze a mért és az identifikációval kapott modell kimeneti jelét. Ábrázolja a görbéket egy diagrammon! Ábrázolja a hibaértékeket!
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
197
Labor 2. Hallgatói segédlet
8. Szabályozó tervezése MATLAB környezetben 8.1. Tervezze meg a mérésvezető által meghatározott folytonos vagy diszkrét szabályozót a termikus folyamat soros, zárt körben történő irányítására! Ugrásfüggvény alakú alapjelet feltételezve ellenőrizze a megtervezett szabályozó működését MATLAB/SIMULINK környezetben! 8.2. Ellenőrizze a megtervezett szabályozó működését a valódi folyamaton!
Tesztkérdések 1. Mi a PLC és mire lehet használni? 2. Rajzolja fel a mérési elrendezés blokkvázlatát! 3. Mit jelent az, hogy a PLC programfeldolgozása ciklikus működésű? Ismertesse a PLC ciklikus programvezérlésének a lépéseit! 4. Milyen jelszintűek a PLC analóg ki- és bemenetei és ezek milyen funkciót látnak el a mérési elrendezésben? 5. Mivel mérjük a hűtőtönk hőmérsékletét? Hogyan tudjuk növelni illetve csökkenteni a hűtőtönk hőmérsékletét? 6. Milyen funkciókat valósít meg a mérési elrendezésben a WinCC operációs rendszer? 7. Milyen funkciókat valósít meg a mérési elrendezésben a Simatic Manager? 8. Adja meg az egytárolós arányos tag átviteli függvényét, és ábrázolja az ugrásválaszát! 9. Adja meg egy folytonos PI szabályozó átviteli függvényét! Hány paramétere van a szabályozónak és ezeket hogyan választjuk meg? 10. Mit nevezünk egy rendszer a típusszámának? Milyen hibával követi az egységugrás alapjelet egy “nulla” illetve egy ”egy” típusú rendszer? 11. Milyen tervezési (minőségi) előírásokat ismer egy zárt szabályozási kör jellemzésére? 12. Mikor stabilis egy folytonos illetve egy mintavételes lineáris rendszer? 13. Adja meg az integrátor tulajdonságait! 14. Adja meg egy diszkrét PID szabályozó impulzusátviteli függvényét és differencia egyenletét! 15. Adja meg egy folytonos PID szabályozó átviteli függvényét soros és párhuzamos realizációban! 16. Hogyan befolyásolja a beavatkozójel korlátozása a szabályozási kör működését? 17. Hogyan valósítható meg pont-pont összeköttetés feltételes bevitellel lazán csatolt rendszerekben? 18. Milyen memóriaszegmensei vannak a Siemens 314C-2DP kompakt PLC-nek? 19. Adja meg az ARX modell kifejezését! 20. Milyen költségfüggvényt használ a Matlab arx utasítás?
198
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
11. mérés
Logikai vezérlők alkalmazástechnikája
Melléklet M1. Beépített folytonos PID szabályozó (FB41) Az S7-300-as PLC-ben található egy beépített PID szabályozó is, amely az FB41 függvényblokk meghívásával érhető el. A szabályozó blokkvázlata:
11-18. ábra. A szabályozó blokkvázlata
A PID szabályozó legfontosabb bemeneti paraméterei: Név MAN_ON P_SEL I_SEL D_SEL CYCLE
Típus BOOL BOOL BOOL BOOL TIME
SP_INT PV_IN MAN GAIN TI TD TM_LAG
REAL REAL REAL REAL TIME TIME TIME
Funkció Kézi beavatkozó jel bekapcsolása Arányos ág bekapcsolása Integráló ág bekapcsolása Differenciáló ág bekapcsolása Mintavételi idő (a szabályozó blokk meghívásának ideje) Alapjel (–100.0…100.0) A folyamat mért értéke (process value) Kézi beavatkozó jel (–100.0…100.0) Arányos ág erősítése TI integrálási idő TD Differenciálási idő Differenciáló ág T időállandója
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
199
Labor 2. Hallgatói segédlet
Kimenő változó: Név LMN
Típus REAL
Funkció Beavatkozó jel
M2. Identifikáció Az identifikáció egy olyan eljárás, amelynek során egy folyamatról rendelkezésre álló bemeneti-kimeneti rekordok alapján egy matematikai modell kerül meghatározásra, amely modell az információ forrást generáló folyamatot a lehető legjobban közelítő statikus és dinamikus tulajdonságokkal rendelkezik. Legyen egy mintavételezett (diszkrét idejű) folyamatot differenciaegyenlete a következő:
y[k ] + a1 y[k − 1] + ... + ana y[k − na ] = b1u[k − 1 − nd ] + ... + bnb u[k − nb − nd ] ahol k a diszkrét időpontokat jelöli (k= 0,1,2…), y[k ] a folyamat kimenőjele, u[k ] a bemenőjele, nd a holtidő, továbbá {ai , bi } a folyamat modelljének paraméterei. A fenti összefüggés átírható az
y[k ] =
B( z −1 ) u[k − nd ] A( z −1 )
ún. ARX alakra, ahol B ( z −1 ) és A( z −1 ) a z −1 késleltető operátor polinomjai:
A( z −1 ) = 1 + a1z −1 + ... + ana z − na B( z −1 ) = b1 z −1 + ... + bnb z − nb . Az identifikáció feladata, hogy meghatározzuk az {na, nb, nd } modell struktúrát és az
{ai , bi } modell paramétereket. A modellt úgy kívánjuk megválasztani, hogy azonos bemenet esetén a modell kimenet és a tényleges mért kimenet közötti eltérés minimális legyen. Ezt az eltérést többféleképpen lehet számszerűsíteni. Az egyik leggyakrabban alkalmazott módszer a legkisebb négyzetek módszere (LS=Least Squares). A legkisebb négyzetek módszerének alkalmazásakor a rendelkezésre álló t=1,…,N bemeneti-kimeneti mintapár ismeretében keressük a {aˆi , bˆi } becsült paramétereket olyan formában, hogy a modell kimenet és a tényleges mért kimenet közötti eltérések négyzetének J összege (más szóval veszteségfüggvény) minimális legyen:
yˆ (t ) =
Bˆ ( z −1 ) u (t − nd ) Aˆ ( z −1 )
e(t ) = y (t ) − yˆ (t ) J=
N
2 [ e(t )] t = na + nk +1
∑
A korábbiakban felírt ARX modell paramétereit a MATLAB arx utasítása határozza meg a legkisebb négyzetek módszerével. Megjegyezzük, hogy az LS módszer csupán egyike a jól kidolgozott identifikációs módszereknek. Az egyes módszerek közötti választást a mérések zajos voltának jellege befolyásolja. Az LS identifikáció legfontosabb lépései. - Határozzuk meg a munkaponti értékeket és vonjuk ki a mérési adatokból: y1=y-y0, u1=u-u0; 200
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
11. mérés
Logikai vezérlők alkalmazástechnikája
-
Rendezzük mátrixba a kimenő és bemenő adatokat: adat=[y1 u1]; Az arx utasítással határozzuk meg a modellt egy közbenső, ún. theta formátumban: Pth=arx(adat,[na nb nk]); A theta formátumból alakítsuk át a modellt impulzusátviteli függvény alakra [numz,denz]=th2tf(Pth) , majd LTI sys formára Pz=tf(numz,denz,Ts), Pz=zpk(Pz). Határozzuk meg a modell folytonos átviteli függvényét: Ps=d2c(Pz). Hasonlítsuk össze a mért és az identifikált modell kimenetét Matlabban a munkaponti értékek figyelembe vételével az lsim utasítás alkalmazásával.
-
Egy bemenetű, egy kimenetű rendszerek esetében a holtidő és a rendszer fokszámának meghatározása jelenti a struktúra becslését. LS becslés esetén jól alkalmazható a holtidő és modell rendjének meghatározására a veszteségfüggvény-teszt. Növekvő modell fokszámokra ugyanabból az input-output állományból elvégezzük az LS becslést és kiszámítjuk az egy lépésre eső egyenlet hibát vagy reziduált (a modell és a mért kimenőjel közötti eltérést). Azt a fokszámot kell megkeresnünk, ahol a fokszám növelésével az egy lépésre eső reziduál értéke már nem csökken jelentősen.
M3. Egytárolós tag leírása Számos fizikai rendszer jól közelíthető egytárolós arányos taggal, azaz egy domináns időállandóval (T) és egy erősítési értékkel (A). Átviteli függvény: P( s ) =
A k = 1 + sT s − p
(
Ugrás válasz (átmeneti függvény): v(t ) = A 1 − e −t / T
)
v (t ) A
! 0.63A T
≈ 4T
t
11-19. ábra. Egytárolós tag ugrásválasza
© BME VIK A jelen dokumentumot a BME VIK Laboratórium 2 tárgy hallgatói jogosultak egy példányban kinyomtatni. Minden egyéb felhasználás a szerzők előzetes írásbeli hozzájárulásával engedélyezett csak.
201