BC10PushBuf
B = Buffer
C = Funzioni di Calcolo
La funzione BC10PushBuf inserisce un valore in un buffer circolare. La funzione richiede un valore in ingresso nella variabile 'NewElement' e lo inserisce nel buffer in una posizione che è sconosciuta all'utilizzatore e che viene gestita solamente dalle funzioni di push e dalla complementare funzione di pop.
IMPLEMENTAZIONE
BC10PushBuf (Buffer, NewElement, ErrorCode)
Parametri:
IN/OUT | TIPO VARIABILE | NOME DI ESEMPIO | DIM | |
---|---|---|---|---|
IN | ARRSYS | Buffer | B/W/L/S | Array contenente il Buffer |
IN | GLOBAL | NewElement | L/S | Variabile contenente il valore da introdurre nel buffer |
OUT | GLOBAL | ErrorCode | F | Variabile contenente l'errore eventualmente occorso in fase di inserimento del valore |
Errore
Una volta richiamata la funzione se ci sono degli errori la variabile di errore (ErrorCode) assume i seguenti valori:
0 - Nessun errore
1 - Buffer pieno
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 BC10PushBuf (Buffer, NewElement, ErrorCode)** ENDIF
Note
-
L'utilizzo di questa funzione è legato alla funzione BC10InitBuf che inizializza il buffer in questione e che deve essere richiamata almeno una volta prima della funzione BC10PushBuf.
-
La funzione complementare a questa è la funzione BC10PopBuf che estrae un dato dalla coda del buffer circolare.