CX-Supervisor: Comunicacion con EXCEL por DDE
Introducción:
En este ejemplo se explica como hacer una comunicacion sencilla entre CX-Supervisor y una hoja de EXCEL
Esta comunicacion se realiza mediante DDE, que es un metodo estandar para la comunicacion entre aplicaciones Windows
En el ejemplo no se utiliza ningun PLC, solo se centra en la comunicacion SCADA - EXCEL.
Funcionamiento
Se va a simular un control de temperatura de un horno:
La comunicacion sera biderecciona, EXCEL envia datos al SCADA y a la inversa:
El PUNTO DE CONSIGNA (SP) se establecera desde una hoja de EXCEL enviando el valor al SCADA.
El VALOR DE PROCESO (PV) se visualizara en la hoja de EXCEL en tiempo real tomando el valor del SCADA
.
CX-SUPERVISOR
CREAR PROYECTO:
Crear un nuevo proyecto, en este caso se llama DDE y se ha creado en :
C:\SCADA\EJ_DDE\
Ademas crearemos en este mismo directorio un archivo de Excel.
PUNTOS:
Creamos los siguientes puntos en el "Editor de Puntos"
CH_DDE: Punto Memoria Interna. Se crea un canal para la comunicacion DDE.
PV_Temperatura: Punto Memoria Interna. Se alamacena la Temperatura actual del proceso.Este punto sera "leido" por EXCEL.
SP_Temperatura: Punto de Entrada. Este punto recive al valor que se escribe en EXCEL
En I/O Attributes seleccionamos DDE y accedemos a su configuracion. "Setup..."
- Server Name: Nombre del Servidor DDE , en este caso Excel
- Topic Name: Ruta de acceso al archivo XLS de Excel. Se recomienda guardarlo en el mismo directorio del proyecto. En el ejemplo el archivo se llama DDE.XLS
- Item Name: Nombre de la celda en Excel.En el ejemplo, a la celda D7 se le ha llamado SPen Excel.
- Aray Size : Array
PANTALLA:
Desde esta pantalla controlaremos y visualizaremos el proceso.
Utilizando la barra desplazadora se varia el valor del punto "PV_TEMPERATURA" Este valor se visualizara en Excel al abrir la hoja que hemos creado "DDE.XLS"
El valor del punto "SP_TEMPERATURA" se escribe desde Excel. Para ello se necesita abrir la comunicacion DDE.
Se habilita un Boton "ABRIR EXCEL" que ejecuratra un SCRIPT para abrir la comunicacion.
Utilizando el Editor de Animacion, crearemos un script que se ejecutara al pulsar el Boton.
Cuando pulsemos el Boton para abrir la comunicacion es necesario que la hoja de Excel este abierta.
- DDEInitiate: Abrir un canal de comunicacion DDE entre CX-Supervisor y Excel Canal=DDEInitiate("nombre_servidor","directorio")
- DDEOpenLinks:Activa los puntos configurados para comunicacion DDE DDEOpenLinks(Canal)
Para escribir los SCRIPT dentro del "Scrit Editor" accedemos a "Special"
Tanto el valor de SP como de PV se visualizaran en esta pantalla utilizando el Editor de Animacion y la funcion "Visualizar un Valor Analogico"
EXCEL:
Creamos una Hoja de Excel DDE.XLS en el directorio del proyecto.
Habilitamos dos celdas, una para leer el PV y otra para escribir el SP.
PV:
Celda D5: Aqui se leera del CX-Supervisor el valor del punto "PV_TEMPERATURA"
Para leer un punto hay que escribir lo siguiente en la celda: =SCS|Point! Punto
SP:
Celda D7: Aqui se escribira el valor del punto "SP_TEMPERATURA"
Para escribir el valor del SP es necesario que desde CX-Supervisor se abran las comunicaciones DDE utilizando el Boton.
MODO DE EJECUCION:
Ejecutamos la RUNTIME de CX-Supervisor
Abrimos la Hoja de Excel. Nos pregunta si queremos abrir los vinculos externos (CX-Supervisor) En el momento que aceptamos, ya podemos visualizar en la celda de Excel el valor del PV.
Una vez abierto Excel, desde CX-Supervisor abrimos el canal de comunicacion.
Escribimos en la celda del SP un valor que sera el que tome el punto "SP_TEMPERATURA" .