Vai al contenuto

WordToByte, word to byte 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 WORD in due variabili BYTE. Gli 8 bits alti di In verranno trasferiti nell’operando MSB, gli 8 bits bassi verranno trasferiti nell’operando LSB.

Descrizione

In (WORD) Variabile da convertire.
MSB (BYTE) MSB del valore in ingresso.
LSB (BYTE) LSB del valore in ingresso

Immagine FB WordToByte

Esempi

Come utilizzare gli esempi.
Nell’esempio una variabile WORD con valore 16#1234 è trasferita in due variabili BYTE che avranno valore 16#12 e 16#34.

LogicLab (Ptp114), IL_WordToByte
PROGRAM IL_WordToByte
VAR
    High : BYTE; (* MSB byte *)
    Low : BYTE; (* LSB byte *)
    WData : WORD := 16#1234; (* Word data *)
    WDec : WordToByte; (* Word decompress *)
END_VAR

(* ************************************************************************** *)
(* PROGRAM "IL_WordToByte"                                                    *)
(* ************************************************************************** *)
(* This program shows the use of WordToByte function block.                   *)
(*  ------------------------------------------------------------------------- *)

    LD  WData
    ST  WDec.In (* Transfer the variable to input *)

    CAL WDec (* Call the function block *)

    LD  WDec.MSB
    ST  High (* Transfer the MSB output to variable *)

    LD  WDec.LSB
    ST  Low (* Transfer the LSB output to variable *)
    
(* [End of file] *)
LogicLab (Ptp114), ST_WordToByte
PROGRAM ST_WordToByte
VAR
    WData : WORD := 16#1234; (* Word data *)
    High : ARRAY[0..1] OF BYTE; (* MSB byte *)
    Low : ARRAY[0..1] OF BYTE; (* LSB byte *)
    WDec : WordToByte; (* Word decompress *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_WordToByte"
// *****************************************************************************
// This program shows the use of WordToByte function block.
// -----------------------------------------------------------------------------

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

    WDec(In:=WData);
    High[0]:=WDec.MSB; //MSB byte
    Low[0]:=WDec.LSB; //LSB byte

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

    High[1]:=TO_BYTE(WData/256); //MSB byte
    Low[1]:=TO_BYTE(WData); //LSB byte

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