Sunteți pe pagina 1din 6

Fuzzy controller developed in a PLC, based on

weighted average method.


(Controlador Difuso desarrollado en un PLC, basado en el
Método de Promedios Ponderados)
Paola León, Hernán Lara, Darwin Aguilar IEEE Member, Christian Vega, Danny Sotomayor and Nikolai Espinosa

Abstract—The industry control solutions are generally base Algunos PLC’s cuentan con herramientas FL que facilitan la
on a Programmable Logic Controller (PLC), however implementación de controladores difusos, es decir, una vez
implementations of Fuzzy Controllers for complex systems which configurado el sistema difuso, únicamente es necesario definir
control is based on a fuzzy system has been a disadvantage since las Funciones de Pertenencia (MF) para las variables de
not all PLC’s have specific modules for this purpose. This work
entrada y salida, sus respectivos rangos de funcionamiento, y
proposes a procedure for the implementation of Fuzzy Logic
Controller (FLC) on a PLC without the use of any specific su base de reglas, con el objetivo de obtener una salida en el
module. The FLC assumes a Mamdani-based inference and sistema [6]. Estas herramientas utilizan generalmente el
defuzzyfication of Weighted Average Method (WAM) with two Método del Centroide para el cálculo de la salida [7]. En [8] y
inputs and one output. Simulation and experimental validation [9] se describe la forma de implementar un controlador difuso
are carried out in order to verify the effectiveness of the FLC tanto en la plataforma del TSX 21-37 como en el S7-300
designed. respectivamente, basado en sus respectivas herramientas
propietarias. En [10] se propone el uso de estructura de
Keywords— Fuzzy logic, Programmable logic controller,
bloques funcionales que permitan establecer códigos de
Weigthed average method.
programas generales que se puedan implementar en autómatas
de diferentes fabricantes no obstante, se hace referencia a la
I. INTRODUCCIÓN metodología para implantar una estrategia de Lógica Difusa en
un PLC Allan Bradley de la serie 5000. En los documentos

E N la actualidad la implementación de sistemas de control


basados en lógica difusa se ha ido incrementando de forma
mencionados el proceso para la elaboración de un controlador
difuso sin el uso de estas herramientas no es presentado lo cual
significativa, puesto que brinda soluciones y acorta el período dificulta la implementación de este tipo de controlador en un
de desarrollo al control de procesos que debido a su PLC que no las posea.
complejidad no tienen definido un modelo matemático, por lo Para dar solución a este inconveniente se definió una
que su control con herramientas estándares sería metodología que permita implementar un controlador difuso
complicado [1]. en un PLC, basado en el método de promedios ponderados
para defuzzificación de la variable de salida; considerando
Si dentro del diseño del sistema de control se ha para ello que no existe un modelo definido y que en referencia
considerado el uso de un PLC, será necesario que éste tenga la al controlador difuso no tendría por qué existir una solución
capacidad de manejar también el controlador difuso, por lo que única a dicho problema.
generalmente se han realizado propuestas que muestran del
desarrollo de sistemas de control basados en lógica difusa II. PARÁMETROS DE DISEÑO
mediante el uso las herramientas Fuzzy Logic (FL) con las que Para el diseño del controlador difuso se consideró el modelo
cuentan los PLC’s. Estas herramientas son analizadas en [2], difuso de Mamdani, el cual requiere los siguientes puntos [11]:
[3], [4], [5].
x Definir las variables lingüísticas de entrada y salida y sus
Manuscript received May 18, 2015; accepted August 17, 2015. Date of rangos numéricos.
publication October 28, 2015; date of current version may 15, 2015. This
work was supported in part by the Universidad de las Fuerzas Armadas x Definir las MF para las variables de entrada y salida.
ESPE, Sangolquí – Ecuador. x Construir la base de reglas para la estrategia de control.
P. León, H. Lara, D. Aguilar, C. Vega, D. Sotomayor and N. Espinosa
Author, are with the Grupo de Investigación de Propagación, Control y
x Fuzzificar las variables de entrada.
Networking (PROCONET) - Department of Electrical and Electronics x Ejecutar la inferencia para determinar el grado de
Engineering, Universidad de las Fuerzas Armadas ESPE, Ecuador, (e-mail: satisfacción de la regla activada, y
rpleon1; hvlara; dlaguilar; cnvega; dasotomayor; ndespinosa @espe.edu.ec).
x Defuzzificar para determinar la acción a ser ejecutada.
Adicionalmente se consideró que el controlador difuso
actuará sobre un sistema con dos variables de entrada, las
cuales definen el comportamiento de una variable de salida
definido en el diseño por la ecuación (1).

