SciELO - Scientific Electronic Library Online

 
vol.14 número3Estrategia de pruebas para organizaciones desarrolladoras de softwareAspectos claves para la informatización y el Gobierno Electrónico índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

  • No hay articulos citadosCitado por SciELO

Links relacionados

  • No hay articulos similaresSimilares en SciELO

Compartir


Revista Cubana de Ciencias Informáticas

versión On-line ISSN 2227-1899

Rev cuba cienc informat vol.14 no.3 La Habana jul.-set. 2020  Epub 01-Sep-2020

 

Artículo original

Programación de un controlador lógico difuso en un PLC M241: Aplicación práctica a un túnel de lavado industrial de textil

Programming a fuzzy logic controller in a PLC M241: Practical application for an industrial textile washing machine tunnel

Manuel Israel Gómez Borges1  * 
http://orcid.org/0000-0003-1108-3430

Adriana Virginia Acosta Corzo1 
http://orcid.org/0000-0002-4810-316X

Yaniel Fundora Curbelo1 
http://orcid.org/0000-0001-9698-1517

1Departamento de Automática y Computación, Facultad de Automática y Biomédica, Universidad Tecnológica de la Habana. m.gomez@irc.cu, adriana.virginia@cujae.edu.cu, yfundora@automatica.cujae.edu.cu

RESUMEN

En este artículo se presenta un nuevo sistema de dosificación automática de productos químicos en correspondencia al grado de suciedad del tejido para un túnel de lavado industrial de textil. Para ello fue desarrollado un caso práctico de un sistema de control automático difuso que selecciona la receta más eficaz de dosificación. El controlador fue sintetizado en dos variantes: una utilizando el asistente matemático conocido como Matlab® y otra empleando un programa en el lenguaje de texto estructurado para controladores lógicos programables. Los resultados se compararon a través de simulaciones obteniendo resultados muy provechosos con respecto a los programas preestablecidos por el usuario.

Palabras clave: controlador lógico programable; lógica difusa; texto estructurado; IEC 61131-7; dosificación

ABSTRACT

This article presents a new system for automatic dosing of chemical products according to the degree of dirtiness of the fabric for an industrial textile washing machine tunnel. For this purpose, a practical case of a diffuse automatic control system that selects the most effective dosage recipe was developed. The controller was synthesized in two variants: one using the mathematical assistant known as Matlab® and another using a program in the structured text language for programmable logic controllers. The results were compared through simulations obtaining very profitable results with respect to the programs pre-established by the user.

Keywords: Programmable logic controller; fuzzy logic; structured text; IEC 61131-7; dosage

INTRODUCCIÓN

La automatización de los procesos industriales es una tecnología que está relacionada con el empleo de sistemas mecánicos-eléctricos basados en computadoras para la operación y control de la producción, la cual constituye uno de los objetivos más importantes de las empresas en la siempre incesante tarea de la búsqueda de la competitividad en un entorno cambiante y agresivo. Históricamente los objetivos de la automatización han sido el procurar la reducción de costos de fabricación, una calidad constante en los medios de producción, y liberar al ser humano de las tareas tediosas, peligrosas e insalubres. Desde los años 60 debido a la alta competitividad empresarial y a la alta internacionalización creciente de los mercados, estos objetivos han sido ampliamente incrementados (Ordax, 2005).

Para esto en el sector turístico se crearon a finales de los años sesenta los túneles de lavado. Un túnel de lavado es una máquina de lavandería industrial diseñada específicamente para el tratamiento de grandes cantidades de ropa. Esta máquina consiste en un tubo metálico alargado, donde una espiral enorme recorre el centro del túnel y lo divide en secciones llamadas "compartimentos" o "módulos". Al principio, uno de los mayores inconvenientes de esta máquina era la necesidad de utilizar una misma fórmula de lavado para todos los artículos. Este problema se ha resuelto informáticamente utilizando diferentes programas de lavado para cada tipo de prenda, diferenciando la cantidad de productos químicos, las temperaturas de aguas de lavado y los tiempos de proceso.

En la actualidad la selección del grado de suciedad de las prendas se realiza por operarios, a simple vista, basándose en el conocimiento empírico. Con el tiempo se convierte en una actividad rutinaria, que pudiera atentar contra la calidad y rendimiento del lavado (Gómez, 2017). Se ha podido constatar que existe muy poca bibliografía con respecto al desarrollo de automatismos en sistemas de dosificación para túneles de lavado industrial de textil. Fabricantes como MIELE, SIEMENS y BOSCH si han desarrollado este tipo de programación, pero para lavadoras automáticas domésticas.

