FFU (descarga FIFO)
A instrução FFU descarrega dados de 8, 16 ou 32 ou 64 bits de uma matriz unidimensional criada pelo usuário chamada de pilha FIFO (primeiro a entrar, primeiro a sair) na mesma ordem em que os dados foram carregados usando a instrução FFL.
Detalhes da operação:
- Instrução FFU - Modo de não execução para modo de execução:
- Quando Executar muda de FALSE para TRUE:
- Condições de erro FFU são verificadas.
- Descarrega o conteúdo da pilha FIFO na posição zero se a Posição for maior que zero e menor ou igual ao Comprimento.
- Os elementos restantes deslocam-se uma posição na direção de zero e o elemento mais alto da pilha FIFO é definido com zero, a Position é reduzida por um.
- Vazio é definido como TRUE se a Posição for igual a zero.
- Concluído é definido quando a instrução é executada com êxito.
- Quando Executar muda de TRUE para FALSE:
- Erro, Concluído e ErrorID são definidos como FALSE.
- Vazio é definido como TRUE se a Posição for igual a zero.
- Total é definido como TRUE se Comprimento for igual a Posição. O Total é definido como FALSE se a Posição for menor ou igual a zero e menor que o Comprimento.
- As condições de erro FFU não são verificadas.
- Quando Executar muda de TRUE para TRUE:
- Nenhuma operação de descarga é realizada.
- Vazio é definido como TRUE se a Posição for igual a zero.
- Total é definido como TRUE se Comprimento for igual a Posição.
- As condições de erro FFU não são verificadas.
- Quando Executar muda de FALSE para FALSE:
- Erro, Concluído e ErrorID são definidos como FALSE.
- Vazio é definido como TRUE se a Posição for igual a zero.
- Total é definido como TRUE se Comprimento for igual a Posição. O Total é definido como FALSE se a Posição for menor ou igual a zero e menor que o Comprimento.
- As condições de erro FLU não são verificadas.
- Instrução FFU - Modo de execução para modo de não execução:
- Erro, ErrorID, Concluído, Vazio e Total mantêm o estado do modo Executar.
- Para criar um elemento simples para o parâmetro FIFO:
- Não matriz:
- Endereço baseado em variável, como Fifo1, é permitido para FIFO.
- O comprimento deve ser configurado como 1.
- Matriz unidimensional:
- Endereço baseado em variável, como Fifo1 ou Fifo1[0], é permitido para FIFO.
- O comprimento deve ser configurado como 1.
Linguagens suportadas: Diagrama de blocos de função, diagrama de ladder, texto estruturado.
Essa instrução aplica-se aos controladores L20E, L50E e L70E.
FFU

Parâmetro | Tipo do parâmetro | Tipo de dados | Descrição |
|---|---|---|---|
Execute | Entrada | BOOL | Habilitação do bloco de instruções.
|
Dest | Entrada | ANY_ELEMENTARY | Mantém o valor que existe na pilha FIFO. Tipos de dados elementares suportados para Dest:
|
DestOffset | Entrada | UINT | Offset do elemento de destino. Offset de elemento se o destino for tipo de dados de matriz unidimensional, caso contrário, o offset deve ser definido como 0. Para tipo de dados de matriz, para descarregar o primeiro elemento, o offset deve ser definido como 0. |
FIFO | Entrada | ANY_ELEMENTARY | O endereço inicial da pilha. FIFO deve ser configurado igual nas instruções FFL e FFU.
|
FIFOCon | Entrada | FF_LF_CON | Configuração e controle de FIFO. A mesma configuração deve ser definida para as instruções FFL e FFU. Use o tipo de dados FF_LF_CON para configurar a Posição e o Comprimento. |
Done | Saída | BOOL | Indica quando a operação FFU é concluída.
|
Full | Saída | BOOL | Indica quando a pilha FIFO está cheia.
|
Empty | Saída | BOOL | Indica quando a pilha FIFO está vazia.
|
Error | Saída | BOOL | Indica a existência de uma condição de erro.
|
ErrorID | Saída | USINT | Um numérico exclusivo que identifica o erro. Os erros são definidos nos códigos de erro FFU. |
Parâmetro | Tipo de dados | Descrição |
|---|---|---|
Length | UINT | Número de elementos usados para a operação de FIFO. O limite máximo é 1024. |
Position | USINT | Determina o próximo local disponível no FIFO para a entrada ou remoção de origem. A posição é o deslocamento da matriz.
|
Código de erro | Descrição do erro |
|---|---|
0 | Sem erro. |
1 | O tipo de dados de origem FFL não é suportado. |
2 | O tipo de dados de destino FFU não é suportado. |
3 | O tipo de dados FIFO não é suportado. |
4 | Incompatibilidade do tipo de dados de origem e de destino com o tipo de dados FIFO. Ação corretiva: Os tipos de dados do parâmetro de origem FFL e do parâmetro de destino FFU devem coincidir com o tipo de dados da matriz FIFO. |
5 | FIFO: A dimensão da matriz não é compatível. Ação corretiva: FIFO é compatível apenas com matrizes unidimensionais. |
6 | O comprimento de controle de FIFOCon excede o tamanho da matriz FIFO. Ação corretiva: O comprimento de controle de FIFOCon não pode exceder o tamanho da matriz FIFO. |
7 | O comprimento de FIFOCon excede o comprimento máximo. |
8 | O comprimento de FIFOCon é zero. |
9 | A posição de FIFOCon excede o comprimento de FIFOCon. |
10 | O comprimento de controle de FFL e a posição são iguais. |
11 | A posição de controle de FFU é zero. |
12 | A dimensão da matriz FFL ou FFU não é suportada. Ação corretiva: FFL e FFU são compatíveis apenas com matrizes unidimensionais. |
13 | DestOffset de FFL ou FFU excede o tamanho da matriz de destino. |
Exemplos de FFU
Exemplo de diagrama de blocos de função FFU

Exemplo de diagrama de ladder FFU

Exemplo de texto estruturado FFU

Resultados

Dê sua opinião