SCADA grafikus oldal lefagyása: Okok elemzése és optimalizálás Foxboro I/A sorozathoz és Woodward EasyGenhez

SCADA Graphics Page Freezing: Root Cause Analysis and Optimization for Foxboro I/A Series and Woodward EasyGen

A probléma: A munkaállomás csak bizonyos kijelzők megnyitásakor fagy le

Az üzemeltetők arról számolnak be, hogy egyes SCADA kijelzők megnyitása 15–30 másodpercet vesz igénybe. A kurzor a betöltés alatt akadozik. Más kijelzők 2–3 másodpercen belül megnyílnak. A PLC kommunikációs állapota egészséges marad. A diagnosztikában nem jelennek meg hálózati hibák.

Ez a minta a problémát a grafikus rétegre szűkíti, nem a kommunikációs rétegre. A lefagyó kijelző összetettebb objektumokat tartalmaz, mint a gyorsan betöltődő. A Foxboro I/A Series esetén a Display Manager kezeli az objektumok inicializálását. A Woodward EasyGen platformon a GraphWorX futtatókörnyezet SVG-alapú grafikákat renderel. Mindkét platform nehézségekbe ütközik, ha egyetlen kijelző meghaladja a tervezési kapacitását.

Ok 1: Túl sok valós idejű animációs objektum

A szivattyú forgásjelzők, szállítószalag mozgás, keverő forgási animációk és színállapot-jelzők folyamatos frissítési ciklust igényelnek. Minden animált objektum egy CPU szálat foglal el az újrarajzolás számításához. Ha egy kijelzőn több mint 40 aktív animációs objektum van, a renderelő motor telítődik.

Foxboro I/A Series V7.0 esetén a Display Manager 10 animációs objektumonként egy render szálat oszt ki. 50 animáció esetén a rendszer 5 párhuzamos render szálat futtat a fő kijelző szál mellett. A CPU kihasználtság egyetlen magon 85–100%-ra ugrik.

Woodward EasyGen GraphWorX64 használatakor minden forgási animáció 100 ms-onként mátrixtranszformáció újraszámítást vált ki. Egy generátor áttekintő oldal 30 forgó szimbólummal másodpercenként 300 transzformációs műveletet generál. A GPU gyorsítási küszöb 25 egyidejű transzformáció dedikált grafikus hardver nélkül.

Enyhítés: Cserélje le a forgási animációkat statikus színállapot-jelzőkre. A futó állapot jelzésére használjon villogási sebesség 1-et (0,5 mp be/ki) a sima forgás helyett. Ez objektumonként 60–70%-kal csökkenti a CPU terhelést.

Ok 2: Címke-előfizetési roham az oldal inicializálásakor

Minden grafikus elem egy vagy több PLC címkéhez kötődik. Amikor az üzemeltető megnyit egy kijelzőt, a SCADA kliens egyszerre küld előfizetési kéréseket az összes kötött címkére. Egy 800 címkét tartalmazó kijelző 200 ms alatt 800 egyedi előfizetési üzenetet indít.

A Foxboro I/A Series esetén az AW (Application Workstation) továbbítja az előfizetéseket a CP-nek (Control Processor) a Nodebus-on keresztül. Minden előfizetés egy Nodebus tranzakciót igényel. A Nodebus maximálisan 500 tranzakciót támogat másodpercenként csomópontonként. Egy 800 címkés kijelző az induló betöltés során meghaladja ezt a korlátot.

Eredmény: az első 500 címke azonnal frissül. A maradék 300 címke sorba áll és 1–3 másodperccel később érkezik meg. Az üzemeltetők részleges kijelzőfrissítést látnak, ahol néhány érték elavultnak tűnik.

Woodward EasyGen esetén az OPC UA kliens 100-as csoportokban iratkozik fel a címkékre. Egy 800 címkés kijelző 8 csoportos ciklust igényel. 250 ms ciklusidővel a teljes inicializálás legalább 2 másodpercet vesz igénybe a renderelés megkezdése előtt.

  • 1. lépés: Számolja meg a problémás kijelzőn lévő összes címke hivatkozást. Foxboro Display Editorban használja az Eszközök > Címkeszám jelentés menüpontot. GraphWorX64-ben az Szerkesztés > Keresés > Minden kötött változó funkciót.
  • 2. lépés: Ha a szám meghaladja a 600-at, ossza fel a kijelzőt két al-kijelzőre, amelyeket navigációs gombok kötnek össze. Célként maximum 400 címkét tűzzön ki kijelzőnként.
  • 3. lépés: Foxboro I/A Series esetén növelje a Nodebus tranzakciós puffer méretét az alapértelmezett 256-ról 512-re a CP Rendszer tulajdonságok > Hálózat fülön.
  • 4. lépés: Woodward EasyGen esetén állítsa be az OPC UA előfizetési módot a GraphWorX konfigurációs fájlban úgy, hogy a monitored item hozzáadást használja a create subscription helyett. Ez újrahasznosítja a meglévő munkameneteket.

