WordToByte, word to byte conversion

  1. Home
  2. Knowledge Base
  3. Manualistica
  4. Programmazione IEC 61131-3
  5. Conversione dati
  6. 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.

Blocco funzione
CODESYS: Non disponibile
LogicLab: eLLabUtyLib

In (WORD) Variabile da convertire.

MSB (BYTE) MSB del valore in ingresso.

LSB (BYTE) LSB 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. 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_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]

Ti è stato utile questo articolo ?

Ultimo aggiornamento: 20 Agosto 2019