Está en la página 1de 18

CLCULO DEL ERROR DE LA PROGRAMACIN DE LGICA DIFUSA EN EL PLC 200 DE LA FREIDORA FUZZY EN COMPARACIN CON MATLAB Y LABVIEW

Franklin Ren Musua Toapanta1 Luis Fernando Ulloa Toscano2 Tinoco Jaramillo Luis Enrique 3. 1,2,3 Estudiantes de Electrnica de la UPS

RESUMEN.- El presente trabajo consiste en el clculo del error a partir de los datos experimentales del proyecto FREIDORA FUZZY y su programacin de la lgica difusa elaborada en el PLC 200 en comparacin con el diseo de lgica difusa en MATLAB y LABVIEW manteniendo el mismo modelo. ANTECEDENTE: El proyecto FREIDORA FUZZY consiste en la aplicacin de la lgica difusa para un mecanismo automtico de una freidora de comida rpida, y sirve para determinar el tiempo de coccin de ciertos productos teniendo como entradas el peso total ingresado y el tipo de producto que se va a cocinar. INTRODUCCIN: La lgica difusa puede ser descrita como un sistema interpretativo, en el cual los objetos o elementos son relacionados con conjuntos de fronteras no ntidamente definidas, otorgndoles un grado de pertenencia relativa o graduada y no estricta como es de costumbre en la lgica tradicional. En un sentido ms amplio se podra decir que existe una especie de interpolacin entre una frontera y otra, o bien, entre un conjunto y otro. Lo anterior ha permitido incorporar sentencias del lenguaje comn, las que se caracterizan por ser un tanto indefinidas, para interpretar el estado de las variables de cierto proceso, asignndoles en cada momento un grado de pertenencia a estos conjuntos difusos. Esta interpretacin puede ser fcilmente relacionada mediante operadores lgicos tradicionales con ciertas medidas de accin, tambin de naturaleza no exacta que son diseadas de tal manera que produzcan un cambio deseado en las variables de inters. En resumen se puede disear un controlador, que interprete en forma intuitiva (y no numricamente exacta) el estado de ciertas variables, y en base a ello deduzca en forma lgica una actuacin posible que permita llevar la variable al estado deseado. La lgica difusa es utilizada cuando la complejidad del proceso en cuestin es muy alta y no existen modelos matemticos precisos, para procesos altamente no lineales y cuando se envuelven definiciones y conocimiento no estrictamente definido (impreciso o subjetivo). Esta tcnica se ha empleado con bastante xito en la industria, principalmente en Japn, y cada vez se est usando en gran multitud de campos. La primera vez que se us de forma importante fue en el metro japons, con excelentes resultados. Los sistemas difusos han sido utilizados en una gran variedad de aplicaciones en ingeniera, ciencia, negocios, medicina, psicologa, entre otros campos. OBJETIVO GENERAL: Establecer un porcentaje de error y tolerancia del proyecto FREIDORA FUZZY, realizando una la comparacin de los resultados de la salida difusa del mismo modelo en tres sistemas distintos como son: Programacin en Step 7 para el PLC 200, MATLAB Y LABVIEW; partiendo de la toma de datos con la experimentacin y tomando como valor real la respuesta obtenida en los software MATLAB y LABVIEW.

OBJETIVOS ESPECFICOS: Obtener datos distintos de la salida difusa a partir de diferentes valores en las dos entradas del sistema difuso de la FREIDORA. Disear el programa de lgica difusa del modelo de la FREIDORA en el software matemtico de MATLAB utlizando el Toolbox Fuzzy Logic. Disear el programa de lgica difusa del modelo de la FREIDORA en el software de instrumentacin LABVIEW utilizando el Toolkit. Calcular el porcentaje de error que tiene el proyecto FREIDORA FUZZY con los resultados obtenidos en la experimentacin y la programacin del modelo difuso en los software MATLAB y LABVIEW.

