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

  • Szirty

    őstag

    válasz Szabest #2584 üzenetére

    Helló Szabest!

    Itt a blokk tessék:

    FUNCTION FC 13 : VOID
    TITLE =
    VERSION : 0.1

    VAR_INPUT
    N0 : CHAR ; //Bemenő karakter (legkiebb helyiérték)
    N1 : CHAR ; //Bemenő karakter
    N2 : CHAR ; //Bemenő karakter
    N3 : CHAR ; //Bemenő karakter
    N4 : CHAR ; //Bemenő karakter (legnagyobb helyiérték)
    END_VAR
    VAR_OUTPUT
    VOut : REAL ; //Kimenő érték
    END_VAR
    VAR_TEMP
    String5 : STRING [5 ]; //5 elemű string az átalakításhoz
    Ok : BOOL ; //Konverzió sikeres (= TRUE)
    VOutD : DINT ; //Kimenő érték DINT-ben
    END_VAR
    BEGIN
    NETWORK
    TITLE =

    L 5;
    T LB 0;
    T LB 1;
    L #N0;
    T #String5[1];
    L #N1;
    T #String5[2];
    L #N2;
    T #String5[3];
    L #N3;
    T #String5[4];
    L #N4;
    T #String5[5];

    CALL FC 37 (
    S := #String5,
    RET_VAL := #VOutD);

    L #VOutD;
    DTR ;
    JCN L001;
    L 1.000000e+002; //100.0
    /R ;
    T #VOut;
    BE ;
    L001: L 0.000000e+000;
    T #VOut;
    END_FUNCTION

    Így kell hívni:

    Ha az N0-N4 byte-okban olyan karakter van, amiből nem lehet számot létrehozni, akkor a blokk ENO kimenete FALSE lesz és a visszaadott érték, pedig nulla.
    Ha a konverzió sikeres, akkor a blokk ENO kimenete TRUE.

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