WordToDouble, word to double conversion

List

Questa pagina fa parte del Manuale Programmazione IEC 61131-3. Vai all indice.

Questo blocco funzione permette di convertire due variabili WORD in una variabile DWORD.  L'operando MSW è trasferito nei 16 bits alti, l'operando LSW è trasferito negli 16 bits bassi di Out.

Blocco funzione
CODESYS: Non disponibile
LogicLab: eLLabUtyLib

MSW (WORD) MSW del valore in uscita.

LSW (WORD) LSW del valore in uscita.

Out (DWORD) Valore in uscita.

Esempi

Come utilizzare gli esempi.
Nell'esempio due variabili WORD con valore 16#1234 e 16#5678 sono trasferite in una variabile DWORD il risultato sarà 16#12345678. Nell'esempio in linguaggio ST viene evidenziato come la stessa operazione sia molto più semplice scrivendola direttamente con gli operandi del linguaggio.

LogicLab (Ptp114)
PROGRAM ST_WordToDouble
VAR
    High : WORD := 16#1234; (* MSW word *)
    Low : WORD := 16#5678; (* LSW word *)
    Result : ARRAY[ 0..1 ] OF DWORD; (* Compress result *)
    WCom : WordToDouble; (* Word compress *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_WordToDouble"
// *****************************************************************************
// This program shows the use of WordToDouble function block.
// -----------------------------------------------------------------------------

    // -------------------------------------------------------------------------
    // COMPRESS WORD
    // -------------------------------------------------------------------------
    // Compress byte using the FB.

    WCom(MSW:=High, LSW:=Low);
    Result[0]:=WCom.Out; //Compress result

    // -------------------------------------------------------------------------
    // COMPRESS WORD
    // -------------------------------------------------------------------------
    // The same operation as above executed directly using ST statements.

    Result[1]:=(High*16#10000)+Low; //Compress result

// [End of file]
Was this article helpful?