
Lectura/Escritura de Variables DDE/OPC con RSLinx Gateway y Excel.
Desde hace años he usado una funcionalidad de Gateway, que es la de servidor DDE/, esta funcionalidad junto al software Excel, nos permite monitorizar y supervisar procesos, y si usamos aplicaciones gratuitas como las de ICONICS, podemos hacernos una interfaz bastante “apañada” para probar sistemas de control. Por ello, me he animado a realizar una entrada sobre ello.
Para comenzar, os aconsejo que leáis este artículo de infoplc, para poder tener una ligera idea de DDE, OLE y OPC.
Lo haremos realizando los siguientes pasos:
1. Descarga de ActiveX de ICONICS.
2. Instalación de ActiveX en Excel 2007.
3. Arquitectura de Control para adquisición y escritura de datos.
4. Configuración de tópico DDE/OPC en RSLinx Gateway.
5. Crear entorno HMI en Excel.
6. Ejemplo Práctico.
1. Descarga de ActiveX de ICONICS.
En el siguiente enlace, os podéis bajar los ActiveX gratuitos tras rellenar un pequeño formulario.
http://www.iconics.com/Home/Products/OPC-Connectivity/Free-OPC-Tools.aspx#.VUUFleTdwfA
Vamos a usar:
- OPC Enabled Gauge ActiveX Control (“templates” de visualización e introducción de valores analógicos).
- OPC Enabled Switch ActiveX Control (“templates” de interruptores digitales).
- OPC Enabled Vessel ActiveX Control (“templates” de visualizadores de valores analógicos).
Free Tools de ICONICS
ActiveX de ICONICS por defecto
2. Instalación de ActiveX en Excel 2007.
Una vez descargado los tres ficheros, hay que descomprimirlos:


Ejecutar los ficheros “.exe”, así instalaremos los tres “templates” de ICONICS en Excel 2007.



Puede que no aparezca en vuestro Excel la pestaña “progamador”, se habilita en Excel 2007 en “Opciones de Excel\Más frecuentes”:
“Mostrar ficha Programador en la cinta de opciones”

Si se han instalado correctamente en la pestaña “Programador\Insertar\Más controles” deben aparecer los tres ActiveX de Iconics.


3. Arquitectura de Control para adquisición y escritura de datos.
En el sistema que vamos a realizar la lectura/escritura de variables, consta de:
- () CompactLogix L24ER QB1B con periferia E/S descentralizada POINT I/O de Allen Bradley. IP 192.168.1.200
- Módulo E/S POINT I/O con cabecera 1734-AENTR con dos módulos 1734-IB8 y uno 1734-OB8. IP 192.168.1.201
- Módulo E/S POINT I/O con cabecera 1734-AENTR con un módulo 1734-8CFG. IP 192.168.1.202
- Switch no gestionable TP-Link TL-SG108.

El PAC dispone de un programa sencillo de intercambio de variables que está disponible en el siguiente enlace:
Programa PAC
La lectura/escritura la vamos a realizar sobre las variables del PAC (Controller Tags), en futuras entradas veremos como leer y escribir valores directamente en la periferia E/S.
4. Configuración de tópico DDE/OPC en RSLinx Gateway.
Para comenzar debemos tener instalado RSLinx Gateway, RSLinx Lite no permite DDE/OPC.

4.1 Crear Driver .
Primero debemos crear el driver de comunicaciones, en la barra de herramientas “Communications\Configure Drivers”.

Seleccionamos en “Available Driver Types”:
“ Devices”


Seleccionamos el nombre para nuestro driver, en nuestro ejemplo será “NOEJU”.

Añadimos las IP’s de los equipos, vamos a añadir las tres, no obstante sólo es imprescindible la del PAC 192.168.1.200.

En este caso, la opción “Startup Mode” la vamos a dejar en “Automatic”, ya que queremos que el driver esté arrancado siempre que RSLinx lo esté.
Una vez que hemos creado el driver abrimos RSWho para comprobar la conectividad, en la barra de herramientas “Communications\RSWho”.
Si aparece una aspa roja, es que no tenemos conexión con el PAC, si ocurre esto, ejecutaremos en la consola un comando “ping” y si nos da fallo procederemos a revisar la red.


