Hirdetés

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

  • Szirty

    őstag

    válasz ambien #5531 üzenetére

    Szia ambien!

    Igen, így jó, köszönöm!

    Tehát van egy gomb (S0) és egy kimenet (Q0). Amikor a gombot megnyomják, akkor Q0 bekapcsol ha eddig ki volt kapcsolva, ha megint megnyomják S0 gombot, akkor Q0 kikapcsol. és így tovább, a Q0 ki/be kapcsolható a gombbal.
    Igazából teljesen mindegy meddig nyomják a gombot (röviden vagy hosszan).

    "Ezt sem értem pontosan, elvileg a Qval jelölt változók kimenetek, azokon pedig nem jön be érték."

    A Q-val jelölt változók valóban kimenetek. De úgy kell tekintened rájuk, mint bármilyen belső változóra. Vagyis írható és olvasható is. A belső változóktól annyiban tér el a viselkedése, hogy a logikai állapotát egy fizikai kimenet is felveszi (másolja).

    "A másik ez az S0 := M1 rajz és az M2 := Q0 ez mit jelent pontosan?"

    Azt aminek látszik. S0 := M1 az M1-be másolja S0 pillanatnyi állapotát, M2 := Q0 pedig Q0-ba másolja M2 pillanatnyi állapotát.

    "miért van külön részen?"

    A program lényege az, hogy S0-ra a program generál egy olyan impulzust, ami egy programfutás idejére 1 (egy ciklus időre) amikor a nyomógombot megnyomják (amikor S0 állapota 0-ból 1-re vált, azaz felfutó élnél).
    Ezt az impulzust az M0 realizálja.
    Itt fontos figyelembe venni a programvégrehajtás sorrendjét (felülről lefele halad).

    Kezdetben S0, M0, M1, M2 (így Q0 is) 0 állapotú.
    Most megnyomjuk a gombot (és nyomva tartjuk). Mivel most S0=1 de M1 még mindig 0, M0=1 lesz.
    Mivel S0=1, M1 is 1 lesz a következő sorban.
    Ezután mivel M0 már =1 De Q0 még mindig 0 (hiszen a program még nem tart ott ebben a ciklusban hogy 1-be írja) bekapcsolja M2 RS tárolót.És így is marad, hiszen a törléséhez Q0=1 feltétel kell, de a Q0 még =0.
    A következő sor bekapcsolja Q0 kimenetet (most először) hiszen M2 állapota már 1.

    Eltelt kb 3-8 ms, tehát a gombot még mindig nyomjuk!!
    A programvégrehajtás elölről újrakezdődik, lássuk mi történik ebben a második PLC ciklusban:
    S0=1, de és M1 is =1, hiszen az előző ciklusban az S0 bekapcsolta!
    Emiatt az M0 most 0 értéket kap! (most nincs felfutó él, hiszen a gombot még nyomjuk).

    A következő részben: M0 értéke 0, mert nincs felfutó el. Ezért M2 RS tároló állapota nem változik, hiszen az S és R bemenetén is szerepel M0, vagyis az állapota csak akkor változhat ha M0=1 (vagyis gomb felfutó élénél). Az M0 azonban most nulla.

    Mivel M2 továbbra is 1, a Q0 is bekapcsolva marad (1).

    Megint eltelt 3-8ms idő, a gombot még mindig nyomjuk, kezdődik egy ójabb program lefutás (PLC ciklus). Az ugyanúgy zajlik mint a másidik, mindaddig, amíg a gomb nyomva van.
    Most nézzük mi lesz ha a gombot felengedjük:

    M0 0 marad, mivel a bekapcsolásához kell S0=1 állapot, ami most már nincs.
    Emiatt itt viszont M1=0 lesz, mert a gomb állapotát másolja.
    Ha nincs M0, akkor M2 sem változhat (az okot lásd fent).
    Ha M2 nem változik, akkor Q0 kimenet sem, tehát most sem változott a kimenet állapota.
    Ez mindaddig így marad amíg a gomb nincs megnyomva.

    Ha most megint megnyomjuk a gombot, akkor:
    S0=1 lesz. Mivel az előző ciklusban a gombot nem nyomtuk, M1 állapota is nulla. Ezért az M0 =1 lesz!
    És a következő feltétel miatt M1 is!

    Mivel M0=1 Q0=1 Az M2 ki fog kapcsolni, mert az RS tároló RESET ága teljesül.
    Mivel M2 kikapcsolt, Q2 is ki fog.

    Ezután minden így marad amíg megint fel nem engedjük majd ismét meg nem nyomjuk a gombot.

    [ Szerkesztve ]

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