Está en la página 1de 8

con-ciencias

Metodologa para la implementacin


de controlador difuso tipo Takagi-Sugeno en
PLC s7-300
A method to implement a Takagi-Sugeno fuzzy controller using
a PLC s7-300

CRISTIAN GUARNIZO LEMUS


Ingeniero electricista, magster en Ingeniera Elctrica. Investigador del Ins-
tituto Tecnolgico Metropolitano de Medelln, Colombia. cristianguarnizo@
itm.edu.co

Clasificacin del artculo: Investigacin (Conciencias)


Fecha de recepcin: 5 de marzo de 2011 Fecha de aceptacin: 30 de mayo de 2011

Palabras clave: Controlador lgico programable, IEC 1131-3, lgica difusa, texto estructurado.

Key words: Programmable logic controller, IEC 1131-3, fuzzy logic, structured text.

RESUMEN ABSTRACT

En este artculo se presenta una metodologa para This paper presents a methodology for imple-
implementar controladores basados en lgica di- menting fuzzy logic controllers based on a S7-
fusa en un PLC S7-300 empleando el lenguaje de 300 PLC using the programming language SCL
programacin SCL (Lenguaje de control estruc- (Structured Control Language) in STEP 7. We
turado) de STEP 7. Se presenta el diseo de la present the design of the fuzzy function, variable
funcin difusa, declaracin de variables, diseo declarations, and the evaluation design of mem-
de la evaluacin de las funciones de pertenencia y bership functions and rules of the fuzzy system.
reglas del sistema difuso. A partir de este esque- Since this scheme can be implemented more
ma se pueden implementar modelos difusos ms complex fuzzy models, such as adaptive or Auto
complejos, como adaptativos o autosintonizados. tuner. We present an application example for
Se muestra un ejemplo de aplicacin para un sis- a discrete time simulated in the PLC using a PI
tema de tiempo discreto simulado en el PLC, em- fuzzy controller.
pleando un controlador difuso PI.

44 Tecnura Vol.
Vol.15
15 No.30
No. 30 Julio
pp.-44 - 51 Julio
Diciembre - Diciembre de 2011
de 2011
con-ciencias
* * *

1. INTRODUCCIN [7], dicho proceso consiste en aproximar el mo-


delo Mandami a partir de mnimos cuadrados o
Actualmente el controlador lgico programable algoritmos evolutivos. De esta manera cualquier
(PLC) es utilizado en la industria para realizar sistema de inferencia o control difuso se puede
control de sistemas basados en eventos y para el implementar por medio de un Takagi-Sugeno con
control de procesos continuos por medio de pro- un costo computacional menor.
cedimientos en tiempo discreto. Esto se debe a las
capacidades que tiene el PLC de procesar seales Si se desea reducir considerablemente el costo
anlogas y digitales. A partir de esto se ha des- computacional y mejorar el desempeo del con-
prendido una investigacin entre las limitacio- trolador difuso se pueden emplear tcnicas evolu-
nes y la capacidad que tiene el PLC para realizar tivas que decidan cules son las mejores reglas, la
control discreto en un tiempo lo sucientemente cantidad de funciones de pertenencia y los par-
corto (tiempo real). Esto con el n de poder im- metros de las funciones de membreca de las en-
plementar controladores avanzados para procesos tradas y salidas, con el objetivo de reducir el error
complejos en la industria, aprovechndose los entre la referencia y la salida del sistema, como
equipos instalados, sin necesidad de requerir de algoritmos genticos [8], colonia de hormigas [9]
un controlador especial. y cmulo de partculas [10].

En [1-6] se han hecho propuestas y validacin de 2. METODOLOGA