parte de sus detractores, y su nacimiento no fue todo lo prometedor que hoy cabra esperar viendo el xito que ha alcanzado. Pese al rechazo que gran parte de la comunidad cientca expresaba inicialmente a esta teora, en muchos casos tan solo por su nombre o por hacer nfasis en el concepto de imprecisin, se fueron creando grupos de investigacin sobre esta temtica tanto en Europa como en Estados Unidos. La posterior incorporacin de los pases asiticos al desarrollo difuso fue fundamental para dar el ltimo impulso a la teora de Zadeh. La capacidad de las empresas japonesas para aplicar la lgica difusa a sus productos, unida a la estrecha colaboracin de estas empresas con las Universidades japonesas, fomentaron la transferencia de los conocimientos sobre lgica difusa al campo de la ingeniera y el control. Como el propio Zadeh dijo en una entrevista concedida a La Vanguardia en el ao 2004,. . . en Japn antes de discutir tericamente mi lgica se pusieron a hacerla funcionar en la prctica, y se impuso. As, desde los aos 80 Japn es el lder indiscutible del mercado de las aplicaciones borrosas y foco de innumerables avances de esta teora. Definiciones bsicas: Conjunto difuso.- Sea X un conjunto no vaco, un conjunto borroso A est caracterizado por: A(x): X *0, 1+, (1.1) Donde A(x) representa el grado de pertenencia del elemento x sobre el conjunto borroso A para cada x X. A est completamente determinado por el conjunto de pares: A = {(x, A(x)), x X} (1.2) Como se observa en la expresin (1.2), un conjunto difuso queda caracterizado mediante su funcin de pertenencia. Funcin de pertenencia triangular.Tri[a, b, c+(x), con a b c, se dene segn la expresin:

MARCO TERICO: La lgica difusa. La lgica difusa es una lgica multivaluada que permite valores intermedios para poder denir evaluaciones convencionales. De esta forma, no se determina si un elemento pertenece o no a un conjunto, sino la calidad de la pertenencia evaluada en un rango completo desde la no pertenencia hasta la pertenencia con la mxima calidad posible. Esta caracterstica permite el anlisis del razonamiento aproximado, mucho menos estricto que la lgica bivaluada tradicional. Tomando como base la imprecisin del razonamiento humano, pero bajo un planteamiento matemtico, la lgica difusa es capaz de generar la respuesta a una situacin basndose en el conocimiento adquirido sobre sta, que podr ser inexacto e incompleto. La lgica difusa permite establecer lmites suaves (o difusos) para los conjuntos, haciendo que no todo tenga que ser blanco o negro, sino que es posible la existencia de niveles de grises. Desde sus inicios la lgica difusa ha tenido que enfrentarse con constantes ataques por

siendo el conjunto de reglas de un sistema difuso lo que se conoce como base de reglas o base de conocimiento del sistema. En su forma ms simple, una regla difusa viene dada por la expresin: Si x es A entonces y es B Aunque esta expresin puede hacerse ms compleja mediante la aplicacin de operadores de negacin, unin, interseccin, modicadores lingsticos, etc. Sistema de inferencia difuso.Los sistemas de inferencia difusos son algoritmos basados en la lgica difusa y el razonamiento aproximado. Figura 1: Funcin de perteneca triangular. Funcin de pertenencia trapezoidal.Trap*a, b, c, d+(x), siendo a b c d se dene segn la expresin: Fuzificacin.En muchos casos, especialmente en sistemas de control, las entradas que deben aplicarse a un sistema difuso son valores numricos concretos, no difusos, procedentes generalmente de sensores. Base de conocimiento.La base de conocimiento almacena las relaciones existentes entre las entradas y salidas del sistema. Basndose en este conocimiento, el proceso de inferencia obtendr las salidas asociadas a las entradas del mismo. Este elemento puede subdividirse en dos partes: la base de datos y la base de reglas. La base de datos contiene la denicin de las variables lingsticas empleadas en las reglas, es decir, las funciones de pertenencia que denen cada una de las etiquetas lingsticas. La base de reglas contiene la coleccin de reglas lingsticas del sistema. sta puede representarse como una lista de reglas, que es la forma ms habitual, o mediante una tabla o matriz de decisin, que proporciona un formato ms compacto si existen pocas variables. Defuzificacin.Cuando la salida del sistema de inferencia es un conjunto difuso pero la aplicacin requiere que sea un valor numrico concreto, es necesario emplear defuzificacin. Este elemento convierte dicho conjunto en un valor numrico del universo de discurso de salida que ser representativo de la conclusin obtenida.

Figura 2: Funcin de perteneca triangular. Variables lingsticas.Una variable lingstica es una variable cuyos valores son palabras o sentencias en un idioma natural o articial. El concepto de variable lingstica fue introducido por Zadeh y desarrollado posteriormente por l mismo en varios trabajos. Las variables lingsticas permiten el acercamiento de la lgica difusa al lenguaje natural, facilitando la utilizacin lgica del lenguaje ordinario y eludiendo as las deciencias del lenguaje preciso en el rea del control. Regla difusa.Un regla difusa es una sentencia condicional que tiene la estructura SiEntonces (If-Then),

DESARROLLO: 1. MODELO FUZZY DE LA FREIDORA. ENTRADA FUZZY 1:

Figura 3: entrada difusa 1. Funcin de membreca de la entrada difusa 1: 1; 0 x < 100 100 x 300 7 x/100; 0; otro valor 100 x < 300 (x-500)/200; (5/2) - x/200; 0; 300 x 500 9/2 - x/200; otro valor 0; otro valor 700 x < 900 500 x < 700 0; 600 x 700 otro valor x/100 3; 1; 3/2 - x/200; 300 x < 400 400 x < 600

(x-100)/200;

(x-700)/200; 1;

700 x < 900

900 x 1000

ENTRADA FUZZY 2:

Figura 4: entrada difusa 2. Funcin de membreca de la entrada difusa 2: 1 x/2; 0; x/2; 2 x/2 0; x/2 -1; 1; 0x<2 otro valor 0x<2 2x<4 otro valor 2x<4 4x6

SALIDA FUZZY:

Figura 5: salida difusa. Funcin de membreca de la salida difusa: 0 x < 60 60 x 180 otro valor

1; (3/2) - x/120; 0;

(x-60)/120; (5/2) - x/120; 0;

60 x < 180 180 x 300 otro valor

(x-180)/120; (7/2) - x/120; 0;

180 x < 300 300 x 420 otro valor

(x-300)/120;

300 x < 420 420 x 540

1;

La FAM: Tabla1: La FAM. Int2\Int1 Muy poco Rpido mnimo Normal mnimo Lento bastante

poco mnimo mnimo bastante

Moderado mnimo aceptable mximo

Mucho mnimo aceptable mximo

Demasiado Mnimo aceptable mximo

Las Reglas (Fusificacin por el mnimo): 1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) IF entrada1=muy poco AND entrada2=rpido THEN salida= mnimo. IF entrada1=poco AND entrada2=rpido THEN salida= mnimo. IF entrada1=moderado AND entrada2=rpido THEN salida= mnimo. IF entrada1=mucho AND entrada2=rpido THEN salida= mnimo. IF entrada1=demasiado AND entrada2=rpido THEN salida= mnimo. IF entrada1=muy poco AND entrada2=normal THEN salida= mnimo. IF entrada1=poco AND entrada2=normal THEN salida= mnimo. IF entrada1=moderado AND entrada2=normal THEN salida= aceptable. IF entrada1=mucho AND entrada2=normal THEN salida= aceptable. IF entrada1=demasiado AND entrada2=normal THEN salida= aceptable. IF entrada1=muy poco AND entrada2=lento THEN salida= bastante. IF entrada1=poco AND entrada2=lento THEN salida= bastante. IF entrada1=moderado AND entrada2=lento THEN salida= mximo. IF entrada1=mucho AND entrada2=lento THEN salida= mximo. IF entrada1=demasiado AND entrada2=lento THEN salida= mximo.

