AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

download AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

of 52

Transcript of AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    1/52

    Taller Prctico:Diseo y Simulacin de Control conNI myDAQ

    Derechos de Autor

    2011National Instruments Corporation. Todos los derechos reservados.

    Bajo las leyes de autor, esta publicacin no deber ser reproducida o transmitida en ninguna forma, electrnica o mecnica,

    incluyendo fotocopia, grabacin, almacenando en un sistema de recuperacin de informacin o trasladar completo o en partes

    sin el consentimiento por escrito de National Instruments Corporation.

    National Instruments respeta la propiedad intelectual de otros y pedimos a nuestros usuarios hacer lo mismo. El software de NI

    est protegido por derechos de autor y otras leyes de propiedad intelectual. En donde el software de NI sea usado para

    reproducir software u otros materiales pertenecientes a otros, usted podr usar el software slo para reproducir materiales que

    usted posiblemente reproduzca de acuerdo a los trminos de cualquier licencia aplicable u otra restriccin legal.

    Marca Registrada

    National Instruments, NI, ni.com y LabVIEW son marcas registradas de National Instruments Corporation. Refirase a los

    trminos de uso en ni.com/legal para ms informacin acerca de marcas registradas de National Instruments.

    Otros nombres de productos y compaas mencionados aqu son marcas registradas de sus respectivas compaas.

    Los Miembros de National Instrumets del Programa de Miembros de Alianza son entidades de negocio independientes de

    National Instruments y no tienen sociedad de la agencia o relacin conjunta con National Instruments.

    Patentes

    Para patentes referentes a Productos/tecnologa de National Instruments dirjase a la localidad apropiada HelpPatents en su

    software, el archivo patents.txt en su media de reproduccin o en National Instruments Patent Notice en ni.com/patents.

    Derechos Reservados 2011National Instruments Corporation. Todos los derechos reservados.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    2/52

    Ejercicio 1. Identificacin de Sistemas

    En este ejercicio aprenderemos a usar LabVIEW para poder obtener la definicin matemtica denuestro sistema de demostracin. Usaremos los bloques del System Identification Toolkit parahacer la identificacin paramtrica de un motor de DC. La base de la identificacin paramtrica de

    cualquier sistema es comparar las caractersticas de entrada (o excitacin) de la planta con su

    caracterstica de salida (o respuesta).

    Se cuenta con un sistema de demostracin didctico, construido con componentes simples y de bajo

    costo. Conectar este dispositivo a nuestra tarjeta NI MyDAQ, nos permitir construir un controlador

    de velocidad para los motores de corriente directa.

    El sistema consta principalmente de un motor de corriente directa, y adems, se incorpor un opto-

    interruptor que nos ayudar a medir la velocidad de giro del motor.

    El dispositivo tambin tiene un sistema electrnico de potencia que alimenta a la planta y que

    conecta a todo el sistema con el conector de la NI MyDAQ. Este panel de conectores nos permiteconectar el sistema con nuestra tarjeta. El sistema electrnico de potencia ya tiene conectadas lasseales que nos interesan medir.

    La primera parte del ejercicio consta en generar una seal de excitacin aleatoria para nuestra

    planta. Los sistemas de control se suelen modelar en el dominio de la frecuencia por lo que la teora

    de identificacin de sistemas recomienda usar seales binarias aleatorias. Esto es, poder verificar el

    comportamiento de la planta ante una cierta amplitud y con una frecuencia variable (barrido de

    frecuencias).

    Una vez generada la seal de excitacin, la mandaremos por la salida analgica A0 de la tarjeta NI

    MyDAQ. Asegrate de que los dos interruptores del dispositivo estn apuntando hacia el

    circuito 1 (C1)

    Posteriormente, realizaremos la adquisicin de datos de esa seal de excitacin y de la respuesta

    que detecta el motor. Una vez que adquirimos estas seales, pasaremos a usar los bloques Express

    del System Identification Toolkitde LabVIEW para hacer la identificacin paramtrica.

    Finalmente, usando los bloques del Control Design Toolkit de LabVIEW crearemos larepresentacin de estado y funcin de transferencia de nuestra planta.

    Nota: Este curso fue diseado para mostrar cmo usar los Toolkits de LabVIEW en la creacin de

    sistemas de control por lo que no ahondamos mucho en la utilizacin LabVIEW. A lo largo de larealizacin de los ejercicios de este seminario, algunas interfaces grficas del panel frontal y ciertos

    cdigos del diagrama de bloques ya estn hechos para ti y slo tendrs que completar el cdigocomo se te indicar en los ejercicios.

    Sigue estas instrucciones:

    1. Abre LabVIEW si no se encuentra abierto dando clic en el cono del programa o con la rutade acceso del men de inicio en Windows: Start > All Programs > National Intruments >LabVIEW 2011> LabVIEW.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    3/52

    2. Abre el archivo que se encuentra en el escritorio en la carpeta LabVIEW Control DesignHandsOn\Exercises\Ejercicio1 Identificacin de Sistemas.

    3. El panel frontal ya contiene la base de lo que ser la interfaz grfica de este programa y el

    diagrama de bloques contiene ya algunos controles as como un ciclo While, dos

    estructuras CASE y la creacin de la tarea que se encargarn de transmitir las diferentes

    seales de control a la tarjeta DAQ y posteriormente al circuito del motor.

    4. Ahora, conecta el control Stop a la terminal de la condicin para el ciclo While. Para haceresto, conecta primero este control a la terminal condicional de la estructura CASE interna

    (tanto para el caso verdadero como para el falso). Observa la ilustracin:

    Despus, cmbiate a la pestaa FALSE de la estructura CASE exterior y conecta el control STOP a la

    terminal como se muestra a continuacin:

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    4/52

    5. Para generar nuestra seal aleatoria de excitacin, dentro del ciclo while en la partesuperior, coloca un ciclo For que encontrars bajo Programming > Structures > ForLoop. Asegrate de que la estructura CASE interior quede localizada dentro de este nuevociclo FOR. Observa la figura.

    En la terminal STOP, a un costado de la estructura FOR que acabas de colocar, deshabilita laopcin de autoindexado como lo indica la siguiente imagen:

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    5/52

    6. Da clic derecho en la terminal N del ciclo For para definir el nmero de iteraciones a

    realizar. Elige la opcin Create Constantdel submenu que aparece. Fija su valor en 1000.

    7. Las iteraciones pares generarn un pulso en alto y las iteraciones impares generarn unpulso en bajo generando as la seal binaria que buscamos. Cerca de la terminal de

    iteracin del ciclo For y dentro de la estructura CASE interior coloca un bloque Quotient &Remainder que encontraras bajo Programming > Numeric > Quotient & Remainder.Conecta la terminal i del nmero de iteracin del ciclo a la terminal x del bloque queacabas de colocar.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    6/52

    8. Da clic derecho sobre la terminal y del bloque Quotient & Remainder y elige la opcin

    Create > Constantdel submenu que aparece. Fija el valor de la constante en 2. Con estopodremos determinar si la iteracin es par o impar.}

    9. Coloca un bloque de comparacin Equal to 0? que encontrars bajo Programming >Comparison > Equal to 0? Conecta la terminal R del bloque Quotient & Remainder albloque Equal to 0?

    10.Coloca un bloque Select que encontraras bajo Programming > Comparison > Select.Conecta la salida del bloque Equal to 0? a este bloque. Adems, crea las constantes par el

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    7/52

    valor de True (fija un valor de 5) y para el valor de False (fija un valor de 0). As

    terminamos de definir la amplitud de nuestra seal aleatoria.

    11.Ahora definiremos el periodo de espera de cada estado de la seal (alto y bajo). Para esto,coloca dentro del ciclo For un bloque Wait que encontrars bajo Programming > Timing> Wait (ms). Si es necesario, modifica el tamao de las estructuras.

    12.Ahora coloca un bloque Multiply seguido de un bloque Round to Nearest antes del bloqueWait. Estos dos bloques los encontrars bajo Programming > Numeric >Multiply/Round to Nearest.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    8/52

    13.Despus de conectar los bloques que colocaste, pon un bloque Random Number queencontrars bajo Programming > Numeric > Random Number y conctalo a la terminalx del bloque Multiply.

    14.En la terminal y del bloque Multiply, crea una constante y fija su valor en 5. De estaforma, el valor mximo de cada estado (alto o bajo) de la seal binaria aleatoria no podr

    ser de ms de 5ms. Con esto terminamos de definir nuestra seal binaria aleatoria que

    servir de excitacin para nuestra planta.

    15. Ahora usaremos los bloques de DAQmx para poder mandar esta seal binaria aleatoria por

    la salida analgica AO0. En la esquina superior izquierda se encuentran los bloques de

    DAQmx Create Channel y DAQmx Start Task los cuales, respectivamente permiten la

    habilitacin de los canales donde la seal ser enviada as como el inicio de la asignacinde las tareas a estos canales.

    16.Ahora coloca dentro del ciclo For un bloque DAQmx Write que encontrars bajoMeasurement I/O > NI-DAQmx > DAQmx Write.

    17.Ahora, coloca fuera del ciclo For en el lado derecho un bloque DAQmx Stop Task queencontrars bajo Measurement I/O > NI-DAQmx > DAQmx Stop Task. Realiza lasconexiones que se muestran en la imagen incluyendo la conexin del valor de salida del

    bloque Select a la terminal data del bloque DAQmx Write.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    9/52

    Nota: Al realizar las conexiones, puede que la salida de la tarea de escritura en el puerto muestre

    una X roja en el cable que lo conecta con el bloque DAQmx Stop Task. Esto indica que los cables no

    estn bien conectados. Esto se debe a que el ciclo For indexa (crea un arreglo) los valores de salidadel ciclo. Para resolver este problema, da clic derecho en el nodo de conexin entre el ciclo For y el

    bloque DAQmx Stop Task y da clic en la opcin Disable Indexing.

    En la estructura CASE, cmbiate al caso true y justo en el cuadro blanco formado al realizar laconexin entre el DAQmx write y el select, haz clic derecho y selecciona Create < Constant, y daleel valor de 0.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    10/52

    18.Ya que generamos la seal de excitacin, ahora debemos realizar la adquisicin de esta

    misma seal y de la respuesta de la planta. Pero primero observamos la estructura Case

    alrededor de todo el cdigo que acabamos de hacer. Este sirve para que la seal de

    excitacin y la adquisicin de los datos slo se realice cuando se presione el botn

    Obtener Modelo que aparece en el panel frontal y que se muestra en el diagrama debloques como un control booleano llamado OK Button.

    19.En la parte superior de la estructura Case, da clic en el combo box y elige la opcin False.Esto nos permitir hacer el cdigo que se ejecutar en caso de que el botn Obtener

    Modelo no est siendo presionado. Lo que queremos que suceda mientras el botn no es

    presionado es que la seal de excitacin de la planta sea 0. Por lo tanto, mandaremosconstantemente el valor 0 por la salida analgica 0 (ao0). Coloca un bloque DAQmx Write

    que encontrars bajo Measurement I/O > NI-DAQmx > DAQmx Write. En la terminal deData crea una constante de valor 0. Agrega un bloque DAQmx Stop Task que encontrarsbajo Measurement I/O > NI-DAQmx > DAQmx Stop Task.

    20.Regresa a la opcin True de la estructura Case. Para realizar la adquisicin de datos,usaremos una opcin alternativa a los bloques de NI-DAQmx que es usar el bloque Express

    DAQ Assistant. Coloca un bloque DAQ Assistant que encontrars bajo Express > Input >DAQ Assistant. Permite que se inicialice el asistente y realiza las siguientesconfiguraciones: Acquire Signals > Analog Input > Voltage, dejando la tecla Ctrlpresionada, elige las entradas ai0 y ai1 del DevX(NIMyDAQ) y da clic en Finish. En laventana que se abre, dentro del recuadro Channel Setings en la pestaa

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    11/52

    Configuration da clic en el botn Show Details >>. Cambia el nombre de los canalesdando clic derecho sobre cada canal y eligiendo la opcin Rename. Al canal ai0 llmaloEstmulo y al canal ai1llmalo Respuesta. Da clic sobre el botn Hide Details y enla opcin Terminal Configuration elige Differential En el recuadro Timing Settingsdeja la opcin N Samples como modo de adquisicin, modifica el valor de Simples toRead a 40,000 y cambia el valor de Rate (Hz) a 5k. Al terminar, da clic en OK.

    21.Agregaremos una escala debido a la naturaleza en la que se presenta la seal de respuesta.En la opcin de Custom Scalling >> Create New damos la opcin Linear y damosnombre a nuestra escala. En la pantalla siguiente ponemos en el parmetro de slope laconstante -1 y damos OK. Importante: Esta opcin puede o no ser necesaria y dependede la conexin del motor. Si tu funcin de transferencia al final del ejercicio resultanegativa, quita esta escala para resolver el problema.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    12/52

    22.Para poder obtener por separado las dos seales de la adquisicin de datos, coloca unbloque Split Signals que encontrars bajo Express > Signal Manipulation > Split Signals.Conecta la salida del bloque DAQ Assistant al bloque Split Signals. Para obtener las dos

    seales, expande el bloque Split Signals hacia abajo y vers la nueva terminal de salida.

    23.Ahora si comenzaremos a utilizar los bloques del System Identification Toolkit deLabVIEW para poder hacer la identificacin paramtrica de nuestra planta. Coloca un

    bloque Model Estimation que encontrars bajo Control Design & Simulation > System ID> Parametric > SI Model Estimation. Permite que se abra el asistente y realiza lassiguientes configuraciones: dentro del recuadro Select Model Type elige State-Space,en el recuadro Select Model Dims elige SISO, en el recuadro Select Data Type eligeWaveform, en el recuadro Set Model Orders elige 2 bajo Number of States, alfinalizar da clic en OK. Este VI nos ayudar a calcular un modelo de espacio-estado deorden 2 de nuestra planta.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    13/52

    24.Ahora colocaremos un bloque TF Estimation que encontrars bajo Control Design &

    Simulation > System ID > Parametric > SI Transfer Function Estimation . Permite quese abra el asistente y realiza las siguientes configuraciones: dentro de la pestaa InputInfo elige Waveform, dentro de la pestaa Model Settings elige Continuous, ahmismo elige como orden del numerador 1 y como orden del denominador 2, al finalizar daclic en OK.

    25.Ya que terminamos de hacer estos pasos podemos conectar a estos dos bloques del toolkit

    de identificacin de sistemas las seales de la adquisicin de datos. Dado que la primeraseal que pedimos adquirir es la seal llamada Estmulo, esa ser la seal que saldr porla parte superior del bloque Split Signals. Conecta esta seal a las terminales StimulusSignal de los bloques de estimacin paramtrica. Conecta la segunda seal (de arribahacia abajo) del bloque Split Signals a las terminales Response Signal de los mismosbloques.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    14/52

    26. Ahora mandaremos imprimir al panel frontal los modelos de la planta calculados por el

    System Identification Toolkit de LabVIEW. Para poder hacer esto, tenemos que armar la

    representacin de espacio-estado y la funcin de transferencia con el Control Design

    Toolkit de LabVIEW. Primero armaremos la representacin de espacio-estado. Coloca un

    bloque Unbundle by Name que encontrars en Programming > Cluster & Variant >

    Unbundle by Name. Conecta este bloque a la terminal de salida Model Coeficients delbloque Estimate State-Space Model. Expande el bloque Unbundle by Name hacia abajohasta que aparezcan las terminales A,B y C.

    27.Dado que los valores de los coeficientes son un tipo de dato de arreglo, tenemos quepasarlo a tipo de dato matriz que reconoce el bloque que arma una representacin de

    espacio-estado. Coloca un bloque Array to Matriz a cada una de las terminales del bloqueUnbundle by Name que encontrars en Programming > Array > Array to Matrix.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    15/52

    28.La matriz C presenta la particularidad de que sale del modelo como un vector vertical.

    Cuando armamos la representacin de espacio-estado, necesitamos que esta matriz entre

    como un vector horizontal por lo que es necesario trasponer esta matriz. Coloca un bloque

    Transpose Matrix que encontrars bajo Mathematics > Linear Algebra > TransposeMatrix. Conecta la terminal de la matriz C a este bloque para trasponer el vector.

    29.Ahora ya tenemos todo para construir la representacin de espacio-estado con los bloquesdel Control Design Toolkit de LabVIEW. Coloca un bloque Construct State-Space Model que

    encontrars bajo Control Design & Simulation > Control Design > Model Construction> CD Cunstruct State-Space Model. Conecta las terminales de las matrices A, B y Ctranspuesta al bloque que acabas de colocar.

    30.Para poder imprimir la representacin de espacio-estado que acabamos de crear, coloca un

    bloque Draw State-Space Equation que encontrars bajo Control Design & Simulation >Control Design > Model Construction > CD Draw State-Space Equation. Conecta estebloque a la representacin de espacio-estado que creamos y tambin conecta la salida de

    este bloque al indicador llamado Ecuacin de Estado que tenamos en el programadesde el principio.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    16/52

    31.Pasaremos a construir ahora la representacin de funcin de transferencia siguiendo pasos

    similares a la representacin de espacio estado. Coloca un bloque Unbundle by Name que

    encontrars en Programming > Cluster & Variant > Unbundle by Name . Conecta estebloque a la terminal de salida Model Coeficients del bloque TF Estimation. Expande elbloque Unbundle by Name hacia abajo hasta que aparezcan las terminales Numerator yDenominator.

    32.Coloca un bloque Construct Transfer Function Model que encontrars bajo Control Design& Simulation > Control Design > Model Construction > CD Cunstruct TransferFunction Model. Conecta las terminales Numerator y Denominatior al bloque queacabas de colocar.

    33.Para poder imprimir la representacin de funcin de transferencia que acabamos de crear,coloca un bloque Draw Transfer Function Equation que encontrars bajo Control Design& Simulation > Control Design > Model Construction > CD Draw Transfer FunctionEquation. Conecta este bloque a la representacin de funcin de transferencia quecreamos y tambin conecta la salida de este bloque al indicador llamado Funcin deTransferencia que tenamos en el programa desde el principio.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    17/52

    34.A partir de la representacin de funcin de transferencia que acabamos de crear, podemos

    obtener otras representaciones similares. Crearemos una representacin de funcin de

    transferencia pero en forma factorizada o forma Zero-Pole-Gain. Coloca justo sobre el

    bloque Draw Transfer Function Equation un bloque Convert to Zero-Pole-Gain Model que

    encontrars bajo Control Design & Simulation > Control Design > Model Conversion >CD Convert to Zero-Pole-Gain Model. Conecta la terminal de entrada de este bloque alcable rosa que sale del bloque Construct Transfer Function Model hacia el bloque Draw

    Transfer Function Equation.35.Para poder imprimir la representacin que acabamos de crear, coloca un bloque Draw

    Zero-Pole-Gain Equation que encontrars bajo Control Design & Simulation > ControlDesign > Model Construction > CD Draw Zero-Pole-Gain Equation. Conecta este bloquea la representacin de ZPK que creamos y tambin conecta la salida de este bloque al

    indicador llamado FT en forma ZPK que tenamos en el programa desde el principio.

    36.Dado que nos interesa poder usar el modelo calculado por el System Identification Toolkitde LabVIEW en futuros ejercicios del seminario, guardaremos el modelo de funcin de

    transferencia. Coloca un bloque Save System Model to File que encontrars bajo ControlDesign & Simulation > System ID > Management > Save System Model to File . Conectala terminal System Model de este bloque a la terminal System Model Out del bloqueTransfer Function Estimation. Da clic derecho sobre la terminal File Path del bloqueSave System Model to File y elige Create > Control. Como nombre de este control, tecleaGuardar Modelo en:. Esto crear un browser para poder definir la localizacin del archivo

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    18/52

    que contendr la informacin del modelo. Finalmente da clic derecho sobre la terminalDefault Name y elige la opcin Create > Constant. Teclea el nombre ModPlanta queser el nombre del archivo por default.

    37.Tambin incluiremos una grfica que nos permita ver tanto la seal de estmulo como larespuesta de la planta. Pasa al panel frontal y agrega un indicador grfico de tipo

    Waveform Graph que encontrars bajo Modern > Graph > Waveform Graph en la paletade controles. Coloca el indicador grfico como se muestra en la imagen y realiza las

    siguientes configuraciones: da clic derecho sobre el eje de las y e inhabilita la opcin

    Auto-scale Y, da doble clic sobre el valor mximo de la escala en Y y cambia su valor a0.015, da doble clic sobre el valor mnimo de la escala en Y y cambia su valor a -0.015. Deigual manera en el eje de las x inhabilita la opcin Auto-scale X y pon como valormnimo 0 y como mximo 0.15 Puedes aprovechar para acomodar el control File Pathque llamamos Guardar Modelo en: como se muestra en la imagen.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    19/52

    38.Pasa al diagrama de bloques y conecta la terminal del indicador grfico directamente a lasalida del bloque DAQ Assistant antes de que el cable azul llegue al bloque Split Signal. Ese

    cable azul contiene las dos seales y basta con conectarlo directamente al indicador grfico

    para poder visualizar las dos seales al mismo tiempo. El cdigo final del programa se debe

    de ver como en la siguiente imagen.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    20/52

    39.Finalmente, guarda el archivo dando clic sobre la opcin Save que encontrars en el panelfrontal desde el men File > Save. Ejecuta el programa dando clic sobre el icono quecontiene una flecha blanca en la barra de herramientas del panel frontal. Cada vez que

    aprietes el botn Obtener Modelo se ejecutar el cdigo en la estructura Case con valorTrue y se te pedir que indiques la direccin sonde deseas guardar el archivo quecontiene la informacin del modelo obtenido. Presiona el botn Salir para detener elprograma.

    Nota: Cuando ejecutes el programa, obtn varias veces el modelo de la planta y compara cada

    resultado con el anterior. Notars que hay cambios en los modelos que obtienes. Esto se debe a

    que la seal aleatoria es diferente cada vez que pides obtener el modelo de la planta. Tambinesto se puede ver afectado por interferencias de friccin en el acoplamiento mecnico entre los

    dos motores.

    Nota: Si deseas que solo te pida la direccin donde deseas guardar el modelo calculado una vez,

    ejecuta una vez el programa, detenlo y da clic sobre el icono del browser. Navega hasta donde

    guardaste el modelo y elige el archivo ModPlanta.sim. Cuando vuelvas a ejecutar el programa, ya

    no se te pedir que indiques la direccin nuevamente.

    Fin Ejercicio 1.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    21/52

    Ejercicio 2a. Anlisis de Sistemas Continuos

    En este ejercicio aprenderemos a analizar sistemas de control continuos definidos matemticamente

    en el dominio de la frecuencia. Una vez que tenemos definido un sistema (polos, ceros y ganancia)

    podemos usar el Control Design Toolkit de LabVIEW para hacer anlisis de respuesta transitoria,

    estacionaria y harmnica. Usaremos una interfaz grfica muy poderosa desarrollada en LabVIEW y

    que sirve como ejemplo de lo que podramos llegar a desarrollar en este lenguaje de programacin

    con la cual podemos agregar definiciones de diferentes modelos as como importar con esta interfaz

    el modelo que guardamos de nuestra planta en el ejercicio anterior.

    Sigue estas instrucciones:

    1. Abre LabVIEW si no se encuentra abierto dando clic en el cono del programa o con la ruta deacceso del men de inicio en Windows: Start > All Programs > National Intruments >LabVIEW 2011> LabVIEW.

    2. Abre el archivo que se encuentra en el escritorio en la carpeta de LabVIEW Control DesignHandsOn\Exercises\Ejercicio 2a Anlisis de Sistemas.

    3. Observa detenidamente la interfaz grfica que se proporciona en el panel frontal. Navega porlas pestaas de la interfaz. Ahora pasa al diagrama de bloques y observa el cdigo de estainterfaz. Navega por las opciones de la estructura case conectada al indicador de las pestaas

    (Tab Control). Repetimos que el objetivo de este curso es aprender a usar los toolkits de

    LabVIEW que nos permiten construir sistemas de control y no as mostrar las bases de

    programacin en LabVIEW. Con los conocimientos suficientes de programacin en LabVIEW

    armar una interfaz grfica de esta calidad no es complicado.

    4. En el diagrama de bloques, en el combo box de la estructura Case, elige la opcin RespuestaTransitoria. En esta parte del cdigo empezaremos a construir nuestro anlisis en eldominio del tiempo de nuestro sistema. Coloca un bloque Construct Zero-Pole-Gain Model

    que encontrars bajo Control Design & Simulation > Control Design > ModelConstruction > CD Cunstruct Zero-Pole-Gain Model. Conecta las terminales que vienen defuera de la estructura Case Ceros, Polos y Gain a las terminales correspondientes delbloque que acabas de colocar.

    5. Ya que construimos el modelo, ahora colocaremos su ecuacin en el panel frontal, para esto,coloca un bloque Draw Zero-Pole-Gain Equation que encontrars bajo Control Design &

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    22/52

    Simulation > Control Design > Model Construction > CD Draw Zero-Pole-Gain Equation .Conecta este bloque a la representacin de ZPK que creamos. Da clic derecho en la terminalde salida de este bloque y elige la opcin Create > Indicator. Modifica el nombre delindicador dando doble clic sobre la etiqueta Equation y llamndolo G(s):.

    6. Pasa al panel frontal y acomoda el indicador G(s): en la parte superior izquierda dentro dela pestaa Respuesta Transitoria.

    Nota: Puede que el indicador no aparezca dentro de la pestaa Respuesta Transitoria

    automticamente. Si no encuentras el indicador, pasa al diagrama de bloques y dando clicderecho sobre el indicador G(s): elige la opcin Find Indicador. Una vez que hayas ubicadoel indicador, colcalo en la posicin correcta.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    23/52

    7. Podemos hacer ahora un anlisis de la respuesta del sistema a un escaln unitario. En eldiagrama de bloques, coloca un bloque Step Response que encontrars bajo Control Design& Simulation > Control Design > Time Response > CD Step Response . Conecta a laterminal State-Space Model (nombre de la terminal que aparece por default) de estebloque la salida del modelo ZPK que construimos. Da clic derecho sobre la terminal de salida

    Step Response Graph del bloque Step Response y elige la opcin Create > Indicator.

    8. Pasa al panel frontal y da clic derecho sobre el indicador grfico. Elige la opcin Visibletems > Plot Legend para quitar la leyenda superior del indicador grfico. Coloca elindicador grfico dentro de la pestaa Respuesta Transitoria.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    24/52

    9. Ahora agregaremos algunos datos importantes del anlisis de nuestro sistema. Podemosobtener directamente una cadena de texto que nos indique si el sistema es estable oinestable. Coloca un bloque Stability que encontrars bajo Control Design & Simulation >Control Design > Dynamic Characteristics > CD Stability . Conecta a este bloque la salidadel modelo ZPK que construimos. Da clic derecho sobre la terminal de salida Stability yelige la opcin Create > Indicator.

    10.Pasa al panel frontal y coloca el indicador enumerado Stability dentro del pequeorecuadro que se tiene dentro de la pestaa Respuesta Transitoria.

    11.Agregaremos tambin el coeficiente de amortiguamiento del sistema as como su frecuencianatural. Coloca un bloque Camping Ratio and Natural Frequency que encontrars bajo

    Control Design & Simulation > Control Design > Dynamic Characteristics > CD

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    25/52

    Damping Ratio and Natural Frequency. Conecta a la terminal de entrada de este bloque lasalida del modelo ZPK que creamos. Crea un indicador para las terminales de salidaDamping Ratios y Natural Frequencies.

    12.Pasa al panel frontal y coloca los dos indicadores dentro del recuadro de la pestaaRespuesta Transitoria. Dado que estos indicadores son de tipo arreglo, los puedescolapsar para que solo se vea un rengln del arreglo. Tu panel frontal se debe de ver como la

    siguiente imagen.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    26/52

    13.Ahora pasaremos a hacer el anlisis del comportamiento harmnico (o de la frecuencia) denuestro sistema. En el panel frontal, selecciona la pestaa Respuesta Harmnica. Ahorapasa al diagrama de bloques y dentro del combo box de la estructura case elige la opcin

    Respuesta Harmnica.14.Crea de nuevo un modelo de tipo ZPK colocando un bloque bloque Construct Zero-Pole-Gain

    Model que encontrars bajo Control Design & Simulation > Control Design > ModelConstruction > CD Cunstruct Zero-Pole-Gain Model. Conecta las terminales de laestructura Case Ceros, Polos y Gain al bloque que acabas de colocar.

    15.Pasa al panel frontal. Crearemos un separador de pestaas dentro de la pestaa RespuestaHarmnica. Este separador lo encuentras bajo Modern > Containers > Tab Control de lapaleta de controles.

    16.Agranda el separador de pestaas a que abarque todo el espacio de la pestaa RespuestaHarmnica. Ahora, dando doble clic sobre el nombre de las pestaas, cambia el nombre dela primera pestaa a Bode. En esta pestaa pondremos los diagramas de Bode de nuestro

    sistema. A la segunda pestaa llmala Nyquist. Para poder agregar ms pestaas, da clic

    derecho sobre alguna de las pestaas y elige la opcin Add Page After. Agrega dospestaas ms para tener en total 4 pestaas. Llama a las dos pestaas siguientes Nichols y

    Mrgenes de Estabilidad.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    27/52

    17.Pasa ahora al diagrama de bloques donde colocaras una pequea estructura Case dentro dela estructura Case que ya haba desde el principio y bajo la opcin Respuesta Harmnica

    Conecta a la terminal ? de la estructura Case el indicador del separador de pestaas TabControl 2.

    18.Dentro del combo box de la estructura Case, elige la opcin Bode. Dentro de la estructuraCase coloca un bloque Bode que encontrars bajo Control Design & Simulation > ControlDesign > Frequency Response > CD Bode. Conecta a este bloque la salida del modelo ZPKque creamos anteriormente bajo el caso Respuesta Harmnica. Crea un indicador grficopara las terminales de salida del bloque Bode Bode Magnitude y Bode Phase dando clicderecho sobre la terminal y eligiendo la opcin Create > Indicator.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    28/52

    19.Pasa al panel frontal. Ubica los dos indicadores grficos que corresponden al diagrama debode para la magnitud y la fase. Haz estos indicadores grficos ms pequeos para que losdos quepan dentro de la pestaa llamadaBode como se muestra en la imagen.

    20.Dentro del combo box de la nueva estructura Case, elige la opcin Nyquist. Dentro de laestructura coloca un bloque Nyquist que encontrars bajo Control Design & Simulation >Control Design > Frequency Response > CD Nyquist. Conecta a la terminal de entrada deeste bloque la salida del modelo ZPK que creamos. Ahora crea un indicador dando clicderecho a la terminal de salida del bloque Nyquist llamada Nyquist Plot.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    29/52

    21.Pasa al panel frontal y coloca el indicador Nyquist Plot dentro de la pestaa Nyquist.Puedes agrandar el indicador para que abarque todo el espacio de esta pestaa.

    22.En el diagrama de bloques, ahora agregaremos un bloque Nichols para poder visualizar eldiagrama de Nichols que relaciona la frecuencia con la magnitud del sistema. Para poder

    hacerlo, necesitamos agregar el caso Nichols dentro de nuestra estructura Case. Da clic

    derecho sobre la estructura case y elige la opcin Add Case After. Automticamente secrea el caso Nichols. Repite de nuevo esta operacin para tener el caso Mrgenes deEstabilidad.

    23.Ahora si, coloca un bloque Nichols dentro del caso con el mismo nombre. Este bloque loencontrars bajo Control Design & Simulation > Control Design > Frequency Response >CD Nichols. Conecta el bloque a la salida del modelo ZPK que habamos creado y crea elindicador para la terminal Nichols Plot.

    24.En el panel frontal, coloca este indicador dentro de la pestaa Nichols. Puedes expandir elindicador para que abarque toda el rea de la pestaa.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    30/52

    25.De regreso al diagrama de bloques, dentro del caso Mrgenes de Estabilidad, coloca unbloque Gain and Phase Margin que encontrars bajo Control Design & Simulation >Control Design > Frequency Response > CD Gain and Phase Margin . Conecta el bloque almodelo ZPK y crea un indicador para las terminales de salida Magnitude Plot y PhasePlot.

    26.En el panel frontal, coloca los dos indicadores dentro de la pestaa Mrgenes deEstabilidad. Estos grficos indican hasta que ganancia y fase es estable e sistema. Ajusta eltamao de estos indicadores para poderlos acomodar dentro de la pestaa. Tu panel frontal

    se debe de ver como la siguiente imagen.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    31/52

    27.Pasa a la pestaa Funcin de Transferencia y ejecuta el programa. Analizaremos unsistema que propondremos a travs de la interfaz grfica. Sube la ganancia a 2.75 y presionael botn Actualizar. Agregaremos un cero por lo que en la parte real teclea -3.47 y en laimaginaria 0. Da clic al botn Agregar. Realiza el mismo proceso para agregar un polo en (-0.93,0) y (-4.22,0.88). Si cometes un error, puedes seleccionar el polo o cero que hayas

    agregado y luego presiona el botn Borrar para poder quitar ese polo o cero. Cuandoquites polos o ceros complejos, recuerda quitar los dos conjugados para que no haya

    conflicto con la funcin de transferencia.

    28.Navega por las diferentes pestaas del anlisis transitorio y del anlisis harmnico para verlos resultados del anlisis.

    29.Presiona el botn Stop para detener la ejecucin del programa.30.Vuelve a ejecutar el programa, pero ahora, en lugar de agregar la definicin de un sistema (su

    ganancia, polos y ceros) da clic sobre el botn Importar Modelo. Navega hasta la direccin

    donde guardaste el archivo que contiene la informacin del modelo obtenido en el ejercicio1. Selecciona el archivo ModPlanta.sim y vers que el modelo se agrega automticamente a la

    interfaz grfica.31.Navega por las diferentes pestaas del anlisis transitorio y del anlisis harmnico para ver

    los resultados del anlisis.32.Finalmente, guarda el archivo dando clic sobre la opcin Save que encontrars en el panel

    frontal desde el men File > Save.

    Fin Ejercicio 2a.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    32/52

    Ejercicio 2b. Anlisis de Sistemas Discretos (opcional)

    En este ejercicio aprenderemos a analizar sistemas de control discretos definidos matemticamente

    en el dominio de la variable z. En realidad no hay diferencia entre este ejercicio y el ejercicio

    anterior. La nica especificacin que cambia en todos los casos es que hay que definir el tiempo de

    muestreo de la funcin de transferencia que estamos utilizando.

    Sigue estas instrucciones:

    1. Abre LabVIEW si no se encuentra abierto dando clic en el cono del programa o con la ruta deacceso del men de inicio en Windows: Start > All Programs > National Intruments >LabVIEW 2011> LabVIEW.

    2. Abre el archivo que se encuentra en el escritorio, en la carpeta de LabVIEW Control DesignHandsOn\Exercises\Ejercicio 2b Anlisis de Sistemas.

    3. A partir de este punto, sigue exactamente las mismas instrucciones que en el ejercicioanterior. La facilidad que encontramos con el Control Design Toolkit de LabVIEW es que para

    modelar sistemas discretos y poderlos analizar, se usan los mismos bloques. La nicadiferencia es que cuando creamos un modelo (ZPK por ejemplo) tenemos que definir el

    tiempo de muestreo de la funcin de transferencia. Automticamente, se detecta entoncesque es un sistema discreto y se pasa la funcin de transferencia al dominio de la variable z.

    En todos los casos, al momento de crear un modelo ZPK, conecta la terminal del controlTiempo de Muestreo (s) a la terminal Sampling Time del bloque Construct Zero-Pole-Gain Model. Antes de agregar una funcin de transferencia en la interfaz grfica de la pestaaFuncin de Transferencia, define el tiempo de muestreo primero.

    4. Realiza los mismos dos ejemplos (el sistema de control que proponemos e importar elmodelo que tenemos del ejercicio 1) ejecutando el programa cuando haya terminado deconstruir el cdigo. Observa las diferencias en la estabilidad del sistema dado que ahora es

    discreto.5. Finalmente, guarda el archivo dando clic sobre la opcin Save que encontrars en el panel

    frontal desde el men File > Save.

    Fin Ejercicio 2b.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    33/52

    Ejercicio 3. Diseo de un Controlador PID

    En este ejercicio mostraremos cmo podemos sintetizar de una manera sencilla los parmetros de

    un controlador PID. En s, veremos cmo responde nuestro sistema ante diferentes ganancias del

    controlador PID. El ejercicio contiene una interfaz grfica sencilla que muestra la estructura del

    controlador en un diagrama de bloques mostrando la funcin de transferencia de cada parte del

    controlador. Modificaremos en tiempo real los valores de las ganancias proporcional, derivativa e

    integral para conseguir el mejor desempeo posible. Adems, aprenderemos a usar el Simulation

    Toolkit de LabVIEW para construir diagramas de bloques y ver la respuesta de nuestro sistema.Compararemos la facilidad de uso de los bloques del Control Design Toolkit y del Simulation Toolkit

    para simular y hacer la sntesis de nuestro controlador PID.

    Sigue estas instrucciones:

    1. Abre LabVIEW si no se encuentra abierto dando clic en el cono del programa o con la ruta deacceso del men de inicio en Windows: Start > All Programs > National Intruments >LabVIEW 2011 > LabVIEW.

    2. Abre el archivo que se encuentra en el escritorio en la carpeta de LabVIEW Control DesignHandsOn\Exercises\Ejercicio 3 Diseo de PID.

    3. En este ejercicio solo agregaremos el cdigo de la estructura Case para poder construir laestructura del controlador PID primero usando los bloques del Control Design Toolkit y

    luego usando los bloques del Simulation Toolkit de LabVIEW. Pasa al diagrama de bloques y

    en el combo box de la estructura Case elige la opcin Control Design Toolkit.

    4. Como podemos ver, las funciones de transferencia de la planta, del bloque proporcional, delbloque derivador y del bloque integrador ya estn construidas. Ahora tenemos que unir

    estas funciones de transferencia para armar el controlador. Primero conectaremos enparalelo los bloques proporcional y derivador. Coloca un bloque Parallel que encontrars

    bajo Control Design & Simulation > Control Design > Model Interconection > CDParallel. Conecta las terminales Model 1 y Model 2 de este bloque a las salidas de losmodelos de los bloques proporcional y derivador.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    34/52

    5. El siguiente paso es conectar el modelo en paralelo entre el bloque proporcional y derivadoren paralelo con el bloque integral. Coloca un bloque Parallel que encontrars bajo ControlDesign & Simulation > Control Design > Model Interconection > CD Parallel . Conecta lasterminales Model 1 y Model 2 de este bloque a la salidas del modelo en paralelo quecreamos en el paso anterior y el modelo del bloque integral.

    6. Ahora conectaremos el paralelo de los bloques que formal al controlador PID en serie con elmodelo de la planta que se importa directo del archivo en el que guardamos la informacin

    de nuestra planta. Coloca un bloque Series que encontrars bajo Control Design &Simulation > Control Design > Model Interconection > CD Series. Conecta las terminalesModel 1 y Model 2 de este bloque a la salida del bloque paralelo de los componentes del

    PID y la salida del modelo de la planta que calculamos en el ejercicio 1.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    35/52

    7. Una vez conectado en serie la planta y los bloques del controlador PID tenemos que cerrar ellazo para poder tener presente la retroalimentacin del sistema segn el diagrama de la

    interfaz grfica. Coloca un bloque Feedback que encontrars bajo Control Design &Simulation > Control Design > Model Interconection > CD Feedback. Conecta a laterminal Model 1 de este bloque la salida de la conexin en serie de la planta y el PID. En laterminal Model 2 conectaremos un modelo que crearemos en el siguiente paso que enrealidad no es ms que un modelo de valor 1 que cierre el lazo.

    8. Coloca un bloque Construct Zero-Pole-Gain Model que encontrars bajo Control Design &Simulation > Control Design > Model Construction > CD Cunstruct Zero-Pole-GainModel. Da clic derecho sobre la terminal Gain de este bloque y crea una constante de valor1 eligiendo la opcin Create > Constant. Conecta la salida de este bloque a la terminalModel 2 del bloque Feedback.

    9. Hemos terminado de generar nuestro modelo representado en la interfaz grfica. El intersahora es ver que pasa ante un escaln unitario con la respuesta de nuestro sistema. Coloca

    un bloque Step Response que encontrars bajo Control Design & Simulation > ControlDesign > Time Response > CD Step Response . Conecta a la terminal State-Space Model(nombre de la terminal que aparece por default) de este bloque la salida del modelo

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    36/52

    generado en el bloque Feedback que construimos. Da clic derecho sobre la terminal TimeInfo y crea las constantes de esta terminal. Verifica que los valores de esta terminal sean(0,0.001,20) en ese orden. Da clic derecho sobre la terminal de salida Step ResponseGraph del bloque Step Response y elige la opcin Create > Indicator.

    10.Pasa al panel frontal y coloca el indicador grfico en la pestaa Control Design Toolkit.Puedes expandir el indicador de manera que abarque todo el espacio de la pestaa. Da clic

    derecho sobre el indicador grfico y elige la opcin Visible tems > Plot Legend paradesactivar la leyenda del indicador. Da clic derecho sobre el eje de las y y selecciona la

    opcin Auto-scale Y. Esto desactivar la auto-escala. Da doble clic sobre el valor mximoen el eje de las y y teclea 1.1. Da doble clic sobre el valor mnimo en el eje de las y y teclea0.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    37/52

    11.Pasa de nuevo al diagrama de bloques. Ahora usaremos el Simulation Toolkit de LabVIEWpara construir la misma estructura del PID con la planta pero de una manera ms sencilla. En

    el combo box de la estructura Case, elige Simulation Toolkit. Ahora colocaremos lainterfaz que nos permite usar los bloques de este toolkit. Coloca un bloque Simulation Loop

    que encontrars bajo Control Design & Simulation > Simulation > Simulation Loop.Expande este loop de manera que abarque todo el interior de la estructura Case.

    12.Da doble clic sobre la lengeta del lado superior izquierdo del Simulation Loop y realiza las

    siguientes configuraciones: Initial Time: 0, Final Time: 20, ODE Solver: Runge-Kutta 23(variable), Minimum Step Size: 1E-10, Maximum Step Size: 1, Relative Tolerance: 0.001 yAbsolute Tolerante: 1E-7.

    13.Coloca dentro del Simulation Loop, un bloque Step Signal que encontrars bajo ControlDesign & Simulation > Simulation > Signal Generation > Step Signal.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    38/52

    14.Da doble clic sobre el bloque Step Signal y realiza las siguientes configuraciones: inicialvalue: 0, final value: 1 y step time: 0.

    15.Coloca junto al bloque Step Signal un bloque Sumation que encontrars bajo Control Design& Simulation > Simulation > Signal Arithmetic > Sumation .

    16.Junto a este bloque coloca un bloque Derivative y un bloque Integrator que encontrars bajoControl Design & Simulation > Simulation > Continuous Linear Systems >Derivative/Integrator .

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    39/52

    17.Coloca tres bloques Multiply que encontrars bajo Programming > Numeric > Multiply.Coloca uno a lado del derivador, uno al lado del integrador y el tercero arriba del bloque delderivador.

    18.Coloca de nuevo un bloque Sumation que encontrars bajo Control Design & Simulation >Simulation > Signal Arithmetic > Sumation. Da doble clic sobre este bloque y realiza lassiguientes configuraciones: Icon Shape: Rectangle, Inputs: 3, da clic sobre la terminalnegativa hasta que aparezca un signo + y haz lo mismo con la terminal que aparece con uncrculo rojo cruzado.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    40/52

    19.Coloca junto al ltimo bloque Sumation un bloque Transfer Function que encontrars bajoControl Design & Simulation > Simulation > Continuous Linear Systems > TransferFunction. Da doble clic sobre este bloque y realiza la siguiente configuracin: ParameterSource: Terminal.

    20.Coloca un bloque Build Array que encontrars bajo Programming > Array > Build Array.Expande este bloque hasta tener dos entradas. Lo que estamos haciendo es crear un arreglode la salida del sistema con la seal de entrada para poderlas graficar las dos en un solo

    indicador grfico.

    21.Coloca un bloque SimTime Waveform que encontrars bajo Control Design & Simulation >Simulation > Graph Utilities > SimTime Waveform. Realiza las conexiones como semuestra en la siguiente imagen.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    41/52

    22.Ahora solo nos resta conectar los valores de las ganancias del proporcional, del derivador ydel integral as como la funcin de transferencia de la planta para poder tener nuestro

    sistema armado. Conecta la terminal Kp de la estructura Case al primer bloque Multiply(de arriba hacia abajo). Conecta la terminal Kd al segundo bloque Multiply. Conecta laterminal Ki al tercer bloque Multiply. Finalmente conecta el cable rosa que trael el modelode la planta directamente a la terminal Transfer Function del bloque Transfer Function.

    23.Dado que el Simulation Toolkit de LabVIEW genera los clculos de la simulacin de un golpe(no genera dato por dato sino que realiza todos los clculos antes de entregar el resultado)

    pondremos un bloque Wait para que los datos se muestren durante un cierto tiempo antes

    de que se vuelvan a realizar los clculos y se actualicen los valores. Coloca un bloque Wait

    que encontrars bajo Programming > Timing > Wait (ms). Da clic derecho sobre suterminal del lado izquierdo y crea una constante de valor 1500 (1.5 segundos).

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    42/52

    24.Pasa al panel frontal y coloca el indicador grfico que aparece dentro de la pestaaSimulation Toolkit. Puedes expandir el indicador de manera que abarque todo el espaciode la pestaa. Da clic derecho sobre el indicador grfico y elige la opcin Visible tems >Plot Legendpara desactivar la leyenda del indicador. Da clic derecho sobre el eje de las y yselecciona la opcin Auto-scale Y. Esto desactivar la auto-escala. Da doble clic sobre elvalor mximo en el eje de las y y teclea 1.1. Da doble clic sobre el valor mnimo en el eje delas y y teclea 0.

    25.En el panel frontal, da clic sobre el icono del browser para importar el modelo obtenido en elejercicio 1. Navega hasta la direccin del archivo ModPlanta.sim y seleccinalo.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    43/52

    26.Ejecuta el programa. Cambia los valores de las ganancias del controlador y observa larespuesta del sistema. Puedes cotejar los resultados de los dos: el Control Design Toolkit ydel Simulation Toolkit. Da clic en el botn Stop para detener el programa.

    Nota: Puede ser que haya leves diferencias entre los resultados de los dos toolkits. Incluso,

    puede ser que el Simulation Toolkit marque un error al tratar de resolver las ecuaciones

    diferenciales que se programaron en forma de diagrama de bloques dentro del Simulation Loop.

    Esto se debe a que los algoritmos de resolucin de ecuaciones diferenciales son distintos y con

    diferentes parmetros.

    27.Los valores recomendados para las ganancias del controlador PID son: Kp=2.5, Kd=0.05,Ki=7.5.

    28.Finalmente, guarda el archivo dando clic sobre la opcin Save que encontrars en el panelfrontal desde el men File > Save.

    Fin Ejercicio 3.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    44/52

    Ejercicio 4. Implementacin de un Controlador PID

    En este ejercicio, conectaremos nuestro sistema de demostracin a la tarjeta NI MyDAQ e

    implementaremos directamente un controlador PID por software. La ventaja de este tipo de

    controlador por software es que en tiempo real se est generando una seal de control para la planta

    sin necesidad de crear un PID fsico (con amplificadores operacionales por ejemplo) conectado a

    nuestra planta. El controlador por software hace los clculos en la computadora y produce la seal

    de control deseada segn los parmetros de las ganancias del proporcional, el derivador y el

    integrador. La desventaja que tiene este tipo de control es que puede ser lento dependiendo de lavelocidad de procesamiento de la computadora.

    Sigue estas instrucciones:

    1. Abre LabVIEW si no se encuentra abierto dando clic en el cono del programa o con la ruta deacceso del men de inicio en Windows: Start > All Programs > National Intruments >LabVIEW 2011> LabVIEW.

    2. Abre el archivo que se encuentra en la ruta C:\Hands On\Seminars\LabVIEW Control DesignHandsOn\Exercises\Ejercicio 4 Implementa PID.

    3. Notars que en el ejercicio se encuentran algunas estructuras ya hechas: funciones de DAQpara le lectura y escritura de datos, tres ciclos while y una estructura case.

    4. Comenzaremos a armar nuestra medicin de la velocidad del motor usando el sensor optointerruptor. Lo que haremos es medir cuantas veces por segundo pasa la muesca del crculo

    en el acoplamiento por el opto interruptor y as calcularemos la velocidad.

    5. Empezaremos a trabajar en el segundo ciclo while. Colocamos la funcin de comparacinmayor que que se encuentra en Programming > Comparison > Greater? ; en la primeraentrada conectaremos la salida de datos del bloque de la lectura analgica del ciclo while. Enla segunda entrada daremos clic derecho Create > Constanty le damos el valor de 1.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    45/52

    6. Agregamos la funcin de Numeric Compound que se encuentra en Programming >Numeric > Compound Arithmetic. Le damos clic derecho Change Mode > AND.Conectamos la salida del operador Mayor que a la primera entrada del Numeric Compound.

    Afuera del segundo ciclo while, creamos una constante booleana FALSE Programming >Boolean > False Constant. Conectamos sta al ciclo while, y a su vez a la segunda entradadel Numeric Compound.

    7. Da clic sobre el contorno del ciclo While donde se encuentra la entrada booleana y elige laopcin Replace withShift Register. Coloca el otro Shift Register en el otro extremo delciclo While. Conctalo de la siguiente manera:

    8. Agregaremos una estructura Case dentro del ciclo While, que se encuentra en Programming> Structures > Case Structure. Conectaremos la salida de nuestro Compound Arithmetic ala entrada de condicin de la estructura Case.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    46/52

    9. En nuestro programa, haremos uso de un Sub VI llamado CUENTA. Su objetivo es el de ircontando la cantidad de cambios que detecta el opto interruptor y regresar este valor en un

    momento determinado. La actividad que realiza el VI depende de la funcin descrita en la

    etiqueta que tenga como entrada. Coloca el Sub VI Cuenta junto al ciclo While y conctalo. Da

    clic derecho en la parte izquierda del Sub VI y elije Create Constant.

    10.De las opciones que aparecen, seleccionala opcin de Reset. Copia el Sub VI y agrega la copiadentro del Case Structure en la opcin de TRUE. Crea otra constante y en este caso selecciona

    la opcinAdd. Conecta la entrada y salida de error, como se muestra en la siguiente figura:

    11.Agregaremos una estructura Unbundle by Name que se encuentra en Programming >Clusters > Unbundle by Name y lgalo al cable de error de la funcin de lectura de DAQ.Agrega una funcin OR que se encuentra en Programming > Boolean > OR y conctalo a laestructura. La otra entrada del OR la conectaremos despus.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    47/52

    12.El ciclo que trabajamos se encarga de la parte de adquisicin de los cambios detectados en elopto interruptor debido a las muescas del encoder. Cuando se da una variacin de 0 a

    cualquier valor arriba de 1V, este cambio se registrar en el sub VI cuenta. Ahora

    trabajaremos en el ciclo de abajo, que nos ayudar a calcular las revoluciones por segundo

    utilizando el resultado de los cambios medidos. Coloca la funcin Elapsed Time que seencuentra dentro de Programming > Timing > Elapsed Time, y colcalo dentro del ciclo.Cuando salga el cuadro de texto selecciona 0.1 (segundos). Conecta la salida del Time has

    Elapsed? a la condicin de la estructura CASE.

    13.Dentro de la estructura CASE en el caso TRUE, agrega dos copias del sub VI Cuenta. Crea unaconstante en cada uno de ellas; uno con la opcin RETURN y el otro RESET. Conecta los dos

    Sub VIs por medio de un cable de error.

    14.Utiliza la funcin de divisin y multiplicacin que encontraras en Programming > Numeric> Multiply/Divide. Crea constantes dando clic derecho en las funciones Create > Constanty conctalas de la siguiente manera:

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    48/52

    15.Al hacer esto hacemos que cada 0.1s se cuenten cuntos cambios detect el opto interruptor,y lo dividimos por las 4 muescas del encoder (1 vuelta representa que se detecten los

    cambios en las cuatro muescas) y lo multiplicamos 10 para obtener revoluciones por

    segundo. Agregaremos un Shift Register a este ciclo dando clic derecho en el borde Shift

    Register. Agregaremos una constante de valor 0 en Programming > Numeric > DBLNumeric.

    16.Pasa al caso false, slo pasaremos el valor tal cual se lee del shift register. Haz las conexionessiguientes:

    17.La terminal de paro del ciclo lo dejaremos sin conectar por el momento. Crearemos unindicador de las revoluciones por segundo dando clic derecho en el cable Create >Indicator, nombralo Rev/sec

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    49/52

    18.Crea una variable local de este indicador. Da click derecho en el indicador, Create > LocalVariable. Colcalo en el primer ciclo while del programa

    19.Pasaremos a trabajar en el primer ciclo. Agrega la funcin de PID que se encuentra enControl Design and Simulation > PID > PID.vi , conecta el control de Speed Control a laentrada Setpoint de la funcin PID. Da click derecho en la variable local que creamos y daclick en Change to Read. Esta variable ir conectado a la entrada Process Variable de la

    funcin PID.

    20.Da click derecho en las entradas Output Range y PID Gains y en ambos casos elige la opcinCreate > Control. Pasa al panel frontal (CTRL + E ) y acomoda tus nuevos controles. En elcontrol de Output Range establece los valores de Output Low como 0.2 y 0.9 como Output

    High (controlaremos la velocidad del motor por medio del ciclo de trabajo por lo que aqu

    establecemos que la salida del controlador PID ser de 20 al 90%). Establece las gananciasde 20 para la parte proporcional, 0.002 para la parte integral y 0.1 para la parte derivativa.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    50/52

    21.Agrega un ciclo FOR Programming > Structures > FOR. En la Count Terminal del ciclo creauna constante de 10.

    22.Agrega una funcin de multiplicacin Numeric > Multiply. Agrega dos shift registers al cicloFOR y realiza las siguientes conexiones:

    23.Agrega una funcin de escritura de DAQ: Measurement I/O > NI DAQmx > Write. Da clicken la funcin y elige Digital > Single Channel > Single Sample > Boolean (1 line). Agregauna funcin de temporizacin Programming > Timing > Wait Until Next ms y conecta una

    constante de 0.1

    24.Usaremos la funcin Greater? que se encuentra en Programming > Comparison >Greater? Utiliza en la primer entrada la salida de la multiplicacin y en la segunda el ndicedel ciclo FOR. La salida de la comparacin ir al dato de entrada de la funcin de escritura de

    DAQ. Agregaremos la funcin Boolean to (0,1) que se encuentra en Programming >Boolean > Boolean to (0,1), y sta a su vez a la salida Output.

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    51/52

    25.Graficaremos en cada momento tanto el setpoint definido por el usuario como la respuestadel sistema. Para esto agregaremos la funcin Merge Signals que se encuentra en Express >Signal Manipulation > Merge Signals. Expande la funcin para que tenga dos entradas y laprimera conecta el control de Speed Control y en la segunda la variable de rev/sec.

    26.Da clic derecho a la condicin de stop del ciclo y elige Create > Control. Esto te crear unbotn de stop. Crea dos variables locales dando click derecho Create > Local Variable. Da

    click en cada una de ellas y elige Change to Read y agrgalas (una en el segundo ciclo whileen la entrada del OR, y el segundo en el tercer ciclo directamente en la condicin de paro). El

    programa completo se debe ver de la siguiente manera:

  • 7/28/2019 AUTOMAT Lab Taller Practico Diseno y Simulacion de Control Con Mydaq

    52/52

    27.Puede que el nmero del dispositivo no coincida con el ejemplo. Slo cambia estas opcionespara el correcto funcionamiento del programa. Asegrate de que la lnea digital sea por lalnea 3 y la adquisicin de la seal analgica se haga por el canal 1.

    Nota: Asegrate que los interruptores en el dispositivo de demostracin estn apuntandohacia el circuito 2 (C2).

    Nota: Es posible que tengas que ajustar los parmetros de tu sistema PID para obtener mejores

    respuestas. Utiliza los valores obtenidos en los ejercicios anteriores, y haz comparaciones acerca desu funcionamiento.

    Fin Ejercicio 4.