software:qview:qview_6:qcl_library:bc10arrfifo

BC10ArrFifo

B = Buffer

C = Funzioni di Calcolo

La funzione BC10ArrFifo gestisce un buffer di tipo first input - first output. La funzione richiede un valore in ingresso nella variabile 'ElementIn' che viene inserito nel buffer alla posizione richiesta (tramite la variabile 'PuntatIn') e fa scorrere tutti i valori del buffer fino al all'elemento indicato tramite la variabile 'PuntatOut'. Tale valore esce dal buffer e finisce nella variabile 'ElementOut'.

BC10ArrFifo (Buffer, elementIn, elementOut, PuntatIn, PuntatOut)

Parametri:

IN/OUTTIPO VARIABILENOME DI ESEMPIODIM
IN ARRSYS Buffer B/W/L/S Array contenente il Buffer
IN SYSTEM ElementIn B/W/L/S Var contenente il valore da introdurre nel buffer
IN SYSTEM ElementOut B/W/L/S Var contenente il valore che esce dal buffer
IN SYSTEM PuntatIn L Var contenente il numero di elemento del buffer nel quale inserire il nuovo valore
OUT SYSTEM PuntatOut L Var contenente il numero di elemento del buffer dal quale si estrae il valore

Esempio

Inserisce ogni secondo il valore di conteggio di un device nel buffer (eliminando il primo introdotto)

MAIN:                 
      IF tmTimer
            tmTimer = 1000
            elementIn = count:posit
            BC10ArrFifo (BufferS, elementIn, elementOut, PuntatIn,PuntatOut)**
      ENDIF

Note

  • Se il parametro PuntatIn o PuntatOut vale 0, la funzione assume come valore, rispettivamente, il primo elemento del buffer e l'ultimo.
  • La funzione esegue un WAIT ogni 150ms.
  • Ultima modifica: 2019/08/29 17:01