Página nueva
Variables remanentes y persistentes en GM1 (CODESYS)
Fecha: 2 de octubre de 2024
De: Daniel Cristobal – Panasonic Industry Iberia
Para: Enrique Cánoves – Reyman J.S. Montajes Industriales
Asunto: Consulta GM1 – Variables persistentes y remanentes
📘 Contexto de la consulta
Durante el desarrollo de un proyecto con controlador Panasonic GM1 (basado en CODESYS), se planteó la siguiente duda técnica:
Las variables declaradas como retentivas mantienen su valor ante un reinicio o apagado del PLC, pero al realizar una descarga completa del programa (tras un cambio sustancial), se inicializan a cero.
En el entorno FPWIN existía una opción de configuración para conservar estos valores, pero en CODESYS no se encuentra una alternativa evidente.
🧩 Respuesta técnica de Panasonic
El ingeniero Daniel Cristobal del departamento técnico de Panasonic Industry Iberia respondió con la siguiente recomendación:
En este caso, debes declarar las variables como persistentes, no solo como retentivas.
✅ Pasos para configurar variables persistentes en CODESYS
-
Crear una lista de variables persistentes
-
En el árbol del proyecto, agregar una lista con el tipo Persistent Variables.
-
-
Declarar dentro de esa lista las variables necesarias
-
Las variables dentro de esta lista se definen con el tipo PERSISTENT, no solo
RETAIN.
-
-
Comportamiento esperado
-
Las variables persistentes retendrán su valor incluso después de:
-
Una descarga completa del programa (download changes).
-
Un reinicio warm o cold reset del controlador.
-
-
🧠 Diferencia entre variables RETAIN y PERSISTENT
| Tipo de variable | Conserva valor tras apagado | Conserva valor tras descarga del programa | Uso recomendado |
|---|---|---|---|
RETAIN |
✅ Sí | ❌ No | Valores que deben mantenerse en ciclos de energía, pero no tras actualizaciones de programa. |
PERSISTENT |
✅ Sí | ✅ Sí | Valores críticos que deben mantenerse incluso tras actualizaciones o descargas. |
🧪 Prueba realizada por Panasonic
El técnico realizó una prueba con dos variables globales:
-
Una retentiva (
RETAIN) -
Una no retentiva
Tras descargar al GM1 y realizar un ciclo de apagado y encendido, verificó mediante la vista Watch que la variable retentiva conservaba correctamente su valor.
Se confirmó que el mecanismo de retención funciona según lo previsto, pero que para mantener valores ante descargas es necesario el uso de PERSISTENT.
🏢 Datos de contacto – Panasonic Industry Iberia
Daniel Cristobal
Application Engineer – Systems & Solutions Division
📞 +34 946 669 359
📱 +34 615 764 025
📧 Daniel.Cristobal@eu.panasonic.com
🌐 http://industry.panasonic.eu
📎 Notas de confidencialidad
El contenido del correo original contiene información técnica y confidencial entre Reyman J.S. Montajes Industriales S.L. y Panasonic Industry Iberia S.A..
La información se presenta aquí únicamente con fines técnicos y de documentación interna.
¿Quieres que añada también las imágenes del correo (por ejemplo, capturas de las listas de variables en CODESYS) extraídas del PDF y embebidas en el Markdown? Puedo convertirlas a base64 o referenciarlas con nombres de archivo ().