mtodos basados en lgica difusa implementados
en el PLC, en cada uno se comparan los mtodos En general el modelo difuso ms sencillo de im-
difusos contra los convencionales (PID), donde plementar es el tipo Takagi-Sugeno, debido a que
los primeros presentan un mejor desempeo al el clculo de la salida tiene un costo computacio-
controlar los diferentes sistemas analizados. En nal mucho menor que el modelo Mandami [11].
los documentos anteriores solo se muestran los Los pasos de aplicacin de un modelo difuso son:
resultados, pero no, la forma en que se imple- fusicacin de las entradas, evaluar las funciones
mentaron dichos sistemas difusos, excepto en [4], de perteneca de cada entrada de acuerdo con el
donde se describe de forma detallada cmo im- valor fusicado, evaluacin de las reglas, clculo
plementar el controlador difuso en la plataforma y defusicacin de la salida. Los pasos de fusi-
del TSX 21-37, con el inconveniente de requerir cacin y defusicacin consisten en llevar los
de un plug-in especial de propiedad de la empresa valores de entrada y salida a una escala denida
Telemecanique, para poder implementar el con- en el sistema difuso. A continuacin, se describe
trolador difuso. la forma de programar cada paso necesario para
evaluar un sistema difuso en general.
En este documento se especica la forma de
implementar un controlador difuso tipo Takagi- Para desarrollar un controlador difuso adaptativo
Sugeno en un PLC S7-300, la eleccin del es- en el cual los parmetros se sintonizan de acuerdo
quema Takagi-Sugeno se debe a su menor costo con el error, se debe crear un bloque de funcin, el
computacional comparado con el sistema difuso cual permite guardar valores y retenerlos en cada
tipo Mandami; pero si en el diseo inicial se dis- ciclo de ejecucin. Al almacenar de esta forma las
pone de un sistema difuso tipo Mandami, ste se posiciones de las funciones de pertenencia de la
puede convertir a Sugeno, como se describe en entrada y la salida se pueden desarrollar algorit-

metodologa para la implementacin de controlador difuso tipo takagi-sugeno en plc s7-300 45


CRISTIAN GUARNIZO LEMUS
con-ciencias
mos adaptativos. Pero si se requiere un modelo de las salidas. La variable temp almacena valores
esttico, en el cual los parmetros que denen el intermedios en la asignacin de los valores de
modelo no se reajustan, entonces se puede reali- WS. La variable n se emplea para realizar el ciclo
zar todo el proceso en una funcin, donde la sa- iterativo FOR para el clculo de la salida. Final-
lida de la funcin solo depende de los valores de mente, num y den son las variables del numera-
las entradas. El lenguaje de programacin de tex- dor y denominador para el clculo de la salida,
to estructurado (ST) del estndar IEC 6113-3[12] respectivamente.
es similar al lenguaje de programacin Pascal, el
lenguaje SCL (Structured Control Language) de 2.1. Definicin y evaluacin de las funciones
STEP 7 se basa en ST. El diseo del sistema difu- de pertenencia
so se realiza en SCL.
Las funciones de pertenencia recomendadas son
La declaracin de la funcin difusa y sus varia- del tipo triangular y trapezoidal, debido a su
bles en sintaxis SCL de STEP 7, para 2 entradas, bajo costo computacional. Para evaluar las fun-
cada una con 3 funciones de pertenencia, y una ciones de pertenencia de una entrada cualquiera,
salida del sistema difuso, es: se emplean estructuras condicionales IF. A con-
tinuacin se muestra un ejemplo con una funcin
FUNCTION FC10: REAL triangular:
VAR_INPUT
U1,U2: REAL; //Entradas del sistema IF (U1>15,0) AND (U1<30,0) THEN
END_VAR AFP[1,2]:=True;
IF U1<=25,0 THEN
VAR_TEMP EFP[1,2]:=(U1-15,0)/10,0;
EFP: ARRAY [1..2,1..3] OF REAL; ELSE
AFP: ARRAY [1..2,1..3] OF BOOL; EFP[1,2]:=-(U1-30,0)/5,0;
WS: ARRAY [1..3] OF REAL; END_IF;
S: ARRAY [1..3] OF REAL; END_IF;
num, den, temp: REAL;
Si la entrada se encuentra dentro del rango de
n: INT;
denicin de la funcin de pertenencia, entonces
END_VAR
se hace verdadero el valor en el vector de acti-
vaciones (AFP) correspondiente a la funcin de
Las dimensiones de los vectores EFP y AFP
dependen de la cantidad de entradas (las) y el
nmero de funciones de pertenencia (columnas).
El vector EFP almacena los valores de la evalu- 1
acin de las funciones de pertenencia, mientras
que AFP almacena qu funciones de pertenencia
se activaron (valor lgico verdadero s se activ y
falso de lo contrario). El vector AFP facilita pos-
teriormente la evaluacin de las reglas del sistema 15 25 30 U1
difuso. El vector S contiene las posiciones de los
singletons (constantes) de las funciones de la sal-
ida. El vector WS contiene los pesos de cada una Fig. 1. Funcin triangular.

46 Tecnura Vol. 15 No.30 Julio - Diciembre de 2011


