Menü
Vissza

Fc5 Toltes Automatika

FC5 — Töltés automatika

Verzió: v13 (2026-08-10) | OB30, 50ms ciklus | K_kis/K_nagy DB1-ből | Dual rendszer (R1/R2) | Robot-vezérelt pályamotor mód


v13 változások (2026-08-10)

ÚJ FUNKCIÓ: Robot-vezérelt pályamotor automatika

Ha DB1.Robot_auto = TRUE (m34.1 leképezése):

  1. A töltőpálya folyamatosan fut (q0.1 = TRUE)
  2. "Robot".Robot_DO[2] felfutó él → pálya megáll (robot üveget visz a töltő alá)
  3. "Robot".Robot_DO[3] felfutó él → töltés indul (meglévő FC5 auto töltés logika)
  4. Töltés kész → pálya újra indul → ciklus ismétlődik

Fontos beállítások robot módhoz: - Emelo_palya_auto = FALSE — a pályát a robot vezérli, nem időzítő! - Auto_uzemmód = TRUE — automatikus töltés aktív

Állapotgép (Robot_allapat):

STATE 0: PÁLYA FUT
  q0.1 = TRUE, Töltés_aktív = FALSE, toltes_kesz/vege reset
  → Robot_DO[2] felfutó él → STATE 1

STATE 1: ROBOT POZICIONÁL
  q0.1 = FALSE (pálya áll), robot üveget visz töltő alá
  → Robot_DO[3] felfutó él → Töltés_aktív = TRUE → STATE 2

STATE 2: TÖLTÉS FOLYIK
  q0.1 = FALSE, meglévő FC5 auto logika kezeli a szelepeket
  → toltes_kesz = TRUE → STATE 0 (ciklus ismétlés)

Felfutó él detektálás: - Manuális R_TRIG: meglévő Robot_jel1_elozo (DB1 @ 144.2) és Robot_jel2_elozo (@ 144.3) bitek felhasználva — nem kell új prev bit!


v12 változások (2026-07-31)

SORREND FIX: EM3 felmegy MIELŐTT a pályamotor elindul

Probléma (v11): toltes_kesz = TRUE csak a pályamotor 6s után → EM3 tojófeje bent marad!

Megoldás: ÚJ toltes_vege flag (DBX144.6) - toltes_vege = TRUE: töltés véget ért → EM3 azonnal state 2→3 → emelő felmegy - toltes_kesz = TRUE: pályamotor 6s után → ciklus lezárás (változatlan)

Helyes sorrend: 1. Töltés vége → toltes_vege = TRUE → EM3 azonnal felmegy 2. Vár Emelo_vissza_ido_ms ms 3. Pályamotor BE → 6s → LE 4. toltes_kesz = TRUE (ciklus zárás)


v11 változások (2026-07-xx)

ÚJ FUNKCIÓ: Emelőmotor 3 (EM3) állapotgép

4-fázisú állapotgép (Z-fent → Z-lent → Töltés → Z-fent), EM3 guard a töltésindításnál.


v10 változások (2026-07-29)

ÚJ FUNKCIÓ: Emelőmotor visszajelzés + pályamotor automatika töltés után

Ha DB1.Emelo_palya_auto = TRUE (HMI toggle BE): 1. Töltés befejezésekor NEM adódik ki toltes_kesz azonnal 2. Vár Emelo_vissza_ido_ms ms (emelőmotor visszaér felső pozícióba) 3. Indítja a töltő pályamotort (DB8.DBX62.1) 6 másodpercre 4. Pályamotor leállítása után adódik ki toltes_kesz = TRUE

Ha Emelo_palya_auto = FALSE: toltes_kesz azonnal jön.


DB1 változótérkép (v13 — Máté adja hozzá TIA Portal Interface táblában!)

