Új hozzászólás Aktív témák

  • Gusi

    csendes tag

    válasz Szirty #5831 üzenetére

    Sziasztok, szia Szirty!

    A bugzásnak nincs vége ;)
    Amit írtál, hogy a BLKMOV utasításnál van hiba, az csak annyi, hogy a "src" szót "dest"-re kell cserélni egy pár változónál az arraycopy.fb-ben. Copyztam a sorokat, lemaradt egyik helyen :)

    És innentől a csoda.
    A hívó FB-ben kezelem a visszatérési értéket is.
    A jó folyamat:
    - gombnyomás HMI-n
    - PLC gombot eltünteti, megjelenik alatta a szöveg "mentés folyamatban..."
    - Tx időzítő indul
    - Tx lejár, meghívja a mentő FB-t, ami hívja 2x az arraycopy-t
    - siker esetén a HMI-n a "mentés sikeres" szövegre vált
    - Ty idő indul
    - szöveg eltűnik, gomb visszatér

    A rossz folyamat ugyanez, csak nem jeleníti meg (átlépi) a "sikeres" szöveg kiírását és a Ty időt sem várja meg. Plussz alarmba teszi, hogy melyik művelet volt a rossz.

    Ez az egész egy IF-ben van benne, ami ugye két elágazásos.
    Nekem három van: nincs kiírva, hogy melyik művelet a rossz, és nem is csinálja meg a mentést.
    Öt próbálkozásból egyszer lefut, többször nem.
    A következő öt próbálkozásból 4x működik, 1x nem.

    Valahogy így néz ki:
    IF result_a AND result_b THEN
    M_SaveOk := TRUE;
    ELSE
    IF NOT result_a THEN
    _signal_a_error
    ENDIF
    IF NOT result_b THEN
    _signal_b_error
    ENDIF
    ENDIF

    No, erre varrjál gombot :)
    Ötlet?
    Azon kívül, hogy magamhoz nyúlok lassan... :D

    [ Szerkesztve ]

Új hozzászólás Aktív témák