Bloco que escreve uma receita em um arquivo de receitas a partir de 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 escrita |
|
SRC |
STRUCT |
Variável de onde são lidos os dados |
|
VAR_OUTPUT |
Q |
BOOL |
Fim de operação |
ERROR |
BOOL |
Sinalizador de ocorrência de erro |
|
ERRORID |
BYTE USINT |
Identificador do erro ocorrido |
|
VAR |
WRITERECIPE_INST_0 |
WRITERECIPE |
Instância de acesso à estrutura do bloco |
Funcionamento
Este bloco, quando identifica uma borda de subida em Execute, obtém os dados de SRC e os envia ao arquivo de receitas selecionado pelo índice INDEX no arquivo FILENAME#. 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'. |
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 |
Fluxograma do Bloco

Exemplo em Ladder

O exemplo acima tenta escrever o conteúdo de SRC no índice 4 do arquivo de receitas armazenado no cartão SD 'RECIPE_SD.CSV'. 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 tenta escrever o conteúdo de SRC no índice 4 do arquivo de receitas armazenado no cartão SD 'RECIPE_SD.CSV'. O bloco encontra o arquivo especificado, porém não encontra o índice 4, habilitando a saída ERROR com ERRORID de valor 3 e desativando a saída Q.

O exemplo acima tenta escrever o conteúdo de SRC no índice 4 do arquivo de receitas armazenado no cartão SD 'RECIPE_SD.CSV'. O bloco encontra o arquivo e o índice especificado, armazena os valores na receita, 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 SRC : STRUCT_RECIPE; WRITERECIPE_INST_0 : FB_WriteRecipe; END_VAR
WRITERECIPE_INST_0.Execute := DI1; WRITERECIPE_INST_0(FILENAME:='RECIPE_SD.CSV', INDEX:=1, SRC:=SRC); DO1 := WRITERECIPE_INST_0.Q;
|
|---|