Camino:  Equipo (Dispositivos) > PLC300 > Ladder > Data Transfer >

WriteRecipe

Escritor de Datos de Receta

Previous pageReturn to chapter overviewNext page

Bloque que escribe una receta en un archivo de recetas, a partir de una variable.

 

Representación Ladder

 

WRITERECIPE_block

 

Estructura del Bloque

 

Tipo de Variable

Nombre

Tipo de Dato

Descripción

VAR_INPUT

Execute

BOOL

Habilitación del bloque

FILENAME#

STRING

Nombre del archivo de recetas

INDEX

WORD UINT

Indice de la receta a ser escrita

SRC

STRUCT

Variable de donde son leídos los datos

VAR_OUTPUT

Q

BOOL

Fin de operación

ERROR

BOOL

Señalizador de ocurrencia de error

ERRORID

BYTE USINT

Identificador del error ocurrido

VAR

WRITERECIPE_INST_0

WRITERECIPE

Instancia de acceso a la estructura del bloque

 

Operación

 

Este bloque, cuando identifica un flanco de subida en Execute, obtiene los datos de SRC y los envía al archivo de recetas seleccionado por el índice INDEX en el archivo FILENAME#. En caso de que todo ocurra dentro de la normalidad, Q recibirá TRUE y permanecerá así mientras Execute sea TRUE.

 

wpshelp_common_fig_note

¡NOTA!

Las recetas almacenadas en la RAM son identificadas por 'NOMBRE_DEL_ARCHIVO'. Las recetas almacenadas en la tarjeta SD son identificadas por 'NOMBRE_DEL_ARCHIVO.CSV'.

 

En caso de que haya algún error en la ejecución, la salida Error será activada y ErrorID exhibirá el código del error según la tabla de abajo.

 

Código

Descripción

1

Receta incompleta

2

Estructura inválida

3

Receta inexistente

4

Archivo inválido

5

Archivo inexistente o SD card inválida

6

SD card bloqueada para escritura

 

Diagrama de Flujo del Bloque

 

WRITERECIPE_flowchart

 

Ejemplo en Ladder

 

WRITERECIPE_example01

 

El ejemplo de arriba intenta escribir el contenido de SRC en el índice 4 del archivo de recetas almacenado en la tarjeta SD 'RECIPE_SD.CSV'. El bloque no encuentra el archivo especificado, habilitando la salida ERROR con ERRORID de valor 5 y desactivando la salida Q.

 

WRITERECIPE_example02

 

El ejemplo de arriba intenta escribir el contenido de SRC en el índice 4 del archivo de recetas almacenado en la tarjeta SD 'RECIPE_SD.CSV'. El bloque encuentra el archivo especificado, sin embargo, no encuentra el índice 4, habilitando la salida ERROR con ERRORID de valor 3 y desactivando la salida Q.

 

WRITERECIPE_example03

 

El ejemplo de arriba intenta escribir el contenido de SRC en el índice 4 del archivo de recetas almacenado en la tarjeta SD 'RECIPE_SD.CSV'. El bloque encuentra el archivo y el índice especificado, almacena los valores en la receta, deshabilita la salida ERROR y activa la salida Q.

 

Ejemplo en ST

 

 El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje 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;