Keresés

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

  • Szirty

    őstag

    válasz byte-by #2685 üzenetére

    Helló byte-by!

    "Ha minden comparátor ugyanazt a special bit-et (255.06) használja, akkor a rákötött kimenetek mind aktívak lesznek , ha ez 1-ben lesz nem ?"

    Nem. Bár tudjuk, hogy a létradiagram a huzalozott vezérlések kiváltására jött létre így azt utánozza és ahhoz hasonlít. Ha ezt a létrát lehuzaloznád, akkor úgy volna ahogy feltételezed.
    De mégis csak egy processzor hajtja végre a programot, ami nem egy időben hajt végre minden utasítást, hanem sorban elemzi ki a logikai műveleteket és sorban kapja meg az egyes eredményeket. Létra esetén konkrétan soronként fentről lefele és a soron belül balról jobbra történik.

    Ha a létrában bekapcsolsz egy bitet valahol a programban, az onnantól lefele be lesz kapcsolva egészen addig, amíg valami valahol (esetleg ugyanaz a sor a követező ciklusban) ki nem kapcsolja. Annyi csavar van még a dologban, hogy ha ez a bit egy fizikai kimenet, akkor a kimenetre a programon belül történt ki vagy bekapcsolás állapota minden ciklusban csak egyszer, a PLC ciklus végén jut el, mert a kimenet amit a program ki vagy bekapcsol nem a fizikai kimeneti bit, azt csak a PLC operációs rendszere írja ki a ciklusok végén.

    No de visszatérve a kétségeidre:
    Ha írunk egy ilyen programot:

    Akkor az a következő eredményt adja. Ha a 0.00 bemenet OFF, akkor a 10.00 OFF, a 10.01 ON, a 10.02 OFF, a 10.03 ON állapotú lesz. Ha bekapcsoljuk a 0.00 bemenetet, akkor 10.00 ON, 10.01 OFF stb lesz.

    Így működik a korábbi példában lévő összes flag, így az összehasonlítás eredményét tároló flagek is. A programban ahogy az sorban fut, minden CMP utasítás a saját eredménye szerint beállítja ezeket a flageket. Az összehasonlítás eredménye a programban bárhol felhasználható, de csak a következő CMP utasítás előttig, mert az felülírja őket a saját eredményével.
    A CMP flagek tehát mindig a legutóbb végrehajtott összehasonlítás szerint állnak be. Ebből következően fontos az alábbi két szabály:
    1. Összehasonlítás végrehajtása nélkül nem értékeljük ki a flagek eredményét
    2. A flagek eredményét bármennyiszer felhasználhatjuk, de csak a következő összehasonlításig. Onnantól már a másik CMP eredményét tartalmazzák...

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