Stratégiai feladatütemezés a megbízható Rockwell PLC rendszerekhez

Az ipari automatizálás hatékonysága nagymértékben múlik azon, hogy a processzor hogyan kezeli a munkaterhelését. A Rockwell Automation környezetekben a mérnökök gyakran figyelmen kívül hagyják a feladatütemezést a tervezés kezdeti szakaszában. Ez a mulasztás következetlen beolvasási időkhöz és logikai hibákhoz vezet, amelyek véletlenszerű hardverhibákra emlékeztetnek. Míg az oktatási környezetek az azonnali eredményekre koncentrálnak, a valós gyári automatizálás hosszú távú szemléletet igényel. A rendszerek életciklusuk során gyakori frissítéseken és integrációkon mennek keresztül. Ezért egy skálázható architektúra kialakítása biztosítja, hogy a jövőbeni módosítások ne veszélyeztessék a gép stabilitását.
A processzor prioritásainak és végrehajtásának megértése
A modern programozható automatizálási vezérlők (PAC-ok) több feladatot hajtanak végre, de egyszerre csak egy utasítást dolgoznak fel. A logikai rutinok jelentősen eltérnek összetettségükben és kritikus fontosságukban. Egyes feladatok nagy sebességű mozgásvezérlést kezelnek, míg mások nem kritikus adatnaplózást végeznek. A legtöbb ipari rendszer körülbelül három kritikus fontosságú feladatot egyensúlyoz több támogató háttérfolyamattal. A fejlesztőknek helyesen kell kategorizálniuk ezeket a funkciókat a CPU kihasználtságának optimalizálása és a rendszer válaszkészségének fenntartása érdekében.
A három fő feladatütemezés értékelése
A Rockwell Software három különböző ütemezési lehetőséget kínál: Folyamatos, Periodikus és Esemény. Egy Folyamatos feladat végtelen ideig fut a legalacsonyabb prioritási szinten, amikor a CPU nem foglalt. Ezzel szemben a Periodikus feladatok meghatározott milliszekundumos intervallumokban futnak egy adott frekvencia alapján. Ezek a feladatok 1-től 15-ig terjedő prioritási rangsort használnak, ahol az alacsonyabb szám magasabb sürgősséget jelent. Ha egy 1-es prioritású feladat aktiválódik egy 10-es prioritású végrehajtás közben, a processzor azonnal átvált a magasabb prioritású logikára. Végül az Esemény feladatok csak akkor aktiválódnak, ha egy adott szoftveres vagy hardveres feltétel teljesül.
A folyamatos feladat alapértelmezések rejtett kockázatai
A legtöbb új projekt alapértelmezettként Folyamatos feladatot használ, ami gyakran jelentős időzítési sebezhetőségeket okoz. Mivel ez a feladat a legalacsonyabb prioritáson fut, bármely újonnan hozzáadott periodikus feladat megszakítja azt. Egy nemrégiben alkalmazott esetben egy 1000 lépcsős, nagy terhelésű riasztórendszer súlyos időzítési ingadozást okozott a fő géplogikában. A rendszer a folyamatos géplogikát „utólagos gondolatként” kezelte a tervezett riasztási feladathoz képest. A Folyamatos feladatokra való támaszkodás az alapvető működési logikában alapvető hiba a nagy pontosságú gyári automatizálásban.
Átállás determinisztikus periodikus ütemezésre
Az időzítési konfliktusok megoldásához a mérnököknek a Folyamatos feladatokat magas prioritású Periodikus feladatokká kell alakítaniuk. A 10 ms-os intervallum beállítása a fő logikához determinisztikus környezetet biztosít a vezérlő számára. Ez a változtatás azonban megváltoztatja a rendszer beolvasási idejének számítását. Egyetlen Get System Value (GSV) utasítás már nem elegendő a teljes eltelt idő mérésére. A „Last Scan Time” GSV csak a végrehajtási időt követi, nem pedig az intervallumok közötti inaktív időt.
Fejlett GSV logika alkalmazása a pontosság érdekében
Egy megbízható megoldás két külön GSV utasítást és egy matematikai blokkot igényel. Az első utasítás lekéri a feladat tényleges logikavégrehajtási idejét. A második utasítás hozzáfér a „Rate Interval”-hez, amely a meghatározott ütemezést jelenti. E két érték összeadásával a programozó kiszámítja a rendszer valódi ciklusidejét. Ez a módszer pontos marad akkor is, ha egy későbbi technikus módosítja a feladat frekvenciáját. Ez az előrelátó megközelítés megakadályozza a logikai eltérést és fenntartja a szinkronizációt a különböző szoftververziók között.
Jövőbiztosítás fizikai és virtuális visszacsatolással
A legmegbízhatóbb gépi időzítés fizikai enkóder visszacsatolásból származik, nem pedig belső szoftveres időzítőkből. Amikor a hardveres enkóderek nem kivitelezhetők, egy magas prioritású Periodikus feladat a legjobb virtuális alternatíva. A program ilyen struktúrája biztosítja, hogy a gép működőképes maradjon még az eredeti programozó távozása után is. Tíz év múlva egy karbantartó mérnök módosíthatja az ütemezést anélkül, hogy megszakítaná az alapvető időzítési logikát. A következetes környezetek bizalmat építenek és csökkentik az ipari vezérlőrendszerek teljes birtoklási költségét.
Valós alkalmazás: nagy sebességű csomagolás integrációja
Egy nagy sebességű palackozó soron egy vezető mérnök egy harmadik féltől származó látórendszert integrált egy meglévő PLC-be. Az eredeti program Folyamatos feladatot használt a szállítószalag vezérlésére. Amikor a mérnök hozzáadott egy 20 ms-os Periodikus feladatot a látórendszer adatainak kezelésére, a szállítószalag sebessége kiszámíthatatlanná vált. A szállítószalag logikájának prioritás 2-es Periodikus feladatra való áthelyezésével a csapat visszaállította a milliszekundumos pontosságot. Ez a módosítás lehetővé tette, hogy a látórendszer alacsonyabb prioritással fusson anélkül, hogy befolyásolta volna a gép fizikai áteresztőképességét.