Actualmente el controlador lógico programable (PLC) es utilizado en la industria para realizar control de sistemas basados en eventos y para el control de procesos continuos por medio de procedimientos en tiempo discreto. Algunos textos, definen al PLC como un miembro de la familia de los ordenadores, que utiliza circuitos integrados en lugar de dispositivos electromecánicos para implementar funciones de control. Ellos son capaces de manejar instrucciones de secuenciado, temporizado, conteo, aritmética, manipulación de datos, y comunicación, para controlar máquinas industriales y procesos (Prieto, 2011). Esto con el fin de poder implementar controladores avanzados para procesos complejos en la industria, aprovechándose los equipos instalados, sin necesidad de requerir de un controlador especial.

La lógica difusa (LD) es una rama de la inteligencia artificial (IA) (métodos y técnicas que se desarrollan para simular el intelecto humano en las computadoras) que se origina con el deseo de emular la forma del razonamiento humano que es aproximado, no cuantitativo y lingüístico. Esto se debe al hecho de que el mundo en que vivimos no es binario. Existen muchos estados entre viejo y joven, bueno y malo, bajo y alto, negro y blanco, etc. (Martin et al., 2001)

La metodología de lógica difusa, desarrollada a mediados de los años 60 por el ingeniero Lotfy A. Zadeh en la Universidad de Berkeley (California), llamada en sus inicios principio de incompatibilidad, para posteriormente reconocerla como lógica difusa, cuya descripción formula que: “Conforme la complejidad de un sistema aumenta, nuestra capacidad para ser precisos y construir instrucciones sobre su comportamiento, disminuye hasta el umbral más allá del cual la precisión y el significado son características excluyentes” (Zadeh, 1994). Se trata de una metodología bien conocida para modelar sistemas complejos o fuertemente no lineales. Los controladores difusos permiten introducir un enfoque humano al diseño de controladores, no requiriendo del modelado matemático de los métodos de diseño de controladores más usuales (Babuska, 2001). Es por esto por lo que los controladores difusos representan una alternativa efectiva y razonable a las técnicas de control clásicas en lo que a sistemas complejos se refiere.

La lógica difusa constituye una disciplina matemática con vastas aplicaciones en la actualidad entre la que encontramos: análisis de datos, predicción, modelado y control. Específicamente, se ha aplicado en (Ponce, 2010):

Identificación de procesos, control automático de velocidad de motores eléctricos, diagnóstico de fallos, robótica, controles de maniobras de aviones, climatización, ascensores, sistemas de estabilización de imágenes en cámaras fotográficas, videos y para la evaluación de proveedores en la adquisición de recursos (Vega et. al., 2018). También se le conocen aplicaciones domésticas tales como: lavadoras capaces de autorregular la cantidad de detergente y agua que requiere un determinado tipo de lavado, en dependencia del grado de suciedad y la cantidad de la ropa que tenga el tambor, entre otras funcionalidades; lavaplatos que ajustan el ciclo de lavado y enjuague a partir del número de platos y cantidad de comida adherida.

Para utilizar la LD con fines de control es necesario cumplir con las siguientes etapas:

  1. Fusificación: proceso que convierte un valor preciso en uno difuso.

  2. Inferencia difusa: mecanismo responsable de sacar conclusiones a partir de la base de conocimiento.

  3. Desfusificación: proceso de convertir la acción de control difusa en una precisa.

En el sistema desarrollado en este trabajo se trata de establecer cuan sucia está el agua que sale del lavado. La complejidad radica en que es necesario conocer la calidad del agua de entrada al primer módulo del túnel de lavado. Las fuentes de alimentación del agua de entrada son diversas y es por ello que se hace imprescindible decidir cómo se determinará la calidad de la misma, si midiendo el pH, conductividad o turbidez. La turbidez es una variable que caracteriza la materia en suspensión, y debido a que proviene de diferentes fuentes, esta es una fuerte opción a variable de entrada. Si la entrada fuera agua limpia, solo habría que tener en cuenta la turbidez del agua afluente del primer módulo. Para conseguir los objetivos propuestos, se comenzó realizando estudios físico-químicos al agua residual proveniente del tanque de recuperación total (TRT) del túnel de lavado y de la salida de su primer módulo (SM1); diferenciando su grado de suciedad (bajo, medio y alto) y el tipo de prenda de textil. Con esta información y las características encontradas en el agua residual, se llegó a la conclusión de que la turbidez es la más adecuada para establecer una correlación entre la suciedad de las prendas y la dosificación que se propone. Por esta razón se decidió utilizarla como entrada al sistema de control a diseñar.

