Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Automatización De Procesos Industriales Automatización De Procesos Industriales FACULTAD DE INGENIERIA ESCUELA PROFESIONAL DE INGENIERIA INDUSTRIAL CURSO: AUTOMATIZACIÓN DE PROCESOS INDUSTRIALES DOCENTE: Fidel Ríos TEMA: “ z ” CICLO: VI ALUMNO: BLAS QUIROZ ÁNGEL AÑO: 2019 Automatización De Procesos Industriales INTRODUCCION Matlab es un entorno de computación y desarrollo de aplicaciones totalmente integrado orientado para llevar a cabo proyectos en donde se encuentren implicados elevados cálculos matemáticos y la visualización gráfica de los mismos. Así mismo integra análisis numérico, cálculo matricial, proceso de señal y visualización gráfica en un entorno completo donde los problemas y sus soluciones son expresados del mismo modo en que se escribirían radicionalmente, sin necesidad de hacer uso de la programación tradicional. Dispone también en la actualidad de un amplio abanico de programas de apoyo especializados, denominados Toolboxes, que extienden significativamente el número de funciones incorporadas en el programa principal. Estos Toolboxes cubren en la actualidad prácticamente casi todas las áreas principales en el mundo de la ingeniería y la simulación, destacando entre ellos el 'toolbox' de proceso de imágenes, señal, control robusto,estadística, análisis financiero, matemático simbólicas , redes neurales , lógica difusa, identificación de sistemas, simulación de sistemas dinámicos, etc. Siendo un entorno de cálculo técnico, que se ha convertido en estándar de la industria, con capacidades no superadas en computación y visualización numérica. Matlab nace como una necesidad de mejores y más poderosas herramientas de cálculo para resolver problemas de cálculo complejos en capacidad de procesamiento de datos. El presente trabajo de investigación pretende dar y explicar las diversas aplicaciones y características de recopilación de información que puede ser útil para nosotros y conocer esta poderosa herramienta de cálculo, simulación y modelado matemático. De forma coherente y sin ningún tipo de fisuras, integra los requisitos claves de un sistema de computación técnico: cálculo numérico, gráficos, herramientas para aplicaciones específicas y capacidad de ejecución en múltiples plataformas. Esta familia de productos proporciona al estudiante un medio de carácter único, para resolver los problemas más complejos y difíciles. https://www.monografias.com/Computacion/index.shtml https://www.monografias.com/trabajos12/desorgan/desorgan.shtml https://www.monografias.com/trabajos12/pmbok/pmbok.shtml https://www.monografias.com/trabajos55/historias-de-matematicos/historias-de-matematicos.shtml https://www.monografias.com/trabajos11/metods/metods.shtml#ANALIT https://www.monografias.com/trabajos7/caes/caes.shtml https://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCE https://www.monografias.com/trabajos15/calidad-serv/calidad-serv.shtml#PLANT https://www.monografias.com/trabajos14/soluciones/soluciones.shtml https://www.monografias.com/Computacion/Programacion/ https://www.monografias.com/Computacion/Programacion/ https://www.monografias.com/trabajos7/mafu/mafu.shtml https://www.monografias.com/trabajos14/historiaingenieria/historiaingenieria.shtml https://www.monografias.com/trabajos3/color/color.shtml https://www.monografias.com/trabajos14/control/control.shtml https://www.monografias.com/trabajos15/estadistica/estadistica.shtml https://www.monografias.com/trabajos11/teosis/teosis.shtml https://www.monografias.com/trabajos11/estadi/estadi.shtml#METODOS https://www.monografias.com/trabajos11/contrest/contrest.shtml https://www.monografias.com/trabajos5/fami/fami.shtml https://www.monografias.com/trabajos12/elproduc/elproduc.shtml https://www.monografias.com/trabajos34/el-caracter/el-caracter.shtml Automatización De Procesos Industriales MARCO TEORICO: Jaime Esqueda (2002) Es un lenguaje de alto desempeño diseñado para realizar cálculos técnicos. MATLAB integra el cálculo, la visualización y la programación en un ambiente fácil de utilizar donde los problemas y las soluciones se expresan en una notación matemática. MATLAB es un sistema interactivo cuyo elemento básico de datos es el arreglo que no requiere de dimensionamiento previo. Esto permite resolver muchos problemas computacionales, específicamente aquellos que involucren vectores y matrices, en un tiempo mucho menor al requerido para escribir un programa en un lenguaje escalar no interactivo tal como C o Fortran. Se utiliza ampliamente en: • Cálculos numéricos • Desarrollo de algoritmos • Modelado, simulación y prueba de prototipos • Análisis de datos, exploración y visualización • Graficación de datos con fines científicos o de ingeniería • Desarrollo de aplicaciones que requieran de una interfaz gráfica de usuario (GUI, Graphical User Interface). En el ámbito académico y de investigación, es la herramienta estándar para los cursos introductorios y avanzados de matemáticas, ingeniería e investigación. En la industria MATLAB es la herramienta usada para el análisis, investigación y desarrollo de nuevos productos tecnológicos. La ventaja principal de MATLAB es el uso de familias de comandos de áreas específicas llamadas toolboxes. Lo más importante para los usuarios es que los toolboxes le permiten aprender y aplicar la teoría. Los toolboxes son grupos de comandos de MATLAB (archivos M) que extienden el ambiente para resolver problemas de áreas específicas de la ciencia e ingeniería. Por ejemplo, existen toolboxes para las áreas de Procesamiento Digital de Señales, Sistemas de Control, Redes Neuronales, Lógica Difusa, Wavelets, etc. Rosa Echevarría (2015) Es un potente paquete de software para computación científica, orientado al cálculo numérico, a las operaciones matriciales y especialmente a las aplicaciones científicas y de ingeniería. Puede ser utilizado como simple calculadora matricial, pero su interés principal radica en los cientos de funciones tanto de propósito general como especializadas que posee, así como en sus posibilidades para la visualización gráfica. Posee una gran ventaja al nivel de cálculo de matrices y simulación lo cual se pretende llegar a nivel educativo para la facilidad de ello. Automatización De Procesos Industriales OBJETIVOS GENERALES: Fortalecer nuestra enseñanza mediante el trabajo de investigación de matlab que permita mostrar todas las aplicaciones e instrumentos de cálculo eficientes para los estudiantes. OBJETIVOS ESPECIFICOS: Desarrollar nuestras habilidades y destrezas en la programación con Matlab Proporcionarnos los conocimientos básicos y técnicos acerca de la programación en Matlab para desarrollo de software en el mismo Distinguir e interpretar los conceptos y ejemplos de su aplicación MODELAMIENTO DE SISTEMA DE CONTROL Los ingenieros de sistemas de control utilizan “MATLAB” en todas las etapas de desarrollo, desde la modelización de la planta hasta el diseño y ajuste de los algoritmos de control y la lógica de supervisión, finalizando con la implementación gracias a la generación automática de código y la verificación, validación y comprobación del sistema. Ofrece: Un entorno de diagramas de bloques multidominio para modelizar la dinámica de la planta, diseñar algoritmos de control y ejecutar simulaciones de lazo cerrado. Modelización de plantas mediante herramientas de modelización física o identificación del sistema. Funciones prediseñadas y herramientas interactivas para analizar el sobreimpulso, el tiempo de subida, el margen de fase, el margen de ganancia y otras características de rendimiento y estabilidad en los dominios de la frecuencia y el tiempo. Lugar de raíces, diagramas de Bode, LQR, LQG, control robusto, control predictivo demodelos y otras técnicas de diseño y análisis. Ajuste automático de sistemas de control PID, de ganancia programada y SISO/MIMO arbitrarios. Modelización, diseño y simulación de la lógica de supervisión para llevar a cabo la planificación, el cambio de modo y la detección, aislamiento y recuperación de errores Automatización De Procesos Industriales FUNCIONES DE MATLAB Una función (habitualmente denominadas M-funciones en MATLAB), es un programa con una "interface" de comunicación con el exterior mediante argumentos de entrada y de salida. Las funciones MATLAB responden al siguiente formato de escritura (la cláusula end del final no es obligatoria, excepto en el caso de funciones anidadas, que se explica más adelante): Function [argumentos de salida] = nombre (argumentos de entrada) % comenta rios % .... Instrucciones (normalmente terminadas por; para evitar eco en pantalla).... End (opcional salvo en las funciones anidadas) Las funciones deben guardarse en un fichero con el mismo nombre que la función y sufijo. Se pueden incluir en el mismo fichero otras funciones, denominadas subfunciones, a continuación de la primera, pero sólo serán “visibles” para las funciones del mismo fichero. También es posible definir funciones anidadas, esto es, funciones “insertadas” dentro del código de otras funciones. (Se exponen aquí para conocer su existencia. Su utilización es delicada.) EJEMPLO : fichero tresxcuadrado.m function z=tresxcuadrado(x) % Ejemplo de una funcion anidada % %%%%%%%% function [y]=cuadrado(x) y=x*x; end %%%%%%% z=3*cuadrado(x); end 2.3 FUNCIONES ON-LINE (ANÓNIMAS) Algunas funciones “sencillas”, que devuelvan el resultado de una expresión, se pueden definir mediante una sola instrucción, en mitad de un programa (script o función) o en la línea de comandos. Se llaman funciones anónimas: Handle = @ (argumentos) expresion EJEMPLO >> ... >> mifun = @(x) sin(2*x); >> mifun(pi/4) ans = 1 Pueden tener varias variables y hacer uso de variables previamente definidas: Automatización De Procesos Industriales EJEMPLO >> a=2; >> mifun = @(x,t) sin(a*x*t); >> mifun(pi/4,1) ans = 1 Si, con posterioridad a la definición de la función mifun, se cambia el valor de la variable a, la función no se modifica: en el caso del ejemplo, seguirá siendo mifun(x, t)=sin (2*x*t). 2.4 WORKSPACE Y ÁMBITO DE LAS VARIABLES Workspace (espacio de trabajo) es el conjunto de variables que en un momento dado están definidas en la memoria del MATLAB Las variables creadas desde la linea de comandos de MATLAB pertenecen al base workspace (espacio de trabajo base). Los mismo sucede con las variables creadas por scripts que se ejecutan desde la linea de comandos. Estas variables permanecen en el base workspace cuando se termina la ejecución del script y se mantienen allí durante toda la sesión de trabajo o hasta que se borren. Sin embargo, las variables creadas por una función pertenecen al espacio de trabajo de dicha función, que es independiente del espacio de trabajo base. Es decir, las variables de las funciones son LOCALES : MATLAB reserva una zona de memoria cuando comienza a ejecutar una función, almacena en esa zona las variables creadas por esa función, y “borra” dicha zona cuando termina la ejecución de la función. Para hacer que una variable de una funcion pertenezca al base workspace, hay que declararla GLOBAL: La orden Global a suma error En una función hace que las variables a, suma y error pertenezcan al base workspace. Automatización De Procesos Industriales ANALISIS Y CONTROL DE SISTEMAS USANDO MATLAB TRATAMIENTO MEDIANTE FUNCIONES DE TRANSFERENCIA. SISTEMAS CONTINUOS. Este apartado muestra el uso de algunas de las herramientas con las que cuenta matlab para el diseño y análisis de sistemas de control. Para el ejemplo se va a partir de una descripción de la planta en forma de función de transferencia: En matlab las funciones de transferencia se introducen dando el par de polinomios numeradordenominador: Num = [.2 .3 1]; den1 = [1 .4 1]; den2 = [1 .5] El polinomio del denominador es el producto de dos términos. Para obtener el polinomio resultante se usa el producto de convoluci´on (o de polinomios). Den = conv (den1, den2) Para ver los polos (o los ceros) de la funci´on de transferencia, podemos usar: roots (den) (roots (num)). Una forma m´as completa de convertir una funci´on de transferencia dada por dos polinomios numerador y denominador, en un conjunto de factores de grado 1, correspondientes a los polos (z1,z2,z3) y ceros (c1,c2), de la forma: Es mediante el comando tf2zp: [Ceros, polos, gan] = tf2zp (N, D); Automatización De Procesos Industriales Devuelve un vector conteniendo los ceros de la funcion de transferencia, un vector conteniendo los polos, y un escalar correspondiente a la ganancia estática. La funci´on complementaria a ´esta también existe: [N, D] = zp2tf (ceros, polos, gan); Como curiosidad, cabe mencionar que el nombre de estas funciones es bastante descriptivo: ”tf-two-zp” procede de transfer-function to zero-pole form. DOMINIO TEMPORAL. La respuesta ante un escalón a la entrada se puede analizar en sistemas que tengan una descripción en forma de funci´on de transferencia o una representación en el espacio de estados, generando un vector de tiempos y usando la funcion step: t = [0:.3:15] ’; y = step(num,den,t); plot ( t,y); Title (’Respuesta a un escalon unitario’); xlabel (’tiempo (seg)’); grid; La respuesta al escal´on unitario puede verse en la Fig. 1.1. Seleccionando con el ratón en la curva, pueden modificarse algunos atributos de la misma. También pueden modificarse las propiedades de los ejes de forma analoga. Las figuras guardarse en ficheros .fig propios de matlab, o exportarse en diferentes formatos graficos estándar. Respuesta a escalon unitario: Respuesta a un escalón unitario 2.5 2 1.5 1 0.5 00 5 10 15 tiempo (seg) Automatización De Procesos Industriales No es necesario recuperar el resultado de la simulación ante escal´on que realiza step para después representarlo con plot, sino que el propio comando step, si lo utilizamos sin parámetros de salida, realiza la representación. Es más, en este segundo caso, la representación gráfica es algo m´as interactiva, puesto que si “pinchamos” con el botón izquierdo en algún punto de la gráfica, nos dice los valores correspondientes al tiempo y al valor de la salida en ese punto. Los valores correspondientes al tiempo y al valor de la salida en ese punto. La respuesta impulsional se puede obtener del mismo modo, pero usando en este caso la funci´on impulse, que tiene una sintaxis similar al comando step. Nótese que el vector de tiempos ya ha sido definido con anterioridad. Impulse (num, den, t); La respuesta al impulso puede verse en la Fig. 1.2. La respuesta del sistema a cualquier tipo de entrada también puede obtenerse. Para ello es necesario tener la señal de entrada en un vector u, que lógicamente deber´a tener la misma dimensión que el vector de tiempos. En sistemas multivariables, en vez de un vector de entradas tendremos una matriz. A estos efectos se usa la funcion lsim. Un ejemplo característico es la respuesta a una entrada en rampa: Respuesta a un impulso 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 −0.1 −0.2 0 5 10 15 tiempo (seg) Figura 1.2: Respuesta al impulso ramp = t; y = lsim ( num,den,ramp,t); plot ( t,y,t,ramp); title (’Respuesta a una rampa’); xlabel ( ’tiempo(seg)’); Automatización De Procesos Industriales La respuesta a la rampa puede verse en la Fig. 1.3. Respuesta a una rampa 30 25 20 15 10 5 0 0 5 10 15 tiempo (seg) Otro ejemplo característico es la respuestaa un ruido uniforme aleatorio. Recordamos que rand (m, n) genera una matriz m×n de números aleatorios uniformemente distribuidos entre 0 y 1. Es importante darse cuenta del filtrado que se produce en la señal cuando pasa por el sistema (hace de filtro paso bajas). Noise = rand (size (t)); y = lsim (num, den, noise, t); plot (t, y, t, noise); title (’Respuesta a un ruido aleatorio’); xlabel (’tiempo (seg)’); La respuesta al ruido puede verse en la Fig. 1.4. Respuesta a un ruido aleatorio 1.4 1.2 1 0.8 0.6 0.4 0.2 00 5 10 15 tiempo (seg) Figura 1.4: Respuesta a ruido aleatorio Automatización De Procesos Industriales Dominio Frecuencial: Respuesta en frecuencia La respuesta en frecuencia de los sistemas se puede obtener usando las funciones bode, Nyquist y nichols. Si no se le ponen argumentos a la izquierda, estas funciones generan las gráficas por si solas. En caso contrario, vuelcan los datos en los vectores de salida oportunos. A continuación se presentan ejemplos de las tres posibles sintaxis de la funci´on bode: 1. - bode (num, den) 2.- [mag,phase,w] = bode ( num,den ) 3.- [mag,phase] = bode ( num,den,w ) La primera de ellas produce un gráfico con la magnitud en decibelios (dB) y la fase en grados. En las otras dos la magnitud se devuelve en el vector mag y esta expresada en unidades absolutas, no en dB. Por su parte, la fase, devuelta en el vector phase, sigue siendo en grados. En esta forma, la representación es m´as interactiva, en el sentido de que “pinchando” con el ratón en un punto de la curva, podemos ver los valores correspondientes. La segunda forma automáticamente genera los puntos de frecuencia en el vector w. En la tercera forma es el usuario el que escoge los rangos de frecuencia, y resulta muy adecuado cuando se quieren representar varias graficas conjuntamente, que habrán de compartir una misma escala frecuencia. El resultado de los dos últimos´ comandos se puede representar usando funciones conocidas: subplot(211), log log(w,mag), title(’Magnitud’), xlabel(’rad/s’); subplot(212), semilogx(w,phase), title(’Fase’), xlabel(’rad/s’); El resultado para la funci´on de transferencia del ejemplo anterior puede verse en la Fig. 1.5. Cabe comentar que el comando subplot(n, m, i) permite dividir una ventana gráfica en una matriz de n × m sub-graficas, seleccionando como activa la número i (numeradas consecutivamente de izquierda a derecha y de arriba abajo). Automatización De Procesos Industriales Nyquist Diagrams −1.5 −1 −0.5 0 0.5 1 1.5 2 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 From: U(1) El comando nyquist tiene la misma sintaxis: Nyquist (num, den, w); [Re, im] = nyquist (num, den, w); Computa las partes real e imaginaria de G (jw) y realiza la representación si no se le ponen parámetros de salida. Para obtener la representación gráfica por nosotros mismos, solo hay que dibujar la parte real frente a la imaginaria. El resultado obtenido mediante el ejemplo anterior puede verse en la Fig. 1.6. El comando nichols computa el diagrama de Nichols de un sistema a partir de la funcion de transferencia en bucle abierto. Para verlo basta dibujar la magnitud del bucle abierto en dB (en el eje de ordenadas) frente a fase del bucle abierto en grados (en eje de abscisas), o llamar a la funci´on sin argumento de salida. Si se quiere en forma de abajo, se puede usar el comando ngrid. MARGENES DE ESTABILIDAD: Como es bien sabido en la teoría clásica del control, los margenes de estabilidad son el margen de fase y el margen de ganancia. Estos márgenes se calculan usando el comando margin. Margin (num, den); [Mg, mf,wmg,wmf] = margin (num, den); Como tercer parámetro de entrada se le puede pasar el rango de frecuencias deseado. En el primer caso indicado, en el que no se le especifican par´ametros de salida, se realiza la representación del diagrama de Bode, junto con una indicación, mediante líneas verticales de los puntos donde se mide cada uno de los márgenes y los valores de los mismos. En la segunda variante, como salidas se obtienen los valores de los margenes de ganancia (no Automatización De Procesos Industriales en dB), el margen de fase (en grados) y sus correspondientes frecuencias. Si existen varias frecuencias de corte marca los m´as desfavorables (ver Fig. 1.8). Automatización De Procesos Industriales GRAFICAS 2D EN MATLAB: Matlab dispone de funciones gráficas de alto y bajo nivel. Las funciones de alto nivel (plot, plot3, etc.) permiten representar gráficamente funciones o conjuntos de datos complejos (en forma de matrices de coordenadas x, y, z) con una sola llamada a una función. Las funciones de bajo nivel (line, patch, etc.) permiten dibujar gráficos elementales (una línea, un polígono, etc.) o gráficos complicados a base de añadir cada uno de los gráficos elementales. La orden plot genera una gráfica. Los argumentos deben ser vectores de la misma longitud. Si queremos cambiar la apariencia de la gráfica basta pinchar en el último botón de la barra de herramientas y se abrirán unos cuadros en los laterales que nos permitirán ir haciendo los cambios deseados como darle nombre a los ejes. Ejemplo: Generar las gráficas de la función seno y coseno en la misma figura: > >x=0: pi/100:2*pi; > >y1=sin(x); > >y2=cos(x); > >plot(x,y1,’k-‘) > >Plot (x, y2,’r—‘) Para desactivar hold simplemente se pone hold off. Para crear una figura nueva usamos el comando figure(n) donde n es el número que le vallamos a asignar a la figura, automáticamente la primera que sale es la figura 1. Este comando es muy útil cuando necesitamos hacer más de una gráfica, sin eliminar las anteriores y además por separado. Para limpiar la ventana de gráficas o figuras hay que escribir clf. Automatización De Procesos Industriales GRAFICOS 3D EN MATLAB: Por otro lado, Matlab permite realizar gráficas en 3 dimensiones. Las gráficas en 3D se definen mediante matrices y vectores de datos en función de que se dibuje una linea o una superficie. El comando PLOT3D: Para dibujar gráficas de funciones de dos variables se utiliza Plot3D[f,{x,xmin,xmax},{y,ymin,ymax}] dibuja la función f que depende de x e y para los valores de x comprendidos entre xmin y xmax y los valores de y entre ymin e ymax. Las opciones de Plot3D son las mismas que las de Plot. Superficies de revolución: En versiones anteriores a la 6.0.: Una superficie de revolución es la superficie que genera una curva al girar alrededor de un eje. Para dibujarla debemos cargar primero el paquete "Graphics`SurfaceOfRevolution`".La función incluida en este paquete que nos dibuja la superficie resultado de girar y=f[x] alrededor del eje OY es la siguiente: SurfaceOfRevolution [f, {x, xmin, xmax}]. También podemos girar curvas dadas en ecuaciones paramétricas con: SurfaceOfRevolution [{fx, fy}, {t,tmin,tmax}]. Para gráficas de funciones que dependen de dos variables. Z=f(x, y). Veamos, a partir de un ejemplo, algunos de los comandos de graficación 3D, como mesh, plot3, surf, etc. Ejemplo: Dibujar la gráfica de la función: > > [X, y]=meshgrid (-10:.5:10); > > z=sin (sqrt (x. ^2+y. ^2)). /sqrt (x. ^2+y. ^2+0.1); Meshgrid crea matrices para hacer una malla. > >pot3(x, y, z) Automatización De Procesos Industriales CONCLUSIONES: En MATLAB, podemos crear o definir un sistema si tenemos su representación en términos de su función de transferencia, sus polos y ceros o su representación en variables de estado. Esto lo realizamos mediante las Herramientas de Control (control toolbox) y sus comandos tf, zpk y ss. respectivamente. De igual forma podemos realizar transformaciones entre estas representaciones mediante el uso de los mismos comandos y también podemosvisualizar el sistema creado o modificado mediante printsys. Utilizando los comandos adecuados, pudimos aprender a modelar de una manera práctica y clara la función de transferencia de cualquier sistema. Algunas herramientas en Matlab son utilizadas en la reducción de diagramas de bloques. http://www.monografias.com/cgi-bin/search.cgi?query=sistema&?intersearch http://www.monografias.com/cgi-bin/search.cgi?query=Herramientas&?intersearch http://www.monografias.com/cgi-bin/search.cgi?query=Control&?intersearch Automatización De Procesos Industriales REFERENCIAS BIBLIOGRAFICAS: http://webs.ucm.es/centros/cont/descargas/documento11541.pdf https://es.mathworks.com/help/matlab/learn_matlab/matrices-and-arrays.html https://catedra.ing.unlp.edu.ar/electrotecnia/cys/pdf/matlab2.pdf http://personal.us.es/echevarria/documentos/IntroduccionMATLAB.pdf http://guiadeaprendizageparaelusodematlab.wikidot.com/#toc54 http://webs.ucm.es/centros/cont/descargas/documento11541.pdf https://es.mathworks.com/help/matlab/learn_matlab/matrices-and-arrays.html https://catedra.ing.unlp.edu.ar/electrotecnia/cys/pdf/matlab2.pdf http://personal.us.es/echevarria/documentos/IntroduccionMATLAB.pdf http://guiadeaprendizageparaelusodematlab.wikidot.com/#toc54 Automatización De Procesos Industriales
Compartir