Está en la página 1de 59

DISEÑO E IMPLEMENTACIÓN DE UNA INTERFAZ DE COMUNICACIÓN PARA PLC QUE

PERMITA EL ENVIÓ DE DATOS A INTERNET

Alejandro Bañol Escobar

Proyecto de grado presentado como requisito


parcial para aspirar al título de Ingeniero Electrónico

Director
M. Sc. Arley Bejarano Martínez

UNIVERSIDAD TECNOLÓGICA DE PEREIRA


FACULTAD DE INGENIERÍAS ELÉCTRICA, ELECTRÓNICA, FÍSICA Y
CIENCIAS DE LA COMPUTACIÓN
PEREIRA - RISARALDA
2022
Contenido
1 RESUMEN .............................................................................................................................................. 5
2 PRELIMINARES ....................................................................................................................................... 6
2.1 Introducción ...................................................................................................................................... 6
2.2 Planteamiento del problema ............................................................................................................ 7
2.3 Justificación ....................................................................................................................................... 9
3 OBJETIVOS ........................................................................................................................................... 10
3.1 Objetivo general.............................................................................................................................. 10
3.2 Objetivos específicos ...................................................................................................................... 10
4 ESTADO DEL ARTE ............................................................................................................................... 11
5 MARCO TEÓRICO ................................................................................................................................. 13
5.1 Industria 4.0 .................................................................................................................................... 13
5.2 Internet de las cosas (IoT) ............................................................................................................... 13
5.3 MQTT .............................................................................................................................................. 13
5.4 Controlador lógico programable (PLC)............................................................................................ 13
5.5 Sensor ............................................................................................................................................. 13
5.6 Conversor análogo – digital (ADC) .................................................................................................. 13
5.7 SPI ................................................................................................................................................... 14
5.8 Protocolo de comunicación MODBUS RTU ..................................................................................... 14
6 MATERIALES ........................................................................................................................................ 14
6.1 Amplificador operacional LM324 .................................................................................................... 14
6.2 Sensor de corriente ACS712............................................................................................................ 15
6.3 Microcontrolador ESP32 ................................................................................................................. 15
6.4 Módulo conversor RS485 a serial TTL ............................................................................................. 16
6.5 Microcontrolador ATMEGA328P .................................................................................................... 17
6.6 Módulo microSD. ............................................................................................................................ 18
7 DESARROLLO ....................................................................................................................................... 20
7.1 Adquisición e instrumentación de variables ................................................................................... 21
7.2 Conexión a internet ........................................................................................................................ 29
7.3 Gestión de la información ............................................................................................................... 35
7.4 Perdida de conexión a internet y almacenamiento de datos en memoria micro SD ..................... 37
7.5 Conexión a PLC mediante interfaz RS485 y protocolo de comunicación MODBUS ........................ 39
8 RESULTADOS ....................................................................................................................................... 41
9 ANÁLISIS DE RESULTADOS ................................................................................................................... 53
10 CONCLUSIONES ................................................................................................................................... 55
11 TRABAJOS FUTUROS ............................................................................................................................ 56
12 BIBLIOGRAFÍA ...................................................................................................................................... 57
AGRADECIMIENTOS

Primero quiero agradecer a Dios por permitirme culminar esta etapa tan importante de mi vida, ya
que sin él no hubiese sido posible. A mi madre Ruth Yamile Escobar Galvis por su constante entrega
y amor, quien cada día ha velado por mi bienestar. A mi padre Álvaro Bañol Taba, quien siempre ha
dado lo mejor de él para poder garantizar que yo pueda cumplir mis metas sin rendirme pese a las
adversidades de la vida. También a mi hermano Felipe y cata, por su apoyo y a mi tía Orlandy, quien
ha sido como una mamá, brindándome su apoyo incondicional.

Quiero agradecer a todos mis familiares que me han brindado su ayuda de diferentes modos y a
quienes han manifestado su interés para que yo pueda progresar en mis estudios. Un agradecimiento
muy especial a mis amigos y a aquellos compañeros de estudio, quienes dedicaron parte de su
tiempo para ayudarme cada vez que lo requiera.

A la universidad y mi programa, por acogerme y dotarme de nuevos conocimientos, para contribuir


a mi formación profesional y personal. Por último y no menos importante quiero agradecer este logro
al ingeniero Arley Bejarano Martínez que aparte de ser docente, ha sido un gran tutor. Agradezco
cada una de sus valiosas enseñanzas, su tiempo, constante apoyo, paciencia y por creer en mí.
1 RESUMEN

En este trabajo de grado se presenta la metodología y desarrollo de un sistema de bajo costo el cual
se conecta a internet mediante una red wifi. A este se pueden conectar las entradas del PLC para
detectar la activación de los sensores y las salidas para identificar la activación/desactivación de
actuadores. Al detectar los cambios en los estados de los diferentes elementos procede a almacenar
la información en una base de datos y adicionalmente esta se proyecta en una interfaz gráfica de
usuario.
El sistema también cuenta con la funcionalidad de garantizar la no pérdida de información, tras la
desconexión a internet, para esto procede a guardarla en una memoria micro sd y de forma
automática detecta cuando la conexión se restableció para después subir la información registrada
en la memoria a la base de datos.
Otra característica de este sistema es que se conecta a una red wifi por defecto que ya tiene
guardada, pero se puede modificar, ya que el sistema se configura como un punto de acceso cada
vez que no es posible conectarse a la red wifi y desde una página HTML se pueden ingresar las
credenciales de la nueva red.
El sistema también se puede conectar a otro PLC que disponga de una conexión serial, para que
mediante el protocolo de comunicación MODBUS pueda recibir la información proveniente desde el
PLC. Esta última característica se incorporó dado que a pesar de que muchos PLC’s poseen
interfaces seriales para la transmisión de datos, no existen dispositivos que se puedan conectar a
estos ya que no hay soporte por parte de los fabricantes o ya se encuentran descontinuados.
Después de construir el sistema se procedió a realizar un conjunto de pruebas de validación que
arrojaron como resultado un excelente desempeño. Cumpliéndose el objetivo de la detección de
cambios en los periféricos de entradas y salidas del PLC, almacenamiento cuando hay o no una
conexión a internet, visualización de la información en una interfaz gráfica de usuario y la fácil
integración con PLC que si dispongan de una interfaz de comunicación serial.
Con este sistema se logra potencializar las capacidades de aquellos PLC que no posean interfaces
de conexión a internet, lo cual extiende su vida útil y permite su uso en aplicaciones de internet de
las cosas (IoT) al igual que su integración dentro de los estándares de la industria 4.0.
2 PRELIMINARES
2.1 Introducción

En la historia moderna, el acontecimiento de las revoluciones industriales trajo consigo una nueva
era de avances tecnológicos que introdujeron cambios en la sociedad, desde diferentes aspectos
como por ejemplo lo económico, político, social, educación, salud, transporte, entre otros. Estos
desarrollos industriales han llevado a una nueva era de crecimiento económico, debido a que las
nuevas tecnologías simplifican y optimizan el trabajo. Lo que genera beneficios para los diferentes
actores del proceso productivo de la industria.
La expansión de la revolución industrial marcó un hito en la historia moderna, dado que produjo un
aumento de la producción y otros beneficios tales como la reducción de los costos de manufactura,
la mejora en la calidad del producto y optimización de los tiempos de fabricación. También, generó
una ampliación del mercado, que permitió suplir la demanda interna del país y a su vez completar
las solicitudes externas de productos. Todo esto permitió impulsar la economía, el desarrollo y
mejorar la calidad de vida [1].
Actualmente se presenta una cuarta revolución industrial, también llamada, industria 4.0. Esta
revolución trae consigo nuevos avances tecnológicos, que contribuyen a mejorar no solo el factor
productivo, si no que permitirá la creación de nuevos sistemas que fusionen el mundo físico con el
digital. Estos sistemas se conocen como sistemas ciberfísicos, los cuales integran capacidades
computacionales para la gestión, almacenamiento y comunicación de información, con facultades de
interacción con los dispositivos o procesos reales.
Un sistema ciberfísico utiliza protocolos estandarizados que permiten la conexión a internet, como
también las tecnologías de la información y la comunicación (TIC) las cuales, permiten la interacción
entre los diferentes elementos involucrados en el proceso productivo. Creando nuevas formas de
producción y creación de valor.
Esta nueva tendencia implementa un modelo regido por la autoorganización y autogestión de los
sistemas productivos, que dota a los procesos automatizados de la capacidad de aprender
autónomamente para poder predecir fallas, auto configurarse y adaptarse a los cambios. Con lo
anterior, se introduce el concepto de fábricas inteligentes, donde las personas, las máquinas y los
recursos se comunican entre ellos, como si se tratase de una red social.
2.2 Planteamiento del problema

En Colombia la cuarta revolución industrial se encuentra en fase de desarrollo, sin embargo, la


adopción de esta tecnología en las empresas conlleva un proceso de “digitalización”, el cual es lento,
debido a que los empresarios no comprenden el valor de interconectar todos los procesos en tiempo
real.
La transformación digital es diferente para cada empresa del territorio nacional, ya que las
necesidades en cada empresa varían, se deben tener en cuenta sus factores operativos,
necesidades de los clientes y el campo de acción con el fin de obtener una transformación exitosa.
Las grandes industrias, las cuales poseen un alto grado de poder adquisitivo, pueden acceder a
costosos sistemas de sensores, gestión de datos, equipos de monitoreo y comunicación. Como por
ejemplo Bavaria y la cervecería del Valle que cuentan con plantas digitalizadas [2] o el grupo corona
que tiene plantas de producción de alta tecnología, por lo cual fue reconocida en noviembre del 2020,
como la empresa industrial con mejor reputación en Colombia [3]. Sura y Bancolombia cuentan con
proyectos de IoT (internet of things) para mejorar sus servicios [4].
A comparación de las grandes industrias, las micro, pequeñas y medianas empresas (Mipyme)
carecen de los recursos necesarios para su digitalización, por lo que el Gobierno Nacional mediante
el Ministerio de Tecnologías de la información y las Comunicaciones (MinTIC) ha invertido 47.000
millones de pesos desde 2018 [5], destinados a programas que buscan que las empresas de
cambien a la economía digital.
Según estudios recientes de MinTIC que se realizaron para conocer el estado de las Mipyme las
principales dificultades para que los empresarios puedan acceder a nuevas tecnologías son la falta
de dinero, conocimiento y acompañamiento. Estas barreras deben ser superadas si el objetivo es
incursionar en nuevos nichos de mercado, que lleven al crecimiento económico, garanticen la
operación y permita a las empresas ser competitivas [6].
Estas Mipyme incorporan en sus procesos de producción sistemas de control tales como PLC
(programmable logic controller) los cuales en muchos casos no presentan una interfaz de conexión
a internet, generando así un obstáculo para la implementación de la industria 4.0.
Debido a la necesidad de implementar sistemas ciberfísicos, diferentes fabricantes de PLC ofrecen
dispositivos que incorporan IoT, tales como Siemens, Eaton electric, Click koyo, Electrodepot,
Omrom, Delta electronics, Allen bradley, Rockwell automation, Rievtech entre otros.
Dentro de estas marcas cabe destacar los PLC Siemens especiales para aplicaciones de IoT, los
cuales permiten la recolección, análisis y transferencia de datos a la nube. Estos PLC incorporan
protocolos abiertos como MQTT & AMQP, OPC UA Server/ Client, TCP/IP a través de varias
interfaces incluyendo: RS232/422/485, USB, ETHERNET, Wifi. Adicionalmente cuentan con la
facilidad de poderse integrar a plantas existentes. También permiten conectar las máquinas de
manera sencilla a la nube y a partir de los datos recopilados, realizan un análisis para predecir el
desgaste de los elementos electromecánicos del sistema, lo cual permite programar actividades de
mantenimiento. Pueden ser configurados como una unidad central de recolección de datos al cual
se conectan distintos PLC y estos se encargan de transferir toda la información a la nube [7].
Otra fabricante de PLC, RIEVTECH, dispone de una serie de PLC con conexión a internet a través
de ethernet o Wifi. Entre las características principales están la compatibilidad con el protocolo
MQTT, pueden funcionar como servidor TCP y cliente TCP, programación del PLC mediante red.
Adicional tienen la funcionalidad de operar como dispositivo maestro o esclavo [8].
Los PLC de Rockwell automation para aplicaciones de IoT son controladores en tiempo real, son
ideales para aplicaciones de tamaño mediano y grande que exigen un alto control de rendimiento y
capacidad de procesamiento de datos. Incluyen puertos Ethernet/IP GbE que habilitan una
comunicación de alta velocidad, E/S y control de movimiento de datos. También permiten a los
usuarios implementar Windows 10 basado en las aplicaciones prediseñadas o personalizadas y al
mismo tiempo están integrados con el control Logix en tiempo real [9].
A pesar de la oferta en PLC con conexión a la internet, sus costos son elevados para las pequeñas
y medianas empresas, evitando su adquisición. Por tal razón diferentes universidades y centros de
investigación, han planteado soluciones donde mediante un protocolo de comunicación estándar
logran establecer una comunicación entre un PLC y un servidor web.

Una de estas soluciones se realizó en la Escuela de Ingeniería de la Universidad de Valencia, el


desarrollo consta de un servidor web implementado sobre un microcontrolador Freescale, el cual
sirve como puerta de enlace para un PLC, ambos se conectan mediante una comunicación RS232
[10]. Otro desarrollo con características similares fue presentado por Echelon Corporation, donde se
construyó una puerta de enlace mediante comunicación serial entre un PLC Omron CV500 y una red
LonTalk [11].

Aunque estos desarrollos cumplen con el objetivo de dotar un PLC con acceso a internet, muchos
no disponen de una interfaz de comunicación serial, por lo tanto, se han implementado soluciones
alternativas. Una de estas busca el desarrollo de soft PLCs, los cuales tienen la principal
característica de ser un software que se instala en un sistema embebido y emula la funciones de un
PLC [12][18].

Como el desarrollado por el Jyothi Engineering College. En este proyecto el soft PLC se implementó
en una Raspberry Pi y se programó en Ladder mediante el entorno de desarrollo Codesys. Este
sistema tiene puertos I/O al cual se conectan sensores y actuadores y al mismo tiempo el
minicomputador actua como servidor [13]. Otro proyecto el cual integra un microordenador es el
desarrollado por el International Islamic University Chittagong, el soft PLC se encarga de la operación
de todo el sistema y aparte de ejercer control, almacena información que se analiza automáticamente
para mejorar el rendimiento. Para la creación del servidor web se usó Cayence y todo el sistema
operativo fue diseñado en base Linux y Python [14].

Los microordenadores han permitido la reducción de costos de operación y mantenimiento en


comparación a los requeridos por un PLC, adicionalmente, al contar con diferentes módulos de
comunicación permiten una fácil integración entre el proceso productivo e internet. Pero se presenta
una dificultad y es que estos dispositivos exigen la adquisición de hardware adicional para poder
integrarlos al sistema de automatización.

Para poder hacer frente a esta problemática se han presentado soluciones alternas mediante
sistemas más económicos, basados en microcontroladores. Uno de estos es el sistema de monitoreo
basado en IoT, desarrollado en la Bangladesh University of Business and Technology. Con este
desarrollo se monitorea y controla el equipo de una subestación eléctrica. Se midió la calidad y
niveles de aceite de los transformadores eléctricos, al igual que la corriente. También se controla el
accionamiento de un servomotor que cambia la conexión del transformador. Para esto se usó un
microcontrolador ATmega328P y un módulo WI-FI ESP266-01 los cuales logran la conexión con el
servidor web [15].
Teniendo en cuenta lo anterior se hace necesario desarrollar un sistema que permita integrarse a
los diferentes PLC (tengan o no interfaces de comunicación) que se encuentran en la industria, que
sea de bajo costo y permita él envió de información a la nube.

2.3 Justificación

La implementación de la industria 4.0 en el país conlleva a la digitalización de la industria nacional.


Por lo anterior dicho proceso debe ser acogido para impulsar la eficiencia, reducción del factor
humano donde existan riesgos, reasignación de labores y disminuir los costos.
Contar con un dispositivo que permita acceder a la información de manera rápida sin que el
empresario tenga que hacer una alta inversión permitiría que muchas pequeñas empresas que
incorporen automatismos en su planta física puedan conocer el estado de sus procesos productivos
en tiempo real y gestionarlos de forma local o remota, lo cual aumentaría la eficiencia y la
competitividad.
Al integrar este dispositivo a la línea de producción de la empresa, con la información que este sube
a la nube, se podría implementar nuevos sistemas que mejoren las capacidades de la empresa,
como por ejemplo un sistema SCADA (Supervisión, Control y Adquisición de Datos), el cual sirve
como herramienta de automatización y control industrial, donde mediante varias aplicaciones
instaladas en un computador, se puede controlar, supervisar y recopilar la información suministrada
por este dispositivo.
Como toda la información se carga a un servidor, el computador también estaría conectado a este.
Con un sistema SCADA se puede ejercer un mayor control, disminuir los riesgos, toma de decisiones
más eficientes sustentadas en base al análisis de los datos y la reducción del tiempo de inactividad
de los sistemas.
Adicionalmente se pueden integrar otros subsistemas como lo son las interfaces HMI (Human –
machine – interface) las cuales facilitan la interacción entre el usuario y la máquina o dispositivos en
general. Estas interfaces pueden estar distribuidas en diferentes puntos de la empresa con acceso
a los datos almacenados en el servidor, pueden mostrar informes del estado de los PLC u otros
dispositivos como también la disponibilidad de materiales, gráficas del comportamiento de las
variables, emitir alarmas y al mismo tiempo emitir comandos de control.
Muchos fabricantes de PLC en base a las nuevas demandas de la industria IoT lanzan nuevos
equipos, sin embargo, estas empresas nunca ofrecen soluciones para sus equipos más antiguos,
como es el caso de los PLC que no poseen ningún tipo de interfaz de red o comunicación. Una
solución de este tipo podría suplir esta necesidad lo cual evitaría que los empresarios se vean
forzados a desechar los antiguos PLC para comprar nuevos, de esta forma se prolonga la vida útil
de los dispositivos y se reducen los costos de inversión.
Por último, algunos empresarios cuando deciden reemplazar sus PLC desactualizados por equipos
más modernos como por ejemplo las minicomputadoras, se enfrentan a la dispendiosa tarea de
adquirir hardware adicional (que en ocasiones es difícil de configurar) para poder integrarlos a los
automatismos de la empresa. Con el dispositivo que se planea construir, se incluiría todo lo necesario
para poder hacer este acople a la cadena productiva de forma sencilla y eficiente.
3 OBJETIVOS

3.1 Objetivo general

Diseñar e implementar una interfaz de comunicación para PLC que permita el envío de datos a
internet.

3.2 Objetivos específicos

- Diseñar e implementar el sistema de medida que permita la captura de variables físicas


controladas por el PLC.

- Diseñar e implementar el sistema de comunicación que permita conectarse a los PLC por
medio de MODBUS.

- Diseñar e implementar el sistema de comunicación que permita enviar la información a


internet.

- Diseñar e implementar un sistema de información que permita almacenar la información y


visualizarla.
4 ESTADO DEL ARTE

A continuación, se presentan algunas de las metodologías propuestas para poder conectar un PLC
con la internet y su posterior uso en aplicaciones de IoT.
En el año 2012 en la Escuela de Ingeniería de la Universidad de Valencia España, se desarrolló una
puerta de enlace a la red para un PLC. Para el servidor web se usó tarjeta de desarrollo Freescale
con un microcontrolador M52259 Coldfire, la cual se conecta al PLC mediante comunicación serial
RS232.
Este servidor es de carácter modular lo cual permite acceso independiente a los puertos I/O del PLC.
En cuanto a la visualización de la información en diferentes plataformas de monitoreo, no es
necesario modificar la programación del microcontrolador. El PLC que se usó es un Crouzet
millenium3 (se considera un microPLC) el cual incorpora un protocoló serial ASCII para la lectura y
escritura de la memoria [10].
En el Institute for Plasma Research Gandhinagar, India, se implementó un sistema para monitorear
en tiempo real los datos de un PLC el cual se estructuro con el framework CSS (Control System
Studio). CSS es ampliamente usado en sistemas de Control Industrial y Física Experimental (EPICS)
por lo cual el PLC se comunica con el servidor mediante el CSS y al mismo tiempo de forma local
con el computador usando protocolo MODBUS. El ethernet se encarga de brindar la capa física de
la comunicación y mediante paquetes por medio de TCP/IP se envían los datos al nodo destino [16].

Opciones alternas son los soft PLC, los cuales usan una minicomputadora que se encarga de emular
un PLC. Uno de estos fue desarrollado por el Jyothi Engineering College. Para el cual se usó una
Raspberry Pi y se programó en Ladder mediante el entorno de desarrollo Codesys.

Para la adquisición de la información proveniente de los sensores los cuales miden frecuencia,
voltaje, potencia activa y factor de potencia de una subestación eléctrica de 11 KW, se usaron los
puertos GPIO, relés y puertos de comunicación de la minicomputadora como la interfaz RS - 485.
También se implementaron interfaces HMI para la visualización de la información, diseñadas con un
segmento de visualización web de Codesys a las cuales se pueden acceder por conexiones
inalámbricas o por cable. Se llegó a la conclusión que el sistema es confiable y fácil de usar ya que
a comparación de un PLC, estos son más costosos y requieren de un supervisor que se encuentre
cerca de la subestación [13].

Otro proyecto con características similares fue implementado por la International Islamic University,
en el cual también se usó una Raspberry pi que se encarga de monitorear y controlar un sistema
compuesto por sensores de temperatura, voltaje, corriente, una cámara y actuadores como un motor
DC y un ventilador de refrigeración. El soft PLC aparte de proporcionar el control de todo el sistema,
se encarga de analizar la información para aumentar la productividad y la eficiencia. El servidor web
al cual se conecta la Raspberry pi, se creó mediante el software CAYENCE y para el sistema
operativo se usó Linux y Python [14].

En este trabajo se justificó el uso de la minicomputadora porque según los autores, sus capacidades
de cómputo son más avanzadas a comparación de otros sistemas embebidos (por ejemplo, el
Arduino). También ofrece mayores capacidades de almacenamiento y puede soportar muchos
dispositivos conectados al mismo tiempo.
Después de hacer una revisión de aquellos trabajos que hacen uso de una minicomputadora que
reemplacen un PLC, también se realizó una búsqueda de aquellos desarrollos que opten por el uso
de microcontroladores que a comparación de las minicomputadoras, suelen tener menos
capacidades, pero aun así esto no limita su uso para aplicaciones de IoT. En la Bangladesh
University of Business and Technology se implementó una red IoT para monitorear y controlar el
equipo de una subestación eléctrica, lo cual permite un manejo más eficiente de los recursos. Con
este sistema se mide la calidad y nivel de aceite de los transformadores eléctricos y la corriente de
los transformadores de corriente. También mediante actuadores se modifica el tipo de conexión de
los transformadores. Se usó un microcontrolador ATMEGA328P el cual recibe los datos
proporcionados por los sensores y los transmite al servidor web mediante un módulo WIFI ESP8266
[15].

En [17] se desarrolló e implementó una puerta de enlace con comunicación Profibus para un PLC y
un sistema embebido. Esta investigación tenía como objetivo crear una interfaz que facilitara la
conexión entre un PLC Siemens y un microcontrolador, dado que la conexión entre un PLC maestro
y uno esclavo es fácil de implementar, pero cuando se trata de conectar otro tipo de sistema que no
sea Siemens, se presentan problemas de compatibilidad, por lo tanto, se realizó un análisis de señal
para lograr que el PLC maestro viera al sistema embebido como un esclavo.

Según la justificación de los autores existen puertas de enlace con comunicación Profibus-UART (la
cual se implementa en microcontroladores) pero son costosos y no es fácil el intercambio de
información. Por lo tanto, la solución propuesta es de bajo costo y permite establecer un control
distribuido, al realizar un procesamiento rápido de los marcos enviados por el PLC. Se diseñó una
etapa de acondicionamiento con amplificadores operacionales para los voltajes de transmisión y así
conservar un voltaje de referencia en el bus de datos al cual se conecta un microcontrolador
PIC18F26K22.
5 MARCO TEÓRICO

5.1 Industria 4.0


La industria 4.0 es también conocida como la cuarta revolución industrial. Hace referencia a
máquinas inteligentes que cuentan con sistemas embebidos, sistemas de control y disponen de
internet para conectarse. Por consiguiente, se logra que diferentes dispositivos puedan conectarse
a la red y comunicarse entre ellos mismos, de esta manera, se consigue que los dispositivos puedan
tomar decisiones autónomas y realizar procesos en tiempo real [19].

5.2 Internet de las cosas (IoT)


El internet de las cosas hace referencia a la interconexión de múltiples dispositivos a internet y a
otros dispositivos conectados a la misma red. El IoT permite recopilar, enviar y actuar sobre los datos
que adquieren a través de los sensores y a través de un hardware de comunicación los dispositivos
pueden compartir los datos recopilados a otro dispositivo sin que haya interacción humana [20].

5.3 MQTT
MQTT es un protocolo de comunicación M2M (machine-to-machine) de código abierto y está basado
en la pila TCP/IP. A través de este protocolo, los dispositivos clientes pueden publicar datos para
enviarlos a cualquier dispositivo suscriptor, a esto se le conoce como el modelo pub/sub [21].

5.4 Controlador lógico programable (PLC)


Un controlador lógico programable o PLC es un sistema de entrada/salida, por lo tanto, acepta
entradas y controla salidas. Un PLC se encarga de recibir datos automatizados o de interruptores
por sus entradas y de enviar instrucciones de operación por sus salidas que pueden controlar una
gran variedad de equipos como motores, válvulas, luces, entre otros. El trabajo de un PLC es decidir
si cambia o no la salida dependiendo de su programación [22].

5.5 Sensor
Un sensor es un dispositivo electrónico que se encarga de medir un fenómeno físico de su entorno,
como la temperatura y la humedad, y la convierte en datos para que puedan ser interpretados por
un humano o una máquina [23].

5.6 Conversor análogo – digital (ADC)


Un convertidor análogo digital permite que los sistemas embebidos se puedan comunicar con el
mundo real, ya que las señales provenientes del mundo son analógicas y, por consiguiente, tienen
valores que son constantes en el tiempo y proporcionan un número infinito de valores. Por
consecuencia, un convertidor análogo digital se encarga de tomar un valor en un instante de tiempo
determinado y producir un código de salida digital que representa a este valor analógico. La
resolución de un ADC representa la cantidad de bits que se utilizan para representar dicho valor [24].
5.7 SPI
SPI es un protocolo de comunicación que se utiliza para comunicarse con microcontroladores. Con
este protocolo se puede enviar y recibir información en un flujo continuo, logrando que no haya
interrupción en la transferencia. Este protocolo presenta una relación maestro-esclavo entre
dispositivos. El maestro es el que controla y el esclavo es el que recibe las instrucciones. SPI es una
comunicación síncrona, por lo tanto, los dispositivos comparten una señal de reloj [25].

5.8 Protocolo de comunicación MODBUS RTU


MODBUS RTU es un protocolo serial abierto y es ampliamente aceptado debido a su facilidad de
uso y confiabilidad. Su arquitectura es derivada del maestro/esclavo y tiene una estructura simple de
16 bits que garantiza fiabilidad al ser mensajes sencillos. Este protocolo permite el intercambio de
datos entre controladores lógicos programables y ordenadores [26].

6 MATERIALES

6.1 Amplificador operacional LM324

El LM324 es un amplificador operacional de baja potencia con cuatro amplificadores operativos


independientes de alta ganancia y compensación de frecuencia. Está diseñado para operar en una
amplia gama de voltajes de 3 a 32V. Las salidas tienen una capacidad de transmisión y pueden
generar hasta 40 mA por canal y disipar hasta 20 mA. Pueden funcionar con fuentes de alimentación
duales que van desde ± 1,5 V a ± 16 V. Tienen una ganancia de hasta 100x y pueden manejar
frecuencias de hasta 1MHz [27].

Figura 1. Amplificador operacional LM324 [36].


6.2 Sensor de corriente ACS712

El ACS712 se utiliza para la detección de corriente CA o CC. El dispositivo cuenta con un sensor
Hall lineal, este tiene una ruta de conducción de cobre cerca de la superficie de la matriz. La corriente
fluye a través del cobre, generando un campo magnético que es detectado por el Hall y convertido
en un voltaje proporcional [28].
Algunas de sus funciones principales son:
● Ancho de banda de 80kHz.
● Resistencia interna del conductor de 1,2 mΩ.
● 5V para operación de suministro único.
● Tiempo de subida de salida de 5 µs en respuesta a la corriente de entrada de paso.
● Sensibilidad de salida de 66 a 185 mV/A.

Figura 2. Diagrama de pines y descripción de terminales del ACS712 [37].

6.3 Microcontrolador ESP32

El ESP32 es una placa de desarrollo. Tiene Wifi y Bluetooth integrados y se basa en un


microprocesador de doble núcleo Tensilica Xtensa LX6 con una frecuencia operativa de hasta 240
MHz. Su consumo de energía es muy bajo y la corriente de reposo es inferior a 5 μA, lo que lo hace
ideal para proyectos con batería y aplicaciones IoT [29].
Sus principales características son:
● Xtensa Dual-Core 32 bits LX6 con 600 DMIPS.
● Bluetooth 4.2 y BLE.
● Frecuencia de funcionamiento de 160 MHz.
● ADC con resolución de 12 bits.
● Incluye un sensor de efecto Hall, de temperatura y táctil.
● Incluye comunicación SPI, I2C, I2S y UART.
Figura 3. Diagrama microcontrolador ESP32.

6.4 Módulo conversor RS485 a serial TTL

Este módulo se utiliza para comunicaciones serie a largas distancias y está definido como un sistema
en bus de transmisión multipunto diferencial, por lo tanto, es ideal para transmitir a altas velocidades
sobre distancias largas (35 Mbit/s hasta 10 metros y 100 kbit/s en 1200 metros) y a través de canales
ruidosos [30].
Sus especificaciones son:
● Tiene un voltaje de operación de 5V.
● La corriente de operación va de 120 uA a 500 uA.
● Transferencia máxima de hasta 2.5Mbps.
● La potencia de operación es de 830 mW.
● El tipo de comunicación es Half-Duplex.
● Velocidad máxima de 10 Mbit/s (a 12 metros).
● Longitud máxima de alcance de 1200 metros (a 100 kbit/s).
Figura 4. Módulo conversor RS485 a TTL.

6.5 Microcontrolador ATMEGA328P

El ATMEGA328P es un microcontrolador de 8 bits basado en la arquitectura RISC. Cuenta con 23


puertos I/O y 32 registros de propósito general, interfaz serie SPI maestro/esclavo y seis canales
PWM. El dispositivo logra rendimientos que se aproximan a 1 MIPS por MHz, trabaja con una fuente
de alimentación entre 1,8V a 5,5V y tiene un Conversor Análogo/Digital (ADC) de 10 bits [31].

Figura 5. Microcontrolador ATMEGA328P [38].


6.6 Módulo microSD.

Figura 6. Módulo de tarjeta micro sd de interfaz con Arduino.


El módulo permite conectar a un microcontrolador una tarjeta de memoria micro sd para almacenar
grandes cantidades de datos, usando un microcontrolador como dispositivo de control.
Este módulo permite realizar las conexiones de manera rápida y sencilla al realizar prototipos, está
diseñado para acceder a la memoria micro SD en modo SPI, por lo que las señales de control se
etiquetan con claramente con los nombres de las señales en dicho bus de comunicaciones [32].

Características del Módulo de interfaz tarjeta MicroSD


● Regulador de tensión incluido para alimentar con 5V y 3,3V.
● Incluye buffer adaptador de niveles lógicos.
● Se puede usar con Arduino y en general con cualquier microcontrolador y tarjeta de
desarrollo.
● Cuenta con todos los pines SPI de la tarjeta SD: MOSI, MISO, SCK, CS.
● Evita problemas de conexiones y protege la integridad de la memoria al evitar falsos
contactos.
● Solamente para memoria micro sd.
El módulo de la tarjeta micro sd contiene dos componentes principales que, sin duda, hacen que sea
fácil agregar el registro de datos a su próximo proyecto Arduino:
● El voltaje de funcionamiento de cualquier tarjeta micro sd estándar es de 3,3V. Por lo tanto,
no podemos conectarlo directamente a circuitos que usan lógica de 5V. De hecho, cualquier
voltaje que supere los 3,6V dañará permanentemente la tarjeta micro sd. Es por eso; el módulo
tiene un regulador de caída ultra-baja integrado que convertirá los voltajes a 3,3V [33].

Figura 7. Distribución de pines del módulo de tarjeta Micro SD.

● MISO (master In - slave out) es la salida SPI del módulo de tarjeta micro SD.
● MOSI (master out – slave in) es la entrada SPI al módulo de tarjeta micro SD.
● SCK (reloj serie) pin acepta pulsos de reloj que sincronizan la transmisión de datos generada
por Arduino.
● SS (Selección de esclavo) pin es utilizado por Arduino (Master) para habilitar y deshabilitar
dispositivos específicos en el bus SPI.
7 DESARROLLO

En la figura 8 se presenta el sistema desarrollado, el cual se compone de diferentes módulos


(resaltados con cuadros de colores), en el centro del recuadro negro se observa el microcontrolador
ESP32 el cual se encarga de la unidad de control y al interior del recuadro naranja se observa el
módulo para la memoria micro SD. Con el recuadro morado se resalta el interruptor que sirve para
el cambio de conexión entre un PLC con o sin interfaz de comunicación serial y con el azul se indica
el módulo para conexión RS485.
Dentro de los recuadros de color verde se encuentra los módulos para adquisición de datos. En el
lado izquierdo está el microcontrolador ATMEGA328P que en conjunto con otros elementos
conforman el módulo de medida de las entradas del PLC y del lado derecho se encuentra el sistema
de medida para las salidas del PLC, conformado por los 4 sensores de corriente.

Figura 8. Sistema desarrollado.

El sistema se conecta a las entradas y salidas de los PLC para conocer si se encuentran activadas
o desactivadas. Esto se logra mediante la detección de los voltajes enviados por los sensores cuando
se activan y la respuesta a la salida cuando se accionan los actuadores.
Después estos estados son almacenados y enviados a través de conexión wifi a un Broker MQTT y
un ordenador recibe la información enviada por la tarjeta, mediante la suscripción a un tópico, para
posteriormente ser almacenada en una base de datos y visualizada en una interfaz gráfica. En la
figura 9 se ilustra el funcionamiento de todo el sistema.
Figura 9. Operación de todo el sistema que permite al PLC ser usado para aplicaciones de IOT.

Como se observa en la figura 8, el prototipo se compone de diferentes módulos, donde la unidad de


control primero realiza una conexión a internet mediante una red WiFi y después recibe la
información suministrada por los sistemas de adquisición para su posterior envío.
El prototipo se puede conectar a una red WiFi por defecto, pero también se le puede configurar una
nueva y ante la perdida temporal de conexión a internet, la información es almacenada en la tarjeta
micro SD para cuando se restablezca nuevamente el servicio de red, todos los datos se carguen
automáticamente a la base de datos.

7.1 Adquisición e instrumentación de variables

Para detectar los cambios a las entradas del PLC, se usaron divisores de tensión y a las salidas se
conectaron sensores de corriente. Es de aclarar que la tarjeta solo puede detectar la activación de
cargas AC.

7.1.1. Caracterización de los sensores de corriente

Se usó el sensor de corriente ACS712 el cual según la hoja de datos del fabricante [28] soporta una
corriente máxima de 5A y el rango de la temperatura interna de operación (Top) del marco de plomo
(estructura al interior del chip que transporta señales desde el troquel hacia el exterior) es de [-40 a
80] °C. Bajo estas condiciones de temperatura, las características de rendimiento del sensor
garantizan una sensibilidad de 185 mV por amperio y presenta la siguiente relación para el voltaje
de salida y la corriente sensada, ver figura a continuación.
Figura 10. Voltaje de salida vs corriente sensada para el sensor de corriente ACS712 [28].

Como se observa en la gráfica de la figura 10. Cuando no hay una carga conectada, la corriente es
0A y por ende el voltaje de salida es 2.5V, pero cuando la corriente es AC independiente del consumo
de la carga el voltaje seguirá siendo 2.5V. Esto se debe a que durante el semiciclo positivo de la
señal AC, el voltaje de salida aumenta de 2.5V y durante la fase negativa el voltaje disminuye de
2.5V, por lo tanto, al realizar un promedio de las lecturas, siempre se mostrará el mismo voltaje.
Lo anterior se pudo comprobar al conectar cargas AC (bombillos) en paralelo y midiendo el voltaje
de salida del sensor con un multímetro digital UNI-T. En la tabla 1 se presentan los resultados
obtenidos.

Cantidad bombillos Corriente (A) Voltaje del sensor (V)


1 0.66 2.2
2 1.31 2.3
3 1.88 2.2

Tabla 1. Voltajes de salida del sensor.


Por lo tanto, la salida de voltaje de los sensores de corriente no permitía diferenciar entre una carga
AC que estuviese apagada o encendida, así que se optó por buscar otro método. Para ello se analizó
la señal de tensión eléctrica mediante un osciloscopio, la cual a pesar de ser DC presentaba una
oscilación, tal como se visualiza en la figura 11. Al variar la corriente, se observó que el voltaje pico
a pico (Vpp) de la señal cambiaba proporcionalmente, con esto se estableció una métrica con la cual
se podía identificar la activación de las cargas AC.
Figura 11. Señal de voltaje (gráfica amarilla) entregada por el sensor de corriente ACS712.

Acondicionamiento de señal
Como el voltaje de salida del sensor oscila en el rango [0 – 5]V y el voltaje máximo que soporta el
convertidor análogo a digital (ADC) del ESP32 es 3.3V, se implementó una etapa de
acondicionamiento de señal mediante amplificadores operacionales. Para lo cual primero se calculó
la ecuación de la recta de la figura 12.

Figura 12. Voltaje de salida del acondicionamiento vs voltaje del sensor.


Luego se efectuaron las siguientes operaciones para obtener la ecuación de la recta de la figura
12, ver ecuación (2).
𝑦2 − 𝑦1 3.2 − 0
𝑚= = = 640 ∗ 10−3
𝑥2 − 𝑥1 𝑥2 − 𝑥1
𝑦 − 𝑦1 = 𝑚(𝑥 − 𝑥1 )
𝑦 − 0 = 640 ∗ 10−3 (𝑥 − 0)
𝑦 = 640 ∗ 10−3 𝑥 (2)
Después con amplificadores operacionales se implementó la ecuación (2), mediante el siguiente
procedimiento:
A B 𝐴𝑇 = 𝐴 − 𝐵 − 1 𝜆 = 𝑠𝑢𝑝 {𝐴, 𝐵 + 1, |𝐴 𝑇 |}
640 ∗ 10−3 0 −360 ∗ 10−3 1

𝑅𝑓
Para (𝐴 𝑇 < 0) se tiene (𝑅0 = ∞) 𝑦 (𝑅0 = ).
−𝐴𝑇

Asumiendo un 𝑍𝑖 = 5 KΩ.
𝑅𝑓 ≥ 𝜆 ∗ 𝑍𝑖

𝑅𝑓 = (1) ∗ (5 𝐾𝛺) = 5 𝐾𝛺 (3)


5 𝐾𝛺
𝑅0 = = 7.8125 ∗ 103 (4)
−(−360∗10−3 )

Con los resultados de las ecuaciones (3) y (4) se construyó el circuito de la figura 13, con un
amplificador operacional LM324, el cual permite realizar el acondicionamiento de señal.

Figura 13. Circuito para acondicionar la señal entregada por los sensores de corriente.

Con el circuito de la figura anterior se puede realizar el muestreo de la señal para calcular el Vpp
pero se encontró una dificultad y es que el cálculo no coincidía con el del equipo patrón (osciloscopio)
causando que la tarjeta detectase la activación de una carga cuando en realidad estaba apagada o
viceversa.
Este comportamiento se debía a que el ADC del microcontrolador es sensible al ruido, lo cual afecta
la medida y se llegó a esta conclusión tras las pruebas realizadas. Por lo tanto, se implementó la
siguiente solución por software.
Se incluyó una ecuación de corrección que permitiese disminuir el error. Para esto, a cada uno de
los sensores se le calculó una ecuación dado que sus propiedades intrínsecas no son las mismas y
sería erróneo asumir la misma para cada sensor de corriente. En cada sensor se aplicó el siguiente
procedimiento:
Ecuación de corrección
Primero se registraron en una tabla los Vpp entregados por el equipo patrón y el ESP32. El cual se
calcula como se describe el diagrama de flujo de la figura 14.
Figura 14. Diagrama de flujo para el cálculo del Vpp.

Con esta información se obtuvo una ecuación que permite aproximar los datos sensados a los del
equipo patrón. En las siguientes tablas se presentan los resultados obtenidos para cada uno de los
sensores. También se muestran las ecuaciones obtenidas con sus respectivas gráficas.
Para realizar las mediciones del Vpp, se varió la cantidad de cargas conectadas y por ende la
corriente. En la columna con nombre “Error 1” se registró el error previo a aplicar la ecuación de
ajuste y en “Error 2” después de aplicarla.

SENSOR A0 (G32)
CANTIDAD DE Vpp Vpp Error 1 Corrección Error 2
BOMBILLOS PATRÓN ESP32
0 7.81E-02 1.561E-02 8.00E- 8.197E-02 0.003840226
01
1 3.52E-01 2.810E-01 2.01E- 3.824E-01 0.030807056
01
2 5.86E-01 4.295E-01 2.67E- 5.505E-01 0.035397736
01
3 9.38E-01 7.973E-01 1.50E- 9.668E-01 0.029306697
01

Tabla 2. Datos para cálculo de la ecuación de corrección del sensor de corriente A0.
Figura 15. Gráfica y ecuación de corrección para el sensor de corriente A0.
SENSOR A1 (G33)
CANTIDAD DE Vpp PATRÓN Vpp ESP32 Error 1 Corrección Error 2
BOMBILLOS
0 7.81E-02 1.10E-01 4.08E-01 2.05E-01 1.62E+00
1 3.52E-01 2.32E-01 3.40E-01 3.53E-01 3.66E-03
2 6.25E-01 4.63E-01 2.59E-01 6.33E-01 1.31E-02
3 8.59E-01 6.85E-01 2.03E-01 9.03E-01 5.02E-02

Tabla 3. Datos para cálculo de la ecuación de corrección del sensor de corriente A1.

Figura 16. Gráfica y ecuación de corrección para el sensor de corriente A1.


SENSOR A2 (G34)
CANTIDAD DE Vpp PATRÓN Vpp ESP32 Error 1 Corrección Error 2
BOMBILLOS
0 7.81E-02 1.50E-02 8.08E-01 8.96E-02 1.47E-01
1 3.52E-01 2.25E-01 3.60E-01 3.44E-01 2.05E-02
2 5.86E-01 4.10E-01 3.00E-01 5.69E-01 2.91E-02
3 8.59E-01 6.60E-01 2.32E-01 8.72E-01 1.49E-02

Tabla 4. Datos para cálculo de la ecuación de corrección del sensor de corriente A2.
Figura 17. Gráfica y ecuación de corrección para el sensor de corriente A2.

SENSOR A3 (G35)
CANTIDAD BOMBILLOS Vpp PATRÓN Vpp ESP32 Error 1 Corrección Error 2
0 7.81E-02 1.28E-01 6.38E-01 1.37E-01 7.54E-01
1 3.52E-01 2.39E-01 3.20E-01 2.85E-01 1.90E-01
2 5.86E-01 4.56E-01 2.22E-01 5.73E-01 2.18E-02
3 8.59E-01 6.87E-01 2.01E-01 8.80E-01 2.42E-02

Tabla 5. Datos para cálculo de la ecuación de corrección del sensor de corriente A3.

Figura 18. Gráfica y ecuación de corrección para el sensor de corriente A3.

Como se puede observar en cada una de las tablas, después de aplicar la ecuación de corrección el
error disminuye y se implementaron cada una de estas en el código, lo cual permitió eliminar los
problemas que se tenían con el cálculo del Vpp. Finalmente, para el código este proceso de ajuste
se puede observar en el diagrama de flujo de la figura 19.
Figura 19. Diagrama de flujo para el cálculo del Vpp correcto o corregido.

7.1.2. Detección de cambios en las salidas del PLC

Después de explicar la metodología implementada para la caracterización de los sensores de


corriente, se realizó la lectura de cada sensor mediante una función que entregaba como resultado
el Vpp y definía uno de los dos estados posibles de las salidas (activada o desactivada).

7.1.3. Detección de cambios en las entradas del PLC

Dado que la mayoría de los sensores industriales operan en niveles de 0V a 24V, para detectar su
activación, se implementó un divisor de tensión que reduce el nivel de la entrada y después se
conectó a un amplificador operacional en modo seguidor para que entre en saturación en caso de
superar el voltaje de polarización. Ver el circuito de la figura 20.

Figura 20. Circuito para la detección de las entradas del PLC.


En el sistema desarrollado se pueden conectar máximo 6 entradas y por cada una se requiere un
ADC. El ESP32 dispone de 2 canales ADC, el primero tiene 6 puertos ADC y el segundo dispone de
10.
En la página web oficial del fabricante [34] se indica que el canal 2 del ADC se deshabilita cuando
se usa el módulo WiFi del ESP32, ver figura 21.

Figura 21. Limitaciones del uso del ADC del ESP32 [34].

Como los cuatro sensores de corriente se encuentran conectados al canal uno y se requerían de 6
adicionales para las entradas, se optó por usar los puertos ADC de un microcontrolador
ATMEGA328P, el cual muestrea las entradas y las clasifica. Luego envía el resultado de la
clasificación al ESP32 mediante comunicación SPI. En la tabla 6 se presentan los pines del canal
SPI para ambos microcontroladores.

Nombre del pin SPI Función Pin en el ATMEGA328P Pin en el ESP32


MISO Master in - Slave out 18 GPIO19
MOSI Master out - Slave in 17 GPIO23
SCLK Clock 19 GPIO18
CS Chip select 16 GPIO2

Tabla 6. Pines para la conexión de los microcontroladores ATMEGA28P y el ESP32.

7.2 Conexión a internet

La tarjeta IoT se enlaza a internet mediante un interfaz WiFi, para lo cual almacena el nombre y clave
de una red por defecto, a la que intenta conectarse cada vez que se enciende o reinicia el dispositivo.

Pero puede suceder que las credenciales de la red cambien por lo cual, al intentar conectarse, no
sería posible. A raíz de este problema se buscó un método que permita al usuario modificar la
información, sin tener que intervenir directamente en el código de la tarjeta IoT.
Configuración como punto de acceso, ante imposibilidad de
7.2.1.
conexión a red WiFi

Al no poder conectarse a una red específica, el prototipo se configura como un servidor web (punto
de acceso) es decir, crea su propia red a la cual se puede conectar cualquier dispositivo wifi cercano,
ver figura 22. Este proceso de configuración como punto de acceso se inicia tras 5 intentos fallidos
de conexión a la red que ya se tenía guardada por defecto, durante este proceso la tarjeta tiene un
led de color amarillo el cual estará parpadeando y se apagará cuando el dispositivo se conecte a
internet.

Figura 22. Tarjeta IoT como punto de acceso.

En la tabla 7 están las credenciales de la red creada por el dispositivo.

Nombre de la red Contraseña

SU RED 123456789

Tabla 7. Credenciales de la red cuando la tarjeta IoT se configura como punto de acceso.
Figura 23. Conexión a la red del dispositivo desde un teléfono móvil.

Ya que la tarjeta se configura como servidor, esta carga una página web, a la cual se accede
mediante la URL: http://192.168.4.1/. En la figura 23 se muestra la conexión a la red propia de la
tarjeta y en las figuras (24, 25) se presenta el aspecto que tiene la página, con la cual se puede
ingresar el nombre y contraseña de la nueva red.

Figura 24. Página web para ingresar las credenciales de una nueva red WiFi vista desde un
teléfono móvil.
Figura 25. Página web para ingresar las credenciales de una nueva red WiFi vista desde un
computador.

Después el navegador envía una solicitud HTTP al dispositivo, la cual es procesada, leída e
interpretada para así poder modificar la información previa y por último la tarjeta se reinicia para
poder conectarse a la nueva red. En la figura 26, se presenta el diagrama de flujo que describe el
proceso de conexión a internet.

Figura 26. Diagrama de flujo para establecer conexión a internet.


7.2.2. Conexión y envió de datos a bróker MQTT

Después de establecer conexión a internet, se realiza él envío de los datos a un bróker MQTT
mediante la suscripción a un tópico. Cuando otro dispositivo con acceso a internet se conecta al
bróker MQTT, puede supervisar el estado de los sensores y actuadores controlados por el PLC de
forma remota, en la figura 27 se presenta la arquitectura del sistema descrito.
Como se pueden tener múltiples tarjetas IoT para poder diferenciar a qué dispositivo pertenece la
información que llega al bróker MQTT, se pueden crear tópicos que lleven por nombre la dirección
MAC del dispositivo, el cual es un identificador único.

Figura 27. Estructura del protocolo MQTT para la supervisión remota del PLC.

Para este proyecto se usó la aplicación MQTTLens, la cual permite la conexion a un bróker MQTT.
En la figura 28 se muestra la configuración del broker.

Figura 28. Creación de nueva conexión a bróker MQTT desde MQTTLens.


Después se creó el tópico (“3c61052fc7e0”), el cual se observa en la parte inferior de la figura 29. A
este llegan todos los datos enviados por la tarjeta IoT.

Figura 29. Creación y suscripción a tópico.

Codificación de la información en formato JSON

Cuando la tarjeta IoT envía el estado de las salidas y entradas al bróker MQTT, codifica la
información en un JSON, el cual es un formato de texto ligero para el intercambio de datos. Este se
usa comúnmente en aplicaciones donde se requiere intercambiar información entre servidores y
clientes web [35].

Este formato se compone de dos estructuras:

- Una lista de valores, generalmente puede ser un arreglo, matriz o secuencia.


- Un conjunto de nombres o etiquetas, lo cual se puede asociar a un objeto, lista, estructura,
registro o tabla.

Cuando se usa un JSON, se crean colecciones de pares de datos con la forma (<etiqueta>:<valor>),
separados por comas y todos entre llaves [35 ]. Para la tarjeta IoT, se usa una función que encapsula
en un formato JSON la variable que almacena los estados de las entradas y salidas del PLC. A
continuación, se presenta un ejemplo del formato del JSON que emplea el dispositivo, donde las
palabras de color azul son las etiquetas y los números son los estados.

{"sensor1":"1","sensor2":"0","sensor3":"0","sensor4":"1","entradas":"55"}

En la figura 30 se presenta el diagrama de flujo para la codificación de los datos en formato JSON.
Figura 30. Diagrama de flujo para encapsular en formato JSON.

7.3 Gestión de la información

7.3.1. Almacenamiento de información en base de datos

Después de que la información es enviada al bróker MQTT, se puede acceder a esta desde un
ordenador para posteriormente ser almacenada en una base de datos. Tal como se observa en la
figura 31. Donde mediante phpMyAdmin, un gestor de bases de datos MySQL, se creó una tabla que
almacena el estado de las salidas y las entradas del PLC en tiempo real.

Figura 31. Bases de datos para almacenar la información que envía la tarjeta IoT.

Cada que se genere un cambio en los estados del PLC automáticamente el dispositivo hace él envió
de la información para que se guarde en la base de datos y como en esta queda registrado la fecha
y hora de cada dato entrante, se puede llevar un registro periódico de los cambios lo cual facilita el
monitoreo remoto en tiempo real.
Visualización del estado actual de las entradas y salidas,
7.3.2.
mediante interfaz gráfica

Con la información guardada en la base de datos, simultáneamente en el ordenador, para facilitar la


accesibilidad a la información se implementó una interfaz gráfica de usuario que permite visualizar
el estado de los sensores y actuadores conectados al PLC. Para esto mediante PyQt5 (biblioteca
gráfica) se diseñó una interfaz que al ejecutarse se conecta al tópico “3c61052fc7e0” del bróker
MQTT y recibe los datos que llegan desde la tarjeta IoT.

Dependiendo del estado de las lecturas de las entradas y salidas del PLC, mediante unos recuadros,
asigna a cada uno el color rojo que indica la desactivación o el verde para la activación, tal como se
observa en la figura 32. Se disponen de 6 entradas que van desde (I1) hasta (I6) y 4 salidas, desde
(Q1) a (Q4). En la figura 33 se presenta el diagrama de flujo para la ejecución de la interfaz gráfica.

Figura 32. Interfaz gráfica de usuario donde se visualizan los estados de las entradas y salidas del
PLC.
Figura 33. Diagrama de flujo para la interfaz gráfica de usuario.

7.4 Perdida de conexión a internet y almacenamiento de datos en memoria


micro SD

Ante la perdida de conexión a internet por parte del dispositivo, es necesario seguir almacenando la
información de los cambios que se produzcan en el PLC, durante el tiempo que se demore en
restablecer el servicio de conectividad. Para este fin se añadió un módulo micro SD en el cual se
pueden almacenar todos los datos de los estados y cuando se recupere la conexión,
automáticamente estos se envían a la base de datos. También se puede dar el caso donde ante el
reinicio o apagado forzoso del dispositivo puede que queden datos almacenados en la memoria y
cuando se vuelva a encender es importante que antes de iniciar con la captura y envío, se transmita
primero la información previa.

En la figura 34 se presenta el diagrama de flujo para el código que se encarga de la lectura y


almacenamiento en la memoria micro SD. Respecto al diagrama de flujo de la función
“establecer_conexion()”,ver la figura 26.
Figura 34. Diagrama de flujo para lectura y escritura de la memoria micro SD.

La lectura y escritura del módulo micro SD (ver figura 7), se realiza mediante comunicación SPI. En
este caso se emplearon los pines de la tabla 8 para realizar la conexión al ESP32.

Nombre del pin SPI Función Pin en el ESP32


MISO Master in - Slave out GPIO19
MOSI Master out - Slave in GPIO23
SCLK Clock GPIO18
CS Chip select GPIO2

Tabla 8. Pines para la conexión entre el módulo micro SD y el ESP32.

Para activar la comunicación, el pin de control (CS) se pone en alto y después se desactiva para
no generar interferencia con los demás elementos que estén conectados al bus de datos.
7.5 Conexión a PLC mediante interfaz RS485 y protocolo de comunicación
MODBUS

El prototipo también permite la conexión a internet para PLC’s que solo dispongan de una interfaz
de comunicación serial, por ello se incluyó un módulo RS485 y el protocolo de comunicación
MODBUS. De esta forma se puede establecer comunicación entre el PLC y el prototipo, en la figura
35 se observa la conexión de ambos dispositivos.

Figura 35. Conexión entre la tarjeta IoT y un PLC que posea interfaz de comunicación serial.

El módulo RS485, ver figura 36 dispone de lo siguientes pines y funciones, ver tabla 9.

Figura 36. Pines del módulo RS485.

Tabla 9. Pines y funciones del módulo RS485.

Dada la arquitectura cliente/ servidor del protocolo MODBUS, el intercambio de datos se realiza
mediante comunicación serial UART, donde la tarjeta IoT actúa como dispositivo esclavo y el PLC
como maestro. Para activar el módulo RS485 se usó el canal 2 del módulo UART del ESP32, tal
como se observa en la figura 37. Respecto a los pines de control DE y RE, estos se cortocircuitaron
ya que cuando uno se encuentra habilitado, el otro no, esto se debe a que en este caso la
comunicación es bidireccional.

Como la tarjeta IoT espera recibir del PLC los datos, para activar la recepción (RE) se hace con un
nivel bajo y después de finalizar, para desactivarla se pone un nivel alto. Estos niveles de activación
y desactivación se generan con uno de los pines del ESP32, en la figura 37 se muestran las
conexiones entre el microcontrolador y los pines del módulo RS485.

Figura 37. Conexión entré el ESP32 y los pines del módulo RS485.

Para realizar el cambio entre la conexión de un PLC que no disponga de interfaz de comunicación
serial y uno que sí la tenga, se añadió un interruptor con el cual se indica a la tarjeta el tipo de enlace
que se va a realizar. En la figura 38 se presenta un diagrama simplificado de la conexión de todos
los módulos que componen la tarjeta IoT, donde no se incluyen los acondicionamientos de señal.

Figura 38. Diagrama de conexión de cada módulo del dispositivo al ESP32.


8 RESULTADOS

Después de explicar el funcionamiento del prototipo, se establece un marco de pruebas que permitan
validar su funcionamiento. A continuación, se enuncia el objetivo de cada prueba.

Prueba de confiabilidad (con internet): Comprobar que los datos que se envían desde el
dispositivo, sea la misma cantidad que llega a la base de datos para verificar que no se pierda
información.

Prueba de confiabilidad (sin internet): Verificar que se garantice el almacenamiento ininterrumpido


de los datos en la memoria micro SD, cuando no hay conexión a internet y cuando se restablezca,
que la cantidad de datos disponibles en la memoria sea la misma que llega a la base de datos.

Prueba de registro de tiempo en la base de datos: Se espera que en esta prueba la base de datos
registre de forma correcta la hora de llegada de cada dato y ante la perdida de conexión a internet
se guarde el tiempo del último dato en llegar, al igual que el del primer dato que llegue tras restablecer
la conexión a la red.

Prueba de almacenamiento de datos en la memoria micro SD: Comprobar que la memoria micro
SD almacena los datos cuando no hay conexión a internet y que cuando se restablezca, la memoria
quede vacía.

Prueba de confiabilidad para conexión a PLC mediante interfaz RS485: Se espera que la
cantidad de datos que lleguen desde el PLC maestro sea la misma cantidad que se envía a la base
de datos.

Prueba de verificación de no alteración de los datos (con internet): Con esta prueba se espera
que los datos que se guardan en la base de datos si lleguen el orden que les corresponde y sin
alteraciones, tal como los envía el dispositivo.

Prueba de verificación de no alteración de los datos (sin internet): Al igual que la prueba anterior
con la excepción de que se espera que los datos almacenados en la memoria micro SD sean iguales
a los que se suben a la base de datos tras restablecerse la comunicación a internet.

Para realizar cada una de las pruebas se implementó el banco de pruebas que se observa en la
figura 39. Este banco dispone de tres bombillos incandescentes de 120V que simulan las cargas
conectadas al PLC y se accionan de forma manual, después cada bombillo se conectó a un sensor
de corriente, dejando uno solo sin carga; esto con el propósito de poder simular cuando no se tiene
una carga conectada. Para simular el voltaje de los sensores que se conectan al PLC, se dispuso de
una fuente de voltaje de 24V conectada a los pines de entrada del dispositivo.
Figura 39. Banco de pruebas para la tarjeta IoT.

Para simular la activación y desactivación de los sensores, se usó un dip-switch de 10 posiciones


con resistencias de pull down, en la figura 40 se observa a mejor detalle la conexión realizada.

Figura 40. Dip-switch con resistencias de pull down conectado a las entradas de la tarjeta IoT.
EJEMPLO DEL FUNCIONAMIENTO DE LA TARJETA IOT

Inicialmente se asume la siguiente entrada para los sensores, ver figura 41. Donde las entradas (I3)
e (I4) se encuentran activas y las restantes están desactivadas.

Figura 41. Entrada arbitraria para la tarjeta IoT.

Respecto a las salidas del PLC, se conectaron los bombillos a los sensores de corriente de Q1, Q3,
Q4 y Q2 se dejó sin carga. En la figura 42 se observa el encendido de estos.

Figura 42. Conexión de bombillos AC a la tarjeta IoT

La tarjeta IoT detecta estos cambios, tal como se observa en la figura 43 y procede a enviarlos a la
base de datos.

Figura 43. Datos que almacena el dispositivo tras detectar un cambio.

En la figura 44 se observa que el nuevo dato (recuadro rojo) se almaceno en una tabla que contiene
los estados de las salidas de (Q1 – Q4) al igual que las entradas, también se registra la fecha y hora
en la que llego la información.

Previamente se había mencionado que solo se enviaban datos cuando sucediera un cambio y si se
compara el último dato con el anterior no hubo cambio alguno, pero esto no constituye un error. Lo
que sucede es que si se observa detenidamente ambos datos tienen diferentes fechas lo cual indica
que el dispositivo se apagó el 19/08/2022 a las 18:50:38 y se volvió a encender el 24/08/2022 a las
13:53:32. Con lo anterior se debe mencionar que tan pronto como se enciende el dispositivo este
realiza una lectura inicial la cual interpreta como un cambio.

Figura 44. Dato guardado en la base de datos.

En cuanto a la interfaz gráfica de usuario, esta recibe la nueva información y la proyecta tal como
se observa en la figura 45.

Figura 45. Interfaz gráfica de usuario donde se observa los cambios detectados por la tarjeta IoT.
RESULTADOS DE LAS PRUEBAS

Después de mostrar el funcionamiento de la tarjeta IoT se procede a realizar las pruebas que siguen
la misma metodología del ejemplo anterior.

Prueba de confiabilidad (con internet)

Para esta prueba se generaron 100 cambios y se verificó que todos se almacenarán en la base de
datos. Cada cambio se realizó de forma rápida también para poder verificar que no existiera un
tiempo de retraso en la transmisión de la información. En la figura 46 se muestran los datos
almacenados donde se puede observar que entre cada dato si hubo un cambio, la recepción inicio a
las 18:25:47 del día 19/08/2022.

Figura 46. Almacenamiento de los cambios en la base de datos.

En la figura 47 se observan los últimos datos en llegar, finalizando las pruebas a las 18:29:52. Para
verificar la cantidad de cambios realizados, estos se imprimieron por la terminal virtual del dispositivo,
después se guardaron en un archivo .txt (ver figura 48), se contabilizaron y se comparó con el número
de guardados en la base de datos.
Figura 47. Últimos datos que se almacenaron en la base de datos.

Figura 48. Primeros 11 cambios detectados por la tarjeta IoT.


Prueba de confiabilidad (sin internet)

En esta prueba se procedió a desconectar el router wifi para que el dispositivo perdiese conexión a
internet y se realizaron 77 cambios, los cuales también se contabilizaron y se almacenaron en la
tarjeta micro SD. Para ello antes de comprobar la recepción de los cambios en la base de datos, se
verificó que si se guardaran en la memoria micro SD, tal como se observa en la figura 49.

Figura 49. Parte de los 77 datos almacenados en la tarjeta micro SD.

Después de contabilizar los datos almacenados en la memoria, esta se insertó de nuevo en el módulo
micro SD y se activó de nuevo el router para que se guardara toda la información en la base de
datos.

Prueba de registro de tiempo en la base de datos

En la tabla 1 de la base de datos (ver figura 47) se observa que el último dato llegó a las 18:29:52 y
al pasar a la tabla 2 (ver figura 50) el primer dato al igual que los restantes, llegaron a las 18:35:05,
lo cual sugiere que el tiempo de desconexión duro aproximadamente 5 minutos. Todos tienen el
mismo tiempo ya que tan pronto se restablece la conexión a internet, automáticamente el dispositivo
envía todos los datos almacenados en la tarjeta micro SD. Los 77 cambios se guardaron en la base
de datos.
Figura 50. Envío de la información guardada en la memoria micro SD, a la base de datos.

Prueba de almacenamiento de datos en la memoria micro SD

En esta prueba se desconectó el router WiFi para generar nuevos datos y antes de restablecer la
conexión a internet. Se extrajo la memoria del módulo micro SD para verificar que si se estuvieran
almacenando los datos, ver figura 51. En la parte superior de la imagen se observa que el archivo
.txt se llama “Pruebauno”.

Figura 51. Archivo .txt que se guarda en la memoria micro SD.

Después se insertó la memoria en el módulo micro SD, se restableció la conexión a internet y se


extrajo de nuevo para comprobar que el archivo .txt si quedara vacío y no con información sin enviar.
En la figura 52 se observa que el archivo está vacío.
Figura 52. Archivo .txt vacío después de enviarse la información a la base de datos.

Prueba de confiabilidad para conexión de PLC mediante interfaz RS485

Para simular la conexión entre el prototipo y un PLC, se usó el programa “Modbus Poll” el cual
permite simular un dispositivo maestro modbus y este se puede enlazar a dispositivos esclavos para
probar el protocolo MODBUS. En la figura 53 se presenta el entorno gráfico del programa.

Figura 53. Entorno gráfico del Modbus poll.

En Modbus poll se configura el identificador del dispositivo esclavo (ID), el rango de escaneo y la
cantidad de datos que se van a enviar, tal como se observa en la ventana principal de la figura 54.
Adicionalmente en el lado derecho de la figura se observan 5 datos que se ingresaron y se enviaron.
Los primeros cuatro corresponden a lecturas para las salidas del PLC, el quinto para las entradas y
por defecto el sexto dato es cero.
Figura 54. Configuración de conexión con dispositivo esclavo en Modbus Poll.

Cada vez que se enviaban datos desde el dispositivo maestro al prototipo, solo se enviaba
información a la base de datos si sucedían cambios, ver figura 55.

Figura 55. Información que llegaba a la tarjeta desde el dispositivo maestro, mediante protocolo de
comunicación MODBUS.

En la figura 56 se presentan los datos de la figura anterior, guardados en la base de datos.

Figura 56. Almacenamiento de la información en la base de datos.


Prueba de verificación de no alteración de los datos (con internet)

A parte de comparar la cantidad de cambios enviados desde el prototipo y los que se guardan en la
base de datos, es necesario verificar que los datos no se vean alterados y si lleguen en el orden
correcto. Con lo anterior en esta prueba se tuvieron en cuenta los datos de la primera prueba donde
se generaron 100 cambios y se compararon con los de la base de datos. En la figura 57 en lado
izquierdo se observa una sección de los datos enviados desde el prototipo y en el lado derecho, la
misma información, pero ya almacenada en la base de datos.

En la figura 57 se observa que el orden de llegada a la base de datos es el mismo en el que se envía
desde el prototipo, adicionalmente se visualiza que el tiempo es ascendente lo que indica una
continuidad en la transmisión y recepción de la información, la cual no sufre ninguna alteración. En
la imagen se presenta una sección de los 100 datos que va desde el número 15 al 27. En la base de
datos se muestran 4 datos adicionales.

Figura 57. Comparativa entre los datos enviados desde el dispositivo y los almacenados en la base
de datos.
Prueba de verificación de no alteración de los datos (sin internet)

Para esta prueba se consideraron los datos almacenados en la memoria micro SD cuando se perdió
la conexión a internet, ver figura 51. Después de que se restableció la conexión a la red, se subieron
a la base de datos y se procedió a verificar que la información no estuviese alterada, tal como se
observa en la figura 58. En el lado izquierdo resaltado por el recuadro rojo se aprecia una sección
de los datos de la memoria y en el lado derecho también dentro del recuadro rojo, se ven estos
mismos datos ya almacenados, los cuales no sufrieron ningún cambio y conservan su orden.

Figura 58. Comparativa entre los datos almacenados en la memoria y los enviados a la base de
datos.
9 ANÁLISIS DE RESULTADOS

Los datos obtenidos en cada una de las pruebas a excepción de la prueba de registro de tiempo (3)
se consignaron en la tabla 10.

Tabla 10. Datos obtenidos para cada prueba.

Con los datos de la tabla 10, se obtuvieron los siguientes resultados:

- Para la prueba 1 se aprecia que de 100 datos que se enviaron, 98 se guardaron en la base de
datos, lo cual da un porcentaje de acierto del 98%. El cálculo del error porcentual se realizó mediante
el procedimiento a continuación, ver ecuación 1.

100 𝑑𝑎𝑡𝑜𝑠 𝑞𝑢𝑒 𝑙𝑙𝑒𝑔𝑎𝑛 → 100% é𝑥𝑖𝑡𝑜


98 𝑑𝑎𝑡𝑜𝑠 𝑞𝑢𝑒 𝑙𝑙𝑒𝑔𝑎𝑛 → 𝑋

96 ∗ 100%
𝑋= = 98% (1)
100

Con este resultado se demuestra que el sistema es confiable ya que su porcentaje de acierto es del
98% lo cual garantiza que la gran mayoría de los datos se almacenan en la base de datos. Esto
indica un constante envío de la información sin mayores dificultades, sin embargo, al perderse dos
datos esto sugiere que pueden existir algunos factores que afecten el canal de comunicación como
lo pueden ser la velocidad de transmisión de los diferentes protocolos de comunicación del prototipo
o la red WiFi. Por esta razón se podrían implementar pruebas más rigurosas que permitan identificar
en qué condiciones se pierden datos y cómo evitarlas.

- Respecto a la segunda prueba cuando no hay conexión a internet es importante garantizar que no
se pierdan datos y que su registro sea continuo. Por esta razón en la tabla se observa que de 77
datos generados mientras no había internet, después de restablecerse la conexión todos se
guardaron en la base datos, arrojando como resultado un porcentaje de acierto del 100%.

Lo cual indica que el código responde rápido al momento de detectar la desconexión a la red de
internet y en esta transición, no quedan datos sin guardar en la memoria.
- Para la prueba tres como se observa en la tabla 10, en la memoria no quedaron datos disponibles
después de que el prototipo recuperara la conexión a internet, dado que previamente disponía de 37
datos. Se obtuvo una confiabilidad del 100%, lo que garantiza al usuario del dispositivo que la
información almacenada durante el tiempo de desconexión no se perderá y toda se cargará a la base
de datos.

Con esta prueba se demuestra que el código del prototipo es óptimo al momento de validar
inicialmente si existe información almacenada en la memoria micro SD y en caso de si tener, procede
a enviarla a la base de datos, antes de continuar con la adquisición de nuevos datos.

- En la prueba 5 también cómo se visualiza en la tabla 10, de 23 datos enviados desde el PLC
mediante el protocolo de comunicación MODBUS, solo llegaron 20 de estos, lo cual arroja una
confiabilidad del 87%. Esta pérdida de datos sugiere que a nivel de código puede que exista un
problema entre la librería que recibe e interpreta la información que llega vía conexión RS485 o que
la comunicación UART del módulo presenta alguna interferencia en su conexión al microcontrolador
de la unidad de control.

Aun así, la confiabilidad al estar por encima del 85% es un buen indicador de que el prototipo si
cumple con la tarea de poder conectarse a un PLC para recibir la información proveniente de este y
enviarla a la base de datos.

- Para las pruebas 6 y 7, en ambas se obtuvo una eficiencia del 100% al momento de evaluar que la
información almacenada en la base de datos no sufriera alteraciones. Esto demuestra que los
acondicionamientos de señal, caracterización, muestreo y clasificación de las señales entregadas
por los sensores si funcionan, ya que esto evita la aparición de información que no corresponda a la
clasificación del estado de las entradas y salidas del PLC.

Adicionalmente la correcta generación de datos lleva a la identificación de cambios, de los cuales


depende el envío a la base de datos y para ambas pruebas, aparte de llegar los datos sin alteraciones
también llegaron en el mismo orden en que se enviaron. Con esto se demuestra que el prototipo da
fiabilidad de la información almacenada.
10 CONCLUSIONES

Se diseñó y construyó el prototipo de una interfaz de comunicación a internet para PLC que permite
enviar el estado en que se encuentran sus entradas y salidas. Este sistema permite almacenar y
monitorear en tiempo real la activación de sensores y actuadores para ser enviado a internet. El
sistema se compone de dos módulos para la adquisición de datos, uno para detectar los cambios a
las entradas del PLC y otro conectado a las salidas; en ambos módulos fue necesario realizar un
acondicionamiento de señal. Adicionalmente se cuenta con un sistema de respaldo de
almacenamiento de la información, en caso de que se pierda la conexión a internet. Todo esto se
realizó mediante el protocolo MQTT y se almacenan la información en una base de datos.

El prototipo desarrollado es confiable ya que tiene un porcentaje de acierto en el envío y


almacenamiento de datos del 98% cuando se tiene una conexión a internet y cuando se pierde la
conexión este porcentaje es del 100%.

El dispositivo se puede conectar a un PLC que disponga de una interfaz de comunicación serial
mediante protocolo MODBUS, para la recepción y transmisión de información a la base de datos. En
base a las pruebas realizadas se obtuvo un porcentaje de acierto del 87%.

El sistema de almacenamiento desarrollado funciona de forma correcta ya que en la memoria micro


SD queda la información mientras que se recupera la conexión a internet, cuando se vuelve a
conectar el sistema envía todos los datos.

El sistema está en la capacidad de conectarse automáticamente a internet y ante la posibilidad de


no detectar la red WiFi que ya tiene guardada por defecto permite añadir una nueva red de forma
sencilla, mediante la configuración del prototipo como punto de acceso. Esta funcionalidad se añadió
pensando en el consumidor final, de tal manera que fuera un proceso fácil de realizar.

La interfaz gráfica de usuario que se diseñó cumple con los requisitos de monitorear la información
en tiempo real. Esta aplicación se puede ejecutar desde diferentes sistemas de cómputo, lo cual
facilita el acceso a la información.
11 TRABAJOS FUTUROS

Incorporar en la tarjeta un módulo ethernet para la conexión mediante cable y así no solo depender
de conexión WiFi.

Como solo se disponen de 6 puertos para las entradas y 4 para las salidas del PLC, en caso de que
se requieran más, diseñar un módulo expansor de puertos.

Incorporar el cálculo de ciertas variables que puedan ser de utilidad para el usuario. Como por
ejemplo a partir de los sensores de corriente, se podría calcular la potencia que consumen las cargas
durante ciertos periodos de tiempo. Esto con el propósito de poder obtener la mayor utilidad del
hardware disponible.

Mejorar la interfaz gráfica para que sea más interactiva donde el usuario pueda añadir información
relevante del proceso que está controlando el PLC.
12 BIBLIOGRAFÍA

[1]. Andrei Tapalaga. "How the Industrial Revolution Changed the World As We Knew It. "HISTORY
OF YESTERDAY. May 19, 2020. Medium. September 18, 2021 https://historyofyesterday.com/how-
the-industrial-revolution-changed-the-world-as-we-knew-it-b4cb0a0a8e3.

[2]. Furore. "3 Sectores de la industria en Colombia que están invirtiendo en tecnología 4.0. "Furore.
Junio 11, 2019. Septiembre 18, 2021 https://furore.co/conoce-los-3-sectores-de-la-industria-en-
colombia-y-el-mundo-que-estan-invirtiendo-en-tecnologia-4-0/.

[3]. REPORTERO INDUSTRIAL. "Corona reconocida como la empresa industrial con mejor
reputación de Colombia. ". Noviembre de 2020. REPORTERO INDUSTRIAL. Septiembre 18, 2021
https://www.reporteroindustrial.com/temas/Corona-reconocida-como-la-empresa-industrial-con-
mejor-reputacion-de-Colombia+136158.

[4]. Bancolombia. "Industria 4.0 en Colombia impulsa la reactivación económica. "Grupo


Bancolombia. Enero 22, 2021. Grupo Bancolombia. Septiembre 18, 2021
https://www.grupobancolombia.com/wps/portal/negocios/actualizate/tendencias/industria-4-0-
colombia.

[5]. MinTIC. "MinTIC lanza su estrategia para que las Mipyme entren a la Economía Digital con una
inversión de $47.000 millones. "mintic.gov.co. Junio 27, 2020. Ministerio de Tecnologías de la
Información y Comunicaciones. Septiembre 18, 2021 https://mintic.gov.co/portal/inicio/Sala-de-
Prensa/Noticias/145832:La-oferta-del-MinTIC-para-fortalecer-a-las-mipyme-colombianas.

[6]. Ministerio de Tecnologías de la Información y Comunicaciones. "Aspectos básicos de la industria


4.0." Oficina asesora de planeación y estudios sectoriales 2019: 43.

[7]. Siemens AG. "Controladores básicos SIMATIC S7-1200. "New.siemens. 2021. Siemens AG.
Septiembre 19, 2021
https://new.siemens.com/mx/es/productos/automatizacion/systems/industrial/plc/s7-1200.html.

[8]. RIEVTECH. "About Rievtech. "Rievtech tailored micro - automation solutions. 2014. Rievtech.
September 19, 2021 https://www.rievtech.com/aboutus.html.

[9]. Rockwell Automation. "Controladores CompactLogix 5480. "Rockwell Automation - Allen bradley.
2021. Rockwell Automation. Septiembre 19, 2021 https://www.rockwellautomation.com/es-
co/products/hardware/allen-bradley/programmable-controllers/small-controllers/compactlogix-
family/compactlogix-5480-controllers.html.

[10]. Rosado-Muñoz, Alfredo, et al. "Web monitoring system and gateway for serial communication
PLC." IFAC Proceedings Volumes 45.4 (2012): 296-301.

[11]. LONWORKS. "Building a LonTalk - to - PLC Gateway." LONWORKS Engineering BulletinMay


(1994): 62. Echelon.

[12]. SATOSHI. "¿Qué es un SoftPLC?. "Opiron. Noviembre 27, 2017. Opiron. Septiembre 09, 2021,
https://www.opiron.com/que-es-un-softplc-ventajas/.
[13]. John, Asha, et al. "Automation of 11 kv substation using raspberry pi." 2017 International
Conference on Circuit, Power and Computing Technologies (ICCPCT). IEEE, 2017.

[14]. Lokman, Tayeb Bin, Mohammad Touhidul Islam, and Mouslah Uddin Apple. "Design &
Implementation Of IoT Based Industrial Automation System." 2020 11th International Conference on
Computing, Communication and Networking Technologies (ICCCNT). IEEE, 2020.

[15]. Hossain, Md Sanwar, et al. "A smart IoT based system for monitoring and controlling the sub-
station equipment." Internet of things 7 (2019): 100085.

[16]. Joshi, Ramesh, et al. "IoT application for real-time monitor of PLC data using EPICS." 2016
International Conference on Internet of Things and Applications (IOTA). IEEE, 2016.

[17]. Gonzalo, Zuluaga Botero Juan, Herrera Cuartas Jorge Aurelio, and Serna Garces Sergio
Ignacio. "Gateway for Profibus communication between a PLC and embedded system." 2014 XIX
Symposium on Image, Signal Processing and Artificial Vision. IEEE, 2014.

[18]. Liang, Quan, and Li Li. "The study of soft PLC running system." Procedia Engineering 15 (2011):
1234-1238.

[19] i-SCOOP. 2022. Industry 4.0 and the fourth industrial revolution explained. [online] Available at:
https://www.i-scoop.eu/industry-4-0/. [Accessed 17 June 2022].
[20] S. Gillis, Alexander, 2022. What is IoT (Internet of Things) and How Does it Work? - Definition
from TechTarget.com. [online] IoT Agenda. Available at:
https://www.techtarget.com/iotagenda/definition/Internet-of-Things-IoT. [Accessed 17 June 2022].
[21] Catchpoint.com. 2022. The Guide to MQTT Broker. [online] Available at:
https://www.catchpoint.com/network-admin-guide/mqtt-broker. [Accessed 17 June 2022].
[22] TechTalk Blog. 2021. What Is a Programmable Logic Controller (PLC)?. [online] Available at:
https://www.polycase.com/techtalk/electronics-tips/what-is-a-programmable-logic-controller.html.
[Accessed 17 June 2022].
[23] Jost, D., 2019. What is a sensor?. [online] Fierce Electronics. Available at:
https://www.fierceelectronics.com/sensors/what-a-sensor. [Accessed 17 June 2022].
[24] Electronics Tutorials. 2022. Analogue to Digital Converter. [online] Available at:
https://www.electronics-tutorials.ws/combination/analogue-to-digital-converter.html. [Accessed 17
June 2022].
[25] Campbell, S., 2022. Basics of the SPI Communication Protocol. [online] Circuit Basics. Available
at: https://www.circuitbasics.com/basics-of-the-spi-communication-protocol/. [Accessed 17 June
2022].
[26] Weis, O., 2019. Todo sobre Modbus RTU: guía avanzada de comunicación Modbus RTU.
[online] Virtual Serial Port Driver. Available at: https://www.virtual-serial-port.org/es/articles/modbus-
rtu-guide/#1. [Accessed 17 June 2022].
[27] ProtoSupplies. 2022. LM324 Quad Op-Amp - ProtoSupplies. [online] Available at:
https://protosupplies.com/product/lm324-quad-op-amp/. [Accessed 17 June 2022].
[28] Allegromicro.com. 2022. ACS712: Hall-Effect-Based Linear Current Sensor IC. [online] Available
at: https://www.allegromicro.com/en/products/sense/current-sensor-ics/zero-to-fifty-amp-integrated-
conductor-sensor-ics/acs712. [Accessed 17 June 2022].
[29] Circuit Schools. 2022. What is ESP32, how it works and what you can do with ESP32? - Circuit
Schools. [online] Available at: https://www.circuitschools.com/what-is-esp32-how-it-works-and-what-
you-can-do-with-esp32/. [Accessed 17 June 2022].
[30] UNIT Electronics. 2022. Convertidor TTL a RS485 - UNIT Electronics. [online] Available at:
https://uelectronics.com/producto/convertidor-ttl-a-rs485/. [Accessed 17 June 2022].
[31] Sigma Electrónica. 2022. ATMEGA328P-PU - Sigma Electrónica. [online] Available at:
https://www.sigmaelectronica.net/producto/atmega328p-pu/. [Accessed 17 June 2022].
[32] "Geek Factory", Gogeekfactory.com, 2022. [Online]. Available: https://www.gogeekfactory.com/.
[Accessed: 18- Jun- 2022].
[33] Lastminuteengineers.com, 2022. [Online]. Available: https://lastminuteengineers.com/arduino-
micro-sd-card-module-tutorial/. [Accessed: 18- Jun- 2022].
[34] Espressif, 2022. [Online]. Available: https://docs.espressif.com/projects/esp-
idf/en/v4.4.1/esp32/api-reference/peripherals/adc.html. [Accessed: 1- Sept - 2022].
[35] Rockcontent Blog. 2022. [Online]. Available: https://rockcontent.com/es/blog/archivo-json/.
[Accessed: 1- Sept - 2022].
[36] Protosupplies. LM324 Quad Op-Amp. 2022.[Online]. Available:
https://protosupplies.com/product/lm324/.
[37] Sensakey. ACS712 ELC-05B MÓDULO SENSOR HALL DE CORRIENTE DE 5 AMP. 2022.
[Online]. Available:
https://sensakey.com/sensorica/acs712elc-05b-modulo-sensor-hall-de-corriente-de-5-amp/gmx-
niv516-con8922.htm.
[38] Components101. ATMega328P Microcontroller. 2020. [Online]. Available:
https://components101.com/microcontrollers/atmega328p-pinout-features-datasheet.

También podría gustarte