Este proceso representa un sistema de control en lazo abierto, en el cual la variable de salida (variable controlada) que es la calidad final de la prenda lavada, no tiene efecto sobre la acción de control (variable de control) que es el porciento de dosificación del producto a utilizar.

En (Li et al., 1999; Karasakal et al., 2004; Karasakal et al., 2005; Ferdinando, 2007; Liu et al., 2009; Yahyaei et al., 2010; Guarnizo, 2011; González et al., 2014) se han realizado propuestas y validación de métodos basados en lógica difusa implementados en el PLC, en algunos se comparan los métodos difusos contra los convencionales (PID), donde los primeros presentan un mejor desempeño al controlar los diferentes sistemas analizados. En los documentos anteriores solo se muestran los resultados, pero no la forma en que se implementaron dichos sistemas difusos, excepto en (Ferdinando, 2007), donde se describe de forma detallada cómo implementar el controlador difuso en la plataforma del TSX 21-37, con el inconveniente de requerir un complemento adicional especial (plug-in) propiedad de la antigua empresa Telemecanique (adquirida por Scheneider Electric), para poder implementar el controlador difuso (Guarnizo, 2011; González et al., 2014) donde es presentada una comparación más completa en PLCs S7-300 y 1200 respectivamente, del sistema; con segmentos de código y con Simulink.

Varias han sido las referencias encontradas de trabajos con los PLC del fabricante Siemens, sin embargo, no se han logrado identificar aplicaciones similares para el fabricante Schneider Electric, por lo que lo novedoso de este trabajo consiste en tratar de recrear el procedimiento desde la selección de las variables de entrada, la implementación del controlador difuso y los resultados obtenidos.

Además, podría ser la introducción de lo que pudiera ser el primer bloque de lógica difusa para las plataformas de la gama Modicon 241 y 251 (conocidas como gama media), aunque existen bloques difusos disponibles en las plataformas de hardware de los modelos M340, Premium y Quantum (Schneider Electric, 2009) y algunos módulos Zelio Logic, todos perteneciente a las gamas baja y alta del fabricante Schneider Electric.

MÉTODOS O METODOLOGÍA COMPUTACIONAL

Para controlar el porciento de dosificación se diseñó un regulador difuso tipo Mamdani (Sivanandam et al. 2007) ya que se desea recorrer con la mayor precisión posible la escala de utilización de los productos utilizados para el lavado en el túnel en cuestión, aunque éste se puede convertir a Sugeno, como se describe en (Jassbi et al., 2007), dicho proceso consiste en aproximar el modelo Mamdani a partir de mínimos cuadrados o algoritmos evolutivos. De esta manera cualquier sistema de inferencia o control difuso se puede implementar por medio de un Takagi-Sugeno con un costo computacional menor.

La concepción de una base de reglas difusas es un proceso interactivo. La mayor parte del trabajo se encuentra al nivel de recopilación de conocimientos. Uno de los intereses de la lógica difusa es la posibilidad de validar la base de reglas junto a la obtención del informe, antes de testear sobre un sistema real (Chevrie et al., 2002).

Diseño del controlador difuso en Matlab®

El controlador lógico difuso (CLD) fue creado con la Toolbox (caja de herramientas) de “FIS Editor (GUI)” de Matlab® R2015a (Mathworks, 2015). Se definieron 2 entradas al CLD, las cuales son: “turbidezent” y “turbsal”.

La primera responde a la turbidez del TRT (Tanque de Recuperación Total), para la cual se tomaron 3 mediciones del TRT entre trasvase y trasvase, siempre y cuando no existan demoras en la medición de la muestra a la salida del primer módulo, ya que se dispone como mínimo de 2:00 minutos según lo programado actualmente. La respuesta de los sensores de turbidez en general se encuentra entre los 10 y 20 segundos como máximo por lo que el tiempo no es un problema. La segunda entrada responde a la turbidez del primer módulo. Las dos salidas son para las dosis de detergentes de tipo: polar y tetraox, las cuales son nombres exactos que hacen referencia a los productos que se utilizan. Los intervalos de todas las entradas y salidas se tomaron en correspondencia con el comportamiento de los valores medidos en las 90 muestras tomadas durante el proceso de selección de las variables del proceso (Gómez, 2017).