2. DATOS EXPERIMENTALES DE LA FREIDORA FUZZY. En base a dos entradas se realiz la toma de datos de la programacin en Step 7 para el PLC200, estas entradas son: peso y velocidad de coccin, valores que se ingresan al sistema de forma manual para la experimentacin y toma de datos de la salida difusa que da como resultado el tiempo de coccin que necesita el producto ingresado a la freidora. Tabla 2: Datos experimentales en la programacin step 7 para el PLC 200. Entrada 1: Peso [g] Entrada 2: Velocidad de Salida: tiempo de coccin [s] coccin. 500 3 312 100 1 60 350 1 120 150 3 180 550 3 405 750 4 405 800 6 480 100 1,2 60 1,25 0,25 60 1000 6 480

3. DISEO DE LA LGICA DIFUSA EN MATLAB. Para ingresar al Toolbox Fuzzy Logic en Matlab se da clic en el botn de Start de la parte inferior en la ventana de inicio del software, luego en Toolboxes/ fuzzy logic/ FIS Editor GUI (Fuzzy).

Figura 6: Iniciar Toolbox Fuzzy Logic. Automticamente aparece la ventana del Toolbox Fuzzy Logic, en la cual se ir creando el modelo de lgica difusa de la Freidora.

Figura 7: Toolbox Fuzzy Logic. El modelo de lgica difusa de la Freidora consiste en dos entradas, la primera hace referencia al peso del producto y la segunda consiste en la velocidad de coccin que determina el usuario; y una nica salida difusa que consiste en el tiempo de coccin determinado por el sistema. Lo primero que se hace es introducir al modelo una entrada ms, para lo cual se da clic en Edit/ Add Variable/ Input.

