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..
IMPLEMENTAZIONE
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 |
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 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.
Differenze rispetto alla precedente versione
Rispetto alla precendente implementazione la variabile
ErrorCode
può essere anche di tipo Byte