Ok 3: Beágyazott trenddiagramok történeti adatok lekérdezésével

Sok kijelző valós idejű trendablakokat ágyaz be, amelyek az elmúlt 60 perc folyamatadatát mutatják. A kijelző megnyitásakor minden trenddiagram lekérdezi a történeti adatbázist az induló adatfeltöltéshez. Egy kijelzőn három trenddiagram három egyidejű történeti lekérdezést generál.

A Foxboro I/A Series esetén a Historian (Informix vagy SQL alapú) az AIM Historian API-n keresztül szolgálja ki a trendkéréseket. Egy 60 perces trend 5 másodperces mintavételi intervallummal 720 adatpontot ad vissza tollanként. Egy 4 tollas trenddiagram 2 880 pontot kér le. Három diagram összesen 8 640 pontot. A lekérdezés végrehajtási ideje 3–8 másodperc között változik az adatbázis index állapotától függően.

A lekérdezés végrehajtása alatt a kijelző szál blokkolva van az adatokra várva. Az üzemeltető lefagyott képernyőt lát, amíg az összes trendadat meg nem érkezik.

  • 1. lépés: Azonosítsa a lassan betöltődő kijelzőn lévő beágyazott trendobjektumokat. Jegyezze fel az időtartományt és a mintavételi intervallumot mindegyiknél.
  • 2. lépés: Csökkentse az induló időtartományt 60 percről 15 percre. Ez tollanként 720-ról 180 adatpontra csökkenti az adatokat, így a lekérdezési idő 75%-kal rövidül.
  • 3. lépés: Engedélyezze a trendadatok késleltetett betöltését. Állítsa be, hogy a trendek 2 másodperccel a kijelző megnyitása után töltsék be az adatokat, ne az inicializálás alatt. Foxboróban állítsa a Trend Object tulajdonságot InitialLoadDelay = 2000 ms értékre.
  • 4. lépés: Korlátozza a trend tollak számát diagramonként maximum 4-re. Több változó esetén használjon külön diagramokat.

Ok 4: Nagy felbontású háttérképek memóriafogyasztása

A folyamatgrafikák gyakran szkennelt P&ID rajzokat használnak háttérként. Egy tipikus 300 DPI-s P&ID szkennelés nagy folyamatterület esetén 8–15 MB méretű PNG képfájlokat eredményez. A SCADA kijelzőbe töltve a tömörítetlen bitkép 50–80 MB RAM-ot foglal el.

Foxboro I/A Series Display Manager megosztott memóriában cache-eli a háttérképeket. Az alapértelmezett cache méret 128 MB. Két kijelző, amely 12 MB-os háttérképeket használ, 24 MB cache-t és 48 MB munkapéldányt foglal el, összesen 72 MB-ot. Egy harmadik kijelző megnyitása cache ürítést és újratöltést kényszerít, ami látható szünetet okoz.

Woodward EasyGen GraphWorX64 a háttérképeket base64 kódolt sztringként tárolja a GDFX fájlban. Egy 10 MB-os háttérkép 13 MB-al növeli a GDFX fájl méretét (base64 többlet). Ennek a sztringnek a feldolgozása 1,5–2 másodpercet ad a betöltési időhöz.

  • 1. lépés: Ellenőrizze a háttérképek fájlméretét a SCADA projekt könyvtárában. Jelölje meg az 2 MB-nál nagyobb képeket.
  • 2. lépés: Exportálja újra a háttérképeket 96 DPI-n JPEG tömörítéssel (minőség 85%). Ez egy 10 MB-os PNG-t 400–600 KB-os JPEG-re csökkent minimális vizuális minőségromlással.
  • 3. lépés: Foxboro I/A Series esetén növelje a Display Manager cache méretét 256 MB-ra az AW környezeti változóval: DISPLAY_CACHE_SIZE=262144.
  • 4. lépés: Woodward EasyGen esetén alakítsa át a háttérképeket külső hivatkozás módra az beágyazás helyett. Használja az ImageSource=File útvonalat az ImageSource=Embedded helyett.

