CastrillonMateo 2018 SistemaScadaBasado
CastrillonMateo 2018 SistemaScadaBasado
CastrillonMateo 2018 SistemaScadaBasado
INGENIERO MECATRÓNICO
UNIVERSIDAD EIA
INGENIERÍA MECATRÓNICA
ENVIGADO
2019
1 PRELIMINARES …………………………………………………………………………… 11
1.1 Planteamiento del problema ………………………………………………………… 11
1.2 Objetivos del proyecto ……………………………………………………………….. 12
1.2.1 Objetivo General ………………………………………………………………… 12
1.2.2 Objetivos específicos …………………………………………………………… 12
1.3 Marco de referencia ………………………………………………………………….. 12
1.3.1 Antecedentes ……………………………………………………………………. 12
1.3.2 Marco teórico ……………………………………………………………………. 14
2 METODOLOGÍA …………………………………………………………………………… 23
2.1 Identificación de requerimientos …………………………………………………….
Error! Bookmark not defined.
2.2 Diseño de concepto ………………………………………………………………….. 23
2.3 Diseño de detalle ……………………………………………………………………... 23
2.4 Desarrollo del sistema ……………………………………………………………….. 24
2.5 Pruebas y refinamiento ……………………………………………………………… 24
3 DESARROLLO DEL PROYECTO ………………………………………………………. 25
3.1 Identificación de requerimientos …………………………………………………… 25
3.1.1 Comparación con soluciones existentes …………………………………….. 27
3.2 Diseño y selección de concepto ……………………………………………………. 28
3.2.1 Registro de soluciones …………………………………………………………. 29
3.2.2 Matriz Morfológica ………………………………………………………………. 36
3.2.3 Selección de concepto …………………………………………………………. 39
3.3 Diseño de detalle …………………………………………………………………….. 40
3.3.1 Diseño del controlador de presión ……………………………………………. 40
3.3.2 Diseño del controlador de Nivel ………………………………………………. 43
3.3.3 Programación PLC ……………………………………………………………… 45
3.3.4 Comunicación entre controladores PLC ………………………………………
4750
3.3.5 Comunicación PLC a servidor WEB …………………………………………... 50
3.3.6 Diseño interfaz gráfica …………………………………………………………. 52
3.3.7 Base de Datos …………………………………………………………………… 58
3.3.8 Alarmas y registros ……………………………………………………………… 59
4 RESULTADOS …………………………………………………………………………….. 62
5 CONCLUSIONES ………………………………………………………………………….
Error! Bookmark not defined.
REFERENCIAS …………………………………………………………………………………. 68
PLC: Controlador Lógico programable, este término se utiliza para designar los
controladores lógicos que se encargan de realizas la tarea de control de sistemas y
procesos.
TCP/IP: Protocolo de transmisión y control de datos por dirección IP este término hacer
referencia a el protocolo encargado de transmitir la información entre dispositivos que
tengan asignado una dirección IP
IP: Protocolo internet (siglas en inglés) es un número que identifica, de manera lógica y
jerárquica, a una Interfaz en red.
OPEN SOURCE: este término se refiere a una iniciativa de código abierto en la que las
herramientas de software sean desarrolladas por y para los usuarios.
SERVIDOR WEB: este término se suele utilizar para designar elementos de hardware o
software que interactúan con los archivos que componen una página web, ya sea
conteniéndolos.
ETHERNET: Es un estándar de redes de área local para computadores, por sus siglas en
español Acceso Múltiple con Escucha de Portadora y Detención de Colisiones (CSMA/CD).
Para desarrollar el sistema SCADA se utilizará una plataforma open source que, a diferencia
de las licenciadas, no requiere inversión y proporciona elementos y ventajas comparables
en su funcionamiento, para de esta manera poder realizar una interfaz que le permita a un
usuario u operador tener acceso remoto al control y la visualización de datos de las plantas.
Para esto se necesita desarrollar controladores PID y una comunicación OPC entre dos
programadores lógicos (PLC) y un servidor de almacenamiento de datos como MySQL
server u otros que tengan características similares, y así poder verificar que se esté
realizando un adecuado control y supervisión de los procesos involucrados en las dos
plantas y se estén representando en la interfaz de manera remota y adecuada.
The following document describes the process followed for the development of a SCADA
(data acquisition and control) platform, focused on an industrial environment, which will be
simulated in two plants of the UEIA: a pressure plant and a level plant.
To develop the SCADA system, an open source platform will be used, which, unlike the
licensed, does not require investment and provides comparable elements and advantages
in its operation, in order to be able to accomplish an interface that allows a user or operator
to have remote access to the control and visualization of the data. For this it is necessary to
develop PID controllers and an OPC communication between two logic programmers (PLC)
and a data storage server such as mySQL server or others that have similar characteristics,
and thus be able to verify that an adequate control and supervision of the processes involved
in the two plants is being carried out and that they are being represented in the interface
remotely and adequately.
Los sistemas SCADA por lo general son sistemas que deben ser cotizados con empresas
que cuenten con un amplio conocimiento en estos procesos industriales como lo son por
ejemplo SIEMENS y ALLEN BRADLY, las cuales poseen ambientes de desarrollo
especiales para sus marcas de PLC; sin embargo, estas empresas además de vender sus
servicios a precios muy elevados no realizan trabajos a procesos pequeños ya que la
inversión de tiempo y recursos no son rentables. Para esto se realizan sistemas SCADA en
ambientes de programación OPEN SOURCE, los cuales permiten a cualquier persona con
acceso a una de estas plataformas programar sus propios procesos, estos desarrollos
requieren conocimiento en áreas de programación y control avanzado, por lo tanto, aunque
sea más rentable, por no pagar un servicio externo, si se debe tener conocimiento en
lenguajes de desarrollo web y de bases de datos.
“No cabe duda sobre la importancia de las Pymes en nuestro país. Las micro, pequeñas y
medianas empresas son fundamentales para el sistema productivo colombiano, como lo
demuestra el hecho de que, según el Registro Único Empresarial y Social (Rúes), en el país
94,7% de las empresas registradas son microempresas y 4,9% pequeñas y medianas”
(DINERO, 2015)
Son cifras muy altas las cuales no tendrían que ser necesariamente alarmantes, pero en el
caso de Colombia lo son.
En una entrevista realizada por la entrevista Dinero a Rafael Ignacio Pérez Uribe, director
del grupo de investigación G3Pymes, y María del Pilar Ramírez afirman que estas pymes
generan cerca del 38% del PIB total, cifra muy baja teniendo en cuenta que en economías
más desarrolladas, con un porcentaje menor de pymes estas llegan a aportar hasta el 50 y
60% de la producción nacional. (DINERO, 2016)
Uno de los problemas por los cuales las pymes nacionales no están teniendo el impacto
que deberían es porque no le dan mucha importancia a la innovación y al desarrollo
tecnológico lo que termina limitando de gran manera su competitividad y su supervivencia.
Actualmente en Colombia solamente las empresas más grandes como Ecopetrol, Nestlé,
Colanta, BIMBO, Postobón, entre otras, poseen esta clase de software de control,
supervisión y adquisición de datos debido a que los que existen actualmente no son
asequibles económicamente o simplemente no se ajustan a las necesidades de las
empresas de menor escala lo que termina creando una brecha de innovación y tecnología
además de generar pérdidas de dinero, en forma de tiempo, por procesos ineficientes o
perdidas de materia prima, por el poco orden, estandarización y control de los métodos
aplicados para hacer sus productos.
Lo que genera la pregunta ¿Cuáles son las características que debería tener un sistema
SCADA para su implementación en las mipymes colombianas?
● Seleccionar una plataforma open source, la cual permita el desarrollo del sistema
SCADA.
1.3.1 Antecedentes
Estando en la denominada cuarta revolución industrial o industria 4.0, que es definida como
la transición a la automatización, digitalización de las cosas y fusión de distintas tecnologías,
los sistemas SCADA empiezan a emerger como una composición de diferentes tecnologías
que traen consigo una gran estimulación al sector industrial, por lo tanto es lógico pensar
que éste sistema está siendo constantemente mejorado, y pulido para lograr romper las
barreras tecnológicas que impiden ir más allá y conseguir una unificación de los procesos
que finalmente aumentarán su efectividad. (Schwab, 2016)
En el 2011 los estudiantes Guamaní Proaño, Wilmer Orlando Narváez Quishpi y Francisco
Javier implementaron un sistema de monitoreo para relés y medidores de la Sub Estación
1 (S/E 1) de la Empresa Eléctrica Riobamba S.A. (EERSA) a través de software
OpenSource SCADA (Supervisory Control And Data Adquisition). Se realizó un análisis
comparativo de alternativas de software de monitoreo entre el OpenSCADA y Likindoy,
seleccionando Likindoy por sus grandes características y ventajas tales como el tipo de
aplicaciones, gráficas de proceso, visualización de datos a tiempo real, fácil utilización del
lenguaje de programación Python, razones por las que se lo utilizó para la creación del
sistema de monitoreo y adquisición de datos, implementándolo bajo plataforma Linux
Debían Lenny 5.0 y, para la comunicación entre la interface HMI (Human Machine Interface)
y el dispositivo, se utilizó protocolo Modbus TCP/IP (CORNEJO, 2011)
Los estudiantes Daniel Salazar Velarde y Adolfo Villacreses Pita realizaron el Diseño e
Implementación de un Sistema de Monitorización para Relés y Medidores a través de
Software Libre SCADA para la S/E 1 de la EERSA. (Salazar & Adolfo, 2015)
En el 2015 los estudiantes Daniel Salazar Velarde y Adolfo Villacreses Pita realizaron un
diseño e implementación de un sistema SCADA para monitorear el flujo y temperatura de
un sistema de llenado aséptico de jugo de maracuyá al agro con el objetivo de ayudar a la
industria a cumplir con las normas de control de calidad internacionales de diferentes países
para la exportación de su producto. En el cual se deben tomar muestras del producto y
llevar el registro de las temperaturas alcanzadas, para lo cual el control del proceso se
En el control de nivel del tanque se usaron varios sensores, tres diferentes puntos a lo largo
de este y, un sensor de nivel ultrasónico en la parte superior, los cuales estarán conectados
al PLC. La temperatura del producto es controlada usando varios sensores de temperatura
que envían la información al PLC que regula la cantidad de vapor que circula en el sistema
por medio de una válvula porcentual. (Salazar Velarde & Villacreses Pita, 2015)
Los estudiantes Moya Calderón y Christian Bolívar realizaron una tesis de grado que
consistió en un software orientado a sistemas de control hmi/scada usando recursos libres
y de código abierto, desarrollado sobre plataforma Linux consistió en el diseño, desarrollo
e implementación de una aplicación o software para construir sistemas HMI / Scada,
utilizando software libre y software de código abierto. La aplicación llamada CM (por la
primera letra de Christian Moya), está escrita en el lenguaje de programación Python e
implementada sobre el sistema operativo Linux. El objetivo de esta aplicación es convertirse
en una alternativa gratuita y de código abierto para HMI. (Calderon & Bolivar, 2009)
SCADA
“La adquisición de datos consiste en obtener señales adecuadas que representen los
fenómenos físicos, que suceden en cada instante del proceso. Para la adquisición de estas
señales es necesario que se tengan en cuenta los fenómenos físicos que se desean medir,
tomando en cuenta que no todos los transductores o sensores son útiles para la misma
medición.” (Solano, 2011)
Tipos de sensores
Interruptores manuales: “estos son los sensores más básicos, incluye pulsadores, llaves,
selectores rotativos y conmutadores de enclavamiento. Estos productos ayudan al técnico
e ingeniero con ilimitadas opciones en técnicas de actuación y disposición de
componentes.” (Ogata, 2003)
Productos para fibra óptica: “el grupo de fibra óptica está especializado en el diseño,
desarrollo y fabricación de componentes optoelectrónicos activos y submontajes para el
mercado de la fibra óptica.” (H.Bischoff, 2004)
Sensores para automoción: “se incluyen sensores de efecto Hall, de presión y de caudal de
aire. Estos sensores son de alta tecnología y constituyen soluciones flexibles a un bajo
costo. Su flexibilidad y durabilidad hace que sean idóneos para una amplia gama de
aplicaciones de automoción.” (Ogata, 2003)
Sensores de caudal de aire: “los sensores de caudal de aire contienen una estructura de
película fina aislada térmicamente, que contiene elementos sensibles de temperatura y
calor. La estructura de puente suministra una respuesta rápida al caudal de aire u otro gas
que pase sobre el chip.” (Ogata, 2003)
PLC: “controlador de lógica programable (Figura 2), son dispositivos electrónicos muy
usados en Automatización Industrial. Es un hardware industrial, que se utiliza para la
obtención de datos. Una vez obtenidos, los pasa a través de bus (por ejemplo, por ethernet)
en un servidor. Hoy en día, los PLC no sólo controlan la lógica de funcionamiento de
máquinas, plantas y procesos industriales, sino que también pueden realizar operaciones
aritméticas, manejar señales analógicas para realizar estrategias de control, tales como
controladores proporcional integral derivativo (PID).” (Solano, 2011)
“Luego de obtener los datos es necesario hacer que estos sean entendidos por los
operarios, lo que obliga a hacerle transformaciones, escalamientos, operaciones
matemáticas, etc.” (Solano, 2011)
Análisis estadístico: “utiliza la estadística y sus herramientas para hacer inferencias sobre
las variables del sistema y por lo tanto por su comportamiento, algunas herramientas
utilizadas en el análisis estadístico son: Varianza, Correlación, Covarianza, Histograma,
Jerarquía y percentil, Regresión, Muestreo, Prueba T, Prueba Z” (Solano, 2011)
Análisis matemático: “utiliza las herramientas matemáticas para hacer los ajustes
necesarios a los datos para su futuro despliegue, algunas de las herramientas son: Adición,
Sustracción, Multiplicación, División, Porcentajes, Transformada Z, Transformada de
Laplace, Transformada de Fourier, Series complejas, Etc.” (Solano, 2011)
Esta parte consiste en la presentación de los datos al usuario final, es decir al operario. Los
datos deberán estar en unidades adecuadas, con imágenes que representen
adecuadamente cada etapa del proceso con sus respectivas variables; además la interfaz
entre humano y máquina, HMI (Human machine interface), debe ser capaz de desplegar al
operario, las alarmas que sucedan en el instante preciso de su acontecimiento ya que de
Bases de datos
Definición: Una base de datos suele definirse como un conjunto de información organizada
sistemáticamente. En la terminología propia de las bases de datos hay tres conceptos
claves dentro de las tablas: campo, registro y dato.
Lenguaje de Consultas El lenguaje de consulta estructurado o SQL (por sus siglas en inglés
Structured Query Language) es un lenguaje declarativo de acceso a bases de datos
relacionales que permite especificar diversos tipos de operaciones en éstas. Una de sus
características es el manejo del álgebra y el cálculo relacional permitiendo efectuar
consultas con el fin de recuperar información de interés de una base de datos, así como
también hacer cambios sobre ella. (Perez, 2013)
Protocolo Ethernet
Protocolo Serial
Comunicación OPC
El servidor
El grupo
El elemento
Este trabajo de grado se realiza bajo la metodología presentada por Ulrich & Eppinger,
2009, en su libro: “Diseño y desarrollo de productos”. Así pues, el desarrollo del proyecto
está dividido en las siguientes etapas:
Se realiza una caracterización de los entornos industriales, las plantas, sensores, y demás
dispositivos que se implementan en estas aplicaciones, teniendo en cuenta características
de distintas índoles con el fin de tener un amplio panorama tanto de los parámetros de
desempeño deseados como de las necesidades del proyecto en general.
El objetivo de esta etapa es idear de manera general, teórica y clara la realización del
proyecto. Teniendo en cuenta que el problema del trabajo ya está claro se comienza
identificando las necesidades más vitales para la realización de este y paralelamente se
examinan las métricas y su importancia, para transponerlas y finalmente llegar a una matriz
que relaciona ambas. Se realiza posteriormente una caja negra para comprender las
funciones que debe realizar el dispositivo general, y se pasa a realizar una caja de cristal
para analizar con más detalle las diferentes operaciones que se deben ejecutar para su
solución. Como resultado del registro de soluciones se llegan a diferentes opciones de
tecnologías que según las necesidades encontradas y de acuerdo a sus especificaciones
se seleccionan las más propicias para el proyecto basándose en la metodología de la matriz
morfológica. Se agrupan las distintas soluciones encontradas para ser puestas aprueba en
busca de analizar la viabilidad del software en términos de su facilidad de implementación
y configuración, su flexibilidad de comunicación con los demás dispositivos, capacidad de
manejo de información, entre otros; para así seleccionar las tecnologías más adecuadas y
óptimas.
Esta fase incluye la especificación de las características puntuales de las partes únicas del
sistema, tales como la comunicación, las tolerancias, la disposición de los elementos, y el
diseño de los controladores. Es necesario definir los procesos y las herramientas
necesarias para el desarrollo del SCADA.
Esta etapa comienza con la identificación de los procesos a controlar, seguido del diseño e
implementación del tipo de controlador. Posteriormente, se realiza el acondicionamiento de
la comunicación, entre el sistema físico y el sistema virtual, este último siendo el que registra
los datos de los procesos, e interactúa con el usuario final. Se realizarán diferentes pruebas
para validar la interacción entre los diferentes módulos planteados anteriormente. Es
importante mencionar que es en esta fase donde se obtiene el registro del diseño de los
Contando con los diseños de los diferentes elementos del proyecto estipulados en etapas
anteriores, se comienza con la programación de la comunicación y de los controladores tan
pronto como sea posible. Posteriormente se realizan pruebas de implementación en
entornos controlados para verificar su funcionamiento, y poder realizar el escalado e
integrar todos los componentes y procesos de este SCADA.
Esta fase busca verificar el comportamiento del sistema propuesto, es decir, que en realidad
cumpla las necesidades para las cuales fue diseñado. Para esto, se realiza un monitoreo
del SCADA utilizando los sensores que se encuentran ubicados, en cada una de las plantas
de la Universidad EIA. Para dicha tarea, es necesario implementar un entorno que permita
visualizar en tiempo real, los valores (señales, de control y salida de las plantas), que se
transmiten del entorno virtual al entorno físico y viceversa. Luego, se acopla la interfaz
gráfica de usuario final con el entorno físico, lo que da inicio a las pruebas y verificaciones
de operación finales del sistema.
Tabla 1.
Matriz de necesidades
# Necesidad Importancia
Ya definidas las necesidades se realiza la tabla que permitirá establecer una medida para
poder calificar o cuantificar la necesidad mediante una variable medible y de esta forma
tener un criterio de evaluación más objetivo como se ve representado en la tabla 2, y poder
Tabla 2.
Matriz métricas
Tabla 4.
Especificaciones de objetivo
Medida Deseada Aceptada Unidades
Open source Sí Sí Binario
Contando con una noción mucho más clara del funcionamiento de este tipo de dispositivos,
sus características, funciones principales, y las necesidades del proyecto identificadas; se
procede con el desarrollo del diseño de concepto de este. Se comienza con la elaboración
de una caja negra, que especifica las entradas y salidas del dispositivo, en términos de
materiales, energía, e información; para continuar con una caja transparente, en dónde se
evidencian los procesos necesarios para transformar la energía, el material, y la información
de entrada, en las salidas deseadas.
Tabla 5.
Registro de soluciones – controladores
Es un software
de código
abierto por lo
tanto es de fácil
adquisición.
Alternativa de Solución Definición Ventajas Desventajas
WinCC: es un sistema de Capacidad Es necesario la
visualización de procesos multiusuario. obtención de
escalable y dotado de una licencia
potentes funciones para la Clientes web para poder ser
(García J. , 2016) supervisión de procesos Microsoft SQL utilizado
automatizados. WinCC aporta Server
funcionalidad SCADA integrado. No tan
completa en Windows para amigable para
todos los sectores, desde Por ser siemens programar
sistemas mono puesto hasta tiene más
sistemas multipuesto. compatibilidad Más inclinado a
(SIEMENS, s.f.) con el PLC. HMI que a
SCADA
Alternativa de Solución Definición Ventajas Desventajas
AggreGate: es un sistema Gráficos en Al ser de
para visualizar y operar tiempo real. código abierto
procesos, flujos de no posee
(Aggregate, s.f.)
producción, máquinas y La aplicación soporte del
plantas. Es una solución integrada HMI proveedor.
distribuida multiusuario Builder
altamente confiable que simplifica la Por no ser
proporciona control de creación de siemens la
supervisión y monitoreo para interfaces compatibilidad
muchos sectores. (Aggregate, hombre- con los PLC de
s.f.) máquina para gama S7
visualizar
procesos
Tabla 8.
Registro de soluciones – bases de datos
Tabla 10.
Registro de soluciones – plantas UEIA
Maneja un
presostato en
caso de que la
presión exceda
cierto límite.
Para continuar con el diseño de concepto se construye una matriz con las tecnologías
reportadas en cada registro de soluciones, para las diferentes funciones del dispositivo, y
se trazan rutas que definen los componentes que conforman los conceptos preliminares.
Descripción de conceptos
Concepto A
El controlador es una pieza fundamental para que el sistema mantenga una buena
comunicación entre sus elementos, los PLC son los controladores más usados en la
industria debido a su robustez y fiabilidad, por lo tanto, es una pieza fundamental y
conocida. Una de las grandes ventajas es que trabaja modularmente, es decir, tiene la
ventaja de expandir su estructura agregando nuevos módulos, logrando así ampliar la
operatividad para aplicaciones de mayor capacidad.
La base de datos ORACLE es una de las bases de datos líderes en la industria pues está
desarrollada con inteligencia artificial y aprendizaje automático adaptable, brindando más
adaptabilidad y optimización de tiempos. Desafortunadamente este software no es open
source y nuevamente para el proyecto a realizar no son necesarias todas estas tecnologías.
El software SCADA TANGO tiene la ventaja de ser open source, pero su mayor falencia es
no tener un buen soporte para PLC S7 1200, que es el que se va a implementar y por esta
razón es que no es una opción viable.
Concepto B
El controlador es una pieza fundamental para que el sistema mantenga una buena
comunicación entre sus elementos, los PLC son los controladores más usados en la
industria debido a su robustez y fiabilidad, por lo tanto, es una pieza fundamental y
conocida. Una de las grandes ventajas es que trabaja modularmente, es decir, tiene la
ventaja de expandir su estructura agregando nuevos módulos, logrando así ampliar la
operatividad para aplicaciones de mayor capacidad.
Para la adquisición de datos es necesario una tarjeta que permita identificar los sistemas y
recolectar datos, para esta tarea existen varios dispositivos entre estos se encuentra las
tarjetas DAQ las cuales son portables y se pueden programar mediante LabVIEW el cual
posee un lenguaje de programación por bloques lo que simplifica esta tarea y ya se tiene
experiencia en el uso del software.
Para la elección cual PLC es el más efectivo para este proceso tanto por la disponibilidad,
su capacidad de procesamiento y sus protocolos de comunicación, por lo que el PLC S7
1200 al tener una disponibilidad inmediata y sin necesidad de inversión, ya que se proveerá
por la universidad, es el más adecuado. A su vez cumple con todas las características de
desempeño y comunicación necesarias para realizar la transmisión de información.
Para la selección de las plantas a controlar se tuvo en cuenta distintos parámetros tales
como la escalabilidad a la industria, la velocidad de respuesta y el conocimiento previo; la
planta de nivel maneja una ventaja muy grande frente a las demás debido a su facilidad de
control y a que se había trabajado con ella anteriormente.
Concepto C
Las tarjetas Myrio 1900 aunque tiene un gran desempeño tanto como controladores y como
tarjetas de adquisición de datos, debido a que también se comportan como FPGA, esto los
hace muy confiables y de alta potencia de cómputo, pero los convierte en los dispositivos
menos asequibles de los anteriores mencionados debido a su alto costo.
Para la adquisición de datos se utilizará un sistema Arduino el cual deberá ser programado
para funcionar como una tarjeta de adquisición de datos esto complicaría y haría el trabajo
más lento debido a la complejidad de este programa, a su vez la tarjeta Arduino es la más
asequible de todos los dispositivos por lo que también es viable desde el lado económico.
Como base de datos se eligió Microsoft Azure el cual es la única en su tipo al ofrecer historial
y gráficas representativas de manera Automática sin necesidad de programación extra esto
brinda la posibilidad de realizar curvas de tendencia, esta base de datos es de pago
mensual por lo que es necesario suscribirse.
Tango al ser un software de código abierto permite adquirirlo fácilmente, y una de sus
grandes facultades es que es altamente escalable lo que permite ejecutarlo en pequeñas
plataformas para poder llevarlo a un proceso industrial de gran tamaño, este software posee
un manual de usuario online el cual le permite a una persona obtener conocimiento de su
programación con mayor facilidad.
Con base en los intereses del proyecto, se estipulan varios criterios de decisión que
permitan seleccionar el concepto que mejor se ajuste a las necesidades propuestas, para
desarrollarlo. En la Tabla 12 se muestran los diferentes criterios propuestos, la importancia
o peso de dicho criterio para la selección del concepto, y la respectiva calificación (C.) y
ponderación (P.) de cada concepto, bajo cada criterio. Dichas ponderaciones se suman
para generar una calificación general de cada concepto y su valor se toma como guía en la
selección del concepto a desarrollar.
Para la elección de estos criterios se tuvo en cuenta las tablas de métrica, objetivos y la
matriz de necesidades. (Ver Tabla.1, Tabla.3, Tabla.4)
Para este experimento se excitó la planta con múltiples señales escalón, generadas a partir
de una tarjeta de adquisición de datos (DAQ), controlada por LabVIEW; quien facilita la
lectura de los sensores, se tiene en cuenta que el funcionamiento de la planta de presión
es a través de un tanque que almacena aire comprimido el cual genera presión en este
ambiente que va de 0 a 25 psi, mientras que una válvula posicionadora Siemens realiza
procesos de apertura o cerramiento para dar paso al aire y finalmente generar una presión
en el tanque, sabiendo el funcionamiento de la planta y el método en el que se obtuvieron
los datos finalmente se obtiene las curvas de comportamiento del sistema como se ve en
la Figura 9. Gráfico del comportamiento de la planta de .
20
15
10
357
442
527
102
119
136
153
170
187
204
221
238
255
272
289
306
323
340
374
391
408
425
459
476
493
510
544
561
578
595
17
34
51
68
85
0
-5
Tiempo en Segundos
A partir de los datos mostrados anteriormente se procede a realizar una identificación del
sistema con ayuda del software MATLAB y su función ident, la cual arroja múltiples
ecuaciones tanto de primer y segundo orden. Se escoge la que mejor fit tenga, es decir la
función más semejante al comportamiento de la planta como se ve en la Figura 10. Modelos
Matlab Ident, y se procede al diseño del controlador por estructura fija.
1
𝐾𝑝 ∗ (1 + 𝑇𝑑 ∗ 𝑠 + ) (1)
𝑇𝑖 ∗ 𝑠
Teniendo los valores de las constantes de integración (Ti), derivación (Td), y proporcional
(Kp), se realizan las validaciones del controlador utilizando MATLAB, y así tener un
estimado de cómo se va a comportar el sistema controlado como se ve en la Figura 11
La entrada del PLC es una señal enviada por la planta de presión que oscila entre 1 y 5 V,
esta señal se debe normalizar y escalar utilizando los módulos “SCALEX” y “NORM”, para
así entrar al controlador y obtener una salida analógica que entra directamente a la planta.
(Ver Figura 16).
0.000766
𝐹𝑇 = (2)
𝑆2 + 0.05241 𝑆 + 0.0005283
Se realiza el controlador de esta planta, de manera que el PID reciba las señales de control
deseadas por el usuario y éste según la realimentación obtenida envía, como se observa
en la Figura 13 señales de 0 a 100%
Ya con el modelo planteado se encontraron que los valores de las contantes del controlador
PID serán las siguientes
1
𝑃𝐼𝐷 = 𝐾𝑝 ∗ (1 + + 𝑇𝑑)
𝑇𝑖
𝐾𝑝 =8.6053
𝑇𝑖 = 41.2608
𝐾𝑑 = 16.6689
Haciendo la simulación del diagrama de bloques de la Figura 13, se puede observar que el
sistema controla en menor tiempo de lo previamente simulado en MATLAB, acercándose a
los 250s, al igual que tiene una respuesta más suave al impulso.
Al normalizar el valor que llega por el módulo analógico (Ver figura 17) se escala la señal al
valor deseado gracias al bloque de programación SCALE_X (Ver Figura 16) en el caso de
la planta de Nivel se debe tener en cuenta que el valor que llega por el módulo analógico
es un valor 1 a 5 V y representa un nivel de 0 a 50 cm en la altura del tanque esta señal es
mandada a través de un sensor de presión el cual a partir de la presión genera una señal
de 4 a 20 mA para poder convertir esta señal a un valor de voltaje se utiliza una resistencia
de 250 ohm la cual de acuerdo a la ley de ohm V=I.R obteniendo los valores deseados de
voltaje, para esto hay que tener en cuenta las conexiones de la planta de nivel que se ven
en la Figura 18.
Para la planta de presión se tiene el mismo principio, se debe normalizar y escalar los
valores como se explicó anteriormente, se debe tener en cuenta que los valores que entren
al controlador deben ser de 0 a 25 psi , por los cual se usaran los bloques de normalizar y
escalar para que la señal entre al bloque PID en este rango ya que estos son los valores
con los cuales se realizó el diseño del controlador PID, de esta manera se entiende que la
Para realizar la comunicación entre ambos controladores se usaron los bloques que trae
TIA Portal para sus controladores llamados TSEN y TRCV, los cuales se encargan de
comunicar dos PLC que se encuentre en la misma subred como se observa en la Figura
20, la cual describe la configuración que tienen los bloques de cada PLC. Esta tendrá una
dirección IP asignada de manera automática y los bloques TSEN y TRCV que se ilustran
en la Figura 21 y 22 respectivamente, se encargan de transmitir de acuerdo a la información
que se maneje en el bloque de datos programado.
Como se aprecia en los bloques ilustrados, cada uno tiene similitudes con el otro las cuales
comparten a la hora de ser programados, para el caso del bloque TSEN la variable EN
siempre debe estar habilitada pues esta es la que activa el bloque, la variable REQ es la
encargada de activar el envío de datos siempre que se cumple la condición previa, en este
caso se usa el reloj interno del PLC para que cada segundo active el envío de datos de un
PLC a otro, en la variable CONNECT se configura el bloque TSEND que recibirá los datos
enviados, y por último la variable DATA es el bloque de datos que se enviara por el puerto
ethernet, en el caso del PLC secundario enviara los datos que corresponden a el nivel de
la planta, el porcentaje de utilización de la bomba y el estado de la electroválvula, los cuales
serán recibidos por el PLC principal, el cual se encargara de enviar los datos recibidos y
sus propios a el servidor web, por otro lado este PLC además de recibir la información de
los valores deseados en el control o SETPOINT también es el encargado de enviar el valor
deseado de nivel al PLC secundario ya que como este no tiene comunicación directa con
el servidor web, y para esto se configura el bloque TRCV_C el cual al igual que su
contraparte debe estar conectada en la variable EN y la variable EN_R es la que se encarga
de indicar en qué momento se realiza la lectura de los datos que lleguen por el canal
ethernet que esté conectado al PLC que describe la variable CONNECT de este modo la
variable DATA almacenara los datos que lleguen por el canal en el caso del PLC primario
se almacenaran los datos de cada SETPOINT y en el caso del PLC secundario únicamente
almacenara el SETPOINT de su propio proceso que en nuestro caso es el nivel del agua.
Para realizar este tipo de comunicación se usaron cables ethernet entre la computadora
personal y el controlador PLC de manera que los datos se transmitieran atreves del
protocolo TCP/IP, este protocolo es útil para mandar información entre equipos que se
encuentren en la misma red, en el caso de la computadora personal toda la información se
guardara y manejara atreves de un servidor, gracias a la aplicación NODE RED todo este
procedimiento es simplificado para la comunicación PLC con PC ya que al manejar distintos
protocolos de comunicación el recibir información de un PLC a un PC puede ser difícil de
interpretar por lo que normalmente en estos casos se debe usar un servidor OPC el cual se
encarga de enrutar y codificar la información de cada dispositivo en el lenguaje que lo
requiera, en el caso NODE RED tiene la ventaja de que las librerías propias de este servidor
web ya poseen el protocolo de comunicación manejado por siemens por lo que recibir
información atreves de un protocolo IP es relativamente sencillo.
En este procedimiento se utiliza un bloque que trae por defecto NODE RED el cual tiene
como nombre S7 in (Ver Figura 23) este bloque, se encargara de establecer la conexión a
través de una dirección IP seleccionada y programada dentro de el mismo (Ver Figura 24),
la dirección 192.168.0.1 y el puerto 502 son los que previamente fueron asignados al PLC,
cualquier otro dispositivo que no tenga esta dirección no será reconocido por NODE RED,
y si hay dispositivos que tengan esta dirección y se encuentren dentro de la red el servidor
no podrá reconocerlos a menos que sean PLC siemens S7 1200.
Una vez se tengan asignados los puertos y las conexiones, se procede a configurar las
variables como se muestra en la Figura 25. La dirección de éstas debe ser la establecida
por el PLC, y dependerá de su tipo, ya sea real, bool, entre otras. Para conocer la dirección
establecida es necesario crear una tabla de visualización del bloque de datos que contiene
las variables como se observa en la Figura 26.
Para esta, se utilizó una librería o palette llamada “dashboard”, la cual permite crear
interfaces gráficas brindando múltiples herramientas tales como, figuras, gráficos, botones,
o bien, ofrece la posibilidad de desarrollar la página utilizando lenguajes de programación
orientada a estas aplicaciones como lo son HTML, CSS, entre otros.
Como se mostró anteriormente NODE-RED es una programación por bloques, por lo tanto,
para la explicación del diseño primero se dará una breve descripción de cada bloque o
widget utilizado y posteriormente se puntualizará todo como un conjunto.
Button
Su funcionamiento básico es que al ser presionado envié un mensaje, este puede ser un
mensaje fijo, es decir, que siempre envíe el mismo tipo de mensaje, o como se puede ver
Switch
Puede configurarse de tal manera que funcione como un elemento inicial, intermedio o final
de control, al utilizarse como elemento inicial al presionarse el switch su salida enviara un
true o false y en la interfaz cambiara de posición, en caso de ser utilizado como elemento
final, tendrá una entrada de tipo booleana y cuando esta cambie este cambiara de posición,
o cambiara su icono; al usarse como elemento intermedio tendrá tanto entrada como salida
y puede ser modificado por el usuario o por sus variables de entrada. Dentro de sus
parámetros esta su tamaño, icono y color del switch. Ver Figura 28
Text input
Añade un espacio de texto editable a la interfaz de usuario. Puede enviar mensajes de tipo
cadena, numérico, contraseña, dirección de correo, etc. Se puede modificar el tiempo en
que se demora en enviar el mensaje o si se envía al presionar “enter” o “tab”, también se
puede cambiar su tamaño. Ver Figura 29.
Text
A diferencia del “Text input” este espacio de texto no es editable, es solo ilustrativo. A este
widget se le puede modificar su tamaño, además de la forma en que se mostrara el texto,
ya sea centrado, alineado a la izquierda o derecha, etc. También se puede modificar su
formato utilizando código angular. Ver Figura 30.
Chart
Gráfica los valores de entrada respecto al tiempo, estas gráficas pueden ser de tipo línea,
de barras horizontal o vertical, de torta, etc. Cada valor de entrada se traducirá a un valor
numérico, en caso de no ser posible esta entrada se ignorará. Si se quiere se puede
configurar un mínimo y un máximo para el eje Y, en caso contrario la gráfica se auto
escalará. Se puede modificar su tamaño y en caso de tener múltiples entradas estas tendrán
diferente color y si se quiere se puede tener un cuadro con las leyendas. Ver Figura 32.
Notifcation
Ui control
Template
File
File in
Lee el contenido de un archivo, tanto de texto como de buffer binario. Solo se configura la
dirección donde se encuentra el archivo que se quiere leer.
Este nodo envía el mensaje de entrada como correo. Dentro de su configuración está la
dirección del correo al que se quiere enviar la información, el servidor por el cual se enviará
la información, como por ejemplo Google; el puerto que se usará para la comunicación, por
defecto se usa el puerto 465 y tanto el nombre de usuario como la contraseña del correo
que enviará la información.
Con los elementos anteriormente descritos se realizó la interfaz gráfica la cual se puede ver
en la Figura 39 Como se observa en esta la lectura de los valores enviados por el PLC se
graficaron tanto en los gauges como en los charts para verificar la correcta recepción de los
datos, también se mostraron el valor numérico actual se usaron los cuadros “text”.
Con los bloques del dashboard como se puede ver en la Figura 39 y en la Figura 40 se
logró toda la parte de control y visualización numérica de las plantas, como lo es para la
planta de nivel, su altura actual en cm, la altura deseada, la potencia actual de la bomba de
agua y el caudal que está pasando por el rotámetro; se puede ver el gauge de tanque de
nivel y los botones de navegación. Para la planta de presión se puede ver la presión actual
en psi, la presión deseada y un text input para ingresarla, el porcentaje de apertura de la
válvula y el gauge de presión, así como los botones de navegación.
Para la planta de presión tanto las tuberías como el tanque y el manómetro con su
animación fueron desarrolladas con HTML y CSS mientras que las válvulas son imágenes
tomadas de internet. Para la de nivel, al igual que la de presión las válvulas y las flechas
que representan la dirección de flujo son imágenes y tanto las tuberías como el tanque y su
animación son código.
Para navegar a través de la interfaz se usaron botones que redirigen a las diferentes
ventanas usando como se explicó anteriormente el bloque Ui control, de tal forma que
cuando se de click al botón este mande un mensaje de la página a la que se quiere ir.
Para alertar si alguno de los PLC’s se desconectó, se usa el bloque notification previamente
explicado, entonces, cuando el PLC master envía un 0.0 quiere decir que la conexión esta
sin ningún problema, cuando se envía un 1.0 quiere decir que la conexión está teniendo
problemas o se desconectó.
Primero se cambiaron unas configuraciones del programa para que cada vez que un
usuario vaya a entrar a la interfaz se pida un nombre y una contraseña, lo que permite,
tener acceso a la interfaz desarrollada mas no considera diferentes niveles de acceso.
Esto se logra entrando a la carpeta donde se encuentra instalado el programa, abriendo el
archivo de nombre “settings”, para mayor facilidad abrir con wordpad en caso de no tener
un editor de texto especial para códigos de tipo JavaScript, y estando en este des
comentar las líneas de código que están resaltadas tal y como se ve en la Figura 41.
La información transferida de las plantas al PLC y que finalmente llegan a la interfaz gráfica
es guardada en la base de datos MySQL por medio de una de las librerías de NODE-RED
llamada “storage” ver Figura 43, esta permite una fácil comunicación y acceso de datos.
Pero antes de hacer la configuración de este bloque, se debe tener una base de datos
creada en MySQL con las configuraciones básicas de esta como lo son, un usuario y
contraseña, un nombre para la base de datos y una tabla dentro de esta donde se
organizará la información y un puerto para la comunicación; se usó el puerto que se asigna
por defecto “3306”.
Teniendo en cuenta que las variables leídas son el nivel en centímetros y la presión en psi,
se creó una tabla que cuenta con tres columnas, dos de estas de tipo “DOUBLE” (esto se
debe a que las variables que se leen desde el PLC son reales), que albergan las variables
previamente mencionadas, y una variable de tipo “DATETIME” que se actualiza con la fecha
y la hora actual, cada vez que le llega un dato de entrada, esto para tener un registro de la
información.
Ya con la base de datos creada se pasa a la configuración del bloque de NODE-RED, como
se ve en la Figura 44, la configuración del este es bastante sencilla, en la casilla host se
debe poner la dirección IP en la que se está haciendo la programación del SCADA, es decir
la dirección donde el bloque “mysql” se encuentra, como en este caso se usa la dirección
de local host se pone la 127.0.0.1; el “port” es el puerto de comunicación que se asignó en
Una vez se tenga esto configurado la conexión entre la base de datos y NODE-RED está
completa, ahora para la comunicación, este bloque utiliza las operaciones “query” propias
de MySQL, entonces para agregar información a la base de datos se utiliza el siguiente
comando "INSERT INTO tesis (Presión,Nivel) VALUES (" + msg.presion + "," + msg.nivel +
") "; donde tesis es el nombre de la tabla, Presión y Nivel son los nombres de las columnas
y msg.presion y msg.nivel son los valores de la presión y el nivel respectivamente. Este
mensaje se enviará cada vez que uno de los valores cambie.
Para esta la fase de comunicación se realizaron varios intentos de sincronización con varios
bloques que trae por defecto TIA Portal, uno de ellos fue el bloque MB_Master (Ver Figura
49) el cual funciona como una interfaz de esclavo maestro en la que un PLC que se
encargaría de realizar las tareas de comunicación, es decir este tendría la labor de activar
los modos de escucha(RX) o de envió(TX) entre el PLC secundario y la interfaz web. Para
este modo de transmisión de datos se debe utilizar el protocolo de comunicación serial,
pero debido a que los PLC siemens S7 1200 no traen este protocolo por defecto se debe
implementar un módulo de expansión CM1241 que permite utilizar el protocolo antes
mencionado (Ver Figura 50). Al realizar las pruebas de comunicación se obtuvo resultados
favorables ya que los datos se enviaban y recibían pero no tenían una consistencia en el
formato, es decir mediante el visor que se utilizó para monitorear la trama de datos que
llegaba no había coincidencia entre el dato que se enviaba del PLC y el dato que llegaba al
computador, a pesar de cambiar varias veces los formatos de salida de datos del PLC el
computador no los interpretaba de una manera coherente por lo que se decidió cambiar de
método de comunicación, ya que sin una trama de datos adecuada no se puede proceder
a generar un control dentro de la interfaz gráfica y menos una ilustración en una tabla o en
una gráfica de los datos que está registrando el PLC.
El siguiente método de comunicación utilizado fue mediante el bloque PTP (Ver Figura 51)
el cual realiza una comunicación punto a punto mediante el módulo de expansión CM1241,
aunque este método fue más sencillo de implementar debido a que no era necesario una
configuración maestro esclavo se encontró el mismo resultado que se tenía en el método
anterior la trama de datos no concordaba por lo que al recibir los datos en la computadora
no se podían interpretar de una manera sencilla, y complicaba el diseño de la interfaz gráfica
de manera notable debido a el número de conversiones que se debían realizar para poder
interpretar los datos.
Al tener resultados favorables con la planta de nivel, se realizó el mismo ejercicio con la
planta de presión de tal forma que se tuviera una tendencia de los datos suministrados por
el PLC a el PC, se utilizó nuevamente la herramienta que ofrece NODE RED para visualizar
los datos y se enviaron los valores deseados a controlar atreves de la interfaz gráfica que
se diseñó para esta planta, estos resultados se pueden observar en la Figura 46 y la interfaz
gráfica se observa en Figura 40 la cual al igual que la interfaz gráfica de la planta de nivel
sirve no solo para proporcional el setpoint deseado sino que también se puede visualizar el
porcentaje de apertura de la válvula posicionadora y la presión del tanque.
Tabla 13.
Comparativo sistemas SCADA
# de
Sistema # de variables Costo Software
Pantallas
NODE –RED Ilimitada Ilimitada Ninguno
Los ambientes de desarrollo open source para los sistemas SCADA a pesar de ser una
herramienta asequible ya que no requiere ninguna inversión son instrumentos con un alto
nivel de complejidad en su instalación y uso por lo que se requiere niveles de conocimiento
altos en programación y comunicación de dispositivos, estos conocimientos no son tan
demandados por los softwares de licencia.
Los protocolos de comunicación serial, aunque son los más utilizados en la industria para
los sistemas SCADA requieren un nivel de entendimiento general del protocolo o hasta
avanzado ya que la conversión de la trama de datos no puede resultar tan sencilla y esto
dificulta la implementación del protocolo dentro del sistema.
Las herramientas que brindan los diferentes software open source para el diseño de
interfaces gráficas de sistemas SCADA, son muy variadas y fáciles de utilizar, puesto que
el propósito final de esta es que sea amigable con los diferentes usuarios, a pesar de esto
todas estas herramientas tienen sus limitaciones de configurabilidad, es por esta razón que
NODE-RED sobresale, ya que permite al desarrollador programar las interfaces
directamente con el código fuente y que está diseñado para desarrollar páginas web.
Este sistema puede ser escalable a cualquier proceso industrial por lo que realizar una
implementación en la industria no es una tarea complicada esto y el hecho de que los
software utilizados son de licencia abierta lo hace una implementación de bajo costo
comparado con los software de licencia por lo que es un atractivo muy grande para cualquier
compañía.
Al usar la aplicación NODE-RED para realizar un sistema SCADA se están optimizando los
recursos de manera que no sea necesario adquirir un software de licencia que se puede
tener en la industria, ya que, comparado con los software licenciados este ofrece las mismas
o superiores ventajas con la única desventaja de no tener un soporte del proveedor, sin
embargo el número de variables a leer y mostrar en la interfaz de usuario así como el
número de pantallas no es una limitante como si lo es con los softwares de licencia, puesto
que estos ofrecen su servicio con restricciones por cada licencia adquirida o según el
alcance del proyecto pactado con el proveedor del servicio.
DINERO. (12 de 4 de 2016). Mipymes generan alrededor del 67% del empleo en Colombia.
Obtenido de DINERO: http://www.dinero.com/edicion-
impresa/pymes/articulo/evolucion-y-situacion-actual-de-las-mipymes-en-
colombia/222395
H.Bischoff, D. (2004). WORKBOOK Process Control System. Festo Didactic GmbH & Co.
Universidad EIA. (2018). Conexiones externas del módulo de nivel. Envigado, Colombia.