LEArrayToVar, little endian array to variable conversion

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

Questa funzione acquisisce il valore da un array little endian (MSB-LSB) il cui indirizzo è indicato in Source e lo trasferisce nella variabile di destinazione Destination in base al tipo Type di variabile definito.

Funzione
CODESYS: Non disponibile
LogicLab: eLLabUtyLib

Type (VR_TYPE) Tipo di variabile destinazione.

Destination (@BYTE) Indirizzo variabile di destinazione.

Source (@BYTE) Indirizzo array 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 viene acquisito il valore da un array del tipo 16#12, 16#34, 16#56, 16#78 ed il valore acquisito è trasferito in due variabili WORD che avranno valore 16#1234, 16#5678, ed una variabile DWORD che avrà valore 16#12345678.

LogicLab (Ptp114)
PROGRAM ST_LEArrayToVar
VAR
    AValue : ARRAY[ 0..3 ] OF BYTE := [16#12,16#34,16#56,16#78]; (* Array value *)
    WValue : ARRAY[ 0..1 ] OF WORD; (* Word value *)
    DValue : DWORD; (* Double value *)
    CSts : ARRAY[ 0..2 ] OF BOOL; (* Conversion status *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_LEArrayToVar"
// *****************************************************************************
// This program shows the use of LEArrayToVar function.
// -----------------------------------------------------------------------------

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

    CSts[0]:=LEArrayToVar(VR_TYPE#WORD_TYPE, ADR(WValue[0]), ADR(AValue)); //Value 16#1234
    CSts[1]:=LEArrayToVar(VR_TYPE#WORD_TYPE, ADR(WValue[1]), ADR(AValue)+2); //Value 16#5678
    CSts[2]:=LEArrayToVar(VR_TYPE#DWORD_TYPE, ADR(DValue), ADR(AValue)); //Value 16#12345678

// [End of file]

Ti è stato utile questo articolo ?

Ultimo aggiornamento: 20 Agosto 2019