Se emplearon 3 conjuntos difusos para la primera entrada, 9 para la segunda, y 3 para ambas salidas en correspondencia con el boletín técnico de los productos, y un total de 27 reglas con estructura IF-THEN, que se muestran en la Tabla 1. Mientras más reglas existan mejor se puede adaptar el regulador a las condiciones que se deseen, pero también implica una mayor complejidad en el diseño y ajuste del mismo. En la tabla las siglas “ts” y “te” se refieren a las señales de salida y de entrada respectivamente.

Tabla 1 Base de reglas. 

El tipo de funciones de membresía para cada variable es lineal triangular (Figura 1).

Los métodos utilizados en el mecanismo de inferencia fueron:

En la aplicación de los operadores, se utilizó el AND: mínimo (min), en la implicación: mínimo (min), en la agregación: máximo (max). En la desfusificación se varía entre medio del máximo (mom: middle of maximum) y centro de gravedad (centroid). Según (Ponce, 2010) por su gran complejidad en cálculos de extensas integrales, este último se puede representar de la forma discreta:

Donde y son el centro de la función de membresía del consecuente de cada regla y la superficie de dicho subconjunto truncada por el resultado del grado de membresía de las premisas de dicha regla. Su metodología es sencilla: corta la función de membresía al grado de la membresía respectiva, es decir, segmenta las funciones de membresía, generando en cada función dos áreas. El área inferior que se forma es la que se toma para hacer el cálculo. Se sobreponen todas estas áreas y se saca el centroide de la superposición, el cual nos dice la salida real del sistema. Dado que las funciones de membresía para las variables de salida en sus conjuntos difusos bajo y alto son lineales triangulares, pero de tipo rectángulo, esto hace que su centro de gravedad sea 1/3 del valor de su arista ubicada en las abscisas, por lo que la respuesta del controlador para los valores menores e iguales al centro de gravedad (en el caso de la salida baja) será la misma. Mientras que para la salida alta sucede lo mismo, pero sería con los valores mayores e iguales al centro de gravedad. Por estas razones fue que se utilizó el método mom, para simular las salidas mínimas y máximas. Esta es una de las excepciones tratadas durante la programación del controlador difuso en lenguaje estructurado ST.

Fig. 1 Funciones de membresía para las variables de entrada turbidezent y turbsal. 

Programación del control difuso en ST

Se le ha dedicado mayor esfuerzo a la programación del controlador en lenguaje estructurado, porque representa la posibilidad real de implementación del sistema de dosificación con costos más asequibles a la empresa, además de evitar conexiones y así comunicación adicional entre el software de una computadora y el PLC. Pero es necesario conocer que esta programación forma parte de una lógica secuencial mucho más grande dentro del programa original. La programación en este lenguaje está incluida en el estándar IEC 1131 y específicamente dentro del capítulo siete, donde se realiza una descripción detallada de la metodología a seguir (International Electrotechnical, 2000).

Inicialmente se declararon una serie de rectas a través de pendientes e interceptos con el eje “y”, los cuales fueron calculadas en correspondencia a las funciones de membresía finales que se configuraron con la ayuda del asistente matemático Matlab®.

Las primeras líneas de código están destinadas a la Fusificación (Figura 2), donde primero se toma la variable “Xmed_te” (que corresponde a la medición del TRT) y después la variable “Xmed_ts” (que corresponde a la medición de la SM1) para buscar sus posibles interceptos con las rectas de las funciones de membresía para cada caso, siempre y cuando el resultado se encuentre entre 0 y 1. Se analizan los puntos donde el elemento del universo pertenece a ese conjunto difuso, y se realizan tantas iteraciones como rectas tienen las funciones de membresía de cada variable (6 para la entrada 1 y 18 para la entrada 2). Cuando se encuentran 2 interceptos se sale del ciclo. El siguiente paso en la lógica de programación corresponde a la Inferencia difusa (Figura 3), donde apoyándose en una base de reglas descritas en la Tabla 1, se analizan las entradas, que son puntos que contienen un grado de pertenencia en un conjunto difuso determinado y brinda una salida también en grados de pertenencia para determinados conjuntos difusos pero relacionados a las variables de salida.

Fig. 2 Segmento de la Fusificación. 