Figura 8: Ingresar una nueva entrada. Ahora se deben establecer los nombres a las entradas y a la salida, para lo cual vamos dando clic en el recuadro que representa a las entradas, una por una, y en la parte inferior derecha vamos cambiando el nombre; en este caso la entrada 1 es el peso, la entrada 2 es el producto y la salida es el tiempo.

Figura 9: Cambiar los nombres de las entradas y la salida. Se procede a guardar el archivo con el nombre del proyecto, para lo cual se debe hacer clic en File/ Export/ To file.

Figura 10: Guardar el archivo.

Cuando el archivo ha sido guardado aparece el nombre del proyecto en el cuadro central de la arquitectura de la lgica difusa.

Figura 11: Archivo guardado. A continuacin se procede a crear las funciones de pertenencia de las entradas y de la salida del programa de lgica difusa, para lo cual se da doble clic en cualquiera de las imgenes de las entradas o de la salida, y automticamente aparece otra ventana donde se proceder a crear las funciones de pertenencia, primero se deben borrar las existentes, para esto se va a Edit/ Remove all MFs.

Figura 12: Borrar todas las funciones de pertenencia que aparecen por defaul. Para ir agregando las funciones de transferencia deseadas se da clic en Edit/ Add MFs. En el recuadro que aparece, se ingresa el tipo de funcin de transferencia, es decir, si se va a utilizar una triangular, trapezoidal, entre otras.

Figura 13: Ingresar funciones de pertenencia.

En los recuadros ubicados en la parte inferior de las funciones de pertenencia, primero se establece un rango de trabajo y para cada funcin de pertenencia se determinan sus puntos de corte, por ltimo se escribe el nombre del conjunto. Para el caso de la entrada 1, el rango es de 0 a 1000 gramos y se establece los puntos de corte de cada funcin de pertenencia como se encuentra en la figura 3 con sus respectivas variables lingsticas.

Figura 14: Funciones de pertenencia de la entrada 1. El rango de la entrada difusa 2 va desde 0 hasta 6.

Figura 15: Funciones de pertenencia de la entrada 2. Y por ltimo el rango de la salida difusa es de 0 a 540 segundos.

Figura 16: Funciones de pertenencia de la salida difusa.

A continuacin se procede a crear las reglas, para esto se ingresa a Edit/ Membership Funtions.

Figura 17: Ingresar al editor de reglas. Se procede a crear las reglas seleccionando una de las variables lingsticas de la entrada 1 luego de la entrada 2 y una de la salida y por ltimo el botn de la parte inferior que dice ADD RULE. Esto se debe hacer para cada combinacin posible y de acuerdo a lo establecido en la FAM anteriormente.

Figura 18: Crear las reglas. Para simular el programa se ingresa a: View/ Surface.

Figura 19: Simulacin del programa.

4. CLCULOS DE LALGICA DIFUSA EN MATLAB. En la pantalla de simulacin se pueden observar las funciones de pertenencia activas tanto de las dos entradas como de la salida de acuerdo a las reglas que se estn cumpliendo. Lo que se procede hacer es establecer el valor de las entradas en forma de vector en la parte inferior en el recuadro con el nombre INPUT, y podemos visualizar el resultado de la salida difusa.

Figura 20: Simulador del modelo fuzzy. Tabla 3: Datos tomados del simulador en MATLAB del modelo Fuzzy. Entrada 1: Peso [g] Entrada 2: Velocidad de Salida: tiempo de coccin [s] coccin. 500 3 318 100 1 74,6 350 1 134 150 3 197 550 3 318 750 4 442 800 6 436 100 1,2 72,1 1,25 0,25 65,9 1000 6 448

5. DISEO DE LA LGICA DIFUSA EN LABVIEW. Se procede abrir el entorno del LABVIEW y se ingresa al toolkit para programacin de la lgica difusa, para lo cual se da clic en Tools/ Control Design and Simulation/ Fuzzy System Designer.

Figura 21: Inicio del Toolkit de labview para la lgica fuzzy. Automticamente aparece el entorno de trabajo, en el cual se deben disear las funciones de pertenencia.

Figura 22: Entorno para la lgica Fuzzy.

Se aaden las entradas difusas y la salida difusa y se crean las funciones de pertenencia en cada una.

Figura 23: Funciones de pertenencia de la entrada 1.

Figura 24: Funciones de pertenencia de la entrada 2.

Figura 25: Funciones de pertenencia de la salida difusa. Por ltimo se establecen las reglas.

Figura 26: Crear las reglas.

