You are on page 1of 19

LA HERRAMIENTA PARA OPC KepServerEX Y EL TRABAJO CON DDE

EN EXCEL.

Como ya hemos visto, OPC es una tecnología que viene a estandarizar las interfaces de
comunicación entre los diferentes elementos y dispositivos inteligentes, tanto software como
hardware, de una pirámide de automatización.
Una de las herramientas de que se dispone en el mercado para poder, en el momento en que se
desarrolla nuestra aplicación SCADA, probar las conexiones de la misma con los diferentes
elementos de la pirámide de automatización, es el KepServerEX. Esta herramienta integra un
servidor OPC y un cliente OPC ofreciendo un proyecto por defecto que trabaja con Drivers
virtuales permitiéndonos además definir nuevas variables que serán manejadas por el referido
servidor/cliente OPC.
La idea general pudiera ilustrarse gráficamente de la siguiente forma:

Fig.1 Esquema general de trabajo.

Si se revisa la ayuda (o el paquete de instalación de la versión comercial) del KepServerEX se podrá


notar que dispone de muchos drivers para poder comunicarse con otros dispositivos de la
pirámide de automatización, sirviendo entonces de pasarela o elemento interface dentro de la
misma y contribuyendo a la estandarización de las comunicaciones.
En el esquema anterior se trata de explicar esto. El servidor OPC recolecta, y no el SCADA, las
variables provenientes de los elementos de campo o de otros clientes/servidores OPC. Es la
herramienta la que tiene los drivers para comunicación y la que los implementa, y no el SCADA (a
diferencia del esquema típico que existía antes del surgimiento de OPC, donde el SCADA se
caracterizaba por los drivers y la gestión de muchos dispositivos diferentes). Note que en el
esquema anterior el SCADA solo necesita OPC para enlazarse, a través del servidor OPC, con la
pirámide de automatización.
Veamos cómo trabajar con la herramienta a través de un primer ejemplo:

1. Configuración inicial.

Como se mencionó inicialmente, al instalarse el KepServerEX, en el directorio por defecto asociado


a los proyectos, se incluye un proyecto llamado simdemo.opf que es un simulador de drivers de
prueba. La pantalla que muestra el KepServerEX al inicializarse y cargar dicho proyecto es la
siguiente:

La pantalla principal se divide en tres secciones, la de la izquierda, arriba, es un listado de la red de


automatización que el servidor OPC tiene configurada para conectarse. La sección de la derecha,
arriba, es un listado de los tags o etiquetas de cada dispositivo y la sección de abajo es una
ventana para el registro de eventos en el servidor.
Veamos con mayor detalle las dos primeras secciones que son las más importantes:
La primera sección nos muestra la configuración de la red para el proyecto simdemo.opf. Note
que la configuración consta de canal y asociado a cada canal, dispositivos. Dentro de los
dispositivos están los tags o etiquetas, que son las variables gestionadas por los dispositivos (y
publicadas para OPC) y a las cuales pudiéramos tener acceso. En el caso del proyecto simulador de
drivers ya aparecen algunas definidas por defecto y que posteriormente utilizaremos. Si por
ejemplo, damos click en Channel_1/Device_1 se visualizará:
Note que para cada etiqueta se visualiza su nombre, dirección, tipo de datos, tiempo de
actualización y descripción.
Para el simulador de driver que se carga por defecto las direcciones validas y su significado son los
siguientes:

K0 a K9999: Etiquetas que el usuario puede leer o escribir. Puede configurarse como cualquier tipo
de memoria. Para el caso de los Booleans se debe incluir el subfijo.BitNumber para que funcione
como un tag booleano. Por ejemplo, K0.03 es el 4to bit de la palabra 0 del área de memoria K.

R0 a R9999: Etiquetas que el usuario puede leer y que están cambiando constantemente (son
enteros que van cambiando). Para el caso de los Booleans se debe incluir el subfijo.BitNumber
para que funcione como un tag booleano. Por ejemplo, R0.03 es el 4to bit de la palabra 0 del área
de memoria R.

S0 a S999: Etiquetas de texto. El usuario puede leer o escribir en esas direcciones.

2. Creación de otras variables (Ejemplo edificio Inteligente):

Para crear otras variables (tags) los pasos son los siguientes:
 Click derecho en la sección de las variables. Seleccione New Tag…

 Al seleccionar New Tag… aparece la siguiente pantalla de configuración:


Datos de la variable: Nombre, dirección, descripción, y propiedades de los datos (tipo, tipo de
acceso del cliente y tiempo de actualización). Se hace notar que en el campo address es donde se
direcciona la ruta real de la variable que se quiere leer del dispositivo de campo o PLC para
registrarla en el servidor OPC. En el caso nuestro, que trabajamos con el driver de dispositivo
simulado, debemos poner una dirección de tipo R, K o S mencionadas anteriormente.
Veamos un ejemplo. Temperatura de la Habitación.
Con lo que se obtiene:

También podemos con el simulador hacer uso de funciones predeterminadas que nos sirven para
simular el comportamiento de otras variables. Estas funciones se caracterizan por tener
parámetros comunes, que son:
o Low Limit: Valor menor que alcanza la función.
o Hi Limit: Mayor valor que alcanza la función.
o Rate: Período de actualización de la variable. Puede tomar valores (excepto para la
sinusoide) entre 10 y 3600000 y se especifica en milisegundos.

Los prototipos de las funciones son:


Prototipo Ejemplo de uso. Descripción
RAMP(Rate, Low Limit, High RAMP(120, 35, 100, 4) Genera una rampa entre 35
Limit, Increment) y 100, con incremento de 4
y actualización cada 120
milisegundos.
RAMP(300, 150.75, 200.50, Genera una rampa entre
-0.25) 200.5 y 150.75 (decrece),
con decremento de 0.25 y
actualización cada 300
milisegundos.
RANDOM(Rate, Low Limit, High RANDOM(30, -20, 75) Genera valores aleatorios
Limit) entre -20 y 75 cada 30
milisegundos
SINE(Rate, Low Limit, High Limit, SINE(10, -40, 40, 2, 0) Crea una sinusoide de
Frequency, Phase) frecuencia 2Hz entre los
El rango válido de la frecuencia valores -40 y 40 y sin
es 0.001 a 5 Hertz, para la fase desplazamiento de fase. El
0.0 a 360.0, y para el Rate 10- tiempo de actualización es
1000 milisegundos de 10 milisegundos.
USER(Rate, User Value1, User USER(20, 1.25, 100.56, Secuencia de valores que se
Value2, User Value3,...User 200.11,75.1) utilizarán para generar un
ValueN) valor cada 20 milisegundos.
USER(50, Secuencia de valores
1,1,0,1,0,1,0,0,1,1,1,0,0,0) booleanos.
USER(250, Hello, World, this, is, Secuencia de strings.
a, test)

USER(1000, In this case\, , I Secuencia de textos que


needed to use a \, in , my text) usan el caracter como como
parte del mismo.

Probemos a crear un tag de este tipo para la temperatura de la Habitación, que es mejor que el
introducido inicialmente:
3. Conexión con Microsoft EXCEL.

Para completar el trabajo con el servidor OPC necesitamos simular el resto de los componentes de
la pirámide de automatización. La herramienta nos proporciona un cliente OPC. Probemos a
configurar el driver Cliente DDE, creando algunas variables e integrándolo todo de acuerdo a la
Fig.1 de este documento.

El EXCEL se puede trabajar de dos formas diferentes: como cliente OPC o como servidor OPC.
Como cliente OPC estará leyendo datos del KepServerEX que es el servidor, y como servidor OPC
estará proporcionando datos al KepServerEX que a su vez los publicará como datos en el servidor
OPC para que cualquier cliente OPC pueda leerlos.
Veamos primeramente como leer datos del KepServerEX en una sabana Excel:
 Las herramientas que Microsoft ofrece con Windows por lo general permiten el
intercambio de datos utilizando DDE, un mecanismo de Windows. La ayuda de estos
programas explica la forma en que se puede configurar y usar el DDE con la herramienta.
Una de las herramientas que soporta DDE es el Microsoft EXCEL.
 En Microsoft Excel se realiza la lectura de datos de otras aplicaciones vía DDE siguiendo el
esquema general: <servidorDDE>|<topico>!<item>
 Para poder intercambiar datos vía DDE entre Excel y el KepServerEX debe tener
configurado y disponible la herramienta kepDDE del KepServerEX:

Aunque los campos y su significado son intuitivos, en la pestaña ayuda de esta ventana puede
encontrar más explicaciones de cada campo.
Probemos ahora a leer valores generados desde el KepServerEX en Excel. Para ello cargue el
Microsoft Excel (en este ejemplo se utiliza el Excel 2007 sobre Windows 7):

 La configuración para intercambiar datos vía DDE entre Excel y KepServerEX queda de la
siguiente forma:
o Recuerde que es del tipo <servidorDDE>|<topico>!<item>, y para este caso el
servidor DDE es kepdde, el t{opico es siempre _ddedata y el ítem es cualquier tag
de los definidos, especificándose siempre de la forma canal.dispositivo.nombre del
tag por lo que en la casilla donde quiera leer un valor proveniente del KepServerEX
debe poner =kepdde|_ddedata!Channel_1.Device_1.Tag_1

La siguiente ventana ilustra el ejemplo de cómo incluir en Excel la temperatura de la Habitación:

Ejemplos de pantalla en diferentes momentos:

 Para registrar información proveniente de Microsoft Excel en el KepServerEX se debe


trabajar con el Driver DDE Client Driver. La forma general de crear un Tag utilizando este
driver, no difiere de ninguna otra, o sea
o hay que crear un canal
o y un dispositivo DDE (es el que tiene el Driver) asociado a ese canal
o y dentro de ese dispositivo crear una variable.
 La secuencia de acciones siguientes ilustran los dos primeros pasos:
 Por último, la publicación de etiquetas proveniente de la hoja Excel podemos hacerla
definiendo el tag en el área destinada para ello. Aquí se hace notar que la configuración
correcta para especificar la dirección de la variable que se quiere leer sigue el mismo
esquema (siempre que se hable de DDE es siempre <servidorDDE>|<topico>!<item>. En este
caso el servidor DDE es EXCEL, el tópico es el nombre de la Hoja de datos de Excel donde está
el valor a leer y el ítem es el nombre de la celda Excel especifica. Por ejemplo, si en Excel
tenemos los datos en la Hoja2, y la celda tiene el nombre MANDO se debe poner
EXCEL|Hoja2!MANDO en el campo dirección de la variable:

Nota: Para definirle nombre a una celda Excel se hace de la siguiente manera:
o Seleccione la celda

o Edite el nombre de la misma y de return.

4. Conexión con OPC Client.


La conexión con OPC Client es muy fácil ya que esta herramienta está integrada al KEpServerEX.
Para conectarse solo hay que iniciarlo, dando click en:

Y aparece:

Note como se listan un grupo de variables de sistema (que también podemos leer del servidor OPC
y que puede ser útil, por ejemplo, la fecha, la hora, etc.). Además de las variables del sistema se
listan las creadas por nosotros:
Pruebe a cambiar en el Excel el mando y verá como cambia el valor en el cliente OPC:

You might also like