Fig. 3 Segmento de código de la Inferencia difusa. 

Teniendo ya un máximo de 4 posibles conjuntos de salida conformados por un grado de pertenencia y una zona difusa, le corresponde el turno a la Desfusificación (Figura 4). Esta parte de la programación se divide en 4 fragmentos: el primero se encarga de la agregación utilizando el máximo (max), es decir; si uno de los conjuntos difusos de salida se repite, se toma el de mayor grado de pertenencia y se borran los valores del otro que se halla asignado.

El segundo segmento de código está concebido para el primer método de Desfusificación que se utiliza. Este reconoce cuando los interceptos encontrados son 1 para cada variable de entrada y además corresponden a los conjuntos difusos bajo y medio. Para este caso la dosificación responde a un porciento dentro del conjunto difuso de salida que también sería uno solo. El tercer segmento corresponde al otro método de Desfusificación utilizado que es el Centroide, en este se van sumando las multiplicaciones de los grados de pertenencia con los centros de gravedad de los conjuntos difusos correspondientes. A esta suma se le divide la suma de los grados de pertenencia, obteniéndose en la salida una aproximación al centro del área bajo la curva trazada imaginariamente, la cual es la respuesta más adecuada en comparación con otros métodos simulados.

Fig. 4 Segmento de código de la Desfusificación. 

Por último, se realiza la inicialización de una serie de variables que son necesarias que estén en su estado inicial para el correcto funcionamiento del programa cuando se regrese a él.

RESULTADOS Y DISCUSIÓN

Análisis de la simulación en Matlab®

El análisis de los resultados obtenidos se hizo utilizando la herramienta “Rule Viewer” (vista de reglas), esta es una de las opciones que brinda el asistente en su ventana de creación de controlador difuso. Para la representación del sistema se toman composiciones al azar tratando de recrear algunos de los posibles resultados de muestreo.

En la programación en ST se tendrá en cuenta para las reglas la comparación con el nivel anterior y posterior, ya que existen excepciones que hay que respetar debido a que el sistema se realizó atendiendo a las muestras tomadas.

La primera composición consta con un nivel bajo (turbidezent=30) en la entrada 1 y un nivel bajo_bajo (turbsal=80) en la entrada 2, para esa base se obtiene que la dosificación de los productos debería ser la mínima debido a que estos valores son los más bajos encontrados en las pruebas. Para la salida con el método de Desfusificación mom se obtiene que: polar = 8 g/kg y tetraox = 1 g/kg mientras que para la salida con el método de desfusificación Centroide se obtiene que: polar = 8,63 g/kg y tetraox = 1,32 g/kg (Figura 5).

Lo antes expuesto se tendrá en cuenta en la programación del método de desfusificación en ST, cuando el conjunto difuso de la entrada 1 sea bajo y el de la entrada 2 sea bajo_bajo, la salida desfusificada será mediante un desplazamiento proporcional al rango correspondiente y no se utilizará el Centroide; esto ocurrirá también para el otro extremo, es decir la zona alta. Así se podrán obtener valores máximos y mínimos del rango completo del boletín técnico de los productos.

Fig. 5 Comparación entre las salidas utilizando diferentes métodos de desfusificación, de izquierda a derecha, mom y centroide. 

El segundo intervalo se corresponde con un nivel bajo (turbidezent=65) en la entrada 1 y un nivel entre bajo_medio y bajo_alto (turbsal=170) en la entrada 2, para esa base se obtiene que las salidas de los productos están en su rango medio; polar =14.7 g/kg y tetraox = 3.89 g/kg (Figura 6).

Fig. 6 Comparación para iguales niveles de entrada 1 y distintos en la entrada 2. 

El tercer par de entradas propone el mismo nivel bajo (turbidezent=65) en la entrada 1 y un nivel entre bajo_alto y medio_bajo (turbsal=230) en la entrada 2, para esa base se obtiene que las salidas de los productos están en su rango alto; polar = 17.9 g/kg y tetraox = 5.16 g/kg. En este caso se puede apreciar que siendo la entrada 1 la misma del ejemplo anterior, y al ser la entrada 2 mayor por 60 unidades NTU que la del ejemplo anterior es de esperar que la salida emita un valor más alto (Figura 6).

Después de la simulación de estos ejemplos es de importante conocer la cantidad de productos que utilizan los programas dos y cuatro (según el boletín técnico de productos de Proquimia) representadas en la Tabla 2. Estos son los programas que solamente se utilizan en la actualidad en la instalación.

