Camino:  Equipo (Dispositivos) > PLC200 > Programa > Data Transfer >

ReadRecipe

Leitor de Dados de Receita

Previous pageReturn to chapter overviewNext page

Bloque que obtiene la receta de un archivo de recetas y lo envía a una variable.

 

Representación Ladder

 

READRECIPE_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 leída

VAR_OUTPUT

Q

BOOL

Fin de operación

ERROR

BOOL

Señalizador de ocurrencia de error

ERRORID

BYTE USINT

Identificador del error ocurrido

DST

STRUCT

Variable donde serán guardados los datos leídos

VAR

READRECIPE_INST_0

READRECIPE

Instancia de acceso a la estructura del bloque

 

Operación

 

Este bloque, cuando identifica un flanco de subida en Execute, obtiene los datos de la receta seleccionada por el índice INDEX en el archivo FILENAME# y los envía a la DST. En caso de que todo haya ocurrido 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'.

 

Cuando Execute tiene valor FALSE, DST permanece inalterado.

 

En caso de que exista 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

7

SD card ocupado (log o otro uso)

 

Diagrama de Flujo del Bloque

 

READRECIPE_flowchart

 

Ejemplo en Ladder

 

READRECIPE_example01

 

El ejemplo de arriba busca el índice 3 del archivo de recetas almacenado en la RAM 'RECIPE_RAM'. El bloque no encuentra el archivo especificado, habilitando la salida ERROR con ERRORID de valor 5 y desactivando la salida Q.

 

READRECIPE_example02

 

El ejemplo de arriba busca el índice 3 del archivo de recetas almacenado en la RAM 'RECIPE_RAM'. El bloque encuentra el archivo especificado, sin embargo, no encuentra el índice 3, habilitando la salida ERROR con ERRORID de valor 3 y desactivando la salida Q.

 

READRECIPE_example03

 

El ejemplo de arriba busca el índice 3 del archivo de recetas almacenado en la RAM 'RECIPE_RAM'. El bloque encuentra el archivo y el índice especificado, almacena los valores en DST, 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

   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;