Skip to main content

Uso de recetas para establecer valores

Use recetas para cambiar o leer valores de recetas para un conjunto específico de variables (definición de recetas) en el controlador al mismo tiempo.

Los ajustes básicos para recetas, como la ubicación y el formato, se definen en el Administrador de recetas objeto. Inserta cualquier número de definiciones de recetas debajo de este objeto.

Puede guardar una receta en un archivo o escribir directamente desde archivos al PLC.

Las recetas se pueden llamar a través del CODESYS interfaz de desarrollo, el elemento de visualización o el programa de aplicación.

Uso de recetas en dispositivos remotos

Si hay variables de fuentes de datos involucradas y se configura un intercambio de fuentes de datos, los valores de las variables de las recetas se transfieren automáticamente a/desde otro controlador. La lectura y la escritura ocurren sincrónicamente. Esto significa que todas las variables configuradas en una definición de receta se actualizan al mismo tiempo.

Después de leer o escribir, puede usar la llamada g_RecipeManager.LastError para verificar si la transferencia fue exitosa o no (g_RecipeManager.LastError = 0).

Llamar a los comandos de receta en el CODESYS interfaz de usuario

La interfaz de desarrollo de CODESYS proporciona comandos para generar recetas, así como lectura/escritura en modo en línea.

Llamar a los comandos de receta mediante programación o en una visualización

En tiempo de ejecución, la definición de recetas y los comandos de recetas se pueden llamar en el programa de aplicación. Para hacer esto, implemente el proceso para escribir, leer o monitorear definiciones de recetas en su código usando los métodos del RecipeManCommands bloque de funciones de la RecipeManagement biblioteca.

Para más información, ver: ComandosRecetaMan (FB)

En la visualización, la llamada de los comandos de receta se implementa utilizando el configuración de entrada (ejecutar comando) para un elemento de visualización. Al hacer esto, un usuario de visualización puede controlar la ejecución de los comandos de receta.

Sugerencia

Durante el proceso de inicialización, la gestión de recetas lee los valores de las variables que están definidas en la definición de recetas. Esta operación tiene lugar al final de la fase de inicialización de la aplicación. En este punto, se establecen todos los valores iniciales de las variables de la aplicación. Esto se realiza para inicializar correctamente los valores faltantes de los archivos de recetas.

Funcionalidad especial para números de punto flotante

Para variables de tipo REAL o LREAL, se distingue si el valor es exactamente convertible o no.

  • Si es posible convertir el valor exactamente, solo se guarda el valor numérico en el archivo de recetas.

  • Si no es posible realizar una conversión exacta, se escribe una cadena codificada en hexadecimal en el archivo de receta junto al valor numérico. Esto debería tener el efecto de que también un número de punto flotante no convertible devuelve el mismo valor.

Esta función se puede desactivar con el RECIPE_GENERATE_SIMPLE_STRINGREAL definición del compilador.

Sugerencia

En las propiedades del objeto de la aplicación principal en Construir, puedes ingresar esto RECIPE_GENERATE_SIMPLE_STRINGREAL el compilador define en el El compilador define opción. Como resultado, no se almacena ninguna cadena codificada en hexadecimal.

Para más información, ver: Diálogo: Propiedades: Construir

Creando una receta

  1. En el árbol de dispositivos, seleccione el Solicitud objeto.

  2. Hacer clic Proyecto → Agregar objeto → Administrador de recetas.

    El Administrador de recetas se agrega al árbol de dispositivos.

  3. En el árbol de dispositivos, haga clic en el Administrador de recetas objeto.

  4. Hacer clic Proyecto → Agregar objeto → Definición de receta.

    El definición de receta se agrega debajo del Administrador de recetas.

  5. Abra el editor de la definición de receta haciendo doble clic en el objeto.

  6. Haga doble clic en el campo en blanco a continuación Variable. Especifique el nombre de una variable para definir una receta. Puede utilizar el Asistente de entrada (_cds_icon_button_threedots.png botón) para esto.

  7. Hacer clic Recetas → Agregar una nueva receta y especifique un nombre para la nueva receta.

    Aparece una columna con el nombre de la nueva receta en el editor.

  8. Ingrese el valor de la variable para esta receta en este campo.

  9. Inserte campos adicionales según sea necesario.

  10. Seleccione un valor variable para la receta y haga clic en Recetas→ Guardar Receta. Seleccione una ubicación y un nombre de archivo.

    La receta se guarda en el formato definido en el Administrador de recetas.

Cargar una receta desde un archivo

Requisito: Un administrador de recetas está disponible en la aplicación. En una definición de receta, hay un miRec receta con valores variables. A myRec.txt El archivo de receta se encuentra en el sistema de archivos y contiene las entradas para esta receta.

Ejemplo del archivo de receta:

PLC_PRG.bVar:=0
PLC_PRG.iVar:=2
PLC_PRG.dwVar:=35232
PLC_PRG.stVar:='first'
PLC_PRG.wstVar:='123443245'
  1. Haga doble clic en el Definición de receta objeto en el árbol de dispositivos para abrir el editor tabular para la definición de las recetas individuales.

    ves el myRec columna con los valores actuales para esta receta.

  2. Editar el myRec.txt archivo en un editor de texto externo y reemplace los valores de las variables con otros valores que desee cargar en la definición de receta en CODESYS. Guarda el archivo.

  3. En la definición de la receta, haga clic en el miRec columna y en el menú contextual, haga clic en Cargar Receta.

    Un mensaje de diálogo le notifica sobre la posible necesidad de realizar un cambio en línea cuando vuelva a iniciar sesión. Es necesario un cambio en línea cuando cambia los valores actuales de las variables de receta al cargar la receta.

  4. Hacer clic para cerrar el cuadro de diálogo y continuar. Selecciona el myRec.txt archivo desde el explorador de archivos para cargar.

    Los valores de receta en la definición de receta se actualizan de acuerdo con los valores leídos en el archivo.

Sugerencia

Si desea sobrescribir solo las variables de recetas individuales con nuevos valores, elimine los valores de las otras variables antes de cargarlas en el archivo de recetas. Las entradas sin definiciones de valor no se leen y, por lo tanto, la actualización deja estas variables sin cambios en el controlador y en el proyecto.

Para valores del tipo de dato REAL/LREAL, el valor hexadecimal también se escribe en el archivo de recetas en algunos casos. Esto es necesario para que se restablezca el valor exactamente idéntico al volver a convertir. En este caso, cambia el valor decimal y elimina el valor hexadecimal.

Gestión de recetas en el controlador; uso de memoria

Cuando borras el Gestión de recetas en el PLC opción, el administrador de recetas y las definiciones de recetas no usarán ninguna memoria en el PLC.

Si selecciona esta opción, se genera código para el Administrador de recetas y todas las definiciones de recetas, y este código se almacena en el PLC. El tamaño de la memoria utilizada depende principalmente del número de recetas y sus variables, así como del tipo de datos de las variables. El hecho de que los campos de la definición de receta estén o no llenos también tiene un efecto. No se puede calcular el uso de memoria de las recetas. Tiene que ser determinado por experimentación en el momento en que se necesita. La siguiente tabla simplemente proporciona algunos principios rectores.

tabla 1. Uso de memoria para CODESYS V3 SP6 con un controlador CODESYS Control Win V3

Tamaño del código (bytes)

Tamaño de datos (bytes)

Total (bytes)

Definición de receta con 100 variables INT

194406

79400

267352

Definición de receta con 200 variables INT

238318

121284

459344

Definición de receta con 300 variables INT

282230

163084

543856

Definición de recetas con 100 variables BOOL

192742

69884

343168

Definición de receta con 200 variables BOOL

235446

101568

436872

Definición de receta con 300 variables BOOL

278146

133284

510072

Definición de receta con 100 variables de cadena

203278

870084

1154000

Definición de receta con 200 variables de cadena

255570

1709784

2973296

Definición de receta con 300 variables de cadena

307886

2549484

2964112



Carga de valores de recetas desde el controlador

Puede aplicar valores de recetas en el controlador a definiciones de recetas en el proyecto, incluso si estas definiciones se han modificado en el proyecto.

Requisito: El Gestión de recetas en el PLC Esta opción se selecciona en el Administrador de recetas.

  1. Crear una definición de receta RecDef1 en el proyecto, que contiene las variables PLC_PRG.ivar y PLC_PRG.bvar. Insertar una receta R1: valor por PLC_PRG.ivar: 33; valor por PLC_PRG.bvar: TRUE.

  2. Inicie sesión en el controlador y descargue la aplicación.

    El archivo de recetas R1.RecDef1.txtrecipe se guarda en el directorio predeterminado del controlador ($PlcLogic$).

  3. Cerrar sesión y agregar otra variable PLC_PRG.dwvar a la definición de receta en el proyecto.

  4. Edite el archivo de definición de receta R1.RecDef1.txtrecipe en el dispositivo cambiando el valor de PLC_PRG.ivar desde 33 a 34.

    Además, añade otra receta. R2 en el dispositivo. Para ello, copie el R1.RecDef1.txtrecipe y cambiarle el nombre a R2.RecDef1.txtrecipe. Luego edite este archivo y cambie los valores de la receta: PLC_PRG.ivar: 1, PLC_PRG.bvar: FALSE.

    ahora dos recetas R1 y R2 están disponibles en el dispositivo. En el proyecto solo hay R1, y también contiene otros valores además de R1 en el dispositivo.

  5. Inicie sesión en el controlador mediante un cambio en línea.

  6. Hacer clic Cargar recetas desde el dispositivo del menú contextual.

    Un mensaje de diálogo le notifica que ejecutar el comando en el próximo inicio de sesión puede desencadenar un cambio en línea y que las recetas en el sistema de tiempo de ejecución sobrescribirán las recetas de la definición de receta actual.

  7. Confirme que desea continuar.

    Un mensaje de diálogo le notifica que la receta para PLC_PRG.dwvar cargado en el dispositivo no puede generar un valor del controlador.

  8. Confirme que desea continuar.

    El valor de PLC_PRG.ivar en receta R1 de la definición de receta en el proyecto cambia a 34. La receta R2 con los valores 1 y FALSE también aparece en la definición de la receta ahora. PLC_PRG.dwvar permanece en la definición de receta.