FFU (Scarica FIFO)
L'istruzione FFU scarica i dati a 8, 16, 32 e 64 bit da un array unidimensionale creato dall'utente denominato stack FIFO (First In First Out, primo a entrare primo a uscire) nello stesso ordine in cui i dati sono stati caricati usando l'istruzione FFL.
Dettagli operazione:
- Istruzione FFU: da modalità di non esecuzione in modalità di esecuzione:
- Quando Esegue passa da FALSE a TRUE:
- Le condizioni di errore FFU sono verificate.
- Scarica i contenuti dello stack FIFO in corrispondenza della posizione zero se la Posizione è maggiore di zero e minore o uguale alla Lunghezza.
- Gli elementi rimanenti si spostano di una posizione verso lo zero e l'elemento massimo dello stack FIFO viene impostato su zero, la Posizione diminuisce di uno.
- Il bit Vuoto è impostato su TRUE se Posizione è uguale a zero.
- Il bit Completato viene impostato quando l'istruzione viene eseguita correttamente.
- Quando Esegue passa da FALSE a TRUE:
- I bit Errore, Completato e ErrorID sono impostati su FALSE.
- Il bit Vuoto è impostato su TRUE se Posizione è uguale a zero.
- Il bit Pieno è impostato su TRUE se la Lunghezza è uguale alla Posizione. Il bit Pieno è impostato su FALSE se la Posizione è minore o uguale a zero e minore della Lunghezza.
- Le condizioni di errore FFU non sono verificate.
- Quando Esegue passa da TRUE a TRUE:
- Non viene eseguita alcuna operazione di scaricamento.
- Il bit Vuoto è impostato su TRUE se Posizione è uguale a zero.
- Il bit Pieno è impostato su TRUE se la Lunghezza è uguale alla Posizione.
- Le condizioni di errore FFU non sono verificate.
- Quando Esegue passa da FALSE a FALSE:
- I bit Errore, Completato e ErrorID sono impostati su FALSE.
- Il bit Vuoto è impostato su TRUE se Posizione è uguale a zero.
- Il bit Pieno è impostato su TRUE se la Lunghezza è uguale alla Posizione. Il bit Pieno è impostato su FALSE se la Posizione è minore o uguale a zero e minore della Lunghezza.
- Le condizioni di errore FLU non sono verificate.
- Istruzione FFU: dalla modalità in esecuzione alla modalità non in esecuzione:
- I bit Errore, ErrorID, Completato, Vuoto e Pieno conservano lo stato modalità in esecuzione.
- Per creare un singolo elemento per il parametro FIFO:
- Non array:
- l'indirizzo basato sulla variabile come Fifo1 è consentito per FIFO.
- La lunghezza deve essere configurata come 1.
- Array monodimensionale:
- L'indirizzo basato sulla variabile come Fifo1 o Fifo1[0] è consentito per FIFO.
- La lunghezza deve essere configurata come 1.
Lingue supportate: Diagramma a blocchi funzione, Diagramma Ladder, Testo strutturato.
Questa istruzione vale per i controllori L20E, L50E e L70E.
FFU

Parametro | Tipo di parametro | Tipo di dati | Descrizione |
|---|---|---|---|
Execute | Ingresso | BOOL | Abilitazione del blocco istruzione.
|
Dest | Ingresso | ANY_ELEMENTARY | Contiene il valore esistente nello stack FIFO. Tipi di dati elementari supportati per Dest:
|
DestOffset | Ingresso | UINT | Offset elemento di destinazione. Offset elemento se la destinazione è un tipo di dati array unidimensionale, altrimenti impostare l'offset su 0. Per tipo di dati vettore, per scaricare nel primo elemento, impostare l'offset su 0. |
FIFO | Ingresso | ANY_ELEMENTARY | L'indirizzo iniziale dello stack. FIFO deve essere configurato come nelle istruzioni FFL e FFU.
|
FIFOCon | Ingresso | FF_LF_CON | Controllo e configurazione FIFO. La stessa configurazione deve essere configurata per le istruzioni FFL e FFU. Per configurare posizione e lunghezza, utilizzare il tipo di dati FF_LF_CON. |
Done | Uscita | BOOL | Indica se l'operazione FFU è stata completata.
|
Full | Uscita | BOOL | Indica se lo stack FIFO è pieno.
|
Empty | Uscita | BOOL | Indica se lo stack FIFO è vuoto.
|
Error | Uscita | BOOL | Indica la presenza di una condizione di errore.
|
ErrorID | Uscita | USINT | Numero univoco che identifica l'errore. Gli errori sono definiti nei codici di errore FFU. |
Parametro | Tipo di dati | Descrizione |
|---|---|---|
Length | UINT | Numero di elementi utilizzati per l'operazione FIFO. Il limite massimo è 1024. |
Position | USINT | Determina la posizione disponibile successiva in FIFO per la rimozione o l'immissione di Src. La posizione è l'offset del vettore.
|
Codice di errore | Descrizione errore |
|---|---|
0 | Nessun errore. |
1 | Il tipo di dati Src FFL non è supportato. |
2 | Il tipo di dati Dest FFU non è supportato. |
3 | Il tipo di dati FIFO non è supportato. |
4 | I tipi di dati Src e Dest non corrispondono al tipo di dati FIFO. Azione correttiva: Il tipo di dati del parametro Src FFL e del parametro Dest FFU devono corrispondere al tipo di dati del vettore FIFO. |
5 | FIFO: la dimensione dell'array non è supportata. Azione correttiva: FIFO supporta solo array unidimensionali. |
6 | La lunghezza del controllo FIFOCon supera la dimensione del vettore FIFO. Azione correttiva: La lunghezza del controllo FIFOCon non supera la dimensione del vettore FIFO. |
7 | La lunghezza FIFOCon supera la lunghezza massima. |
8 | La lunghezza FIFOCon è zero. |
9 | La posizione FIFOCon supera la lunghezza FIFOCon. |
10 | La posizione e la lunghezza del controllo FFL sono uguali. |
11 | La posizione del controllo FFU è zero. |
12 | La dimensione del vettore FFL o FFU non è supportata. Azione correttiva: FFL e FFU supportano solo array unidimensionali. |
13 | FFL o FFU DestOffset supera la dimensione vettore Dest. |
Esempi di FFU
Esempio di diagramma a blocchi funzionali FFU

Esempio di diagramma ladder FFU

Esempio di testo strutturato FFU

Risultati

Fornire un feedback