“SCADA” de bajo coste.

NoejucomLOGO     logo_v1

Lectura/Escritura de Variables DDE/OPC con RSLinx Gateway y Excel.

Desde hace años he usado una funcionalidad de RSLinx Gateway, que es la de servidor DDE/OPC, 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).

descargasFree Tools de ICONICS

 activexActiveX de ICONICS por defecto

2. Instalación de ActiveX en Excel 2007.

Una vez descargado los tres ficheros, hay que descomprimirlos:

barraprogramador0

barraprogramador1

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

barraprogramador2

barraprogramador3

barraprogramador4

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”

barraprogramador000

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

barraprogramador5

barraprogramador6

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:

  • PAC (PLC) 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.

IMG_0041

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.

RSLinx0

4.1 Crear Driver Ethernet Devices.

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

rslin00

Seleccionamos en “Available Driver Types”:

Ethernet Devices”

rslinx1

rslinx2

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

rslinx3

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.

rslinx4

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é.rslinx5

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.

 fallocomunicaciones

ping

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”.

rslinx6

rslinx7

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

rslinx8 rslinx9 rslinx10 rslinx11 rslinx12

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

rslinx13

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”:

rslinx14

Seleccionamos “New”.

rslinx16

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

Vinculamos la ruta (path) al PAC.rslinx19 rslinx20

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

rslinx21

rslinx22

rslinx23

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).

excel0

excel1

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′

excel7 Salida Digital Desactivada

excel12Salida Digital Activada

 

Si la sintaxis no es correcta, nos aparecería el siguiente mensaje “Error de nombre no válido”:

excel9

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

excel10

Para leer el valor de una variable tipo REAL del PAC:

=RSLINX|PRUEBA!’Local:1:O.Data.0′

excel11

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”.

excel13

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……”

excel16

excel15

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…”

excel17

excel18

excel19

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

excel20

excel21

excel22

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”.

barraprogramador5

  • Seleccionar. “ICONICS GWXSwitch ActiveX”.

excel23

  • 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.

excel24

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

excel25

Se abrirá una ventana de propiedades.

excel27

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

excel26

  • 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.

excel28

excel29

excel30

excel31

excel32

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.

excel33

 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”.

barraprogramador5

  • Seleccionar. “ICONICS GWXVessel ActiveX”.

excel34

  • Seleccionar el tamaño de nuestro tanque.

excel36

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

excel37

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

excel38

excel39

excel35

  • 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.

excel40

excel41

excel42

excel43

OPC Enabled Gauge ActiveX Control (“templates” de visualización e introducción de valores analógicos).

  • Insertar ActiveX. “Programador\Insertar\Más controles”.

barraprogramador5

  • Seleccionar. “ICONICS GWXVessel ActiveX”.

excel44

  • Seleccionar el tamaño de nuestro objeto.

excel45

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

excel46

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

excel49

excel47

  • 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.

excel48

excel50

excel51

excel52

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.

excel3

 

 

Datos Monitorizados

excel4

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

Saludos!!!!

12 thoughts on ““SCADA” de bajo coste.

  1. Magnífico artículo. Gracias por la dedicatoria. Espero (y estoy seguro de ello) que muchos puedan aprender con tus enseñanzas. ¡¡¡Sigue así Maestro!!!

  2. Hola.
    Está guay. Yo lo que he montado es el rslinx como tu pero con el software transaction manager para que me vuelque los datos a una base de datos directamente. Para monitorizar los datos, los más importantes los saco en panel views con el factory talk view y el resto los trato con sql ya en la base de datos. Para programar el plc uso el rslogix5000.
    La verdad es que todo esto funciona estupendamente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *