Bloco que obtém a receita de um arquivo de receitas e o envia a uma variável.
Representação Ladder

Estrutura do Bloco
Tipo de Variável |
Nome |
Tipo de Dado |
Descrição |
VAR_INPUT |
Execute |
BOOL |
Habilitação do bloco |
FILENAME# |
STRING |
Nome do arquivo de receitas |
|
INDEX |
WORD UINT |
Indice da receita a ser lida |
|
VAR_OUTPUT |
Q |
BOOL |
Fim de operação |
ERROR |
BOOL |
Sinalizador de ocorrência de erro |
|
ERRORID |
BYTE USINT |
Identificador do erro ocorrido |
|
DST |
STRUCT |
Variável onde serão salvos os dados lidos |
|
VAR |
READRECIPE_INST_0 |
READRECIPE |
Instância de acesso à estrutura do bloco |
Funcionamento
Este bloco, quando identifica uma borda de subida em Execute, obtém os dados da receita selecionada pelo índice INDEX no arquivo FILENAME# e os envia à DST. Caso tudo ocorra com sucesso, Q recebe TRUE e permanece assim enquanto Execute for TRUE.
|
NOTA! Receitas armazenadas na RAM são identificadas por 'NOME_DA_RECEITA'. Receitas armazenadas no cartão SD são identificadas por 'NOME_DA_RECEITA.CSV'. |
Quando Execute possui valor FALSE, DST permanece inalterado.
Caso haja algum erro na execução, a saída Error é ativada e ErrorID exibe o código do erro segundo a tabela abaixo.
Código |
Descrição |
1 |
Receita incompleta |
2 |
Estrutura inválida |
3 |
Receita inexistente |
4 |
Arquivo inválido |
5 |
Arquivo inexistente ou SD card inválido |
6 |
SD card bloqueado para escrita |
7 |
SD card ocupado (log ou outra utilização) |
Fluxograma do Bloco

Exemplo em Ladder

O exemplo acima busca o índice 3 do arquivo de receitas armazenado na RAM 'RECIPE_RAM'. O bloco não encontra o arquivo especificado, habilitando a saída ERROR com ERRORID de valor 5 e desativando a saída Q.

O exemplo acima busca o índice 3 do arquivo de receitas armazenado na RAM 'RECIPE_RAM'. O bloco encontra o arquivo especificado, porém não encontra o índice 3, habilitando a saída ERROR com ERRORID de valor 3 e desativando a saída Q.

O exemplo acima busca o índice 3 do arquivo de receitas armazenado na RAM 'RECIPE_RAM'. O bloco encontra o arquivo e o índice especificado, armazena os valores em DST, desabilita a saída ERROR e ativa a saída Q.
Exemplo em ST
O exemplo abaixo, exibe as instruções para aplicação do exemplo acima na linguagem ST.
VAR DST : STRUCT_RECIPE; READRECIPE_INST_0 : FB_ReadRecipe; END_VAR
READRECIPE_INST_0.Execute := DI1; READRECIPE_INST_0(FILENAME:='RECIPE_RAM', INDEX:=3, DST=>DST); DO1 := READRECIPE_INST_0.Q;
|
|---|