Entrada1 (Pr)
Salida (1)
Entrada2 (Tm)

Considerando que los PLCs generalmente trabajan en forma


porcentual con las señales provenientes de los instrumentos de
medición[10], se estableció porcentualmente del 0% al 100%,
el dominio de las dos variables de entrada. Fig. 2. Funciones de pertenencia variable de salida.
Para cada una de las entradas se definieron tres MF: dos de
tipo trapezoidal y una triangular. La estructura seleccionada Los valores dados para la MF son establecidos de acuerdo al
permite definir de mejor manera el valor lingüístico asociado a comportamiento requerido en la salida, dichos datos son
las entradas, simplifica el manejo de los rangos y genera función de la combinación presente en las entradas del sistema.
menor gasto computacional. La Tabla 2 muestra los valores establecidos para cada MF de
En la Tabla 1, se puede visualizar los rangos establecidos la salida, con sus respectivos máximos.
para las MF de las entradas. La cima de la MF equivale al
TABLA II.
100% del grado de pertenencia del valor relativo. RANGO DE LAS MF DE LA SALIDA
FUNCIONES RANGOS MÁXIMO
TABLA I.
RANGO DE LAS MF DE LAS ENTRADAS MUY PEQUEÑA (PP) 0-20 10
Funciones Rangos PEQUEÑA (P) 20-40 30
0-50 (25 es el valor con el 100% de grado de
PEQUEÑA (P) MEDIANA (M) 40-60 50
pertenencia de esta función)
25-75 (50 es el valor con el 100% de grado de GRANDE (G) 60-80 70
MEDIANA (M)
pertenencia de esta función)
MUY GRANDE (MG) 80-100 90
50-100(75 es el valor con el 100% de grado de
GRANDE (G)
pertenencia de esta función)
A partir de las combinaciones de entrada y del valor de
salida deseado (ecuación (1)), se establece la base de reglas
La Fig. 1 muestra de forma gráfica la fuzzificación de las del controlador, la cual se muestra en la Tabla 3.
variables de entrada.
TABLA III.
BASE DE REGLAS
ENTRADA 2
Pequeña Mediana Grande
(P) (M) (G)
Pequeña (P) M P PP
ENTRADA 1

Mediana (M) G M P

Grande (G)
MG G M

En base al grado de pertenencia de cada conjunto difuso se


Fig. 1. Fuzzificación variable de entrada.
realiza la evaluación de la base de reglas y se selecciona el
menor. Posteriormente se obtiene el valor de la salida del
Considerando la ecuación (1), el rango de la salida se controlador utilizando el método de promedio ponderado,
definió 5 MF de tipo triangular, las cuales poseen un valor definido mediante:
máximo que corresponde al 100% del grado de pertenencia de n

dicha función. Estas MF se muestran en la Fig. 2. ¦ max S ˜ P S i S i


(2)
Salida Z* i 1
n
,
¦ P S
i 1
S i
Donde n es el número de máximos de la salida, max (S1) es el Donde X es el valor de entrada e Y es valor correspondiente a
valor máximo de la función de salida S, y μS (S1) es el valor de la fuzzificación de la misma
pertenencia de la salida S.
TABLA IV.
ECUACIONES PROGRAMADAS PARA CREAR LAS MF DE LAS VARIABLES DE
III. CONSTRUCCIÓN DEL CONTROLADOR DIFUSO ENTRADA
RECTA ECUACIÓNES DE CÓDIGO
LA RECTA
La programación del controlador difuso requirió además de
realizar activaciones, comparaciones, escalamientos entre L1 =L6 Y=1 #Y:=1;
otras, desarrollar la programación y evaluación de ecuaciones, L2 Y= -X/25 + 2 #Y:=-#X/25+2;
por este motivo fue necesario utilizar un PLC cuya plataforma L3 Y= X/25 - 2 #Y:=#X/25-1;
de programación permita los modos de programación en
L4 Y= -X/25 + 2 #Y:=-#X/25+3;
diagrama en escalera (KOP) y lenguaje de programación
L5 Y= X/25 - 2 #Y:=#X/25-2;
estructurado (SCL).
Para formar las MF para la fuzzificación de las entradas, se
programaron ecuaciones, en modo SCL, que definen cada una Una vez determinado el grado de pertenencia se establece el
de las rectas que conforman dicha MF, como se muestra en la valor mínimo (alpha1) entre las combinaciones de entrada
Fig. 3. analizadas (a, b), para lo cual se crearon funciones como:
#alpha1:=MIN (IN1:=#a, IN2:= #b).

