Vai al contenuto

LongToDouble, Long to double conversion

Vai all indice del manuale di programmazione
Tipo: Blocco funzione
Libreria LogicLab: eLLabUtyLib
Libreria Codesys: Non disponibile

Questo blocco funzione permette di convertire una variabile LWORD in due variabili DWORD. I 32 bits alti di In verranno trasferiti nell’operando MSDW, i 16 bits bassi verranno trasferiti nell’operando LSDW.

Descrizione

In (LWORD) Variabile da convertire.
MSDW (DWORD) MSDW del valore in ingresso.
LSDW (DWORD) LSVW del valore in ingresso.

Immagine FB LongToDouble

Esempi

Come utilizzare gli esempi.
Nell’esempio una variabile LWORD con valore 16#123456789ABCDEF è trasferita in due variabili DWORD che avranno valore 16#1234567 e 16#89ABCDEF.

LogicLab (Ptp114, ST_LongToDouble)
PROGRAM ST_LongToDouble
VAR
    High : ARRAY[0..1] OF DWORD; (* MSDW double word *)
    Low : ARRAY[0..1] OF DWORD; (* LSDW double word *)
    LData : LWORD := 16#123456789ABCDEF; (* long word data *)
    LDec : LongToDouble; (* long decompress *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_LongToDouble"
// *****************************************************************************
// This program shows the use of LongToDouble function block.
// -----------------------------------------------------------------------------

    // -------------------------------------------------------------------------
    // DECOMPRESS LWORD
    // -------------------------------------------------------------------------
    // Decompress word using the FB.

    LDec(In:=LData);
    High[0]:=LDec.MSDW; //MSDW word
    Low[0]:=LDec.LSDW; //LSDW word

    // -------------------------------------------------------------------------
    // DECOMPRESS LWORD
    // -------------------------------------------------------------------------
    // The same operation as above executed directly using ST statements.

    High[1]:=TO_DWORD(LData/16#100000000); //MSDW word
    Low[1]:=TO_DWORD(LData); //LSDW word

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