WriteRecipe
WriteRecipe grava dados de receita de uma variável em um arquivo de receita.
Representação em Ladder
Referência de variável
| Tipo de variável | Nome | Tipo de dado | Descrição |
|---|---|---|---|
| VAR_INPUT | Execute | BOOL | Habilita o bloco. |
| VAR_INPUT | FILENAME# | STRING | Nome do arquivo da receita. |
| VAR_INPUT | INDEX | WORD UINT | Índice de receitas a ser elaborado. |
| VAR_INPUT | SRC | STRUCT | Variável da qual os dados são lidos. |
| VAR_OUTPUT | Q | BOOL | Indica a conclusão da operação. |
| VAR_OUTPUT | ERROR | BOOL | Indica que ocorreu um erro. |
| VAR_OUTPUT | ERRORID | BYTE USINT | Identificador do erro ocorrido. |
| VAR | WRITERECIPE_INST_0 | WRITERECIPE | Instância usada para acessar a estrutura de blocos. |
Operação
Quando o bloco identifica uma borda de subida em Execute, ele obtém os dados de SRC e os envia para o arquivo de receita selecionado por INDEX em FILENAME#.
Se a operação for concluída com êxito, Q é definido como TRUE e permanece TRUE enquanto Execute for TRUE.
As receitas armazenadas na RAM são identificadas por RECIPE_NAME. As receitas armazenadas no cartão SD são identificadas por RECIPE_NAME.CSV.
Se ocorrer um erro durante a execução, ERROR é ativado e ERRORID exibe o código de erro correspondente.
Códigos de erro
| Código | Descrição |
|---|---|
| 1 | Receita incompleta. |
| 2 | Estrutura inválida. |
| 3 | Receita inexistente. |
| 4 | Arquivo inválido. |
| 5 | Arquivo inexistente ou cartão SD inválido. |
| 6 | Cartão SD bloqueado para gravação. |
Fluxograma de execução

Exemplos
- Exemplo em Diagrama Ladder
- Exemplo em Texto Estruturado

Este exemplo em Ladder tenta gravar o conteúdo de SRC no índice 4 do arquivo de receita armazenado no cartão SD como RECIPE_SD.CSV. O bloco não encontra o arquivo especificado, ativa ERROR com ERRORID definido como 5 e desativa Q.

Este exemplo em Ladder tenta gravar o conteúdo de SRC no índice 4 do arquivo de receita armazenado no cartão SD como RECIPE_SD.CSV. O bloco encontra o arquivo especificado, mas não encontra o índice 4, ativa ERROR com ERRORID definido como 3 e desativa Q.

Este exemplo em Ladder tenta gravar o conteúdo de SRC no índice 4 do arquivo de receita armazenado no cartão SD como RECIPE_SD.CSV. O bloco localiza o arquivo e o índice especificado, armazena os valores na receita, desativa ERROR e ativa Q.
O seguinte Structured Text aplica a mesma lógica do exemplo em Ladder.
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;