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
FFL
Parâmetros da FFL
Parâmetro
Tipo do parâmetro
Tipo de dados
Descrição
Execute
Entrada
BOOL
Habilitação do bloco de instruções.
  • TRUE: Se borda ascendente for detectada, iniciará a operação FFL.
  • FALSE: Borda ascendente não detectada.
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: 
  • DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL, SINT, USINT, BYTE, INT, UINT, WORD, DINT, UDINT.
  • String não é suportado.
  • Variáveis e matrizes unidimensionais, como Matriz[1] ou Matriz[Índice], são compatíveis.
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.
  • String não é compatível.
  • Apenas matriz unidimensional é compatível para FIFO.
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.
  • TRUE: Operação concluída com êxito.
  • FALSE: Operação encontrou uma condição de erro ou a instrução FFU não está executando.
Empty
Saída
BOOL
Indica quando a pilha FIFO está vazia.
  • TRUE: Quando a Posição for igual a 0.
  • FALSE: Quando a Posição não for igual a 0.
Full
Saída
BOOL
Indica quando a pilha FIFO está cheia.
  • TRUE: Quando o Comprimento for igual à Posição.
  • FALSE: Quando a Posição for maior ou igual a zero e menor que o Comprimento.
Error
Saída
BOOL
Indica a existência de uma condição de erro.
  • TRUE: A operação encontrou um erro.
  • FALSE: Operação concluída com êxito ou a instrução não está sendo executada.
ErrorID
Saída
USINT
Um numérico exclusivo que identifica o erro. Os erros são definidos nos códigos de erro FFL.
Tipo de dados FF_LF_CON
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:
  • Matriz unidimensional configurada pelo usuário, arr[0..5]. A posição inicial é configurada como 1. Os dados são enviados em arr[1] e a posição aumenta em incrementos pela posição + 1.
Exemplo 2:
  • Matriz unidimensional configurada pelo usuário como arr[1..5]. A posição inicial é configurada como 1. Os dados são enviados em arr[2] e a posição aumenta em incrementos pela posição + 1.
Códigos de erro FFL
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 blocos de função FFL
Exemplo de diagrama de ladder FFL
Exemplo de diagrama de ladder FFL
Exemplo de texto estruturado FFL
Exemplo de texto estruturado FFL
Resultados
Resultados
Dê sua opinião
Tem dúvidas ou comentários sobre esta documentação? Por favor, envie seu comentário aqui.
Normal