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

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.
|
¡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

Ejemplo en Ladder

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.

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.

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;
|
|---|