B = Buffer
C = Funzioni di Calcolo
La funzione BC22PopBuf estrae un valore da una memoria tipo FIFO. La memoria FIFO è implementata mediante una variabile di tipo array.
BC22PopBuf (array, Element, ErrorCode, head, tail)
Parametri:
IN/OUT | TIPO VARIABILE | NOME DI ESEMPIO | DIM | |
---|---|---|---|---|
IN | ARRGBL / ARRSYS | Buffer | B/W/L/S | Array contenente il Buffer |
OUT | GLOBAL | Element | L/S / W / B | Variabile nella quale viene posto il valore estratto dal 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, dato estratto
1 - La memoria FIFO è vuota
Estrae un dato dalla coda del buffer e lo pone nella variabile “glDato” ad ogni fronte della variabile “gfEstrai”
MAIN: IF gfEstrai gfEstrai = 0 BC22PopBuf (Buffer, Element, ErrorCode, gl001, gl002) IF NOT ErrorCode glDato = Element ENDIF ENDIF
Rispetto alla precendente implementazione la variabile
ErrorCode
può essere anche di tipo Byte