FFL (carga FIFO)
A instrução FFL carrega dados de 8, 16, 32 ou 64 bits em uma matriz unidimensional criada pelo usuário chamada pilha FIFO.
Detalhes da operação: A instrução FFL muda de modo de não execução para modo de execução.
- Quando Executar muda de FALSE para TRUE:
- As condições de erro são verificadas.
- O conteúdo de Src é carregado na pilha FIFO na posição disponível e a Position aumenta em incrementos de um se a Position for menor ou igual a zero e menor que Length.
- Total é definido como TRUE se Comprimento for igual a Posição. O Total é FALSE se a Posição for menor ou igual a zero e menor que o Comprimento.
- 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 quando Comprimento for igual a Posição. O Total é FALSE se a Posição for menor ou igual a zero e menor que o Comprimento.
- As condições de erro FFL não são verificadas.
- Quando Executar muda de TRUE para TRUE:
- Nenhuma operação de carregamento é realizada.
- Vazio é definido como TRUE se a Posição for igual a zero.
- O Total é definido como FALSE se a Posição for menor ou igual a zero e menor que o Comprimento. Total é definido como TRUE se Comprimento for igual a Posição.
- As condições de erro FFL não são verificadas.
- Quando Executar muda de FALSE para FALSE:
- Os bits de Erro, Concluído e ErrorID são definidos como FALSE.
- Os bits de Total e Vazio mantêm os valores do estado de execução anterior.
- 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 é FALSE se a Posição for menor ou igual a zero e menor que o Comprimento.
- As condições de erro FLL não são verificadas.
- Instrução FFL - 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.
FFL

Parâmetro | Tipo do parâmetro | Tipo de dados | Descrição |
|---|---|---|---|
Execute | Entrada | BOOL | Habilitação do bloco de instruções.
|
Src | Entrada | ANY_ELEMENTARY | O operando de origem é o endereço do valor usado para preencher a posição atualmente disponível na pilha FIFO. Tipos de dados elementares suportados para Origem:
|
FIFO | Entrada | ANY_ELEMENTARY | O endereço inicial da pilha. FIFO deve ser configurado igual para as instruções FFL e FFU. Tipos de dados elementares suportados para FIFO: DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL, SINT, USINT, BYTE, INT, UINT, WORD, DINT, UDINT.
|
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.
|
Empty | Saída | BOOL | Indica quando a pilha FIFO está vazia.
|
Full | Saída | BOOL | Indica quando a pilha FIFO está cheia.
|
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 FFL. |
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. Exemplo 1:
Exemplo 2:
|
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 FFL
Exemplo de diagrama de blocos de função FFL

Exemplo de diagrama de ladder FFL

Exemplo de texto estruturado FFL

Resultados

Dê sua opinião