ByteToWord, byte to word conversion

List

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

Questo blocco funzione permette di convertire due variabili BYTE in una variabile WORD. L'operando MSB è trasferito negli 8 bits alti, l'operando LSB è trasferito negli 8 bits bassi di Out.

Blocco funzione
CODESYS: Non disponibile
LogicLab: eLLabUtyLib

MSB (BYTE) MSB del valore in uscita Out.

LSB (BYTE) LSB del valore in uscita Out.

Out (WORD) Valore in uscita.

Esempi

Come utilizzare gli esempi.
Nell'esempio due variabili BYTE con valore 16#12 e 16#34 sono trasferite in una variabile WORD il risultato sarà 16#1234. 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_ByteToWord
VAR
    High : BYTE := 16#12; (* MSB byte *)
    Low : BYTE := 16#34; (* LSB byte *)
    Result : ARRAY[ 0..1 ] OF WORD; (* Compress result *)
    YCom : ByteToWord; (* Byte compress *) 
END_VAR

// *****************************************************************************
// PROGRAM "ST_ByteToWord"
// *****************************************************************************
// This program shows the use of ByteToWord function block.
// -----------------------------------------------------------------------------

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

    YCom(MSB:=High, LSB:=Low);
    Result[0]:=YCom.Out; //Compress result

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

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

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