software:qview:qview_6:qcl_library:bc10arrfifo

no way to compare when less than two revisions

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.


software:qview:qview_6:qcl_library:bc10arrfifo [2019/08/29 17:01] (versione attuale) – creata - modifica esterna 127.0.0.1
Linea 1: Linea 1:
 +====== 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**'.
 +
 +===== IMPLEMENTAZIONE =====
 +
 +**BC10ArrFifo (Buffer, elementIn, elementOut, PuntatIn, PuntatOut)**
 +
 +Parametri:
 +
 +^IN/OUT^TIPO VARIABILE^NOME DI ESEMPIO^DIM^^
 +|  IN  |  ARRSYS  |  Buffer  |  B/W/L/ |Array contenente il Buffer|
 +|  IN  |  SYSTEM  |  ElementIn  |  B/W/L/ |Var contenente il valore da introdurre nel buffer|
 +|  IN  |  SYSTEM  |  ElementOut  |  B/W/L/ |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)
 +
 +<code QCL>
 +MAIN:                 
 +      IF tmTimer
 +            tmTimer = 1000
 +            elementIn = count:posit
 +            BC10ArrFifo (BufferS, elementIn, elementOut, PuntatIn,PuntatOut)**
 +      ENDIF
 +</code>
 +
 +=== 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