OB121 automatizálás

Az ob121.com szabadstílusú automatizálási tankönyve

Ez egy olyan értelemben „freestyle” automatizálási tankönyv, mely nem elméleti, hanem csak és kizárólag gyakorlati oldalról közelíti meg a témakört, azaz a saját tapasztalataimat összegeztem itt. A dokumentumot folyamatosan bővítem és változtatom, megkísérelem vele követni a technolgiai változásokat. Húsz éve foglalkozok automatizálással, ebből Magyarországon 4 évet töltöttem, a többi időmet német cégeknél húztam le. Sok időt töltöttem üzembehelyezésekkel, eddig foglalkoztam gyártástechnológiával, erőművi technológiával, vízberendezésekkel és az utóbbi tíz évben vasúttechnikával. A programokat eleinte Simatic S5-re, később a Bosch CL-sorozatára, aztán az S7-re fejlesztettem, de ezek melett több más rendszerre is kellett illesztőprogramokat és kisebb alkalmazásokat fejlesztenem, így Allen-Bradley, Omron, Mitsubishi, Telemechanique rendszerekkel is foglalkoztam. Jelenleg beágyazott (VxWorks) Simatic S7 rendszerekre (Sibas PN) tervezünk és fejlesztünk megoldásokat.

Mi az, ami fontos, ha most kezded az automatizálástechnikát?

Először is, ha már tanultál PC-t programozni, no, azt itt feljejtsd el. Ez egy teljesen más világ.

Ismerni kell a technológiát, ami a drót másik végén van. Ehhez legalább az alapvető villamossági ismeretekkel rendelkezni kell, enélkül itt bizony könnyen el lehet veszni. Előnyödre fog szolgálni, ma képben vagy legalább a mikroelektronikával és már fogtál a kezedben forrasztópákát is.

Az összes szoftverfejlesztésre igaz az alaptétel, hogy a program az utasításaid és nem a szándékaid szerint működik – nos ez itt fokozottan igaz lesz, azzal megfejelve, hogy egy dolog a szoftver, de az igazán nagy káoszt a technológia és a szoftver összeillesztése és az időzítések pontos kezelése fogja magával vonni. Itt már inkább ez a tétel segít: Csak a kezdők prólálnak maguk körül rendet tartani, a profik inkább uralkodnak a káoszon. Egy papíron remekül kinéző rendszer a valóságban nagyon furcsa dolgokat tud produkáni. Ha erre eleve készülsz, ez már nem fog igazán meglepni (De).

Ezt a dokumentumot megpróbálom hardver-függetlenül szövegezni, de nyilván ez szinte lehetetlen, ezért inkább néhány, az adott vashoz köthető jelenségnél azt is megnevezem, hogy az honnan származik.

Mivel eddigi pályafutásom nagyobbik részét külföldön töltöttem, és Magyarországon egészen mást tanultam, így a megnevezéseknél is gyakran a német vagy angol nevén fogom szólítani a dolgokat. Van például a szó, a flanke, amit eddigi tapasztalatom szerint minden szakmabeli így, németül ismer és ért – ezeken a megszokáson ebben a dokumentumban sem kívánok változtatni.

Nyilván vannak más közelítések s erre a témakörre, van – gondolom - sok más leírás, tankönyv, senkinek nem kötelező pont ezt olvasnia. Nyilván sok hibát ejtek ebben a dokumentumban, hiszen itt – a műfajból adódóan – nincs sem lektor, sem konzulens, ha valaki a hibákra felhívja a figyelmemet, az megköszönöm és javítani fogom, de a stílusbeli és megítélésbeli eltéréseket nem fogom figyelembe venni.

PLC vs. mikrokontroller

Ahogy (vitorlázó)repülős körökben közkeletű mondás szerint „repülni garázsajtóval is lehet”, úgy a témának megfelelően kijelenthető, hogy programozni lassan bármit lehet. Az IoT előretörésével a hajsütőtől a hűtőszekrényen át a porszívóig lassan minden háztartási eszköz rendelkezik processzorral, a szórakoztatóelektronikai kütyükről nem is beszélve. Aminek pedig van processzorra, az jó eséllyel programozható is.

Zárjuk is ki most önkényesen ezeknek az eszközöknek a nagy részét – jelentős részük úgy is csak a parasztvakítás céljából született meg – és korlátozzuk le az érdeklődésünket a kifejezetten vezérlési céllal épített készülékekre. Ezek lehetnek egyrészt (szintén önkényes csoportosítás) mikrokontrollerek, vagy PLC-k. Bonyolítja az ügyet, hogy a PLC is voltaképpen mikrokontroller, de próbáljunk meg ettől a ténytől nagyvonalúan elvonatkoztatni, és valahogy így sorolni a dolgokat:

A PLC nagy gyártók által fejlesztett, kifejezetten felügyeleti/vezérlési céllal piacra dobott termék, míg a mikrokontroller egy programfuttatásra alkalmas, rendkívül gazdaságos (azaz olcsó), de nem túl megbízható vezérlőegység. A PLC rendszerek – főleg az itt is bemutatásra kerülő Simatic – ezzel szemben megbízható, de méregdrága megoldás, mely ezáltal jellemzően csak az ipari felhasználóknál hódított teret magának. Vessük is össze pár pontban a két technológia előnyeit és hátrányait:

S7-400
Simatic PLC
Arduino UNO
Arduino mikrokontroller
árméregdrágafilléres
fejleszői rendszerméregdrága, liszensz-kötelesingyenes, vagy legalábbis zsebből megfizethető
megbízhatóságha a program megbízható, és a hardver se lett elbaltázva, akkor megbízhatóesik és kel
pár felhasználási területipari rendszerek, vasút, gyártástechnológiaotthoni alkalmazások, megosztott (decentralizált) mérések, IoT, WSN
rendszer-elemek kompatibilitása99%, ha egyszer valahogy sikerült konfigurálniAS (ahogy sikerül)
előírásoknak (normáknak) való megfeleléstöbbnyire megfeleltethetőfelejtős
időtállóságjelentős, 10-20-30 évmax. 5 – 10 év

Ja igen, az Arduino-ról pár szó. Teljesen önkényesen választottam ezt a mikrokontrollert, illetve soroltam ide, mivel egyrészt nekem nagyon bejött, mint rendszer. Másrészt pedig úgy éreztem, hogy érdemes szembeállítani a PLC rendszerekkel, és bemutatni, hogy mennyivel tér el a programozása azokétól. Illetve nem is; inkább úgy fogalmazok, hogy mennyire azonos a teljesen különböző rendszerek működési elve (, megépítése) és programozása. Mert az automatizáláshoz szerintem csak a szemléletmód a lényeg; ha ez megvan, akkor a „mivel” vezérelünk és „voltaképpen mit”, már elhanyagolható részletkérdésekké zsugorodnak.

Ez hozza a legnagyobb különbséget a PC-s programozással szemben. Az automatizálásban a programok ciklikusan futnak. Vannak, amik szabályozottan, és időhöz kötve, és vannak, ahol az indítási sűrűség a már megírt program összetettségétől függően változik, de jellemezően a programok másodpercenként több száztól akár több tízezer lefutás is tudnak produkálni. Ebből egy dolog rögtön következik: itt eszméletlenül gyorsan történik minden. Milli- mikró- és nanoszekundumokról beszélünk, tehát gyakorlatilag láthatatlanul gyorsan történik egyszerre sok minden, és ráadásul a ciklikus lefutásoknak köszönhetően a programozási logika is más, mintha csak egy futással számolnánk. Ezt egyszerűen meg kell tanulni és meg kell szokni. Furcsa fogalmak kerülnek ezért ezen a területen bevezetésre, a flanke, a statív és egyszeri változók is ide tartoznak.

Ami jön még:
Alapfogalmak:
- A "drót végén"

  1. Gyártástechológia
    1. Paletta, megállító, feltámasztás, rezgőtálca, vészállj, védett zóna, körasztal
    2. Lefutó vezérlés, alaphelyzet, üzemmódok, szignál-lámpák
  2. Felügyelet
    1. Jelkésleltetés
    2. Helyi - táv mód
    3. Motor - szelepfunkciók
    4. Szintjelzések
    5. Hibajelzések
    6. Szabályozások (PID)
    7. Védelmek (Szárazfutás, rezgés, túlmelegedés..)
    8. IBS (szignálteszt)
  3. Fedélzeti rendszerek
  4. Épületautomatizálás

- A PLC programozási nyelvek
- A PLC programok felépítése
- Memóriatípusok, változók

  1. Lokális - globális változók
  2. remanens változók

- Digitális IO
- Analóg IO
- S7 Specifikus fogalmak:

  1. KOP, FUP, AWL, CFC, SCL
  2. Memóriakezelés, DB-k, iDB-k
  3. Periféria be-kimenetek
  4. OB, DB, FC, SFC, FB, SFB
  5. Konfiguráció management
  6. Hardware CPU, IO kártyák, specHW, ..

- Diagnózis

  1. Üzemi jelzések, Szervízüzenetek, protokoll-jelzések

- Követelményeknek való megfelelés

  1. Lastschrift
  2. SIL0-4
  3. Brandschutz
  4. EX
  5. Redundancia

- Környezeti HW

  1. Stromlauflpan
  2. P&I
  3. KKS jelrendszer
  4. Alapkapcsolások
  5. Digitális - analóg jelek
  6. Relé-logika, öntartás
  7. Jelzések, vészjelzések, vészállj
  8. Szenzorok
  9. Hajtások
  10. Kommunikáció

- Kapcsolat

  1. HMI
  2. WebHMI
  3. SCADA
  4. Labview

- Programozás

  1. Programozástechnika
    1. A kód tagolása, változónevek, kommentek
    2. LOG0, LOG1, SIM0, SIM1, Dummy, ..
    3. Flanke
    4. Kimenetek kezelése (csak egyszer definiálni, nem visszaolvasni)
    5. Időzítések
    6. Méréstechnika (3-ból 2,..)