software:qview:qview_6:qcl_library:bc22pushbuf

BC22PushBuf

B = Buffer

C = Funzioni di Calcolo

La funzione BC22PushBuf inserisce un valore in una memoria di tipo FIFO. La funzione richiede un valore in ingresso nella variabile 'NewElement' e lo inserisce nella memoria..

BC22PushBuf (Buffer, NewElement, ErrorCode, head, tail)

Parametri:

IN/OUT TIPO VARIABILE NOME DI ESEMPIO DIM
IN ARRGBL/ ARRSYS Buffer B/W/L/S Array contenente il Buffer
IN GLOBAL NewElement L/S/W/B Variabile contenente il valore da introdurre nel buffer
OUT GLOBAL ErrorCode F/B Variabile contenente l'errore eventualmente occorso in fase di inserimento del valore
IN GLOBAL / SYSTEM head L Indice interno
IN GLOBAL / SYSTEM tail L Indice interno

Una volta richiamata la funzione se ci sono degli errori la variabile di errore (ErrorCode) assume i seguenti valori:
0 - Nessun errore
1 - Dato non inserito a causa di: memoria piena.

Esempio

Inserisce il valore del conteggio di un device nel buffer circolare ad ogni fronte del flag “gfInsVal”

MAIN:                 
      IF gfInsVal
            gfInsVal = 0
            NewElement = count:posit
            BC22PushBuf (Buffer, NewElement, ErrorCode, gl001, gl002)
      ENDIF

Note

  • L'utilizzo di questa funzione è legato alla funzione BC22InitBuf che inizializza la memoria.
  • La funzione complementare a questa è la funzione BC22PopBuf che estrae un dato dalla memoria FIFO.

Rispetto alla precendente implementazione la variabile

ErrorCode

può essere anche di tipo Byte

  • Ultima modifica: 2024/07/10 09:15