Cím Típus Név Ki írja Leírás
DBX0.1 Bool Töltés_aktív HMI/PLC Start/Stop
DBD8 Real Set_nyomas_bar HMI Beállított nyomás
DBD12 DInt ml_celmennyiseg HMI Célmennyiség [ml]
DBX32.0 Bool Auto_uzemmód HMI Automata mód
DBX42.0 Bool toltes_fut PLC Töltés folyamatban
DBX42.1 Bool toltes_kesz PLC Töltés kész jel
DBX42.2 Bool hiba_flag PLC Hiba
DBX48.0 Bool Ms_uzemmód HMI Ms-alapú mód
DBD50 DInt Toltes_ms HMI Töltési idő [ms]
DBD98 Real K_kis HMI K konstans kis nyomáshoz
DBD102 Real K_nagy HMI K konstans nagy nyomáshoz
DBX106.0 Bool CIP_Aktiv HMI CIP mód
DBD108 DInt CIP_Ido_s HMI CIP idő [s]
DBX116.1 Bool Full_auto HMI Full auto (tartályszelep)
DBX118.0 Bool Emelo_palya_auto HMI Pályamotor időzítős automatika BE/KI
DBX118.1 Bool emelo_palya_varo PLC Várakozás emelőre (flag)
DBX118.2 Bool palya_fut PLC Pályamotor fut (flag)
DBD120 DInt Emelo_vissza_ido_ms HMI Emelő visszatérési idő [ms], default: 2000
DBX124 TON Emelo_vissza_timer PLC Timer (16 byte)
DBX140 TON Palya_timer PLC Timer (16 byte)
DBX144.2 Bool Robot_jel1_elozo PLC Robot_DO[2] felfutó él memória
DBX144.3 Bool Robot_jel2_elozo PLC Robot_DO[3] felfutó él memória
DBX144.5 Bool EM3_aktiv HMI EM3 emelőmotor aktív
DBX144.6 Bool toltes_vege PLC v12: Töltés vége → EM3 azonnal felmegy
DBD146 DInt EM3_allapat PLC EM3 állapotgép (0-3)
DBD150 DInt EM3_Z_felso HMI EM3 felső pozíció
DBD154 DInt EM3_Z_also HMI EM3 alsó pozíció
DBX158.0 Bool EM3_robot_jel HMI/Robot EM3 robot ready jel
DBD160 DInt EM3_Z_ido_ms HMI EM3 mozgási idő [ms]
DBX164 TON EM3_timer PLC EM3 timer (16 byte)
DBX180.0 Bool Emelo_palya_auto HMI Pályamotor automatika
DBX180.1 Bool emelo_palya_varo PLC Várakozás (flag)
DBX180.2 Bool palya_fut PLC Pályamotor fut
DBD182 DInt Emelo_vissza_ido_ms HMI default: 2000 ms
DBX186 TON Emelo_vissza_timer PLC Timer
DBX202 TON Palya_timer PLC Timer
DBX218.0 Bool Robot_auto HMI v13 ÚJ: Robot-vezérelt mód (m34.1)
DBW220 Int Robot_allapat PLC v13 ÚJ: Robot állapotgép (0/1/2)

FC5 VAR_TEMP változók (TIA interfészbe!)

v13-ban hozzáadandó: - Robot_DO2_rise : Bool — DO[2] felfutó él (temp, minden ciklusban számítódik) - Robot_DO3_rise : Bool — DO[3] felfutó él (temp, minden ciklusban számítódik)


Robot DB (DB3 = "Robot")

Jel TIA tag Leírás
Robot_DO[2] "Robot".Robot_DO[2] Pálya megáll jel (üveget visz töltő alá)
Robot_DO[3] "Robot".Robot_DO[3] Töltés kezdhető jel (üveg a töltő alatt)

FC5 v13 teljes SCL kód

// FC5 — Töltés automatika v13
// OB30, 50ms ciklus | K_kis/K_nagy DB1-ből | Dual rendszer (R1/R2) teljes körű támogatás
//
// v13: Robot-vezérelt pályamotor mód
//   Robot_auto = TRUE → robot DO[2]/DO[3] jelekkel vezérel
//   DB1 ÚJ: Robot_auto @ 218.0 (Bool), Robot_allapat @ 220.0 (Int)
//   Meglévő: Robot_jel1_elozo @ 144.2, Robot_jel2_elozo @ 144.3

#t_most := RUNTIME("Automatika".runtime_mem);
"Automatika".debug_t_delta_ms := LREAL_TO_REAL(#t_most * 1000.0);

#aktiv_r2 := ("Automatika".Aktiv_rendszer = 2);

IF NOT #aktiv_r2 THEN
    #nyomas_raw_int := "HMI"."Nyomásmérő töltőfej 1";
ELSE
    #nyomas_raw_int := "HMI"."Nyomásmérő töltőfej 2";
END_IF;
#nyomas_bar := DINT_TO_REAL(#nyomas_raw_int) * 0.001;
IF #nyomas_bar < 0.0 THEN
    #nyomas_bar := 0.0;
END_IF;

#cel_ml := DINT_TO_REAL("Automatika".ml_celmennyiseg);

// EM3 ÁLLAPOTGÉP (v11/v12)
IF "Automatika".EM3_aktiv THEN
    CASE "Automatika".EM3_allapat OF
        0:
            "HMI"."Töltő emelőmotor 3 Magasság" := "Automatika".EM3_Z_felso;
            "HMI"."Töltő emelőmotor 3 inditás"  := TRUE;
            "Automatika".EM3_timer(IN := FALSE, PT := T#0MS);
            IF "Automatika".EM3_robot_jel THEN
                "Automatika".EM3_allapat := 1;
            END_IF;
        1:
            "HMI"."Töltő emelőmotor 3 Magasság" := "Automatika".EM3_Z_also;
            "HMI"."Töltő emelőmotor 3 inditás"  := TRUE;
            "Automatika".EM3_timer(IN := TRUE, PT := DINT_TO_TIME("Automatika".EM3_Z_ido_ms));
            IF "Automatika".EM3_timer.Q THEN
                "Automatika".EM3_allapat := 2;
                "Automatika".EM3_timer(IN := FALSE, PT := T#0MS);
            END_IF;
        2:
            "HMI"."Töltő emelőmotor 3 Magasság" := "Automatika".EM3_Z_also;
            "HMI"."Töltő emelőmotor 3 inditás"  := TRUE;
            "Automatika".EM3_timer(IN := FALSE, PT := T#0MS);
            IF "Automatika".toltes_vege THEN
                "Automatika".EM3_allapat := 3;
                "Automatika".EM3_timer(IN := FALSE, PT := T#0MS);
            END_IF;
        3:
            "HMI"."Töltő emelőmotor 3 Magasság" := "Automatika".EM3_Z_felso;
            "HMI"."Töltő emelőmotor 3 inditás"  := TRUE;
            "Automatika".EM3_timer(IN := TRUE, PT := DINT_TO_TIME("Automatika".EM3_Z_ido_ms));
            IF "Automatika".EM3_timer.Q THEN
                "Automatika".EM3_allapat := 0;
                "Automatika".EM3_timer(IN := FALSE, PT := T#0MS);
                "Automatika".toltes_kesz := FALSE;
                "Automatika".toltes_vege := FALSE;
            END_IF;
    END_CASE;
END_IF;

// FULL AUTO: nyomás és tartályszelep
IF "Automatika".Full_auto AND NOT "Automatika".toltes_fut THEN
    IF #cel_ml <= 150.0 THEN
        "Automatika".Set_nyomas_bar := 0.1;
    END_IF;
    IF #cel_ml <= 150.0 AND #nyomas_bar > 0.1 AND NOT "Automatika".nyomas_csökkentes_kesz THEN
        "Automatika".nyomas_csökkentes_fut := TRUE;
        IF NOT #aktiv_r2 THEN "HMI"."Tartály1_szelep" := TRUE;
        ELSE "HMI"."Tartály2_szelep" := TRUE; END_IF;
    END_IF;
    IF "Automatika".nyomas_csökkentes_fut AND #nyomas_bar < 0.1 THEN
        IF NOT #aktiv_r2 THEN "HMI"."Tartály1_szelep" := FALSE;
        ELSE "HMI"."Tartály2_szelep" := FALSE; END_IF;
        "Automatika".nyomas_csökkentes_fut := FALSE;
        "Automatika".nyomas_csökkentes_kesz := TRUE;
    END_IF;
END_IF;

IF #cel_ml > 150.0 THEN
    "Automatika".nyomas_csökkentes_kesz := FALSE;
END_IF;

// K konstans és nyomás
IF "Automatika".Full_auto AND #cel_ml <= 150.0 THEN
    IF #nyomas_bar > 0.0 THEN
        #k_konstans := "Automatika".K_kis; #nyomas_ok := TRUE;
    ELSE
        #k_konstans := 0.0; #nyomas_ok := FALSE;
    END_IF;
ELSIF #nyomas_bar < 0.04 THEN
    #k_konstans := 0.0; #nyomas_ok := FALSE;
ELSIF #nyomas_bar < 0.40 THEN
    #k_konstans := "Automatika".K_kis; #nyomas_ok := TRUE;
ELSE
    #k_konstans := "Automatika".K_nagy; #nyomas_ok := TRUE;
END_IF;

IF NOT #aktiv_r2 THEN
    #uveg_van := "HMI"."Érzékelő töltőfej 1 inditáshoz";
ELSE
    #uveg_van := "HMI"."Érzékelő töltőfej 2 inditásához";
END_IF;

IF NOT "Automatika".toltes_fut THEN
    IF NOT #aktiv_r2 THEN
        "HMI"."Membránszivattyú 1 bekapcsolás" := (#nyomas_bar < "Automatika".Set_nyomas_bar);
        "HMI"."Membránszivattyú 2 bekapcsolás" := FALSE;
    ELSE
        "HMI"."Membránszivattyú 2 bekapcsolás" := (#nyomas_bar < "Automatika".Set_nyomas_bar);
        "HMI"."Membránszivattyú 1 bekapcsolás" := FALSE;
    END_IF;
END_IF;

// AUTO TÖLTÉSINDÍTÁS
IF "Automatika".Auto_uzemmód AND #uveg_van
    AND "Automatika".Töltés_aktív
    AND NOT "Automatika".toltes_fut
    AND NOT "Automatika".toltes_kesz
    AND NOT "Automatika".nyomas_csökkentes_fut
    AND NOT "Automatika".emelo_palya_varo
    AND NOT "Automatika".palya_fut
    AND #cel_ml > 0.0 AND #k_konstans > 0.0
    AND (NOT "Automatika".EM3_aktiv OR "Automatika".EM3_allapat = 2) THEN
    IF #nyomas_ok THEN
        "Automatika".toltes_fut := TRUE;
        "Automatika".toltes_kesz := FALSE;
        "Automatika".toltes_vege := FALSE;
        "Automatika".hiba_flag := FALSE;
        "Automatika".nyomas_integral := 0.0;
        "Automatika".becsult_ml := 0.0;
        "Automatika".Töltés_aktív := FALSE;
        "Automatika".Toltes_ido_ms := 0;
        "Automatika".Ciklus_szam := 0;
        "Automatika".Atlag_nyomas := 0.0;
        "Automatika".Aktiv_K := #k_konstans;
        IF NOT #aktiv_r2 THEN "HMI"."Töltőfej 1 bekapcsolás" := TRUE;
        ELSE "HMI"."Töltőfej 2 bekapcsolás" := TRUE; END_IF;
        "HMI"."Töltő teszt" := TRUE;
    ELSE
        "Automatika".hiba_flag := TRUE;
    END_IF;
END_IF;

// NYOMÁSINTEGRÁL TÖLTÉS (Auto mód)
IF "Automatika".toltes_fut AND NOT "Automatika".Ms_uzemmód THEN
    #t_delta_ms := LREAL_TO_REAL(#t_most * 1000.0);
    IF #t_delta_ms < 0.0 OR #t_delta_ms > 500.0 THEN #t_delta_ms := 50.0; END_IF;
    IF #nyomas_raw_int > 0 THEN
        #sqrt_raw := SQRT(DINT_TO_REAL(#nyomas_raw_int));
        "Automatika".nyomas_integral := "Automatika".nyomas_integral + (#sqrt_raw * #t_delta_ms);
    END_IF;
    "Automatika".becsult_ml := "Automatika".Aktiv_K * "Automatika".nyomas_integral;
    "Automatika".Ciklus_szam := "Automatika".Ciklus_szam + 1;
    "Automatika".Toltes_ido_ms := "Automatika".Ciklus_szam * 50;
    "Automatika".Atlag_nyomas := "Automatika".Atlag_nyomas +
        (#nyomas_bar - "Automatika".Atlag_nyomas) / DINT_TO_REAL("Automatika".Ciklus_szam);
    IF "Automatika".becsult_ml >= #cel_ml THEN
        "HMI"."Töltő teszt" := FALSE;
        "HMI"."Töltőfej 1 bekapcsolás" := FALSE;
        "HMI"."Töltőfej 2 bekapcsolás" := FALSE;
        "Automatika".toltes_fut := FALSE;
        "Automatika"."Töltés_aktív" := FALSE;
        "Automatika".toltes_vege := TRUE;
        IF NOT "Automatika".Emelo_palya_auto THEN
            "Automatika".toltes_kesz := TRUE;
        ELSE
            "Automatika".emelo_palya_varo := TRUE;
            "Automatika".Emelo_vissza_timer(IN := FALSE, PT := T#0MS);
        END_IF;
    END_IF;
END_IF;

// MS-ALAPÚ TÖLTÉSINDÍTÁS
IF "Automatika".Ms_uzemmód AND #uveg_van
    AND "Automatika".Töltés_aktív
    AND NOT "Automatika".toltes_fut
    AND NOT "Automatika".toltes_kesz
    AND NOT "Automatika".emelo_palya_varo
    AND NOT "Automatika".palya_fut
    AND "Automatika".Toltes_ms > 0
    AND (NOT "Automatika".EM3_aktiv OR "Automatika".EM3_allapat = 2) THEN
    "Automatika".Töltés_aktív := FALSE;
    "Automatika".toltes_fut := TRUE;
    "Automatika".toltes_kesz := FALSE;
    "Automatika".toltes_vege := FALSE;
    "Automatika".hiba_flag := FALSE;
    "Automatika".nyomas_integral := 0.0;
    "Automatika".becsult_ml := 0.0;
    "Automatika".Ms_timer(IN := FALSE, PT := T#0MS);
    "Automatika".Ms_timer(IN := TRUE, PT := DINT_TO_TIME("Automatika".Toltes_ms));
    IF NOT #aktiv_r2 THEN "HMI"."Töltőfej 1 bekapcsolás" := TRUE;
    ELSE "HMI"."Töltőfej 2 bekapcsolás" := TRUE; END_IF;
    "HMI"."Töltő teszt" := TRUE;
END_IF;

// MS-ALAPÚ TÖLTÉS FUTÁS
IF "Automatika".toltes_fut AND "Automatika".Ms_uzemmód THEN
    "Automatika".Ms_timer(IN := TRUE, PT := DINT_TO_TIME("Automatika".Toltes_ms));
    "Automatika".Ciklus_szam := "Automatika".Ciklus_szam + 1;
    "Automatika".Atlag_nyomas := "Automatika".Atlag_nyomas +
        (#nyomas_bar - "Automatika".Atlag_nyomas) / DINT_TO_REAL("Automatika".Ciklus_szam);
    IF "Automatika".Ms_timer.Q THEN
        "Automatika".Toltes_ido_ms := "Automatika".Toltes_ms;
        "HMI"."Töltő teszt" := FALSE;
        "HMI"."Töltőfej 1 bekapcsolás" := FALSE;
        "HMI"."Töltőfej 2 bekapcsolás" := FALSE;
        "Automatika".toltes_fut := FALSE;
        "Automatika"."Töltés_aktív" := FALSE;
        "Automatika".Ms_timer(IN := FALSE, PT := DINT_TO_TIME("Automatika".Toltes_ms));
        "Automatika".toltes_vege := TRUE;
        IF NOT "Automatika".Emelo_palya_auto THEN
            "Automatika".toltes_kesz := TRUE;
        ELSE
            "Automatika".emelo_palya_varo := TRUE;
            "Automatika".Emelo_vissza_timer(IN := FALSE, PT := T#0MS);
        END_IF;
    END_IF;
END_IF;

// KÉZI MÓD RESET
IF NOT "Automatika".Auto_uzemmód AND NOT "Automatika".Ms_uzemmód THEN
    "Automatika".toltes_kesz := FALSE;
    "Automatika".toltes_vege := FALSE;
    "Automatika".hiba_flag := FALSE;
    "Automatika"."Töltés_aktív" := FALSE;
    IF "Automatika".emelo_palya_varo OR "Automatika".palya_fut THEN
        "Automatika".emelo_palya_varo := FALSE;
        "Automatika".palya_fut := FALSE;
        "HMI"."Töltő pályamotor inditás" := FALSE;
        "Automatika".Emelo_vissza_timer(IN := FALSE, PT := T#0MS);
        "Automatika".Palya_timer(IN := FALSE, PT := T#0MS);
    END_IF;
    IF "Automatika".EM3_aktiv THEN
        "Automatika".EM3_allapat := 0;
        "Automatika".EM3_timer(IN := FALSE, PT := T#0MS);
    END_IF;
    IF NOT "HMI"."Töltő teszt" THEN
        "HMI"."Töltőfej 1 bekapcsolás" := FALSE;
        "HMI"."Töltőfej 2 bekapcsolás" := FALSE;
    END_IF;
END_IF;

IF "Automatika".toltes_kesz AND NOT #uveg_van THEN
    "Automatika".toltes_kesz := FALSE;
    "Automatika".toltes_vege := FALSE;
END_IF;

// EMELŐMOTOR VISSZATÉRÉS → PÁLYAMOTOR 6S (v10, csak ha Emelo_palya_auto = TRUE)
// Robot módban (Robot_auto = TRUE): Emelo_palya_auto = FALSE → ez a blokk nem fut!
IF "Automatika".emelo_palya_varo THEN
    "Automatika".Emelo_vissza_timer(IN := TRUE, PT := DINT_TO_TIME("Automatika".Emelo_vissza_ido_ms));
    IF "Automatika".Emelo_vissza_timer.Q THEN
        "Automatika".Emelo_vissza_timer(IN := FALSE, PT := T#0MS);
        "Automatika".emelo_palya_varo := FALSE;
        "HMI"."Töltő pályamotor inditás" := TRUE;
        "Automatika".palya_fut := TRUE;
        "Automatika".Palya_timer(IN := FALSE, PT := T#0MS);
    END_IF;
END_IF;

IF "Automatika".palya_fut THEN
    "Automatika".Palya_timer(IN := TRUE, PT := T#6S);
    IF "Automatika".Palya_timer.Q THEN
        "HMI"."Töltő pályamotor inditás" := FALSE;
        "Automatika".Palya_timer(IN := FALSE, PT := T#0MS);
        "Automatika".palya_fut := FALSE;
        "Automatika".toltes_kesz := TRUE;
    END_IF;
END_IF;

// =============================================================================
// v13 BLOKK: ROBOT-VEZÉRELT PÁLYAMOTOR
// Engedélyező: Robot_auto = TRUE | Emelo_palya_auto = FALSE kell!
// Robot DB = DB3 ("Robot")
// =============================================================================

// Felfutó él detektálás (manuális R_TRIG, meglévő prev bitek)
#Robot_DO2_rise := "Robot".Robot_DO[2] AND NOT "Automatika".Robot_jel1_elozo;
#Robot_DO3_rise := "Robot".Robot_DO[3] AND NOT "Automatika".Robot_jel2_elozo;

// Prev bitek frissítése
"Automatika".Robot_jel1_elozo := "Robot".Robot_DO[2];
"Automatika".Robot_jel2_elozo := "Robot".Robot_DO[3];

IF "Automatika".Robot_auto THEN

    CASE "Automatika".Robot_allapat OF

        0: // PÁLYA FUT
            "HMI"."Töltő pályamotor inditás" := TRUE;
            "Automatika".toltes_kesz := FALSE;
            "Automatika".toltes_vege := FALSE;
            "Automatika".Töltés_aktív := FALSE;
            IF #Robot_DO2_rise THEN
                "HMI"."Töltő pályamotor inditás" := FALSE;
                "Automatika".Robot_allapat := 1;
            END_IF;

        1: // ROBOT POZICIONÁL
            "HMI"."Töltő pályamotor inditás" := FALSE;
            IF #Robot_DO3_rise THEN
                "Automatika".Töltés_aktív := TRUE;
                "Automatika".Robot_allapat := 2;
            END_IF;

        2: // TÖLTÉS FOLYIK
            "HMI"."Töltő pályamotor inditás" := FALSE;
            IF "Automatika".toltes_kesz THEN
                "Automatika".Robot_allapat := 0;
            END_IF;

    END_CASE;

ELSE
    "Automatika".Robot_allapat := 0;
    "Automatika".Robot_jel1_elozo := FALSE;
    "Automatika".Robot_jel2_elozo := FALSE;
END_IF;

Beállítások összefoglaló

Mód Emelo_palya_auto Robot_auto Pályamotor vezérlés
Alap (v9) FALSE FALSE Nincs automatika
Időzítős (v10) TRUE FALSE 6s timer töltés után
Robot-vezérelt (v13) FALSE TRUE Robot DO[2]/DO[3] jelek

Dokumentáció: arpad.karlwood.hu/docs | Generálva: 2026-08-10