6. CLCULOS DE LA LGICA DIFUSA EN LABVIEW. En la pantalla de simulacin se pueden observar las reglas activas. Lo que se procede hacer es establecer los mismos valores de entrada utilizados en la parte experimental y en MATLAB.

Figura 27: Simulador del modelo fuzzy. Tabla 4: Datos tomados del simulador en LABVIEW del modelo Fuzzy. Entrada 1: Peso [g] Entrada 2: Velocidad de Salida: tiempo de coccin [s] coccin. 500 3 330,45 100 1 60 350 1 120 150 3 190,909 550 3 330,54 750 4 465 800 6 450 100 1,2 54 1,25 0,25 57,5 1000 6 480

7. CLCULO DEL ERROR DE LA PROGRAMACIN DE LGICA DIFUSA EN EL PLC 200 EN COMPARACIN CON LOS DATOS DE MATLAB. Tabla 5: Clculo de error con los valores experimentales del programa en STEP7 y MATLAB.

PLC 200 312 60 120 180 405 405 480 60 60 480

VALORES DE LA SALIDA DIFUSA [s] MATLAB error error porcentual % 318 -0,018867925 1,886792453 74,6 -0,195710456 19,57104558 134 -0,104477612 10,44776119 197 -0,086294416 8,629441624 318 0,273584906 27,35849057 442 -0,083710407 8,371040724 436 0,100917431 10,09174312 72,1 -0,167822469 16,78224688 65,9 -0,08952959 8,952959029 448 0,071428571 7,142857143 Promedio 11,92343783

8. CLCULO DEL ERROR DE LA PROGRAMACIN DE LGICA DIFUSA EN EL PLC 200 EN COMPARACIN CON LOS DATOS DE LABVIEW. Tabla 6: Clculo de error con los valores experimentales del programa en STEP7 y LABVIEW.

PLC 200 312 60 120 180 405 405 480 60 60 480

VALORES DE LA SALIDA DIFUSA [s] LABVIEW error error porcentual % 330,45 -0,05583296 5,583295506 60 0 0 120 0 0 190,909 -0,05714241 5,714240816 330,54 0,22526774 22,52677437 465 -0,12903226 12,90322581 450 0,06666667 6,666666667 54 0,11111111 11,11111111 57,5 0,04347826 4,347826087 480 0 0 Promedio 6,885314036

9. RESULTADOS. Segn los resultados obtenidos en las tablas 5 y 6 se tiene un error promedio del 11,92% segn la programacin en MATLAB y del 6,88% segn la programacin en LABVIEW. Se debe tomar en cuenta que en ambos software no existe la forma de modificar el nmero de muestras a operar, es decir cada software aplica la frmula del centro promedio con el mayor nmero de datos posibles, y en el programa elaborado en step 7 el nmero de muestras es menor debido a que se economiza memoria en el plc 200; Esto produce que el clculo de la salida difusa sea ms acertado que en el experimento de la Freidora Fuzzy. CONCLUSIONES: - El porcentaje de error obtenido es del 11,92% en base a los resultados obtenidos en el entorno Toolbox Fuzzy Logic de MATLAB de la salida difusa del modelo de la FREIDORA FUZZY; mientras que con el entorno Toolkit de LABVIEW se obtuvo un porcentaje de error del 6,88%, en relacin a los datos obtenidos a partir de la experimentacin con valores aleatorios de dos entradas sensoriales en el programa cargado del step7 al PLC200. Se puede considerar que el valor de tolerancia del proyecto FREIDORA FUZZY oscila entre el 11,92% y el 6,88% pero se debera tomar en cuenta que el nmero total de muestras del conjunto

final difuso en la programacin para el PLC200 es menor al que utilizan los software de los entornos de lgica difusa en MATLAB y LABVIEW para calcular la salida difusa final con el procedimiento del centro promedio. RECOMENDACIONES: - Hay que tomar en cuenta que para medir los valores en el plc mediante Step 7 se tomaron debidamente valores fijos que facilitaron el clculo de errores con los otros software a utilizar - Se debe conocer las libreras especficas que hay que usar en MatLab y Laview para usar Lgica Difusa para realizar trabajos de este tipo. BIBLIOGRAFA:

Documento PDF: Tutorial Toolbox Fuzzy Logic de Matlab. Documento PDF: DISEO E IMPLEMENTACIN DE UN CONTROLADOR DIFUSO EN UN dsPIC30F4011 PARA UNA HLICE DE PASO VARIABLE. http://softandprog.blogspot.com/20 08/10/lgica-difusa-y-mejoramientode-imagenes.html Video tutorial: http://www.youtube.com/watch?v= vjp1Kxpxq_4