Elem_OfArray1D

Numero di elementi in un array

Questa funzione restituisce il numero di elementi in un array.

Il numero totale di elementi della variabile array all'ingresso Array1D viene restituito all'uscita NrOfElem1. È possibile trasferire una variabile array di qualsiasi dimensione. In ogni caso viene restituito il numero totale di elementi di tutte le dimensioni. È quindi possibile scrivere funzioni e Function Block che elaborano array di varie lunghezze (anche insieme con le funzioni (GetPointer, AreaOffs_ToVar, Var_ToAreaOffs).

Parametri

Ingresso

Array1D (ANY_IN_UNITS_OF_WORDS)

Variabile di ingresso (dimensione array 1, 2 o 3) il cui numero di elementi deve essere determinato

Uscita

NrOfElem1 (INT, DINT, UINT, UDINT)

Restituisce il numero di elementi nella variabile di ingresso

Esempio

Intestazione del POU

Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.

	VAR
		ArrayOfInt: ARRAY [2..15] OF INT:=[14(0)];
		NumberOfDim1: INT:=0;
	END_VAR

Corpo del POU

In questo caso la funzione Elem_OfArray1D viene eseguita in ogni ciclo della CPU (nessun ingresso EN). Determina il numero di elementi della variabile ArrayOfInt. Il risultato qui è: NumberOfDim1 = 14.

Corpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_F,Elem_OfArray1D!,Instance,8,1,19,4,,?DArray1D?CNrOfElem1);
B(B_VARIN,,ArrayOfInt,6,2,8,4,);
B(B_VAROUT,,NumberOfDim1,19,2,21,4,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Altri progetti d'esempio (directory "Esempi" dell'installazione di FPWIN Pro): Calcolo della somma di tutti gli elementi array

L'ultima revisione: 2021-07-05Feedback su questa paginaPanasonic hotline