Posteriormente se evalúa la base de reglas mostrada en la


Tabla 2 para las combinaciones posibles entre los valores de
entrada fuzzificados, enviándose también el valor máximo de
las funciones de pertenencia de salida correspondiente, como
por ejemplo: IF IN1=M AND IN2=P THEN SALIDA=SP,
donde SP es el valor máximo para la función de pertenencia de
salida P (i.e. SALIDA = 30). Un ejemplo gráfico del proceso
descrito anteriormente hasta ahora se muestra en la Fig. 4.
Finalmente se convierte la salida de las reglas difusas en un
Fig. 3. Funciones programadas para crear las MF de las valor escalar mediante el método de promedio ponderado
variables de entrada. definido en la ecuación (2), debido a que las entradas pueden
establecer 2 o cuatro combinaciones es necesario implementar
En la Tabla 4, se muestra las ecuaciones y funciones creadas
dos funciones que cubran los casos posibles, dichas funciones
para las rectas que conforman la MF para las variables de
se muestran en la Tabla 5.
entrada.

Fig. 4. Ejemplo de cálculo de la salida.


Donde DEFUZ es la función implementada cuando las IV. ANÁLISIS DE RESULTADOS
entradas establecen 2 combinaciones entre ellas, mientras que Para analizar los resultados se comparó la respuesta del
DEFUZ2 se utiliza cuando existen 4 combinaciones. controlador desarrollado e implementado en el PLC, con las
salidas obtenidas bajo las mismas condiciones pero en modelos
TABLA V.
FUNCIONES PROGRAMADAS PARA DEFUZZIFICACION DE LA VARIABLE DE simulados, para lo cual se crearon dos aplicaciones en
SALIDA Matlab®.
FUNCIÓN CÓDIGO En la primera aplicación se creó una simulación utilizando
#SL:=(#alpha1*#z1+#alpha2*#z2)/(#alpha1+#alp
el Fuzzy Logic Toolbox de Matlab®, éste modelo propuesto,
cumple las mismas condiciones tanto para la fuzzificación de
ha2);
las variables de entrada y salida, así como para la base de
#SL:=(#alpha1*#z1+#alpha2*#z2+#alpha3*#z3+ reglas, sin embargo para la obtención de la salida, la
#alpha4*#z4)/(#alpha1+#alpha2+#alpha3+#alpha herramienta utiliza el método del centroide.
4;
La segunda aplicación desarrollada es un fichero .m que
realiza el control fuzzy bajo las mismas condiciones de cálculo
del controlador implementado en el PLC, es decir obteniendo
Para el ejemplo expuesto en la Fig. 4, se analizará el cálculo el valor de la salida utilizando el método de promedio
que el controlador difuso realiza para obtener el valor de la ponderado.
salida mostrado en la gráfica. La Fig. 5, resume los resultados de la primera simulación,
Dado que la entrada 1 se encuentra en 60% y la entrada 2 en utilizando Fuzzy Logic Toolbox, donde se muestra la salida
30%, la fuzzificación se establecería como se muestra en la obtenida para uno de los casos analizados. Para el análisis de la
Tabla 6. salida, se establecieron valores en las entradas que permitan
cubrir por completo su rango, así como todas las posibles
TABLA VI.
VALORES DE FUIZZIFICACIÓN PARA ENTRADA 1 (60%) Y ENTRADA 2 (30%)
combinaciones entre ellas.
VALORES DE
PEQUEÑA MEDIANA GRANDE
PERTENENCIA
Entrada 1 (60%) 0 0.6 0.4
Entrada 2 (30%) 0.8 0.2 0

En el siguiente paso se determinan los valores mínimos de


las combinaciones posibles en las entradas, para el ejemplo
serían los valores mostrados en la Tabla 7.

TABLA VII.
VALORES MÍNIMOS ENTRE LAS COMBINACIONES DE ENTRADA
Entrada 1 (60%) Entrada 2 (30%) MÍNIMO

0.6 0.8 0.6


0.6 0.2 0.2
0.4 0.8 0.4
0.4 0.2 0.2

Posteriormente, se evalúa la base de reglas definida en la