Következtetés és javasolt lépések

A SCADA grafikus oldalak lefagyása négy átfedő erőforrásigényből fakad. Először a túl sok animációs objektum túlterheli a CPU renderelő szálát. Másodszor a címke-előfizetési rohamok meghaladják a kommunikációs busz tranzakciós kapacitását. Harmadszor a beágyazott trenddiagramok blokkolják a kijelző szálát a történeti adatok lekérdezése közben. Negyedszer a nagy felbontású háttérképek kimerítik a memória cache-t.

Foxboro I/A Series rendszerek esetén elsődleges feladat a Nodebus tranzakciós puffer 512-re növelése, a trendek késleltetett betöltésének 2 másodpercre állítása, a kijelző cache 256 MB-ra bővítése, és a kijelzők maximális címkeszámának 600-ra korlátozása. Woodward EasyGen rendszereknél cserélje le a forgási animációkat színállapot-jelzőkre, használja az OPC UA monitored item újrahasznosítási módját, és alakítsa át a beágyazott háttérképeket külső fájl hivatkozásokká.

Auditálja az összes 8 másodpercnél hosszabb betöltési idejű kijelzőt. Dokumentálja a változás előtti és utáni mérőszámokat a CMMS rendszerében. Célként tűzze ki, hogy bármely kijelző betöltési ideje ne haladja meg az 5 másodpercet standard munkaállomás hardveren (Intel i5, 8 GB RAM, integrált grafika).

Mutasd az összeset
Blogbejegyzések
Mutasd az összeset
Batch Sequence Control Using DCS Sequential Function Charts: Emerson DeltaV SFC Configuration and Woodward EasyGen 3200 Synchronization Interlock

Tételsorozat-vezérlés DCS szekvenciális funkciódiagramokkal: Emerson DeltaV SFC konfiguráció és Woodward EasyGen 3200 szinkronizációs zárolás

A kötegelt folyamatvezérlés formális IEC 61131-3 Szekvenciális Funkciótábla (SFC) struktúrák használatával az Emerson DeltaV rendszerben megakadályozza az állapotgép holtpontjait, és egyszerűsíti az ISA-88 audit megfelelést. Ez az útmutató lefedi a DeltaV Fázislogika SFC tervezési elveit, a Woodward EasyGen 3200 Modbus TCP regiszterleképezést a generátorszinkronizációs zároláshoz, a Tartás és Megszakítás útvonalak tervezését, valamint a négy leggyakoribb SFC kötegelt hiba mintázat diagnosztikáját.
Foundation Fieldbus H1: Segment Design and Commissioning

Foundation Fieldbus H1: szegmens tervezése és üzembe helyezése

A Foundation Fieldbus H1 a vezérlési funkcióblokkokat a terepi eszközökön belül hajtja végre, így a vezérlés akkor is fenntartható, ha a gazdagép kommunikációja megszakad – ez kulcsfontosságú előny a SIL-2 és SIL-3 hurkok esetében. Ez az útmutató lefedi az FF H1 teljesítménykeret számítását, a feszültségesés elemzését, a lágyindítási áramlökés-védelmet, az 5 lépéses üzembe helyezési eljárást, a funkcióblokkok ütemezését, valamint a szisztematikus hibadiagnosztikát a szegmenshiba, az időszakos eszközkimaradások és a lezárási ellenálláshibák esetére.
PROFINET IO Communication Fault Diagnosis: ABB AC500 CM575-PNIO and Phoenix Contact AXL F DI16 Field Troubleshooting

PROFINET IO kommunikációs hiba diagnosztika: ABB AC500 CM575-PNIO és Phoenix Contact AXL F DI16 terepi hibakeresés

A PROFINET IO kommunikációs hibák az ABB AC500 CM575-PNIO és a Phoenix Contact Axioline F elosztott I/O között gyakori oka a tervezettől eltérő leállásoknak. Ez az útmutató lefedi a fizikai réteg kábelek ellenőrzését, a GSDML verzió ellenőrzését, az eszköznév ütközések megoldását, az AR watchdog beállítását, valamint egy hatlépéses hibakeresési eljárást a DIAG_STATUS regiszter bit-térképezése és a Csatorna Diagnosztika riasztások segítségével.