Visualización de una gráfica de tendencias con el SCADA Cx-Supervisor
Introducción:
En el ejemplo se explica como realizar una gráfica de tendencias en el SCADA Cx-Supervisor, se simulará el control de una temperatura. Además se verá como expotar los datos de temperatura en un Repot a un documento de Word.
Autómata CPM1A
Se ha utilizado un automata CPM1A de Omron.
Utilizamos su entrada analógica SR250 para simular la Temperatura. Esta estrada se manipula desde el potenciometro y tiene un valor que va de 0 a 200 en BCD.Interpretaremos que son de 0 a 200 ºC.
Además de visualizar la temperatura vamos a trans mitir los datos a una hoja de World donde quedará almacenada dicha temperatura.
Desde "Símbolos" creamos el símbolo para el D100, el cual vincularemos con el proyecto de Cx-Server marcando la casilla.
SCADA Cx-Supervisor
En el progama SCS abrimos un nuevo proyecto.
Creamos un nuevo punto: Point Editor + Add Point Al que vamos a llamar "Entrada_Temperatura".
Esta entrada corresponde a la entada SR250. "Entrada_Temperatura".
Ahora tenemos que seleccionar que punto de entrada del automata es .
En la casilla de I/O Attributesesta seleccionado PLC pulsamos Setup : Entramos en PLC Attributes: Es necesario seleccionar el tipo de PLC que vamos a utilizar. Esto se hace con el Boton Add PLC .
Una vez seleccionado el PLC y en PLC Atributes seleccionamos la entrada del punto que será la SR250 (Entrada analogica del PLC) e indicamos que será un dato unico en BCD y con solo un signo (no negativo).
De la misma forma creamos otro Punto al que llamaremos CANAL. :
- Point Type: Integer
- I/O Type: Memory
Ya tenemos el punto de entrada de Temperatura. Ahora vamos a Editar el Grafico para su visualizacion:
Utilizamos Trend Graph Nos crea un grafico de Tendencia en donde podemos seleccionar:
- Titulo del Grafico,
- Periodo Captacion (Sample Rate)En nuestro caso cada 2 segundos,
- Escala (Boton Scaling .Valor minimo 0, Valor Maximo 200) y demas parametros.
Podemos visualizar hasta 10 curvas. Nosotros seleccionamos pulsando Browse el punto que hemos creado. Entrada_Temperatura. y que queremos visualizar
Ahora solo queda ejecutar el programa y manipular el potenciometro (entrada analógica SR250) y ver los cambios que se producen en el grafico de tendencia.
Ahora vamos a trasnmitir los datos a un Documento Word en donde podran ser almazenados, imprimidos etc.
Seleccionamos el Icono Animator Editor seleccionamos Projet Action y realizamos 3 nuevos script en el editor de script.
1. Primer Script:
Activa el documento Word en el que vamos a guardar los Datos Indicando su ruta.
Trigger Event: On Initialitation
Script Code:
CANAL = DDEInitiate("Winword", "C:\WINWORD\WORK\REPORT.doc")
2. Segundo Scrit:
Guardará los datos cada intervalo de tiempo seleccionaddo.
Trigger Event: On Regular Interval
Interval Time: 10000 Miliseconds.
Script Code:
IF CANAL > 0 THEN
DDEExecute(CANAL,{[EndOfDocument]})
DDEExecute(CANAL,{[InsertPara]})
DDEExecute(CANAL,{[InsertPara]})
DDEExecute(CANAL,{[Insert "Fecha" + Chr$(9) + Chr$(9) + "Hora" + Chr$(9) + Chr$(9) + "Temperatura" ]})
DDEExecute(CANAL,{[InsertPara]})
DDEPoke(CANAL,"\EndOfDoc",$Date)
DDEExecute(CANAL,{[EndOfDocument]})
DDEExecute(CANAL,{[Insert Chr$(9)]})
DDEPoke(CANAL,"\EndOfDoc",$Time)
DDEExecute(CANAL,{[EndOfDocument]})
DDEExecute(CANAL,{[Insert Chr$(9)]})
DDEPoke(CANAL,"\EndOfDoc",ENTRADA_Temperatura)
DDEExecute(CANAL,{[EndOfDocument]})
ENDIF
Estos son los comandos utilizados:
DDEExecute(CANAL,{[EndOfDocument]}):
Posiciona el cursor de entrada al final del documento (últimos caracteres escritos en el documento).
DDEExecute(CANAL,{[InsertPara]}):Equivale a ejecutar un "Enter" sobre el documento Word (CR+LF).
DDEExecute(CANAL,{[Insert "Fecha" + Chr$(9) + Chr$(9) + "Hora" + Chr$(9) + Chr$(9) + "Temperatura" ]}):
Inserta un texto en el documento; el código Chr$(9) ejecuta una tabulación sobre el documento.
DDEPoke(CANAL,"\EndOfDoc",ENTRADA_Temperatura) : Inserta el valor del punto Entrada_Temperatura en el documento Word. $Date : Punto de CSC donde se almacena la Fecha.
El Documento World tiene que estar abierto cuando ejecutemos CSS