con-ciencias
pertenencia, en este caso es la columna 2. Poste- IF WS[1]<temp THEN
riormente, dependiendo del valor de la entrada se WS[1]:=temp;
calcula el valor de la funcin de pertenencia y se END_IF;
almacena en EFP. Se debe reducir al mximo la END_IF;
cantidad de operaciones que se realizan al evaluar
la funcin de pertenencia. Cada vez que se evala una regla, inicialmente se
almacena el mnimo entre los valores de las fun-
2.2. Mtodos de implicacin ciones de pertenencia que hacen parte de la regla.
Posteriormente, si existen varias reglas asociadas
Antes de denir las reglas, se plantea cules son a una misma salida, entonces se compara el val-
los mtodos de implicacin entre las funciones or obtenido en la regla con el valor del peso al-
de pertenencia de las entradas. Los mtodos de macenado previamente a la salida de dicha regla.
implicacin unen los valores fusicados de las Se asigna como peso el mayor entre los dos.
entradas para generar las reglas y posteriormente
la salida. En general las reglas tienen la siguiente 2.4 Calculo de la salida
forma:
La salida del sistema difuso tipo Takagi-Sugeno
SI U1 es FP1 Y U2 es FP1 OR U1 es FP2 Y U2 es se calcula de la siguiente forma:
FP1 ENTONCESDU es S [1]
WS >n@S >n@
n
i 1 (1)
Salida
WS >n@
Las uniones Y generalmente se aplican seleccio- n

nado el mnimo de los valores de pertenencia ob- i 1

tenidos al evaluar las entradas, mientras que en las Donde n es el nmero de funciones de pertenen-
uniones O se aplica el mximo entre los mnimos cia de la salida, WS[n] contiene el mximo entre
obtenidos por la uniones Y. Las uniones Y y O las reglas que comparten la salida S[n]. El pro-
se usan para denir las reglas difusas. Al nal de grama en SCL de la Ec. (1) para 3 funciones de
las reglas, el consecuente est asociado con una salida, es:
funcin de pertenencia de la salida.
FOR n:=1 TO 3 DO
2.3 Definicin de las reglas num:=WS[n]*S[n]+num;
den:=WS[n]+den;
Para evaluar las reglas se emplea el vector boolea- END_FOR
no de activacin de las funciones de pertenencia
(AFP), de esta manera se hace ms fcil y rpido FC10:=num/den;
evaluar cada regla:
donde nalmente, FC10 devuelve el valor de la
IF AFP[1,1] AND AFP[2,1] THEN salida del controlador difuso. Recordar que num
y den se deben inicializar con 0.
IF EFP[1,1]>EFP[2,1] THEN
temp:=EFP[2,1]; Con los pasos desarrollados en las secciones
ELSE previas se puede crear el bloque de funcin que
temp:=EFP[1,1]; realiza la evaluacin del sistema difuso, como se
END_IF; muestra a continuacin.

metodologa para la implementacin de controlador difuso tipo takagi-sugeno en plc s7-300 47


CRISTIAN GUARNIZO LEMUS
con-ciencias

N Z P
EN FC10 ENO 1

U1 RET_VAL
U2
-1 0 1

N Z P
Fig. 2. Funcin difusa en forma de bloque del estndar.

2.5 Bloque difuso en Step 7

El bloque de funcin nalmente diseado se pue- -1 0 1


(b)
de invocar desde cualquier otro lenguaje esta-
blecido en el estndar IEC 1131-3 ([12] Lewis,
Fig. 4. Funciones de pertenencia (a) de las entradas
1998). A continuacin se muestra el bloque del (e(k) y 'e(k)), y (b) de la salida ('u(k)).
sistema de inferencia difuso diseado:

Como se observa en la Fig. 2, el bloque cuenta U (s) 5


con las entradas U1 y U2, y la salida RET_VAL, (2)
R( s) s  4,5s  5,5s  15
3 2
que es la salida del controlador difuso. La entrada
EN, es usada para habilitar el uso del bloque, y la El esquema de control empleado para el sistema
salida ENO indica por medio de un valor lgico si dado en la Ec. (2), se basa en el modelo difuso PI
se ejecut correctamente el bloque. propuesto en [1,14], mostrado en la Fig. 3, don-
de las entradas discretas del sistema difuso son el
3. RESULTADOS error e(k) y cambio en el error e(k).

El sistema lineal de tercer orden por controlar es Donde r(k) es la referencia, y(k) es la salida de la
simulado en el PLC por medio de una funcin. planta y u(k) es la entrada de la planta en el ins-
El sistema est dado por la siguiente funcin de tante k. Las constantes Ke, Kde y Ku, se utilizan
transferencia [13]: para sintonizar el proceso de control. Las funcio-

r(k) Sistema de inferencia difuso


u(k-1)
+ +
Defusificacin

e(k) +
Fusificacin

 Ke