Otra incidencia que se nos puede presentar, es la falta de “EDS” (Electronic Data Sheet) en nuestra librería de dispositivos, entonces nos aparecerá una interrogación de color amarillo. Para solucionar este problema podemos descargarla de la web de la ODVA o Allen Bradley o poniéndonos encima del equipo, pulsando botón derecho “Upload EDS file from device”.


Seguimos todos los pasos y actualizaremos todos los modelos de L2 CompactLogix.

Si hemos realizado correctamente la actualización de “EDS”, podremos visualizar nuestro PAC.

4.2 Crear tópico DDE/OPC.
Una vez que tenemos conexión con el PAC, procedemos a configurar el tópico DDE/OPC, para ello seleccionamos en la barra de herramientas “DDE/OPC\Topic Configuration”:

Seleccionamos “New”.

Asignamos el nombre al tópico. En nuestro caso será “PRUEBA”

Vinculamos la ruta (path) al PAC.

Para finalizar seleccionamos la pestaña “Data Collection”. Seleccionado en “Processor Type “Logix5000” y disminuyendo el tiempo “Polled Messages” de 1000 a 100.



Ya tenemos creado el tópico DDE/OPC en RSLinx Gateway.
5. Crear entorno HMI en Excel.
Para crear el entorno en Excel, vamos a utilizar los ActiveX de ICONICS y funciones básicas de Excel. Los ActiveX nos ahorran mucho desarrollo, pero tienen la pega de que Excel tarda mucho en salir del modo diseño, hay que tener paciencia.
5.1 Generar fichero Excel.
Abrimos Excel y guardamos el fichero con formato “.xlsm” (Libro de Excel habilitados para macros).


5.2 Monitorización de variable.
Comenzamos monitorizando datos, se realiza con la función fórmula y la siguiente sintaxis:
=APPLICATION|TOPIC!’ITEM’
Siendo para nuestro ejemplo: =RSLINX|PRUEBA!’VARIABLE’
Por ejemplo, para leer el estado de la salida digital 0 del PAC:
=RSLINX|PRUEBA!’Local:1:O.Data.0′
Salida Digital Desactivada
Salida Digital Activada
Si la sintaxis no es correcta, nos aparecería el siguiente mensaje “Error de nombre no válido”:

Si no existiera conexión con el tópico DDE/OPC, nos aparecería el siguiente mensaje “Error de valor no disponible”:

Para leer el valor de una variable tipo REAL del PAC:
=RSLINX|PRUEBA!’Local:1:O.Data.0′

En caso de error de sintaxis o de lectura, nos daría los mismos mensajes que para la señal tipo “bool”.
5.3 Usar funciones de formato de Excel.
Para potenciar el entorno gráficamente, podemos utilizar varias herramientas de Excel muy sencillas de usar, entre ellas los formatos condicionales, que se encuentran en la pestaña “Inicio”.

Por ejemplo, si una celda que contiene la monitorización de una variable “booleana”, queremos que se comporte como un piloto:
- Seleccionamos la celda.
- “Inicio\Formato Condicional\Resaltar reglas de celdas\Es igual a…”
- Seleccionamos formato para cada valor, en nuestro ejemplo “1 = Relleno verde……” y “0 = Relleno rojo……”


Por ejemplo, si una celda que contiene la monitorización de una variable “real”, queremos que cambie de color en función del valor que tiene:
- Seleccionamos la celda.
- “Inicio\Formato Condicional\Resaltar reglas de celdas\Es mayor que…” y “Inicio\Formato Condicional\Resaltar reglas de celdas\Es menor que…”
- Seleccionamos formato para cada valor, en nuestro ejemplo “Valor>50 = Relleno orojo……” y “Valor<50 = Relleno verde……”
Pasos para “Inicio\Formato Condicional\Resaltar reglas de celdas\Es mayor que…”



