BC21PushBuf
B = Buffer
C = Funzioni di Calcolo
La funzione BC21PushBuf inserisce un valore in una memoria di tipo FIFO. La funzione richiede un valore in ingresso nella variabile 'NewElement' e lo inserisce nella memoria..
IMPLEMENTAZIONE
BC21PushBuf (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 | 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 |
Errore
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 BC21PushBuf (Buffer, NewElement, ErrorCode, gl001, gl002) ENDIF
Note
-
L'utilizzo di questa funzione è legato alla funzione BC21InitBuf che inizializza la memoria.
-
La funzione complementare a questa è la funzione BC21PopBuf che estrae un dato dalla memoria FIFO.