A 23. fejezet („Hibakeresés, diagnosztika, jelmonitorozás") gyakorlatainak részletes megoldásai és a tudáspróba megoldókulcsa. Előbb dolgozd ki magad, csak utána ellenőrizz!

Gyakorlatok — megoldások

23.1. feladat — Mérd meg a ciklusidőt és a watchdogot

Értékelési szempontok

A jegyzőkönyvben a Last, Average, Max és Min Cycle Time értékek szerepelnek a ciklus hosszának minden fokozatánál. A Max a lényeges: a watchdog akkor old ki, ha egy ciklus túllépi a Time × Sensitivity szorzatot (8.7) — ehhez elég egyetlen kiugró ciklus.

Kioldáskor a task hibaállapotba (kivételbe) kerül, a Status ezt jelzi, és a Log lapon megjelenik az Exception bejegyzés — időbélyeggel, súlyossággal és a jelentő komponenssel (23.8).

⚠ Gyakori hiba: az Average értékre hagyatkozni. Egy 12 ms-os átlag mellett is lehet 160 ms-os csúcs — és a leállást az okozza.

23.2. feladat — Kövesd a jel útját

Megoldás — a négy szint

Szint Mit nézel? Mit jelent, ha itt akad el?
1. a DI LED a készüléken ha nem gyullad: bekötés, érzékelőtípus (PNP/NPN), tápellátás
2. az I/O-leképezés Current Value oszlopa ha a LED ég, de itt nem látszik: rossz csatorna vagy hiányzó leképezés
3. a hozzárendelt változó a monitorozásban ha itt nincs érték: nincs hozzárendelt változó, vagy más POU-t nézel
4. a program azon pontja, ahol felhasználod ha idáig eljut, de nem hat: a logika a hibás — vagy egy Force van bent (23.6)

A figyelőlista ereje éppen az, hogy a 2–4. szint egy képernyőn látszik: így nem kattintgatással, hanem ránézésre derül ki, hol szakad meg a lánc.

23.3. feladat — Az oktató által generált hiba

Értékelési szempontok

A jegyzet akkor jó, ha lépésenként rögzíti, mit ellenőriztél és mit tapasztaltál — a zsákutcákat is. A záró kérdés a feladat lényege: hány lépéssel korábban lehetett volna megtalálni?

A tipikus tanulság: a hibát rendszerint azért kerestük sokáig, mert a közepén kezdtük (a programban), ahelyett hogy a jel útját követtük volna kívülről befelé (23.1). A diagnosztika négy szintje éppen ezt a sorrendet rögzíti.

23.4. feladat — Olvasd ki a hibatárolót

Értékelési szempontok

A megoldás tartalmazza az Exception bejegyzés időbélyegét, leírását és a jelentő komponens nevét, valamint az XML-export megnyitásának tapasztalatát. Az AuditLog-ban a saját tevékenységed nyoma látszik: bejelentkezés, letöltés, esetleg kényszerítés.

Ez a két napló együtt válaszol a hibakeresés két alapkérdésére: mi történt és ki tette. Az XML-export pedig azért fontos, mert a projektmunka dokumentációjához bizonyítékot ad (23.8).

23.5. feladat — A monitorozás konzisztenciája

Értékelési szempontok

A várt tapasztalat: a figyelőlistán előfordulhat olyan pillanatkép, amelyben a két érték logikailag lehetetlen kombinációt mutat (bA és bB egyszerre igaz, pedig bB := NOT bA).

Amit ez jelent: a monitorozás nem garantálja, hogy a látott értékek ugyanabból a ciklusból származnak. A kijelzés nem pillanatfelvétel a program állapotáról, hanem egymás után kiolvasott értékek halmaza.

Következmény a hibakeresésre: ellentmondásos megjelenítésből nem szabad logikai következtetést levonni. Ha az összefüggés fontos, a programban kell rögzíteni (egy ciklusban kiszámított állapotváltozó, RS tároló, naplóbejegyzés) — és azt figyelni.

(Ez az I függelék M4 mérési pontja: a monitorozás ciklus-konzisztenciájáról a dokumentáció nem ad kifejezett kijelentést, ezért méréssel érdemes megismerni a viselkedést.)


Tudáspróba — megoldókulcs

# Válasz Indoklás Szakasz
1 a A keresés a hardveres szinten (LED-ek) kezdődik — minden szint a következő előfeltétele. 23.1
2 b Online módban az I/O-leképezés a Current Value oszloppal egészül ki. 23.3
3 c Bemenethez leképezett változó a programból nem írható. 23.3
4 d A kézzel átírt cím fix szimbólumot kap, és nem frissül automatikusan. 23.3
5 a Töréspontnál a debug task I/O-i nem frissülnek. 23.5
6 b Az adat-töréspont csak a CODESYS Control Win alatt működik. 23.5
7 c A watchdog kioldását a Status = Exception jelzi. 23.7
8 d A watchdog szempontjából a Max. Cycle Time a mérvadó — az átlag elrejti a kiugrást. 23.7
9 a A Log lapon nincs Jitter oszlop — az a task-monitorozás adata. 23.8
10 b Az AuditLog a felhasználói interakciókat mutatja, felhasználónévvel. 23.9

Mennyire volt hasznos ez a fejezet?

Még nincs értékelés.