Pasos para “Inicio\Formato Condicional\Resaltar reglas de celdas\Es menor que…”



5.4 Usar ActiveX de ICONICS.
Además de dar un toque de sofisticación al entorno, nos permite escribir en variables del PAC de forma muy fácil, no obstante tiene la pega que cuando se sale del modo diseño tarda bastante….”pero gratis y rápido difícil…….”.
OPC Enabled Switch ActiveX Control (“templates” de interruptores digitales).
- Insertar ActiveX. “Programador\Insertar\Más controles”.

- Seleccionar. “ICONICS GWXSwitch ActiveX”.

- Seleccionar el tamaño de nuestro interruptor, veremos simplemente un cuadrado y no sabremos la apariencia real hasta que salgamos del entorno de diseño.

- Configuramos ActiveX, pulsando botón derecho del ratón el objeto seleccionado. “Objeto ICONICS GWXSwitch ActiveX\Propiedades…”.

Se abrirá una ventana de propiedades.

- Seleccionamos “Switch Style”, tenemos las once opciones siguientes:

- Ahora procedemos a vincular la variable que deseemos al objeto, escribiendo la ruta o pulsando sobre “Tags…”. Al pulsar sobre “OPC Tag Browser”, se nos abrirá un navegador para buscar las variables en el PAC.





La variable que encontramos en “ICONICS Unified Data Browser” se queda en la variable tipo “INT”, por lo que al tag seleccionado, lo tenemos que completar con “.0” para apuntar a la primera salida digital del PAC.

Se pueden personalizar los colores, etiquetas, estados….pudiéndolo adaptar a los estándares de nuestra instalación.
OPC Enabled Vessel ActiveX Control (“templates” de visualizadores de valores analógicos).
- Insertar ActiveX. “Programador\Insertar\Más controles”.

- Seleccionar. “ICONICS GWXVessel ActiveX”.

- Seleccionar el tamaño de nuestro tanque.

- Configuramos ActiveX, pulsando botón derecho del ratón el objeto seleccionado. “Objeto ICONICS GWXVessel ActiveX\Propiedades…”.

- Seleccionamos la pestaña “Tank” y seleccionamos el modelo en el campo “Tank Selected”, podemos elegir entre nueve opciones posibles:



- Ahora procedemos a vincular la variable que deseemos al objeto, escribiendo la ruta o pulsando sobre “Tags…”. Al pulsar sobre “OPC Tag Browser”, se nos abrirá un navegador para buscar las variables en el PAC.




OPC Enabled Gauge ActiveX Control (“templates” de visualización e introducción de valores analógicos).
- Insertar ActiveX. “Programador\Insertar\Más controles”.

- Seleccionar. “ICONICS GWXVessel ActiveX”.

- Seleccionar el tamaño de nuestro objeto.

- Configuramos ActiveX, pulsando botón derecho del ratón el objeto seleccionado. “Objeto ICONICS GWXGauge ActiveX\Propiedades…”.

- Seleccionamos el tipo en el campo “Gauge Type”, y elegimos entre las tres opciones posibles:


- Ahora procedemos a vincular la variable que deseemos al objeto, escribiendo la ruta o pulsando sobre “Tags…”. Al pulsar sobre “OPC Tag Browser”, se nos abrirá un navegador para buscar las variables en el PAC.




6. Ejemplo Práctico.
Respecto a la arquitectura recogida en el apartado 3, hemos realizado como ejemplo:
- Monitorización de las variables de E/S digitales y analógicas con fórmulas de Excel.
- Activación de variables digitales con ActiveX (Switch).
- Monitorización de valores analógicos con ActiveX (Vessel) y fórmulas de Excel.
- Selección de valor “preset” de un temporizador con ActiveX (Gauge).
- Activación de salidas digitales con preselección de valor analógico con ActiveX (Gauge).
Ficheros:
Backup RSLinx
Excel
Programa PAC
Esquema de arquitectura de control.

Datos Monitorizados

Esta entrada está dedicada a ALEB y aprovecho para agradecer todo lo que he aprendido junto a él.
Saludos!!!!