Tabla 2, para obtener las funciones de pertenencia de salida,
Fig. 5. Resultados aplicación Toolbox Fuzzy Logic Matlab
enviándose además el valor máximo de salida correspondiente,
los resultados se muestran en la Tabla 8. Los valores de entrada seleccionados permiten obtener el
valor de salida para el controlador difuso desarrollado en el
TABLA VIII.
EVALUACIÓN DE LA BASE DE REGLAS PLC, así como para las aplicaciones desarrolladas en Fuzzy
Entrada 1 Entrada 2 Base de Salida Logic Toolbox y el archivo .m de MATLAB, con el objetivo
(60%) (30%) Reglas Máxima de comparar las diferencias entre ellos.
Mediana Pequeña G 70 El análisis de resultados permite comparar las salidas
Mediana Mediana M 50
Grande Pequeña
obtenidas en cada aplicación mediante el cálculo de la
MG 90
Grande Mediana G 70 desviación estándar. El cálculo de la desviación estándar es
una medida de la dispersión, que permite visualizar cuanto se
Finalmente, mediante (2) se obtiene el cálculo del valor de alejan los valores de la salida obtenidos respecto de la media
la salida del controlador mediante el método de promedios: entre ellos, es decir, la variabilidad entre los datos de salida
obtenidos.
10(0.4)  30(0.6)  50(0.2)
Salida 26.6
0.4  0.2  0.6
La Tabla 9 muestra algunos casos donde se obtuvo un TABLA X.
CÁLCULO DEL ERROR ENTRE EL VALOR OBTENODO EN EL TOOLBOX FUZZY
valor alto en la desviación estándar para diferentes condiciones DE MATLAB Y EL VALOR OBTENIDO EN EL PLC
de entrada. Salida Salida
% de
El valor de la desviación estándar obtenido en cada caso IN 1 IN 2 Toolbox PLC
ERROR
permite determinar los valores de entrada que producen Centroide WAM
mayores diferencias en la salida, dado que mientras más alto 10 10 50 50,0000 0,00
sea el valor de la desviación estándar, mayor variabilidad 10 40 61.4 61,2998 -0,16
habrá en las salidas obtenidas. Si la desviación estándar es cero
10 60 78.6 78,7381 0,18
significa que no existe variación en la salida, lográndose
obtener el mismo valor de salida, tanto en controlador difuso 10 80 90 90,0122 0,01
desarrollado en el PLC, como en las aplicaciones desarrolladas 0 0 50 50,0000 0,00
en Fuzzy Logic Toolbox y en el archivo .m de MATLAB. 30 10 44.5 44,4703 -0,07
50 20 30 30,0147 0,05
TABLA IX.
CÁLCULO DE LA DESVIACIÓN ESTÁNDAR PARA LAS D IFERENTES 30 40 55.2 55,0786 -0,22
APLICACIONES REALIZADAS
45 49 54.1 53,8814 -0,40
Salida Salida Salida
Desviación
IN 1 IN 2 Toolbox PLC Fichero.m 30 60 73 73,1147 0,16
estándar
Centroide WAM WAM
35 70 75.2 75,1764 -0,03
10 10 50 50,0000 50 0,0000
35 90 81.4 81,3238 -0,09
10 40 61.4 61,2998 62 0,4951
60 10 21.4 21,3988 -0,01
10 60 78.6 78,7381 78 0,5219
60 40 31.9 31,8926 -0,02
10 80 90 90,0122 90 0,0070
60 60 50 49,9904 -0,02
0 0 50 50,0000 50 0,0000
55 70 57.1 57,0272 -0,13
30 10 44.5 44,4703 46 1,0817
60 90 61.4 61,2998 -0,16
50 20 30 30,0147 30 0,0085
80 10 10 10,0247 0,25
30 40 55.2 55,0786 55,7 0,4394
80 30 15.5 15,5259 0,17
45 49 54.1 53,8814 52,96 0,6515
80 65 41.4 41,3510 -0,12
30 60 73 73,1147 72,85 0,1327
80 80 50 50,0000 0,00
35 70 75.2 75,1764 75,71 0,3773
95 95 50 50,0000 0,00
35 90 81.4 81,3238 82 0,4781
60 10 21.4 21,3988 22 0,4251
60 40 31.9 31,8926 32,2 0,2174 Los valores del porcentaje error obtenidos para todos los
60 60 50 49,9904 50 casos analizados evidencian valores inferiores a 0,5%, mismos
0,0055
que son inferiores a los máximos permisibles (generalmente
55 70 57.1 57,0272 58,57 1,0909 <5%), lo cual nos muestra que el valor de salida obtenido en la
60 90 61.4 61,2998 62 0,4951 aplicación son satisfactorios
80 10 10 10,0247 10 0,0143
V. CONCLUSIONES
80 30 15.5 15,5259 14 1,0790
80 65 41.4 41,3510 42 0,4589 El desarrollo de un controlador difuso realizado en un PLC
80 80 50 50,0000 50 0,0000 propuesto en este estudio, representa una solución para la
95 95 50 50,0000 50 0,0000
implementación de soluciones de control basados en lógica
difusa en PLC’s que no cuentan con herramientas o módulos
adicionales fuzzy. Mediante el uso del método de promedios
Adicionalmente, dado que la precisión en los resultados ponderados se logró implementar los algoritmos de control
obtenidos se evalúa mediante el cálculo del error relativo para difuso necesarios para calcular el valor de la salida del
la media aritmética. En Tabla 10 se realizó una comparación controlador en el PLC. La creación de un controlador Fuzzy
entre los resultados obtenidos mediante el Toolbox FUZZY de Logic de las mismas características que el desarrollado en el
Matlab y los resultados obtenidos en la nueva aplicación PLC, mediante el uso del Fuzzy Logic Toolbox y la
creada para el PLC, para diferentes combinaciones de entrada, programación de un archivo .m en MATLAB, permitió
utilizando para ello el cálculo de error entre los valores de validar la propuesta presentada en este trabajo. Finalmente, la
salida obtenidos. comparación y contraste de resultados de la salida obtenida en
las diferentes aplicaciones (implementadas y simuladas)
genera como resultado una desviación estándar inferior al 1.09
en todos los casos analizados; lo cual indica que los resultados
obtenidos en el controlador implementado son similares a los
que pueden ser obtenidos en una herramienta fuzzy comercial.

