Passa al contenuto principale

WordToByte, word to byte conversion

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​

Immagine FB WordToByte

ParametroTipoDescrizione
InWORDVariabile da convertire.
MSBBYTEMSB del valore in ingresso.
LSBBYTELSB del valore in ingresso

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]