Vai al contenuto

Trasformazione di un valore REAL in testo

Home Forum Discussioni su problematiche generali Trasformazione di un valore REAL in testo

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Autore
    Post
  • #54353
    GABRIELEGALLI
    Partecipante

    La mia questione è sicuramente basilare ma confesso che non ne riesco a venire fuori. Ho il valore in uscita da un SysGetAnInp (REAL) opportunamente mediato, lo voglio inviare come testo di un SMS attraverso il modulo ModemSMSSend (chiara e funzionante tutta la parte relativa alla configurazione SysSerialPort e ModemCore).

    Oltre a fare passare tale valore da un modulo ADR cos’altro devo fare per trasformarlo in testo?

    #54355
    Sergio Bertana
    Amministratore del forum

    Per trasformare variabili in testo rendiamo disponibili due funzioni SysVarsnprintf e SysLWVarsnprintf, entrambe convertono una variabile in una stringa di testo. La prima serve se si deve stampare in una stringa una sola variabile, la seconda permette di accodare ad una stringa il risultato della conversione della variabile creando una stringa che contiene più valori.

    Grazie al campo Format puoi spaziare in una infinità di opzioni per la creazione della stringa valore.

    #54372
    GABRIELEGALLI
    Partecipante

    Per quanto riguarda il linguaggio ST riesco bene ad implementare il programma, ma in FBD non riesco ad implementare la VarTYPE.

    Nel mio caso la variabile è un reale e inserisco nel pin la variabile REAL_TYPE ma mi da un errore:

    SysVarfprintf1.VarType – error A4108: VR_TYPE => Base object not found

    #54376
    Sergio Bertana
    Amministratore del forum

    Premesso che la IEC-61131 ci ha dato 5 linguaggi per permetterci di utilizzare quello più adatto ad ogni necessità di programmazione, e che per operare con operazioni stringa come ad esempio nel tuo caso sia da preferire  di gran lunga il linguaggio ST, questo non toglie che si possa utilizzare anche l’FBD. Ecco come la riga ST:

    SysVarsnprintf(ADR(Str), SIZEOF(Str), ‘Value:%3.1f’, REAL_TYPE, ADR(Var));

    Diventa in FBD (Screenshot).

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Devi essere connesso per rispondere a questo topic.