REFERENCIAS
[1] R. W. Lewis, Programming Industrial Control Systems Using IEC
1131-3. London: United Kingdom, 1998.

[2] M. H. M. Shah, M. F. Rahmat, K. A. Danapalasingam, and N. A.


Wahab, “PLC Based Adaptive Fuzzy PID Speed Control of DC
Belt Conveyor System,” Int. J. Smart Sens. Intell. Syst., vol. 6, no.
3, pp. 1133–1152, 2013.

[3] H.-X. Li and S. K. Tso, “A fuzzy PLC with gain-scheduling control


resolution for a thermal process – a case study,” Control Eng.
Pract., vol. 7, no. 4, pp. 523–529, Apr. 1999.

[4] M. Yahyaei, J. E. Jam, and R. Hosnavi, “Controlling the navigation


of automatic guided vehicle (AGV) using integrated fuzzy logic
controller with programmable logic controller (IFLPLC)—stage 1,”
Int. J. Adv. Manuf. Technol., vol. 47, no. 5–8, pp. 795–807, Mar.
2010.

[5] H. Ferdinando, “The Implementation of low cost fuzzy logic


controller for PLC TSX 37- 21,” Int. Conf. Intell. Adv. Syst. 2007,
Kuala Lumpur, 2007.

[6] I. H. Altas and A. M. Sharaf, “A GENERALIZED DIRECT


APPROACH FOR DESIGNING FUZZY LOGIC
CONTROLLERS IN MATLAB / SIMULINK GUI
ENVIRONMENT,” vol. 1, no. 4.

[7] E. E. Kassir, “Sistemas de Control Difuso,” 2006.

[8] G. B. Delgado and J. Bojórquez Delgado, “Metodología para la


implementación de sistemas difusos tipo mamdani en lenguajes de
programación de propósito general,” in Congreso Internacional en
Ingeniería Electrónica, 2014, vol. 36, pp. 318–323.

[9] “Metodología para la implementación de controlador difuso tipo


Takagi-Sugeno en PLC s7-300,” no. 30, pp. 44–51, 2011.

[10] R. Valle, “XX Congreso de la Asociación Chilena de Control


Automático ACCA 2012 USO DE TÉCNICAS DE CONTROL
DIFUSO EN CONTROLADORES LÓGICOS
PROGRAMABLES,” pp. 158–162, 2012.

[11] K. M. Passino; and S. Yurkovich, Fuzzy Control. 1998.

S-ar putea să vă placă și