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

  • Szirty

    őstag

    válasz plutokas #4702 üzenetére

    Helló

    Itt írtam erről.

    De ide berakom, mert az írás nem erről szól, csak tartalmazza:

    -----------------------------
    Az elsőhöz szükség lesz egy "first scan flag" jellegű bitre, ami egy ciklus ideig bekapcsol, amikor a PLC feléled. Ilyet nekünk kell létrehozni, ami nem túl bonyolult.
    Hozzunk létre egy OB100-at, egy OB101-et, és egy OB102 blokkot. Ezek a blokkok egyszer lefutnak újraindításkor. Mindegyik más-más esetben:
    OB100 - Warm restart
    OB101 - Hot restart
    OB102 - Cold restart
    Mind a három blokkba írjuk be az alábbi három STL utasítást:
    SET
    = M 0.4
    BE

    Ez a pár sor bekapcsolja az M0.4 merkert amikor a blokk lefut (vagyis újrainduláskor).
    Megjegyzés: Bizonyos CPU típusokba nem tudjuk mindhárom blokkot feltölteni, mert nem mindegyik ismeri mindhárom módot. Ez nem baj, azokat töltsük fel amelyeket enged).
    Az OB1 utolsó sora pedig ez legyen:
    CLR
    = M 0.4

    Minden más utasítást (a "BE" kivételével) a fenti két sor elé írjunk (pl. a blokk hívásokat).
    Ez a két sor kikapcsolja az M0.4-es merkert.
    Újrainduláskor tehát az M0.4-et bekapcsolja valamelyik restart OB, az OB1 első lefutása után pedig kikapcsolódik és úgy marad.
    Természetesen az M0.4 funkciója mostantól az, hogy újrainduláskor ad egy impulzust, így a programban máshol nem változtathatjuk meg az értékét (csak olvasni szabad).
    -----------------------------

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