VarToLEArray, variable to little endian array conversion

  1. Home
  2. Knowledge Base
  3. Manualistica
  4. Programmazione IEC 61131-3
  5. Conversione dati
  6. VarToLEArray, variable to little endian array conversion

Questa funzione trasferisce il valore di una variabile il cui indirizzo è indicato in Source in base al tipo Type definito, in un array Destination utilizzando il formato little endian (MSB-LSB).

Funzione
CODESYS: Non disponibile
LogicLab: eLLabUtyLib

Type (VR_TYPE) Tipo di variabile destinazione.

Destination (@BYTE) Indirizzo array di destinazione.

Source (@BYTE) Indirizzo variabile sorgente.

La funzione ritorna una variabile BOOL con lo stato della conversione, FALSE: Errore tipo dati, TRUE: Conversione eseguita.

Esempi

Come utilizzare gli esempi.
Nell'esempio due variabili WORD con valore 16#1234, 16#5678, ed una variabile DWORD con valore 16#12345678 sono convertite in array little endian ed il valore di ogni conversione accodato in un array. Al termine l'array avrà il valore 16#12, 16#34, 16#56, 16#78, 16#12, 16#34, 16#56, 16#78.

LogicLab (Ptp114)
PROGRAM ST_VarToLEArray
VAR
    AValue : ARRAY[ 0..7 ] OF BYTE; (* Array value *)
    WValue : ARRAY[ 0..1 ] OF WORD := [16#1234,16#5678]; (* Word value *)
    DValue : DWORD := 16#12345678; (* Double value *)
    CSts : ARRAY[ 0..2 ] OF BOOL; * Conversion status *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_VarToLEArray"
// *****************************************************************************
// This program shows the use of VarToLEArray function.
// -----------------------------------------------------------------------------

    // -------------------------------------------------------------------------
    // ARRAY CONVERSION
    // -------------------------------------------------------------------------

    CSts[0]:=VarToLEArray(VR_TYPE#WORD_TYPE, ADR(AValue), ADR(WValue[0]));
    CSts[1]:=VarToLEArray(VR_TYPE#WORD_TYPE, ADR(AValue)+2, ADR(WValue[1]));
    CSts[2]:=VarToLEArray(VR_TYPE#DWORD_TYPE, ADR(AValue)+4, ADR(DValue));

// [End of file]

Ti è stato utile questo articolo ?

Ultimo aggiornamento: 9 Agosto 2019