Miért kell a PLC-nek most azonnal leállnia? Hogyan használjuk a PLC megszakításokat?
Tartalomjegyzék
A Siemens ezeket a rutinokat OB-knek nevezi. A Rockwell Logix feladatoknak. Képzeld el. Olvasol egy jó könyvet. Aztán csörög a telefonod. Kijelölöd az oldalt. Felveszed a hívást. Amikor befejezted, azonnal visszamész a könyvhöz.
A PLC A megszakítás nagyjából így működik. A CPU valójában nem “áll meg”. Ehelyett szünetelteti az alacsonyabb prioritású logikát, kezeli a sürgős eseményt, majd visszatér oda, ahol abbahagyta. A bekapcsolási idő azonban a prioritástól, a trigger típusától és a CPU terhelésétől függ. A gyors reakciók valósak. Csak nem varázslatosak.
Mi is az a PLC megszakítás?
A normál PLC-k gyakran egy alapvető mintát követnek: frissítik a kimeneteket, beolvassák a bemeneteket a memóriába, majd végrehajtják a felhasználói programot ezekkel a tárolt értékekkel. Ez a modell sok gépnél jól működik. Mégis, egyes események túl gyorsan történnek ahhoz, hogy csak a fő vizsgálatot végezzük el.
Ezért adnak a gyártók hardveres megszakítású OB-ket, ciklikus megszakítású OB-ket, időalapú OB-ket és eseményfeladatokat speciális feladatokhoz. A Logixban a vezérlő egyszerre egy feladatot futtat, és egy periodikus vagy eseményfeladat megszakíthatja az alacsonyabb prioritású munkát, majd visszaállíthatja a vezérlést a korábbi feladatra.
Miért kell, hogy megállítsanak?
Gondolj egy gyorsan forgó fűrészlapra. El akarsz kapni egy érzékelő a megfelelő helyen tartsd a szélét. Nem engedheted meg magadnak a késést. Ha a fő logikád túl sokáig tart, a gép messzebbre mehet a kívántnál, mielőtt a normál feladat odaérne.
Az eseményvezérelt kód azért hasznos, mert akkor fut le, amikor a trigger bekövetkezik, ahelyett, hogy a szokásos logikán keresztüli következő teljes menetre várna.
De itt jön a figyelemfelkeltő rész. Nem mindig van szükség speciális “azonnali kimeneti” trükkre ahhoz, hogy gyorsan befolyásold a valós világot. A Siemens rendszeren a megszakításos OB-hez rendelt kimeneti folyamatkép-partíciókat a következőktől függetlenül át tudja vinni: FRISSÍTÉS_PO.
Logix rendszeren a feladatok általában a befejezésük után dolgozzák fel a kimeneteket, kivéve, ha letiltjuk ezt az opciót. Tehát ne feltételezzük, hogy egy normál kimeneti címke mindig túl lassú, és ne feltételezzük, hogy egyetlen mágikus utasítás minden esetet megold. Először ellenőrizzük, hogyan frissíti a PLC az I/O-t. Ezután válasszuk ki a platformnak megfelelő módszert.
A különböző márkák különböző neveket használnak. A Siemens S7-1200 olyan szervezőblokkokat használ, mint a hardveres megszakítású és a ciklikus megszakítású OB-k. A Logix folyamatos, periodikus és eseményalapú feladatokat használ.
A cél mindkét világban ugyanaz: a megfelelő időben reagálni anélkül, hogy az egész vezérlőnek várakoznia kellene. A részletek azonban márkaspecifikusak.
Hogyan használjuk a PLC megszakítási függvényét?
Őszintén szólva, elég könnyű, ha betartod a szabályokat. Az emberek gyakran ijesztőbbnek állítják be, mint amilyen valójában. Maradhat egyszerű.
Válassza ki a triggert. Mondja meg a PLC-nek, hogy milyen eseménynek kell elindítania a gyors rutint. Ez a trigger lehet digitális bemenet változása, mozgásesemény, HSC esemény, felhasznált címke vagy időzített megszakítás.
Írj gyors kódot. Tartsd a kódot röviden és lényegre törően. Ha plusz munkával halmozod fel, megnő a késleltetés, és megnő az átfedés vagy az időtúllépési problémák kockázata.
Töröld a jelzőt. Sok esetben a rendszer maga kezeli az eseményhívást. Ennek ellenére előfordulhat, hogy vissza kell állítanod a saját alkalmazási feltételedet, vagy újra kell élesítened a forráseseményt, hogy a következő eseménynek értelme legyen.
Figyelj az átfedésre is. A Logixban, ha egy eseményfeladat ismét aktiválódik, miközben még fut, a vezérlő figyelmen kívül hagyja az átfedő aktiválást.
Milyen típusú megszakítások léteznek?
A nevek márkáról márkára változnak. Tehát ne tekints egyetlen gyártó címkéjét minden PLC-re vonatkozó törvényként. Ez a három csoport mégis szilárd munkatérképet ad.
| Megszakítás típusa | Mit csinál | Legjobb felhasználási eset |
|---|---|---|
| Hardver vagy esemény | Akkor fut, amikor egy konfigurált hardver- vagy szoftveresemény történik, és megszakíthatja az alacsonyabb prioritású munkákat. | Gyors érzékelőélek, regisztrációs jelek, HSC események vagy mozgással kapcsolatos triggerek |
| Periodikus vagy ciklikus | Fix időközönként fut a fő vizsgálat megvárása helyett | Rendszeres, állandó időzítést igénylő ellenőrzési munka |
| Hiba- vagy diagnosztikai kezelés | Akkor fut, amikor a CPU vagy egy modul idő- vagy diagnosztikai eseményt jelez | Túlcsorduló szkennelési hibák, sortúlcsordulások vagy moduldiagnosztika észlelése |
Hasonlítsuk össze az időzítési koncepciót. A pontos számok mindig a CPU-tól, a prioritástól, az indítási gyakoriságtól és a teljes programterheléstől függenek. Tehát ezt mentális térképként használjuk, ne kőtáblaként.
| Metrika | Fő szkennelési ciklus | Hardvermegszakítás / Eseményfeladat |
|---|---|---|
| Végrehajtási időzítés | Normál ciklikus programvégrehajtás részeként fut, az időzítés a program terhelésétől és konfigurációjától függ. | Akkor fut, amikor a trigger bekövetkezik, és megszakíthatja az alacsonyabb prioritású munkákat, de a valódi késleltetés továbbra is függ a prioritástól és a rendszer terhelésétől. |
| Sürgősség | Jó a normál gépi logikához és az általános szekvenáláshoz | Jobb az időérzékeny eseményekhez, amelyeknek nem kell megvárniuk a rutin logikát |
| Kód hossza | Szélesebb gépi logikát képes tárolni | Rövidnek kell lennie, hogy a következő trigger előtt befejeződjön, és elkerülje az átfedési problémákat. |
Amint látható, a sebességkülönbség hatalmas lehet. Mégis, nincs olyan varázsválaszidő, amely minden PLC-hez illik. Az ördög a részletekben rejlik.
Te is elköveted ezeket a rossz hibákat?
Ezt állandóan látom. Ne feltételezd, hogy egy szabványos IEC időzítő ugyanúgy fog viselkedni egy egyszeri megszakításban, mint az OB1-ben vagy egy normál ciklikus feladatban.
A Siemens szerint az időzítő csak akkor frissül, amikor az időzítő utasítás lefut, vagy amikor a kód kulcsfontosságú időzítő tagokat olvas. Ez azt jelenti, hogy egy hardveres megszakítás vagy eseményfeladat, amely triggerinként egyszer fut, gyakran rossz vagy félrevezető időzítő viselkedést eredményez. Egy ciklikus megszakítás vagy egy periodikus feladat más, mert újra és újra lefut.
Ne írj halott ciklusokat azért, hogy “megvárd”, amíg telik az idő. Ez olyan, mintha padlóra nyomnád a gázt, miközben az autó a garázsban áll. Végrehajtási időt pazarolsz, és problémákat idézel elő. A Siemens megjegyzi, hogy a szkennelési túlcsordulások, a várakozási sor túlcsordulásai és a megszakítások időzítési ütközései időhibákat okozhatnak. Bizonyos esetekben az ismétlődő ciklusidő-hibák a CPU leállítását okozhatják.
Egy másik hatalmas hiba a túl sok megszakítás hívása. Nem minden apró érzékelőél érdemli meg, hogy átugorják a sort. Rockwell figyelmeztet, hogy minden extra feladat elveszi a vezérlő idejét a többitől.
Azt is figyelmezteti, hogy ha egy feladatot újra elindítanak, miközben még fut, a vezérlő figyelmen kívül hagyja az átfedő triggert. Tehát akkor használj megszakításokat, amikor valóban szükséged van rájuk. Ellenkező esetben a gyors megoldásod lassú káoszba fullad.
Erősítse meg projektjeit vadonatúj, eredeti Omron, Mitsubishi, Schneider PLC segítségével – raktáron, készen áll!
Következtetés
A megszakítások vagy eseményfeladatok szüneteltetik az alacsonyabb prioritású munkákat, hogy a PLC gyorsan reagálhasson a sürgős eseményekre. A CPU nem áll le. Feladatokat vált, majd visszatér.
Akkor segítenek, amikor egy eseménynek nem kell a normál ciklikus logikára várnia. A hardveres megszakítások, a ciklikus megszakítások és az eseményfeladatok mind különböző módon szolgálják ezt a célt.
Tartsd röviden a megszakításkódodat. A hosszú kód növeli a késleltetést és az átfedés kockázatát.
Ne feltételezzük, hogy a szabványos időzítők jól fognak viselkedni egy egyszeri eseményre reagáló rutinban. Ha időzített viselkedésre van szükségünk, gondoljuk át alaposan, hogy valóban hardvereseményre, periodikus feladatra vagy ciklikus megszakításra van szükségünk.
Ne feltételezd, hogy mindig azonnali fizikai I/O-t kell használnod a gyors reagáláshoz. Először ellenőrizd, hogyan kezeli a PLC a folyamatképeket, a közvetlen I/O-hozzáférést és a feladatkimenet feldolgozását.
Figyelj az átfedésekre, a várakozási sor túlcsordulásaira és a ciklusidő-hibákra. A gyors logika nagyszerű. Az a gyors logika, ami soha nem ér véget, az egy katasztrófa.
Lépjen kapcsolatba velünk
Csak töltse ki nevét, e-mail címét és kérésének rövid leírását ezen az űrlapon. 24 órán belül felvesszük Önnel a kapcsolatot.
Ezeket a témákat is érdekesnek találhatja

Mi az 5 leggyakoribb PLC programozási nyelv?
Mi az 5 leggyakoribb PLC programozási nyelv? Az ipari automatizálás problémamegoldása gyakran egy kulcstényezőn múlik: a

Átfogó útmutató a PLC típusokhoz és főbb jellemzőkhöz
A programozható logikai vezérlők (PLC-k) valójában az ipari automatizálás alapjává váltak, megbízhatóságot, sokoldalúságot és hatékonyságot kínálva a vezérlőrendszerekben. Ez a rövid cikk ismerteti a PLC-k alapjait, osztályozásukat, előnyeiket és a jövőbeli fejlesztési trendeket.

10 alapvető betekintés az OMRON PLC CJ2 sorozatról
10 alapvető betekintés az OMRON PLC CJ2 sorozatról A KWOCO a nemzetközileg elismert ipari automatizálási termékekre összpontosít, sok gyakorlati tapasztalatom volt






