Guardar datos remanentes en tarjeta EL6080
Introducción:
En el siguiente ejemplo se muestra como guardar datos de variables del PC CP66xx en una tarjeta EL6080 (EtherCAT memory terminal 128 kbyte) para que sean remanentes (mantienen su valor al quitar tensión). La aplicación consta de un PC CP66xx y una cabecera EtherCAT EK1100 donde esta acoplada la tarjeta de memoria EL6080.
El objetivo es ir escribiendo las variables remantes de forma periódica del PC CP66xx a la EL6080 de tal forma que al quitar tensión de PC CP66xxlos datos remantes hayan quedado guardados en la carta EL6080 y al restablecerse la tensión poder leer estos datos de la carta EL6080 y reflejarlos en la variables del PC CP66xx
Variables remanentes a guardar
En este ejemplo vamos a guardar una variable tipo INT ( Var_Int )declarada en TwinCAT PLC como varible interna.
Ya que esta variable se quiere escribir y leer de la tarjeta EL6080 tenemos que daclarar una variable INT de salida ( Var_Int_O )y otra variable INT de entrada ( Var_Int_I )
También necesitamos declarar otras dos variables UINT para gestionar la escritura y la lectura de datos en la tarjeta EL6080, estas variables serán ( ControlWord ) que escribe los datos en la tarjeta EL6080 y ( StatusWord) que nos confirma que se han escrito correctamente los datos.
Al final las variables necesarias a declarar son las siguientes:
Configuración (System Manager):
Al insertar la cabecera ( EK1100) y la carta de memoria (EL6080) desde el System Manager por defecto nos crea el siguiente árbol de variables
Dentro del grupo de variables Status, Inputs, Control, Outputs creamos unos punto del mismo tipo que las variable creadas en TwinCAT PLC y la podemos llamar de la misma forma ( VarINT_I ), ( Status), (Control) y ( VArINT_O )
El siguiente paso es vincular el proyecto de PLC al System Manager, una vez realizado podemos ver las variables anteriormente creadas en TwinCAT PLC .
Ahora solo queda vincular estas variables del proyecto del PLC con la variables de la EL6080
Rutina de escritura y lectura
En el programa de PLC creamos un pequeño programa que realice lo siguiente:
- Crear un temporizador de retardo al arranque del sistema Tim_Arranque
- Una vez cumplido este temporizador leemos los datos de la memoria.
- Una vez leída la memoria cada 10 segundos se escribirá en la memoria el valor de la variable.
Seguro que se puede hacer de una manera más sencilla a la que yo he realizado ....
Se ha creado una pantalla HMI para ver la secuancia de escritura de datos