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

  • moseras

    tag

    válasz Bandi18 #598 üzenetére

    Szia.

    "Így gyakorlatilag létrában egy és kapcsolatot nem tudok megvalósítani vagy hogy milyen komponensekkel lehet"

    Ez elég szomorú. Akkor nem tudom, hogy mit tanítanak ottan...

    Először is én akkor félreértettem a problémát, mert amit írtam megoldásként, az csak arra jó, amit először írtál (illetve amit én abból megértettem).

    Itt egy lehetséges megoldás létrában (ez CodeSys alapú, a te rendszeredet nem ismerem, ezt neked kell adaptálni). Tehát ez az általam először leírt megoldás, nem az ami neked ténylegesen kell, de ha ezt megérted, akkor már azt is meg tudod oldani:

    1. és 2. sor: 1Hz/50% kitöltésben előállítása
    3. és 4. sor: ez lépteti az "sh"-ban a bitet, illetve ellenőrzi, hogy fel kell e tölteni újból
    5.,6.,7.,8. sor: ezek 2 bemenetű ÉS kaput valósítanak meg, és kapcsolgatják Q0...Q3-at

    Az "sh.0" azt jelenti, hogy az "sh" nevű változó 0.-ik bitje. Általánosan igaz, hogy egy 1 bitesnél nagyobb változónak "változónév.bitszám" módon lehet hivatkozni a bitjeire (0-tól indul az index).

    Az időzítő-nél leveheted a jelet az m0-áról is és az m1-ről is. m0 alapból alacsony, m1 alapból magas.

    Változólista:

    VAR
    sh: BYTE := 1;
    m0: BOOL;
    m1: BOOL;
    ton1: TON;
    ton2: TON;
    ftrig1: F_TRIG;
    sh_eq_8: BOOL;
    ftrig2: F_TRIG;
    END_VAR
    VAR_OUTPUT
    Q0: BOOL;
    Q1: BOOL;
    Q2: BOOL;
    Q3: BOOL;
    END_VAR
    VAR_INPUT
    I0: BOOL;
    END_VAR

    Imi.

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