Vai al contenuto

Definizione variabili in macro

Home Forum Terminali operatore (Weintek) Definizione variabili in macro

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Autore
    Post
  • #76364
    Anonimo
    Inattivo

    Ho delle variabili che importo via Modbus sul pannello, che sono di tipo float32, altre che sono signed e unsigned sia da 16 che da 32 bit.

    Come devo dichiararle nella macro per utilizzarle.

    Inoltre come posso convertire una variabile da segno negativo a segno positivo e viceversa?

    #76366
    Sergio Bertana
    Amministratore del forum

    Per la definizione dei vari tipi di variabili ti rimando alla pagina delle FAQ dove alla sezione EasyBuilder trovi una tabella esplicativa.

    Per la conversione dei numeri da positivo a negativo e viceversa è possibile eseguire una moltiplicazione con un numero negativo. Ecco un esempio (Screenshot) con due variabili float sulla LW 0 inputo un valore che visualizzo con il segno invertito su LW 2 (Essendo float si utilizzano 2 LW per ogni valore). Ecco la relativa macro di conversione.

    macro_command main()
    float MyVar=0
    
    GetData(MyVar, "Local HMI", LW, 0, 1)
    MyVar=MyVar*-1.0
    SetData(MyVar, "Local HMI", LW, 2, 1)
    end macro_command

    Se invece vuoi rendere positivi solo i numeri negativi puoi inserire nella macro.

    if (MyVar < 0.0) then
        MyVar=MyVar*-1.0
    end if
Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Devi essere connesso per rispondere a questo topic.