Base de u(k) u(k)
-
+ e(k) Reglas Ku 
y(k) Kde
-

e(k-1)
y(k)

Fig. 3. Esquema del controlador difuso implementado.

48 Tecnura Vol. 15 No.30 Julio - Diciembre de 2011


con-ciencias
nes de pertenencia en la entrada y la salida del
1.2
sistema difuso estn denidas como se muestra
1
en la Fig. 4.
0.8

Salida y(k)
Se programa la funcin difusa con la metodologa 0.6
anteriormente descrita, se discretiza el sistema
0.4
dado en Ec. (2) con un tiempo de muestreo igual a
0,2s. Posteriormente se implementa dicho sistema 0.2

en PLC por medio de un bloque de funcin. Los 0


datos de la salida de la planta son almacenados en
-0.2
un bloque de datos. El controlador difuso se agre- 0 5 10 15 20 25 30
ga al bloque de organizacin OB35 que permite Tiempo (s)

realizar control discreto de sistemas continuos.


Fig. 5. Respuesta al escaln para el controlador
Las reglas empleadas para el controlador difuso
difuso con Ke=1, Kde=1, Ku=0,2.
se denen en la tabla 1.

Tabla. 1. Funcin triangular. Definicin de la base 1

de reglas.
0.8
e(k)/'e(k) N Z P
Salida y(k)

N Z P P 0.6
Z N Z P
P N N Z 0.4

Posteriormente, se realizan dos pruebas variando 0.2

las constantes para observar el desempeo del


0
controlador. Para la conguracin inicial se 0 5 10 15 20 25 30
asignan los parmetros Ke=1, Kde=1yKu=0,2, Tiempo (s)

con los cuales se obtuvo la respuesta mostrada en


Fig. 6. Respuesta al escaln para el controlador difu-
la Fig. 5. so con Ke=2, Kde=0,01, Ku=0,1.

Para estos valores se observa que la salida del


sistema presenta oscilaciones alrededor de la re-
ferencia. Se procede entonces a variar las cons-
tantes para obtener un mejor desempeo. Sintoni-
zando manualmente los parmetros Ke, Kde y Ku,
se obtuvo la siguiente respuesta al escaln con los
parmetros Ke=2, Kde=0,01 y Ku=0,1:

En la Fig. 6 se presenta una respuesta en la cual la


salida del sistema llega a la referencia de una ma-
nera suave. El controlador difuso implementado
es altamente sensible a los valores de las constan-
tes Ke, Kde, Ku. El tiempo de ejecucin estimado
por el Software Step 7 se puede observar en la
Fig. 7. Fig. 7. Tiempos de ciclo del controlador difuso.

metodologa para la implementacin de controlador difuso tipo takagi-sugeno en plc s7-300 49


CRISTIAN GUARNIZO LEMUS
con-ciencias
El tiempo de clculo del controlador difuso, ade- leccin se puede realizar por medio de tcnicas
ms del clculo del sistema simulado est entre evolutivas como la presentada en [10].
10 y 15 ms. Se puede realizar control en tiempo
real empleando tcnicas difusas implementadas A partir de la metodologa aqu descrita, se pue-
en el PLC, se debe considerar que el tiempo de den implementar controladores difusos combi-
ciclo, fue clculo para 3 funciones de pertenen- nados con PID, Control predictivo (Sistema di-
cia por entrada, la complejidad del sistema difu- fuso que estime el modelo del sistema), sistemas
so crece exponencialmente a partir de la canti- difusos autosintonizados.
dad de funciones de pertenencia que se asignen
por entrada. 5. CONCLUSIONES

4. DISCUSIN Se puede implementar un controlador basado en


Lgica difusa en un PLC, para realizar control de
La metodologa de programacin se basa en len- sistemas lineales o no lineales; adicionalmente, se
guaje estructurado denido en el estndar IEC puede controlar un proceso de eventos discretos.
61131-3, por tal razn, cualquier PLC que cum- Con la metodologa descrita se pueden realizar
pla con este estndar, puede realizar la metodo- otras topologas o esquemas de control difuso.
loga anteriormente propuesta. En este mismo
estndar en la seccin 7, se dene un lenguaje Los parmetros de conguracin del sistema
de programacin de lgica difusa, llamado FCL difuso se deben seleccionar adecuadamente por
(Fuzzy control language). Pero actualmente los medio de simulaciones para obtener un desem-
PLC solo cumplen con los lenguajes denidos peo aceptable del controlador.
en el numeral 3, por esta razn, si se requiere
disear un controlador difuso se debe programar El PLC como herramienta industrial puede ser
de una forma similar descrita en este documen- utilizado para desarrollar sistemas de control
to. avanzados.