Tabla 2 Comparación de los programas utilizados actualmente en el túnel de lavado y los resultados de las nuevas dosificaciones propuestas por el asistente matemático Matlab®

Comparando los resultados de la tabla, se evidencia la incorrecta dosificación que se realiza al textil tratado en correspondencia con los rangos establecidos y recomendados por el boletín técnico de los productos. Con este nuevo sistema de dosificación en base al grado de suciedad que presenta el textil se adquiere una gran ventaja, ya que se observan valores de dosificación que recorren la escala completa de su uso y los ahorros son indiscutibles. La acción de control realizada solo involucra los productos Polar y Tetraox, ya que la dosificación del humectante correspondiente (Tetrasurf) al primer módulo sería la misma, para tener una base establecida para todos los productos, y la del suavizante (Acariz) es en correspondencia al tipo de ropa: plana, forma o felpa, pero el proveedor no otorga una decisión para desplazarse dentro de cada intervalo.

Comparación entre Matlab® y la programación en ST

Se realizaron simulaciones para comparar el funcionamiento del programa elaborado en ST con la respuesta que proporcionaba el asistente matemático.

Al analizar los gráficos (Figura 7) se observa que la respuesta de la programación en ST y la simulación en Matlab® presentan la misma tendencia. Las diferencias se deben a las excepciones y reglas que se tomaron (mencionadas con anterioridad) para buscar un aumento en la efectividad de la programación, logrando una respuesta con mayor acierto en correspondencia con la suciedad encontrada en el análisis. Confeccionando un índice de validez se arriba a un ahorro aproximadamente del 2 al 3 % en la respuesta del programa en ST con respecto al Matlab®, por lo que se obtiene una ventajosa y eficiente programación.

Observando detenidamente los tramos de 1-4, 9-12, 13-16 se pueden apreciar las mejoras del programa en ST ya que para estos tramos las variaciones de turbidez de muestra a muestra consecutiva son evidentes, y la respuesta del asistente matemático no varía mientras que el programa en ST si lo hace acorde a estas variaciones mencionadas.

Fig. 7 Comparación entre la respuesta del asistente matemático Matlab® y la programación realizada en ST. 

CONCLUSIONES

Los resultados de la comparación entre las dos variantes de controlador lógico difuso para la dosificación permiten corroborar la factibilidad del diseño basado en un controlador lógico programable disponible en el mercado tecnológico. Las reservas de ahorro en este subproceso del túnel de lavado se corresponden con el empleo de la escala completa de dosificación y no con valores fijos como establecen las recetas utilizadas actualmente. Además de que evitaría la conexión con una computadora para desarrollar en tiempo real el análisis en el asistente matemático. El trabajo presenta una aplicación práctica para la industria de los controladores difusos con posibilidades reales de implementación.

REFERENCIAS

Babuska, Robert. Fuzzy and Neural Control Disc Course Lecture Notes. Faculty of Information and Systems. Delft University of Technology. Delft the Netherlands. October, 2001. [ Links ]

Chevrie, François; Guély, François. Cuaderno Técnico Nº191: La lógica difusa. Scheneider Electric. Versión española 2002. [ Links ]

Ferdinando, H. The Implementation of low cost fuzzy logic controller for PLC TSX 37-21, International Conference on Intelligent and Advanced Systems 2007, Kuala Lumpur, Malaysia, Nov. 2007. [ Links ]

Gómez Borges, Manuel I.Diseño de un sistema de dosificación automática de productos químicos y monitorización del consumo energético y de agua en el túnel de lavado de la lavandería 28 de Enero. Tesis de Diploma, Universidad Tecnológica de La Habana, Facultad de Automática y Biomédica, Departamento de Automática y Computación, La Habana, 2017. [ Links ]

González Pérez, Isaías; Calderón Godoy, A. José; Calderón Godoy, Manuel. Fuzzy Controller based on PLC S7-1200 - Application to a Servomotor. ICINCO, 1, 156-163, 2014. DOI: 10.5220/0005013601560163. [ Links ]

Guarnizo Lemus, Cristian. Metodología para la implementación de un controlador difuso tipo Takagi-Sugeno en PLC s7-300. Conciencias, vol.15, no. 30, pp 44-51, Julio, 2011. [ Links ]

International Electrotechnical Commission (IEC), IEC 61131 Programmable Controllers. Part 7: Fuzzy Control Programming. IEC 61131-7, 2000. [ Links ]