Si no se realiza una seleccin adecuada de los 6. FINANCIAMIENTO


parmetros Ke, Kde y Ku se puede obtener una
respuesta como en el resultado mostrado en la Este trabajo est enmarcado bajo el proyecto
Fig. 5. Los sistemas difusos son altamente sen- P-09235 registrado y nanciado por el Centro de
sibles a la sintonizacin de todos sus parmetros Investigaciones del Instituto Tecnolgico Me-
para obtener un desempeo aceptable. La se- tropolitano, Medelln, Colombia.

50 Tecnura Vol. 15 No.30 Julio - Diciembre de 2011


con-ciencias

REFERENCIAS

[1] H. Li and S. Tso, A fuzzy PLC with gain- [8] P. Siarry and F. Guely, A genetic algorithm
scheduling control resolution for a thermal for optimizing Takagi-Sugeno fuzzy rule bas-
process - a case study, Control Engineering es, Fuzzy Sets and Systems, vol. 99, no. 1,
Practice, vol. 7, pp. 523-529, 1999. pp. 37-47, Oct. 1998.

[2] O. Karasakal, E. Yesil, M. Guzelkaya and I. [9] R. Martnez-Marroqun, O. Castillo and J. So-
Eksin, The implementation and comparison ria, Optimization of membership functions
of different type self-tuning algorithms of of a fuzzy logic controller for an autonomous
fuzzy PID controllers on PLC, World Auto- wheeled mobile robot using ant colony opti-
mation Congress, Sevilla, Jul. 2004. mization, Evolutionary Design of Intelligent
Systems in Modeling, Simulation and Control,
[3] O. Karasakal, E. Yesil, M. Guzelkaya and I.
Springer Berlin / Heidelberg, pp. 3-16, 2009.
Eksin, Implementation of a New Self-Tun-
ing Fuzzy PID Controller on PLC, Turk. J. [10] E. Omizegba and F. Monikang, Fuzzy
Electrical Engeenering & Computer Science, logic controller parameter tuning using par-
vol. 13, no. 2, pp. 277-286, 2005.
ticle swarm algorithm, International Jour-
nal of Modelling, Identication and Control
[4] H. Ferdinando, The Implementation of low
2009, vol. 6, no.1, pp. 26 31, 2009.
cost fuzzy logic controller for PLC TSX 37-
21, International Conference on Intelligent
[11] International Electrotechnical Commis-
and Advanced Systems 2007, Kuala Lumpur,
sion (IEC), IEC 1131 Programmable Con-
Malaysia, Nov. 2007.
trollers. Part 7: Fuzzy Control Programming.
[5] M. Yahyaei, J.E. Jam and R. Hosnavi, Con- IEC 1131-7, Jan. 1997.
trolling the navigation of automatic guided
vehicle (AGV) using integrated fuzzy logic [12] R.W. Lewis, Programming Industrial
controller with programmable logic control- Control Systems Using IEC 1131-3. The Insti-
ler (IFLPLC)stage 1, The International tution of Engineering and Technology, Lon-
Journal of Advanced Manufacturing Technol- don: United Kingdom 1998.
ogy, vol. 47, no. 5-8, pp. 795 - 808, 2010.
[13] H. Li, A comparative design and tuning
[6] X. Liu, J. Geng, S. Teng and C. Li, A fuzzy- for conventional fuzzy control, IEEE Trans-
PID controller with adjustable factor based on actions on Systems, Man, and Cybernetics
S7-300 PLC, International Journal of Mod- Part B: Cybernetics, vol. 27, no. 5, pp. 884-
elling, Identication and Control 2009, vol. 7, 889, Oct. 1997.
no. 4, pp. 371 375, 2009.
[14] I. Altas and A. Sharaf, A generalized
[7] J. Jassbi, S.H. Alavi, P.J. Serra and R. Ribeiro, direct approach for designing fuzzy logic
Transformation of a Mamdani FIS to rst or- controllers in matlab/simulink GUI environ-
der sugeno FIS, IEEE international confer- ment, International Journal of Information
ence on Fuzzy systems, London, United King- Technology and Intelligent Computing, vol. 1,
dom, Jul. 2007. no.4, 2007.

metodologa para la implementacin de controlador


Tecnura Vol. 15 No. difuso
30 pp.tipo
44 -takagi-sugeno en plcde
51 Julio - Diciembre s7-300
2011 51
CRISTIAN GUARNIZO LEMUS

También podría gustarte