Jassbi, Javad; Alavi, S.H.; Serra, Paulo J. A.; Ribeiro, Rita A. Transformation of a Mamdani FIS to _ rst order sugeno FIS, IEEE international conference on Fuzzy systems, London, United Kingdom, Jul. 2007. [ Links ]

Karasakal, Onur; Yeşil, Engin; Guzelkaya, Müjde; Eksin, İbrahim. The implementation and comparison of different type self-tuning algorithms of fuzzy PID controllers on PLC, World Automation Congress, Sevilla, Jul. 2004. [ Links ]

Karasakal, Onur; Yeşil, Engin; Guzelkaya, Müjde; Eksin, İbrahim. Implementation of a New Self-Tuning Fuzzy PID Controller on PLC,” Turk. J. Electrical Engeenering & Computer Science, vol. 13, no. 2, pp. 277-286, 2005. [ Links ]

Li, H. -X.; Tso, S.K. A fuzzy PLC with gainscheduling control resolution for a thermal process - a case study, Control Engineering Practice, vol. 7, pp. 523-529, 1999. DOI: 10.1016/S0967-0661(99)00007-6. [ Links ]

Liu, Xingqiao; Geng, Jiao; Teng, Shaoqing; LI, Chengchun. A fuzzy- PID controller with adjustable factor based on S7-300 PLC, International Journal of Modelling, Identication and Control 2009, vol. 7, no. 4, pp. 371 - 375, 2009. [ Links ]

Martin Del Brío, Bonifacio; Zans Molina, Alfredo. Redes Neuronales Y Sistemas Difusos. 2da Edición Ampliada Y Revisada. Editorial Alfaomega. Marzo De 2001. [ Links ]

Mathworks Inc. Fuzzy Logic Toolbox for use with MATLAB, User’s Guide, Chapter 2: Tutorial, Building Systems with Fuzzy Logic Toolbox. Version 2, 2015. [ Links ]

Ordax Cassá, Javier. Automatización de procesos industriales. Proyecto de Fin de Carrera. Universidad Pontificia Comillas. Escuela Técnica Superior de Ingeniería (ICAI). Facultad de Informática. Madrid, Junio 2005. [ Links ]

Ponce Cruz, Pedro. Inteligencia Artificial con Aplicaciones a la Ingeniería. Editorial Alfaomega. Julio, 2010. ISBN: 9786077854838. [ Links ]

Prieto León, Alexander. Estudio de la Programación de PLCs en Lenguaje Estructurado. Máster Universitario en Automatización de Procesos Industriales. Universidad de Alcalá, Escuela Politécnica Superior, Departamento de Electrónica. Marzo, 2011. [ Links ]

Schneider Electric. Fuzzy Control Library V1.2. Socollaborative library. Febrero, 2009. [ Links ]

Sivanandam, S. N; Sumathi, S; Deepa, S. N. Introduction to Fuzzy Logic using MATLAB, 2007. DOI: 10.1007/978-3-540-35781-0. [ Links ]

Yahyaei, Mehdi; JAM, J. E.; Hosnavi, R. Controlling the navigation of automatic guided vehicle (AGV) using integrated fuzzy logic controller with programmable logic controller (Iflplc)-stage 1, The International Journal of Advanced Manufacturing Technology, vol. 47, no. 5-8, pp. 795 - 808, 2010. DOI 10.1007/s00170-009-2017-8. [ Links ]

Zadeh, Lofty A. Fuzzy Logic, Neural Network and Soft Computing. Communications of the ACM, vol 37, no. 3, 77-84, Mach 1994. DOI: 10.1145/175247.175255. [ Links ]

Recibido: 01 de Mayo de 2020; Aprobado: 30 de Junio de 2020

*Autor para la correspondencia. (m.gomez@irc.cu)

No existe conflicto de interés con este trabajo.

Dra. CT. Adriana Virginia Acosta Corso: Participó en la concepción y diseño de la investigación, así como la revisión y aprobación del artículo. Además, contribuyó en la redacción del artículo y en el análisis e interpretación de los resultados.

Ing. Yaniel Fundora Curbelo: Participó en la optimización de los resultados y revisión del artículo.

Ing. Manuel Israel Gómez Borges: Participó el diseño e implementación del software, realización de los experimentos, análisis e interpretación de los resultados y redacción del artículo.

Creative Commons License Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons