Libro PracticasExamenes LCPC0105

download Libro PracticasExamenes LCPC0105

of 73

description

Practicas usando labview

Transcript of Libro PracticasExamenes LCPC0105

  • Laboratorio de Control porComputador

    4 Curso. Ingeniera deTelecomunicacin

    Libro de Prcticas y Exmenes

    Manuel Lpez MartnezMercedes Prez de la ParteFrancisco Gordillo lvarez

    Ing. Sistemas y Automtica 2001-2005

  • ndice

    ENUNCIADOS DE PRCTICAS

    Prctica 1: Introduccin a Labview. Configuracin de una tarjeta de adquisicin de datos..................... 7

    Prctica 2: Anlisis de un sistema y diseo de Controladores PID ............................................ 13

    Prctica 3: Microcontroladores programables......................17

    Prctica 4: Implementacin digital de un PID......................23

    Prctica 5: Regulador lineal ptimo cuadrtico (LQR)..........25

    Prctica 6: Control predictivo generalizado (GPC)................27

    Prctica 7: Introduccin al Scada WinCC............................29

    Manual de referencia rpida...............................31

    Prctica 8: Identificacin y control adaptativo.....................57

    Prctica 9: Bibliotecas de funciones de enlace dinmico (DLL)...................................................59

    EXMENES DE PRCTICAS

    Examen 01.........................................................................67

    Examen 02.........................................................................69

    Examen 03.........................................................................71

    Examen 04.........................................................................73

  • Enunciados de Prcticas

  • LABORATORIO DE CONTROL POR COMPUTADOR

    PRACTICA 1

    Introduccion a LabView.Configuracion de una tarjeta deadquisicion de datos

    1 Objetivos

    El objetivo fundamental de esta practica es enfrentar al alumno con los problemas queaparecen a la hora de trabajar por primera vez con una tarjeta de entradas y salidastanto analogicas como digitales(Tarjeta de Adquisicion de Datos y Control). Para elloemplearemos un software especfico para el control de instrumentacion. Este software sedenomina LabView y se caracteriza por ser un lenguaje de programacion grafica. Sepretende desarrollar un programa con este software que permita configurar, leer y escribiren la tarjeta. De igual modo se realizara un interfaz grafico para poder visualizar losdatos ledos y escritos.

    2 Equipo Necesario

    Cada puesto de trabajo estara formado por:

    Un PC equipado con una tarjeta de adquisicion de datos

    Una fuente de tension.

    Un generador de onda.

    Un osciloscopio.

    3 Introduccion a LabView

    LabView es un entorno de desarrollo de programas basado en un lenguaje de programaciongrafico (G) que genera los programas en forma de diagramas de bloques.

    LabView dispone de bibliotecas para adquisicion de datos, analisis, presentacion y alma-cenamiento de datos. Ademas dispone de herramientas convencionales de desarrollo deprogramas y depuracion de errores, tales como puntos de ruptura, ejecucion paso a pasoy animacion del flujo del programa.

    Los programas en LabView se denominan instrumentos virtuales (extension *.vi). Un VIconsiste en una interfaz de usuario interactiva denominada Panel y un diagrama de flujode datos. Cada VI podra tener acceso a otros VIs, bien para hacer nuevas pantallas obien para que trabajen como subprogramas, esto se hara a traves de la generacion delicono del VI y de sus entradas y salidas. Se comenzara programando el VI de mayor niveldefiniendo las entradas y salidas para la aplicacion deseada.

    Student Student

    Student Student

    Student Student Manuel Lpez Martnez

    Student Student7

  • 3.1 Conceptos basicos del lenguaje G

    1. VIs

    2. Panel Frontal: Controles e Indicadores

    (a) Controles: Dispositivo a traves del cual el usuario introduce datos para su proce-samiento.

    (b) Indicador: Dispositivo a traves del cual el usuario lee los resultados que da elprograma.

    Figura 1: Panel

    3. Diagrama de Programacion: Funciones

    (a) Terminales: Cada Control e indicador del panel frontal tendra asociado un ter-minal de conexion en el diagrama de programacion. A traves de este terminalfluiran los datos hacia otros terminales de conexion o hacia funciones.

    (b) Cableado: Camino para los datos desde un terminal a otro. Su color indica el tipode datos que circula por el. Azul=enteros, verde=booleanos, naranja=flotantes,rosa=cadenas de caracteres, Marron=Clusters.Arrays: Conjunto de elementos del mismo tipoCluster: Conjunto de elementos de distinto tipo

    Student Student8

  • Figura 2: Diagrama Libreras Tarjeta

    Estructuras

    Figura 3: Estructuras

    While:Terminal de iteracion(i) y terminal condicional.Shift Register: Registros de desplazamiento. Variables locales que permitentransferir los valores del final de una iteracion al principio de la siguiente.Tiempo de Espera: Cuando es necesario ejecutar un bucle while cada ciertotiempo, se anade un tiempo de espera. Con esto podremos definir el Tiempode Muestreo.

    Student Student9

  • Figura 4: Espera un tiempo (en ms)

    For: Hay dos terminales asociados. Terminal contador(N) y el terminal de it-eracion(i). Hay tambien registros de desplazamiento.

    Estructura Case: Selector del caso(?).Identificador del caso. Estructura Secuence

    3.2 Ejemplo: Funcion Seno

    En el siguiente ejemplo se muestra un vi en el que se aplica un filtro a una senal senoidal.El filtro es yk = uk + a yk1, donde uk es una senal senoidal de frecuencia w. En esteejemplo se hace notar la importancia del uso del registro de desplazamiento(shift register)ya que nos permitira tener acceso a las variables de iteraciones anteriores.

    Figura 5: Panel y Diagrama Funcion Seno

    Student Student10

  • 4 Desarrollo

    Haciendo uso de la biblioteca de funciones para la tarjeta de entrada salida, y de los driverspara LabView, se tendra que realizar un VI, tanto el panel frontal como el diagrama debloques de programacion para conseguir realizar:

    Inicializacion de la Tarjeta.

    Lectura de los canales de la Tarjeta.

    Escritura en los canales de la Tarjeta.

    Para comprobar el correcto funcionamiento del VI, se utilizara un generador se senal, yun osciloscopio.

    4.1 Funciones de la Biblioteca

    Figura 6: Funciones para Inicializacion

    Figura 7: Funciones para Lectura

    Figura 8: Funciones para Escritura

    Student Student11

  • INGENIERO DE TELECOMUNICACIONLABORATORIO DE CONTROL POR COMPUTADORDepartamento de Ingeniera de Sistemas y Automatica

    Practica 2Analisis de un sistema y diseno de

    controladores PID

    1. Analisis del sistema

    Se pretende aqu observar el comportamiento del motor ante cambios en elvoltaje de entrada a la excitacion del mismo. Usaremos el ordenador comomonitor para dicha observacion en bucle abierto con una aplicacion en Lab-view.El conexionado se muestra en el anexo de este documento.Una vez hecho el conexionado y utilizando la aplicacion de Labview disponible,se realizaran varios experimentos usando distinta magnitud de escalon. Losresultados se guardaran en archivos de disco flexible (se procurara apuntarel contenido de cada archivo para evitar confusiones en su estudio posterior).

    1.1. Experimentos

    Para distintos valores de u (tension de excitacion), se mediran la evolucionde y (tension proporcional a la posicion) y de yv (tension proporcional ala velocidad). Los valores de u seran tpicamente bajo, medio y alto. Seobservara la existencia de zona muerta y de saturacion en la senal de mandoy se tomara nota de los resultados.IMPORTANTE: Para los experimentos no se debe variar la posicion delmando del atenuador ni del amplificador.Los ficheros obtenidos se utilizaran en el punto siguiente.

    1.2. Calculo de parametros

    La salida de la planta yv (velocidad) ante una entrada en escalon se asemejaa la de un sistema de primer orden. Tales sistemas quedan caracterizadospor una ganancia estatica y una constante de tiempo. Aunque nuestrosistema no es de primer orden, podemos hacer tal aproximacion.

    1

    Student Student

    Student Student13

  • La posicion angular del eje y resulta de integrar la velocidad multiplicadapor cierta constante (debido a la conversion de grados a voltios).La dinamica de la planta completa se aproxima, por tanto, a:

    u k11 + s

    yv k2s y

    donde las variables son:

    u: Senal de mando en voltios.

    yv: Velocidad de giro, expresada en voltios de la senal medida.

    y: Posicion angular, expresada en voltios de la senal medida.

    Se obtendran los parametros del sistema k1, y k2 haciendo uso de los datosobtenidos en los experimentos (por ejemplo de forma grafica). Los valoresseran diferentes en las zonas baja, media y alta de u, por lo que se hara unamedia.

    2. Diseno de un regulador PI para el control

    de velocidad

    Con los parametros k1, y obtenidos anteriormente se pueden disenar re-guladores para el control de la velocidad (no confundir con el control de laposicion) en bucle cerrado. Para el programa MATLAB es de gran ayuda.

    2.1. Especificaciones

    Se podra usar la transformada en s (aunque es una aproximacion ya que seva a trabajar en tiempo discreto) para obtener un PI que cumpla:

    El cero del PI cancelara el polo del sistema.

    La constante de tiempo sera la mitad de la del sistema sin compensar.

    2

    Student Student

    Student Student14

  • 2.2. Experimentos

    Se probara la eficacia del controlador disenado mediante una serie de experi-mentos en los cuales la referencia del sistema en bucle cerrado sufrira escalonesen distintas zonas. Los resultados se archivaran en ficheros.Se moveran los parametros del PI de su punto de diseno, y se vera comoafecta a la respuesta del bucle cerrado.

    3. Diseno de un regulador PID para el con-

    trol de posicion

    Notese que en este caso se desea controlar la posicion. Se disenara el PIDde forma emprica: en primer lugar se observara el efecto de cada uno de losterminos del PID (proporcional, integral y derivativo) sobre el comportamien-to del bucle cerrado modificando los parametros Kp, Ti y Td. Se efectuarandiversos experimentos correspondientes a distintos valores de los parametros.Un procedimiento para sintonizar el PID es el siguiente:1. Elegir (a base de prueba y error) un valor de Kp que haga que no hayamucha sobreoscilacion ni tampoco oscilaciones. Los efectos integral y deriva-tivo seran aqu nulos (piense los valores que hay que asignarles a Ti y Td paraque esto ocurra).2. Bajar algo Kp y anadir termino integral para anular el error en regimenpermanente (producido por la zona muerta).3. Anadir ahora termino derivativo con objeto de suavizar la sobreoscilacionque puede haber aparecido en el punto 2.Se tomara nota de los valores de los parametros en cada prueba.

    4. Memoria

    Se detallara en la memoria aquellos puntos que se indicaron mas arriba comoimportantes para la observacion. Asimismo se incluira en la memoria todotrabajo desarrollado por el alumno, como: programa de control, ecuaciones,analisis, etc. y todo fichero de resultados (en forma grafica si se puede). Sepuntuara una explicacion de los efectos observados en el ajuste del PID.

    3

    Student Student

    Student Student15

  • ANEXO

    Conexiones de los servomotores

    1. Motores modulares Feedback 150

    +15 0 -15

    +15 0 -15

    AU 150B

    1

    3

    4

    1 2

    MT 150F

    PA 150C

    OP 150K

    PS 150ESA 150D

    Velocidad: AI1

    Posicin: AI0

    Actuacin: AO1

    Divisor de tensiones

    GND

    2. Motores compactos Feedback

    A estos motores simplemente hay que conectarles la alimentacion (IMPOR-TANTE: hay que asegurarse de que se hace correctamente) y lasentradas y salidas a traves del conector de cable plano:

    ALIMENTACIN

    15 V 15 V

    Fuente

    +15 +5 -150V

    - + + GND 5 V-

    1 2 3 4 5 6

    1: GND

    3: Referencia

    6: N/A

    Cable plano

    2: Posicin: AI0

    4: Actuacin: AO15: Velocidad: AI1

    Student Student16

  • Laboratorio de Control por Computador Dpto Ingeniera de Sistemas y Automtica

    1

    Prctica 3: Microcontroladores programables. Objetivos 1) Conocer y conectar un nuevo equipo comercial para controlar sistemas mediante un microprocesador y una memoria autnomos. 2) Programar con las herramientas de programacin ofrecidas y nuestro PC, el microcontrolador para un control PID. 3) Conectar el microcontrolador al servomotor empleado en prcticas anteriores, controlar y comentar los resultados prcticos obtenidos. 1) Conocimientos bsicos del microcontrolador PK2100 de Z-World Utilidad. Los controladores industriales basados en circuitos electrnicos son de gran utilidad en la actualidad dado su bajo coste, su confiabilidad y la gran cantidad de herramientas informticas y de desarrollo que proporcionan una fcil implementacin de algoritmos de control. Los circuitos microcontroladores cada da son ms rpidos, pequeos y con ms potencia de clculo. Presentacin. El microcontrolador industrial de propsito general de la firma Z-World que emplearemos en la prctica es el modelo PK2100. Est basado en el microprocesador Z180 de Zilog de 8 bits. Descripcin tcnica.

    - Toda la aritmtica flotante debe realizarse haciendo uso de funciones programadas porque el hardware es de 8 bits slo. Por tanto, operaciones como multiplicaciones de flotantes en 32 bits son operaciones muy costosas en cuanto a tiempo de ejecucin.

    - La frecuencia de reloj es de 6,144 MHz. La memoria EPROM o FLASH puede ser desde 32K hasta 128K. La capacidad de memoria RAM, de 32K hasta 512K. Se alimenta con una fuente de 24 voltios y consume aproximadamente 5,5 W.

    - La tarjeta que rene todos los circuitos que componen el microcontrolador se muestra en la figura 1. - Interfaces:

    6 entradas universales que pueden ser usadas como entradas digitales, o entradas analgicas. El rango de tensin entrada es desde 0 a 10 V con 10 bits de resolucin y una proteccin contra sobretensiones de +-48 voltios.

    Una entrada analgica diferencial con rango de 0 a 10 V con 10 bits de resolucin. 7 entradas digitales. 3 de ellas pueden funcionar como contadores. 2 canales para usar como entrada a contadores. 2 salidas a rels con intensidad de 3 A a 48 V. 10 salidas de corriente para dirigir rels o solenoides. 1 salida analgica que puede ser en tensin (0 a 10 V) o en corriente (0 a 20 mA). Un puerto RS485/RS422 y un puerto RS232. Un bus de expansin para dispositivos PCL-BUS de ZILOG.

    Student Student

    Student Student17

  • Figura 1. Placa del microcontrolador industrial PK2100. Aplicabilidad. Los microcontroladores se emplean con sistemas en entornos industriales y domsticos. Este microcontrolador se puede emplear para controlar maquinaria de empaquetado o sistemas de procesado de material, para detectar contactos, contar pulsos, medir valores analgicos como temperatura, presin o posicin (caso de nuestra prctica). Se conecta directamente a muchos sensores y dispositivos perifricos. Conexin del controlador PK2100 al PC. Para llevar a cabo la conexin del controlador PK2100 al PC donde se ejecuta el software de desarrollo Dynamic-C se deben realizar las siguientes tareas:

    Conectar el cable rojo (o negro(-) y blanco(+)) de la fuente de alimentacin de 24 Vdc al conector atornillable marcado con las letras +24. Conectar el otro cable de la fuente al conector atornillable marcado con las letras GND dos posiciones por debajo del primero. Todas los conectores atornillables marcados con GND estn unidos elctricamente.

    Comprobar que el controlador no tiene tensin ( fuente no conectada a toma de red). Conectar el controlador al puerto serie del PC (COM) mediante al cable serie y el adaptador RJ-DB9

    que se proporcionan. Conectar la fuente de alimentacin a una toma de red y arrncar en el PC el software de desarrollo

    Dynamic-C. Comprobar que el puerto configurado en la aplicacin Dynamic-C (Serial en el men), tiene la misma velocidad que la indicada en la configuracin del PC.

    En este momento el controlador est listo para ser programado. La comunicacin entre el PC y el microcontrolador comienza cuando se arranca en el PC el programa Dynamic-C ( el PC intenta comunicarse con el controlador cada vez que se comienza a ejecutar el software). Si el controlador no est presente o no se le ha dado tensin se mostrar un mensaje de error por pantalla: Target not responding.

    Laboratorio de Control por Computador Dpto Ingeniera de Sistemas y Automtica

    2

    Student Student

    Student Student18

  • Situacin de los conectores atornillables. En la figura 2 puede verse la situacin en la tarjeta del controlador de cada uno de los conectores atornillables. Aparecen los correspondientes a las entradas universales y a la salida analgica as como los conectores para la entrada y salida adicionales (A/D+ y UEXP respectivamente). Todos los conectores marcados con GND estn unidos elctricamente y es en ellos donde deben conectarse los polos comunes de cada entrada y de la salida. Para nuestra prctica se utilizarn la salida analgica (DAC Ouput), la entrada universal U1 para la medida de posicin y la entrada universal U2 para la entrada de la seal de referencia. Conectar tambin los conectores con las letras GND.

    Figura 2. Situacin de los conectores atornillables y las entradas y salidas.

    Tarjetas de adaptacin de seal para nuestro sistema particular. La tarjeta de entrada al controlador se alimenta con +-15 V. Se utilizar el terminal marcado como OUT1 para unirlo a U1. INI1 ir conectado a la medida de posicin en el sistema. La tarjeta de salida del controlador es la de tamao ms pequeo. Tambin se alimenta con +-15 V. Se une la salida DAC del microcontrolador al terminal marcado como IN en la tarjeta. El terminal OUT se une a la entrada de control del sistema. La tarjeta de salida deber ser ajustada en offset y en ganancia. Para ello se ajustarn los potencimetros 1 (ajuste de offset) y 2 (ajuste de ganancia) mostrado en la figura 3.

    ALIMENTACIN

    ENTRADA

    5 V

    SALIDA

    0 V

    POTENCIMETRODE AJUSTE DE

    OFFSET

    ALIMENTACIN

    ENTRADA SALIDA

    -10 V

    POTENCIOMETRODE AJUSTE DE

    GANANCIA

    0 V

    Figura 3. Ajuste de la tarjeta de conversin de tensiones de salida del controlador.

    Laboratorio de Control por Computador Dpto Ingeniera de Sistemas y Automtica

    3

    Student Student

    Student Student19

  • Laboratorio de Control por Computador Dpto Ingeniera de Sistemas y Automtica

    4

    Situacin de los puentes de configuracin (Jumpers y Headers) en el controlador. Para la prctica slo hay que comprobar el jumper J1. Si el microprocesador lleva una memoria EPROM, conectar los pines 4-5 y 8-9. Si el microcontrolador lleva una memoria FLASH, conectar los pines 7-8 y 12-13. 2) Programacin del PK2100 Introduccin. El PK2100 se programa a travs del puerto serie RS232 que debe conectarse al puerto serie de un IBM PC o compatible en el que se tenga instalada la aplicacin Dynamic-C 5.25 de Z-world que se utiliza para desarrollar los programas. Se emplearn las libreras que proporciona este software de desarrollo para el manejo de las entradas/salidas. La programacin es en lenguaje C ya que ste genera un cdigo compacto y eficiente de alto nivel que permite tambin utilizar el cdigo mquina. Las funciones principales de Dynamic C son la Edicin, Compilacin, Lincado, Carga y Depuracin del cdigo que genera el usuario. Los programas se compilan, lincan y descargan en la memoria del microcontrolador en un solo paso. Tambin se permite compilar generando un fichero ejecutable sin necesidad de tener conectado el microcontrolador. Diferencias entre Dynamic-C y lenguaje C.

    Las variables que al ser declaradas son inicializadas se consideran constantes almacenndose en memoria ROM y por tanto se considera un error el intentar cambiar su valor.

    El modo de almacenamiento por defecto es static y no auto como en el estandar. No existe la directiva #include sino #use. Dynamic-C no soporta el tipo enumerado. Las palabras reservadas extern y register tienen un significado diferente. Se permite incluir instrucciones en ensamblador intercaladas en el cdigo. Dynamic-C permite la simulacin de tareas ejecutndose en paralelo en un mismo programa

    usando una estructura denominada costatement. Las tareas programadas as son multiplexadas en el tiempo de ejecucin. Esto se denomina Procesamiento Concurrente

    Procesamiento Concurrente. Esto puede ser interesante en el caso de controladores conectados a varios dispositivos externos. El hecho de usar programacin multitarea para controlar un sistema de estas caractersticas permite la posibilidad de pensar en el control de cada dispositivo por separado haciendo ms fcil el proceso de desarrollo. Dynamic C proporciona dos tipos de programacin multitarea para desarrollar aplicaciones: cooperativa (costatements) y por prioridad (preemtive).

    Cooperativa (costatements): en un entorno de programacin multitarea cooperativa cada tarea abandona

    voluntariamente el control para que otra tarea entre a ejecutarse. En este caso no es necesario tener un kernel o ncleo para controlar el proceso puesto que las tareas colaboran entre s. Esta filosofa presenta las ventajas de que es ms fcil la comunicacin entre las tareas, es ms fcil predecir la interaccin entre las tareas y su programacin es muy simple.

    Por prioridad (preemtive): en este caso las tareas son interrumpidas. Una tarea deja el control a favor de otra que entra a ejecutarse. Una tarea es sustituida por otra que puede tener ms prioridad. Las tareas no tienen control del momento en que sern sustituidas. En esta filosofa se necesita un ncleo o kernel que para y da entrada a las tareas. Normalmente se usa un timer para generar el periodo durante el que est activa una tarea. Por el hecho de que las tareas no controlan el momento en que son interrumpidas se debe tener cuidado al usar variables compartidas. La comunicacin entre tareas es el mayor problema.

    Student Student

    Student Student20

  • Laboratorio de Control por Computador Dpto Ingeniera de Sistemas y Automtica

    5

    Costatements. El recurso de la estructura costatement proporciona la posibilidad de generar cdigo que se ejecuta hasta que encuentra un punto donde es necesario esperar a la ocurrencia de un evento o esperar simplemente un determinado intervalo de tiempo. El hecho de esperar conlleva el acto de conmutar de tarea para pasar a ejecutar otra. La conmutacin entre tareas se puede llevar a cabo mediante las siguientes funciones y comandos que proporciona el software:

    Waitfor( ) : a la espera de un evento o cuando es necesario detener la ejecucin de la tarea durante un

    determinado intervalo de tiempo. Slo se continua ejecutando la tarea cuando la condicin que se da como parmetro se ha cumplido. Slo puede usarse dentro de una estructura costatement.

    Yield : provoca la conmutacin inmediata de tarea. Abort : finalizacin de la tarea.

    Cuando tenemos ms de una tarea, una forma ms prctica de resolver este tipo de problemas es usar una estructura de bucle ms amplia donde cada tarea puede ceder el control a otra tarea cuando deba esperar. Se consigue as aprovechar de forma ms eficiente la capacidad de proceso. El resultado es que cada tarea se ejecuta en los tiempos de espera de las dems tareas. Con la funcin waitfor( ) se comprueba si se cumple la condicin que se da como parmetro y, si no es as, se conmuta a otra tarea. Cuando la tarea es retomada se vuelve por el punto en el cdigo donde se qued ejecutando cuando se conmut y se vuelve a comprobar la condicin y si es el caso se contina ejecutando. Driver virtual. El driver virtual que proporciona Dynamic-C consta de un conjunto de funciones que proporcionan una serie de servicios. Entre ellos estn la inicializacin global del sistema y las interrupciones peridicas de los timer. Una llamada a la funcin VdInit debe ser hecha al comienzo de la ejecucin. De esta forma se inicializan todos los recursos del sistema as como las estructuras de datos necesarias (Codata) correspondientes a la costatement definidas si las hay. Libreras que incluir. Para poder invocar a las funciones del driver virtual debe incluirse en cdigo la librera vdriver.lib, la librera pk21xx.lib del micro PK2100 y la librera drivers.lib. Tiempo de muestreo. Se ha de tener en cuenta el valor mnimo del tiempo de muestreo (Pmin) que se calcula como el tiempo mximo que tarda en ejecutarse el bucle del PID programado. Una forma sencilla de calcularlo es con una estimacin ejecutando el bucle durante por ejemplo 10 s y contabilizar el nmero veces que se ejecuta el bucle PID. Dividiendo obtenemos una estimacin de Pmin. Aplicacin. Desde la pantalla principal del entorno de desarrollo se abre el men File y se selecciona New. En pantalla aparece una ventana de edicin de texto donde escribir el cdigo del programa. A continuacin compilamos el programa pulsando F3 o seleccionando Compile to Target dentro del men Compile. Dynamic-C compila el programa y lo descarga automticamente en la RAM del controlador. Ahora se puede ejecutar el programa pulsando F9 o seleccionando Run del men Run. Durante la ejecucin del programa se puede pulsar Ctrl+Z para detener la ejecucin. Pulsando de nuevo F9 se contina la ejecucin. Tambin se puede resetear el controlador pulsando Ctrl+Y o seleccionando Reset Target dentro del men Run. Para volver a modificar un programa ya compilado y cargado en el microcontrolador, seleccionamos en el men Edit Mode. Si no tenemos el micro conectado, se puede generar el ejecutable en el PC con Compile to File. Una vez desarrollados, los programas pueden residir en tres soportes distintos:

    RAM con soporte de batera.

    Student Student

    Student Student21

  • ROM, programada aparte y que sustituya a la ROM estndar de Z-world. Memoria FLASH que puede ser reprogramada sin necesidad de ser extrada de la tarjeta.

    Durante la ejecucin de los algoritmos el microcontrolador permanece conectado fsicamente al PC. 3) Diagrama del sistema en bucle cerrado

    Lnea RS232

    Consignas

    Controlador PK2100

    A/D D/ACPU Z180

    Actuador Sistema

    Sensores

    Tarjetas de adaptacinde seal

    Laboratorio de Control por Computador Dpto Ingeniera de Sistemas y Automtica

    6

    Student Student

    Student Student22

  • LABORATORIO DE CONTROL POR COMPUTADOR

    IMPLEMENTACION DIGITAL DE UN PID:ASPECTOS PRACTICOS

    1. Objetivos

    En la implementacion digital de un controlador PID hay que tener en cuenta diversosaspectos como:

    Conmutacion control manual/automatico

    Saturacion del actuador.

    En esta practica se pretende que el alumno controle un motor de cc usando un controlpid digital teniendo en cuenta estos aspectos. La programacion se llevara a cabo usandoLabVIEW.

    2. Equipo Necesario

    Apuntes de clase

    Cada puesto de trabajo estara formado por:

    Un PC equipado con una tarjeta de adquisicion de datos

    Un motor de cc.

    3. Desarrollo

    Se pretende realizar un control en velocidad del motor de cc haciendo uso de un PIDdigital.

    En la practica se analizaran los siguientes aspectos en la implementacion del PID digital.

    1. Fenomeno Wind-Up

    2. Conmutacion Manual/Automatico.

    Student Student Manuel Lpez Martnez

    Student StudentPrctica 4

    Student Student23

  • 3.1. Anti-wind up

    Con el PID basico implementado hay que realizar el siguiente experimento.

    Experimento:

    Introducir una referencia de velocidad inalcanzable (el motor satura)

    Usar el freno magnetico para introducir una perturbacion.

    Llevar la referencia hasta un valor normal de funcionamiento.

    Tras realizar este experimento se observa un fenomeno de wind up.

    Se pretende implementar un PID (PI) que tenga en cuenta la aparicion del fenomeno dewind up como consecuencia de la saturacion del motor y de la existencia de un terminointegral en el controlador.

    El controlador disenado ha de ser capaz de evitar el fenomeno de wind-up.

    Usar los metodos descritos en clase y describir el funcionamiento del conjunto.

    3.2. Conmutacion Manual/Automatico

    En esta parte de la practica, se pide realizar el siguiente experimento

    Experimento:

    En primer lugar el motor sera controlado de forma manual con una senal de controldistinta de cero.

    En un instante determinado se realizara una conmutacion de manual a automatico.

    Se pide modificar el PID de forma que la conmutacion manual/automatico no se realicede forma abrupta.

    El controlador ha de ser capaz de realizar una conmutacion suave.

    Usar los metodos descritos en clase y describir el funcionamiento del conjunto.

    NOTA: Para la realizacion de la practica son necesarios los apuntes de clase

    Student Student24

  • Prctica 5 - Regulador Lineal ptimo Cuadrtico (LQR) 1) Identificar el sistema

    - En Modo MANUAL de control y CONTROL EN VELOCIDAD. - Encontrar la zona muerta y la zona de saturacin rango efectivo de operacin - Dividir el rango efectivo de operacin de entrada en tres escalones, e identificar el

    sistema, en los tres escalones de entrada, la respuesta de primer orden (ganancia K1 y constante de tiempo TAO al 63%) : K11, K12, K13, 1, 2, 3. Encontrar K1 y como la media de los tres clculos en cada caso. Utilizar el botn GUARDAR del panel de PRACTICA.VI para generar un fichero para disponer de los datos generados en la ejecucin.

    - CONTROL EN POSICIN. Encontrar K21, K22, K23 midiendo la pendiente de la posicin para tres velocidades constantes de entrada. Hacer la media para hallar K2.

    ==t

    VtKVdtKtp0

    22)(

    11

    +TAOsK

    sK2

    V(S) P(S)U(S)

    Ejemplo: K1=0.6, K2=6.5, =0.8

    2) Regulacin. Considerando los estados x1 = posicin y x2 = velocidad, obtener la representacin interna discreta del sistema con mantenedor de orden cero y tiempo de muestreo de al menos un dcimo de la constante de tiempo efectiva del sistema. Obtener los parmetros del vector de realimentacin de estados para Q = I*{0.1,1,10,30} y R = {0.1, 1, 10, 30}. Simular con Simulink con referencia nula y condiciones iniciales no nulas y comentar el efecto de la eleccin de R sobre el desempeo del controlador.

    3) Modificar Prctica.vi a un nuevo practica5.vi, de forma que se sustituya el bloque de control PID

    por un bloque de control LQR con parmetros de entrada K1 y K2, componentes del vector de ganancias de realimentacin del vector de estados. Comparar los resultados obtenidos por simulacin con los obtenidos con el control real.

    4) Seguimiento. Aadir a la ley LQR un trmino de realimentacin de la referencia tal que

    uk = N*SP K*Xk

    donde SP es la referencia o Set Point. Utilizar la siguiente funcin, cuyos parmetros de entrada son las matrices de la dinmica discreta del sistema Ad y Bd, y el vector K de realimentacin de estados obtenido en el apartado 2), para encontrar el valor de N compensador

    function salida = rscale_discreto(F,G,K) S=solve('F(1,1)+F(1,2)*y+G(1)*N=1+G(1)*(K(1)+K(2)*y)',... 'F(2,1)+F(2,2)*y+G(2)*N=y+G(2)*(K(1)+K(2)*y)','N,y'); salida=eval(S.N);

    5) Modificar practica5.vi para realizar el seguimiento de una referencia distinta de cero. Comparar

    los resultados obtenidos por simulacin con los obtenidos con el control real.

    Laboratorio de Control por Computador Dpto Ingeniera de Sistemas y Automtica 1

    Student Student25

    Student Student

  • Student Student

  • Control Predictivo Generalizado. 1) Identificar el sistema

    - En Modo MANUAL de control y CONTROL EN VELOCIDAD. - Encontrar la zona muerta y la zona de saturacin rango efectivo de operacin - Dividir el rango efectivo de operacin de entrada en tres escalones, e identificar el

    sistema, en los tres escalones de entrada, la respuesta de primer orden (ganancia K1 y constante de tiempo TAO al 63%) : K11, K12, K13, TAO1, TAO2, TAO3. Encontrar K1 y TAO como la media de los tres clculos en cada caso. Utilizar el botn GUARDAR del panel de PRACTICA.VI para generar un fichero para disponer de los datos generados en la ejecucin.

    - CONTROL EN POSICIN. Encontrar K21, K22, K23 midiendo la pendiente de la posicin para tres velocidades constantes de entrada. Hacer la media para hallar K2.

    ==t

    VtKVdtKtp0

    22)(

    11

    +TAOsK

    sK2

    V(S) P(S)U(S)

    Ejemplo: K1=0.6, K2=6.5, TAO=0.8

    2) Discretizar con un tiempo de muestreo de al menos un dcimo de la constante de tiempo efectiva del sistema

    Ejemplo: ss

    sG)18.0(

    4)(+

    = 2121

    9048.09.110149.0015.0)(

    ++

    =zzzzzG

    3) Programar en Matlab el clculo de los parmetros del GPC y la simulacin del bucle cerrado

    utilizando el modelo discreto del proceso para generar las y(t). Realizar varias simulaciones con varios parmetros N=[3 50] y =[0.05 5] y comentar los efectos de aumentar o disminuir los parmetros. Seleccionar una buena sintonizacin del controlador en cuanto a rapidez y sobreoscilacin. Para estos parmetros, obtener los correspondientes Ky, Ku y Kr de la expresin explcita de la ley de control para realizar el apartado siguiente.

    u1 u2 r1 y1 p y2 p y3 pu(t) = K (u(t-1)-u(t-2)) + K (u(t-2)-u(t-3)) + K ref(t)+K y (t) + K y (t-1) + K y (t-2)

    4) Modificar Practica.vi a un nuevo practica6.vi, de forma que se sustituya el bloque de control

    PID por un bloque de control GPC con parmetros de entrada Ky, Ku y Kr. Comparar los resultados obtenidos por simulacin con los obtenidos con el control real.

    Laboratorio de Control por Computador Dpto Ingeniera de Sistemas y Automtica 1

    Student StudentPrctica 6

    Student Student27

    Student Student

  • LABORATORIO DE CONTROL POR COMPUTADOR 4 CURSO DE INGENIERO DE TELECOMUNICACIN

    Introduccin a un SCADA: WinCC

    Objetivo Conocer un sistema comercial de supervisin, adquisicin y tratamiento de datos. Se utilizar el Windows Command Center (WinCC) de Siemens. Desarrollo Programar un SCADA mediante WinCC para supervisar una aplicacin domtica. Primera parte. Gestin de alarma, de iluminacin y de movimiento. En esta primera aplicacin, la entrada del exterior se produce mediante un sensor de movimiento en una habitacin. Cuando el SCADA recibe una entrada que indica movimiento, indica en la pantalla al operario que se est detectando movimiento, y acto seguido enciende la luz de dicha habitacin. El operario debe poder supervisar a travs del interfaz grfico si la luz de la habitacin est encendida o apagada. El operario debe tener adems a su disposicin un pulsador para activar una alarma y otro pulsador para desactivarla, o bien un conmutador que pueda tomar los valores encendido y apagado. Este conmutador activa o desactiva una alarma. El estado de la alarma debe estar visible en todo momento para el operario. Cuando el SCADA detecte movimiento en la habitacin y adems la alarma se encuentre encendida, encender un altavoz. El estado de este altavoz (sonando o en silencio) debe estar tambin visible en todo momento. La pantalla debe constar de los siguientes elementos:

    Dos pulsadores o bien un conmutador para activar/desactivar la alarma.

    Un indicador de alarma activada/desactivada. Un indicador de movimiento detectado/no detectado. Un indicador de altavoz de alarma sonando/no sonando. Un indicador de luz en la habitacin encendida/apagada.

    Student StudentPrctica 7

    Student Student29

  • Segunda parte. Gestin de temperatura en la habitacin. En esta segunda aplicacin, la entrada del exterior se produce mediante un sensor de temperatura en una habitacin. La pantalla debe mostrar en todo momento la temperatura a la que se encuentra la habitacin. Adems, el operario debe tener a su disposicin un pulsador para activar un climatizador y otro pulsador para desactivarlo, o bien un conmutador que pueda tomar los valores encendido y apagado. Este conmutador activa o desactiva el climatizador. Cuando el climatizador est encendido, se muestra ste en la pantalla. Cuando se encuentra apagado, ste no debe mostrarse en pantalla. El climatizador consta de una barra de desplazamiento asociada a un indicador de dgitos. El operario, cuando el climatizador se encuentre encendido, podr modificar el nmero reflejado en el indicador de dgitos a travs de la barra de desplazamiento. El climatizador debe adems modificar la temperatura de la habitacin a la requerida por el operario pero de forma gradual, es decir, que cada ciclo de 500 milisegundos que transcurra se modificar en un grado la temperatura de la habitacin para acercarse a la temperatura deseada. La pantalla debe mostrar los siguientes elementos:

    Dos pulsadores o bien un conmutador para activar/desactivar el climatizador.

    Una barra deslizante con indicador de dgitos para modificar la temperatura deseada.

    Un indicador que muestre la temperatura actual de la habitacin. Primera y segunda parte. En ambos apartados de la prctica se deben mostrar dos botones. Uno que haga que la pantalla cambie a la otra parte de la prctica, es decir, que si se encuentra en la primera parte, haga que aparezca la pantalla de la segunda parte y viceversa. El otro botn debe servir para salir de la aplicacin.

    Student Student30

  • Manual de referencia rpida: SCADA WINCC 1

    LABORATORIO DE CONTROL POR COMPUTADOR 4 Curso de Ingenieros de Telecomunicacin

    INTRODUCCIN AL SCADA WinCC

    Un sistema SCADA es un programa que nos va a permitir la supervisin, adquisicin y tratamientos de datos que provienen de un proceso. 1. Creacin de un proyecto nuevo Para la creacin de un nuevo proyecto seguiremos los siguientes pasos: 1. Abrir el SCADA desde el men Inicio. 2. A continuacin desplegamos el men File y seleccionamos New, de manera que aparecer una pantalla donde le daremos nombre al proyecto y pulsaremos el botn Create. 3. Una vez hecho esto aparecer el proyecto creado con la siguiente estructura:

    Veamos cada elemento del rbol jerquico: Computer: Seleccionaremos que aplicaciones o tareas que queremos que arranquen cuando nuestro proyecto se active. Para ello haremos lo siguiente:

    Student Student31

  • Manual de referencia rpida: SCADA WINCC 2

    1. Seleccionamos Computer y con el botn izquierdo del ratn hacemos doble

    clic sobre el icono que aparece en la ventana derecha. 2. A continuacin elegimos el tabulador Startup y habilitamos las aplicaciones que queremos que arranquen con nuestro proyecto.

    Pulsaremos el botn Aceptar una vez seleccionado lo deseado.

    Tag Management: En este elemento se definirn las variables internas del SCADA, las variables externas y los drivers de comunicacin y conexin con el autmata. Data Types: Cuando se expande aparecer todos los posibles tipos de datos de manera que cuando seleccionemos uno, en la ventana derecha aparecern las variables del proyecto cuyo formato es el seleccionado. Editor: Cuando se expande aparecer los distintos tipos de editores disponibles. Para abrir alguno de los editores bastar seleccionarlo con el botn derecho del ratn y elegir Open. 2. Creacin de una variable interna. Son variables localizadas en memoria del SCADA. Para su creacin haremos lo siguiente: Expandimos la rama Tag Management y seleccionamos Internal tags con el botn derecho del ratn.

    Student Student32

  • Manual de referencia rpida: SCADA WINCC 3

    Seleccionamos New de manera que aparecer una ventana donde configuraremos la variable.

    Por ltimo pulsaremos el botn Aceptar para salvar la configuracin.

    3. Creacin de una variable externa. Una variable externa es aquella que est directamente relacionada con el proceso. Antes de crear las variables externas es necesario configurar los drivers de comunicacin entre el autmata y el SCADA. Seleccionar Tag Management con el botn derecho del ratn y elegir Add New Driver. Aparecern los drivers disponibles y seleccionaremos el deseado.

    A continuacin pulsaremos el botn Abrir, de manera que el driver aparecer en el rbol jerrquico.

    DRIVER ELEGIDO

    A continuacin expandimos el driver que aparece en el rbol y seleccionamos el tipo de conexin, en

    Student Student33

  • Manual de referencia rpida: SCADA WINCC 4

    nuestro caso MPI, con el botn derecho del ratn y elegimos New Driver Connection. Por ltimo introduciremos el nombre de la conexin (PLC1) y los parmetros.

    Para crear una variable externa: Seleccionar la conexin PLC1 con el botn derecho del ratn y elegir New tag. Aparecer una ventana donde elegiremos el nombre y el tipo de dato, pulsando por ltimo Aceptar. A continuacin seleccionamos con el botn derecho del ratn la variable creada que aparece en la ventana derecha y elegimos el comando Addresing (Fig.1). En la ventana que aparece elegiremos el tipo de dato y la direccin que corresponde en el autmata.(Fig.2)

    Student Student34

  • Manual de referencia rpida: SCADA WINCC 5

    Por ltimo pulsaremos el botn Aceptar. 4. Creacion de imgenes. Para la creacin de imgenes haremos uso del editor grfico, Graphic Designer, donde definiremos nuestras animaciones las cuales estarn controladas por variables internas y externas del SCADA. Para crear una imagen se har lo siguiente: Con el botn derecho del ratn pulsaremos el editor Graphic Designer y seleccionaremos New Picture. En la ventana derecha aparecer NewPdl0.Pdl de manera que lo seleccionaremos con el botn derecho del ratn y elegiremos el comando Rename para darle el nombre que deseemos. Para abrir la imagen haremos doble clic sobre ella apareciendo lo siguiente:

    INDICAMOS SI EL OBJETO EST EN PRIMER O SEGUNDO PLANO

    LIBRERA DE OBJETOS

    5. Tipos de animaciones. Pasamos a definir una serie de animaciones bsicas: 5.1 Configuracin de un campo de entrada/salida. Dicho campo de entrada/salida se puede utilizar para representar el valor de alguna variable. Para ello haremos lo siguiente:

    Student Student35

  • Manual de referencia rpida: SCADA WINCC 6

    En el editor grfico seleccionamos el campo I/O field del grupo Smart Object y a continuacin lo arrastramos a la posicin deseada donde haremos clic con el ratn, apareciendo una ventana donde configuraremos dicho campo.

    VARIABLE REPRESENTADA

    TIEMPO DEACTUALIZACIN DEL VALOR

    Por ltimo pulsaremos el botn OK.

    Una vez hecho esto seleccionamos el objeto con el botn derecho del ratn y elegimos Properties. Seleccionamos la propiedad Output/Input y en la ventana derecha seleccionamos el atributo Data Format para elegir el formato de representacin de la variable. 5.2 Cambio de una pantalla a otra mediante pulsador.

    Student Student36

  • Manual de referencia rpida: SCADA WINCC 7

    En el editor grfico seleccionamos el campo Button del grupo Windows Object y lo arrastramos hasta la posicin deseada. Una vez all hacemos clic con el ratn apareciendo una ventana como la mostrada a continuacin donde configuraremos el botn.

    NOMBRE DEL BOTN

    A continuacin pulsamos el botn (1) de manera que aparecer una ventana donde elegiremos la pantalla a la que saltaremos. Por ltimo pulsaremos el botn OK para validar la configuracin.

    1

    5.3 Configuracin de un botn para salir de la aplicacin. En el editor grfico seleccionamos el campo Button del grupo Windows Object y lo arrastramos hasta la posicin deseada. Una vez hecho esto lo seleccionamos con el botn izquierdo del ratn. A continuacin hacemos doble clic sobre la funcin Exit WinCC Runtime que aparece en la ventana Dynamic Wizard. Aparecer un asistente de manera que en la primera pantalla pulsamos Siguiente, en la segunda elegimos Left mouse key y pulsamos Siguiente y en la ltima pulsamos Finalizar. De esta manera cuando pulsemos el botn con el botn izquierdo del ratn, saldremos de la aplicacin. 5.4 Forzado del valor de una variable mediante pulsadores. En el editor grfico seleccionamos el campo Slider Object del grupo Windows Object. A continuacin colocamos el cursor en la posicin deseada y pulsamos el botn izquierdo del ratn, apareciendo una ventana donde configuraremos el objeto.(Fig.1)

    Student Student37

  • Manual de referencia rpida: SCADA WINCC 8

    Por ltimo pulsaremos el botn OK para validar la configuracin.

    1

    2

    Fig.1 En la figura 2 se muestra el elemento configurado. Fig.2 1:Variable cuyo valor forzaremos. 2: Tiempo de actualizacin. 5.5 Animacin de una variable en forma de barra grfica. En el editor grfico seleccionamos el campo Bar del grupo Smart Object. A continuacin colocamos el cursor en la posicin deseada y pulsamos el botn izquierdo del ratn, apareciendo una ventana donde configuraremos el elemento.

    VARIABLE REPRESENTADA

    Student Student38

  • Manual de referencia rpida: SCADA WINCC 9

    Fig.1 Fig.2 Una vez configurado el elemento, pulsaremos el botn OK obtenindose el elemento como se muestra en la figura 2. 5.6 Hacer visible o no un objeto dependiendo del valor de una variable tipo bool Seleccionamos el objeto con el botn derecho del ratn y elegimos el comando Properties. A continuacin seleccionamos la propiedad Miscellaneous y elegimos con el botn derecho del ratn la columna Dynamic del atributo Display.

    A continuacin seleccionamos el comando Dynamic Dialog para configurar el elemento.

    Aparecer una ventana como la mostrada a continuacin donde configuraremos el elemento.

    CON EL BOTN DERECHO DEL RATN ELEGIMOS EL RANGO DE FUNCIONAMIENTO

    ELEGIMOS EL TIPO DE DATO

    PULSAMOS EL BOTN PARA ELEGIR LA VARIABLE

    Student Student39

  • Manual de referencia rpida: SCADA WINCC 10

    A continuacin pulsaremos el botn para configurar el trigger. Aparecer una ventana como la mostrada a continuacin donde lo configuraremos.

    El ciclo de disparo ser elegido seleccionando la columna Standard cycle con el botn derecho del ratn. Una vez configurado pulsaremos el botn Aceptar, de esta manera volveremos a la ventana anterior y pulsaremos el botn Apply.

    5.7 Cambios de color de un objeto. En esta animacin veremos como un objeto cambia de color dependiendo del valor de una variable tipo bool. Seleccionamos el objeto con el botn derecho del ratn y elegimos el comando Properties. A continuacin seleccionamos la propiedad Colors y elegimos con el botn derecho del ratn la columna Dynamic del atributo Background Color.

    A continuacin elegiremos el comando Dynamic Dialog de manera que aparecer una ventana donde configuraremos el elemento.

    Student Student40

  • Manual de referencia rpida: SCADA WINCC 11

    De la misma manera que en la animacin anterior seleccionaremos la variable, el tipo de dato y el rango de funcionamiento. Para ello elegiremos la columna Valid range con el botn derecho del ratn y seleccionaremos el rango. De la misma manera elegiremos la columna Background Color y elegiremos los colores deseados.

    Para terminar configuraremos el trigger tal y como se describi en la animacin anterior y por ltimo pulsaremos el botn Apply para validar la configuracin. 5.8 Cambios de tamao de un objeto. En esta animacin se mostrar como podremos cambiar la altura y la anchura de un objeto. Veremos el caso de la variacin de altura ya que la variacin de anchura se har de forma idntica. Seleccionamos el objeto con el botn derecho del ratn, elegimos el comando Properties y seleccionamos la propiedad Geometry. A continuacin seleccionamos con el botn derecho del ratn la columna Dynamic del atributo Height, apareciendo una ventana como en los casos anteriores donde realizaremos la configuracin. En este caso cuando seleccionemos el tipo de dato elegiremos Direct de manera que el atributo seleccionado tomar el valor de la variable asociada la cual ir modificando su valor dentro de una Accin programada por nosotros. En apartados posteriores veremos como se programan estas Acciones en el editor Global Script. Por ultimo configuraremos el trigger de la misma forma que en los casos anteriores y pulsaremos el botn Apply para guardar la configuracin.

  • Manual de referencia rpida: SCADA WINCC 12

    5.9 Movimientos de objetos. En este apartado dotaremos a un objeto de movimiento segn la direccin X, sabiendo que de la misma manera podremos dotarlo de movimiento segn Y. Seleccionamos al objeto con el botn derecho del ratn, elegimos el comando Properties y seleccionamos la propiedad Geometry. A continuacin seleccionamos la columna Dynamic del atributo Position X y elegimos el comando Dynamic Dialog, de manera que aparecer una ventana donde configuraremos el objeto.

    En esta ventana elegiremos la variable asociada al atributo y el tipo de dato que al igual que en el caso anterior elegiremos un tipo de dato Direct de manera que dicho atributo variar conforme lo vaya haciendo el valor de la variable dentro de la Accin que nosotros hayamos programado en el editor Global Script. (Apartados posteriores)

    VARIABLE ASOCIADA AL ATRIBUTO

    Por ltimo configuraremos el trigger como se describi en el punto 5.7 y pulsaremos el botn Apply para validar la configuracin. 5.10 Evolucin del nivel de un depsito. Seleccionamos el depsito de la librera disponible en el editor grfico. Para ello pulsamos el botn de la barra de herramientas y expandimos la carpeta SMART Object donde seleccionamos la carpeta Tank, eligiendo el depsito deseado, siendo arrastrado con el ratn hasta la posicin deseada. A continuacin seleccionamos el depsito con el botn derecho del ratn, elegimos el comando Properties y seleccionamos la propiedad Tag Assigment. Luego seleccionamos la columna Dynamic del atributo Fill level con el botn derecho del ratn, elegimos Dynamic Dialog y aparecer una ventana, como en los casos anteriores, donde configuraremos el objeto. Al igual que en el caso anterior elegiremos el tipo de dato Direct de manera que la variable

    Student Student42

  • Manual de referencia rpida: SCADA WINCC 13

    asociada al nivel del depsito evolucionar dentro de una Accin programada en el editor Global Script. La ventana de configuracin queda:

    1

    A continuacin pulsaremos el botn 1 para configurar el trigger. Por ltimo pulsaremos el botn Apply para validar la configuracin.

    Nota: Es posible realizar animaciones de objetos los cuales estn constituidos por agrupacin de varios objetos. Para agrupar varios objetos haremos lo siguiente: Con el botn izquierdo del ratn pulsado encerramos los objetos en un recinto y a continuacin pulsamos el botn derecho del ratn.

    A continuacin seleccionamos el comando Group.

  • Manual de referencia rpida: SCADA WINCC 14

    6. Programacin de una Accin. Una Accin es una funcin en C que nicamente podremos utilizar en el proyecto donde ha sido creada y ser ejecutada segn un trigger que hayamos programado. Para programar una Accin haremos lo siguiente: Con el botn derecho del ratn seleccionamos el editor Global Script y lo abrimos. A continuacin expandimos Actions y seleccionamos con el botn derecho del ratn Actions- New- Action.

    En la parte derecha se abrir una ventana donde programaremos nuestra Accin. En la Accin que creemos podremos utilizar funciones ya creadas, Standard function e Internal function, e incluso podremos programar nuestras propias funciones seleccionando Project function.

    Las funciones ms utilizadas son las funciones internas Get y Set. Con la funcin Get le asignaremos a una variable de la Accin el valor de una variable del SCADA y con la funcin Set le asignaremos a una variable del SCADA el valor de una variable de la Accin. Para introducirla en la Accin bastar con hacer doble clic sobre ellas en la ventana izquierda y a continuacin asignarle los parmetros adecuados.

    Student Student44

  • Manual de referencia rpida: SCADA WINCC 15

    A continuacin pasaremos a compilar la Accin creada pulsando el botn

    que aparece en la barra de herramientas. Ahora configuraremos el trigger de la Accin. Para ello pulsaremos el botn

    que aparece en la barra de herramientas y seleccionamos el tabulador trigger.

    A continuacin seleccionamos Cyclic y pulsamos el botn Add, de manera que aparecer una ventana en la que seleccionaremos el trigger y una vez configurado pulsaremos el botn Aceptar

    Ventana 1 Una vez configurado el trigger, volveremos a la ventana 1 donde pulsaremos el botn Aceptar para validar la configuracin.

    Por ltimo seleccionamos Save en el men File y a continuacin saldremos del editor Global Script.

  • Manual de referencia rpida: SCADA WINCC 16

    7. Creacin de grficas y tablas. En este apartado nos encargaremos de adquirir datos del proceso y representarlos en tablas y grficas. Lo primero que haremos es abrir el editor Tag Logging : 7.1 Creacin de un archivo de datos. Para la creacin de este archivo haremos uso del asistente Archive Wizard: 1. Seleccionamos Archives con el botn derecho del ratn y elegimos Archive Wizard: 1 pantalla: Pulsamos Next. 2 pantalla: Introducimos el nombre del archivo de datos, p.e NIVEL_DEP, y el tipo de archivo, p.e Process Value Archive, y pulsamos Next. 3 pantalla: Pulsamos Select y elegimos la variable del proceso que vamos a representar y pulsamos Finish.

    VARIABLE DEL PROCESO

    2. A continuacin seleccionamos la variable del proceso en la ventana inferior con el botn derecho del ratn y elegimos Properties. Aparecer una ventana en la que introduciremos NIVEL_ARCH como nombre de la variable

    Student Student46

  • Manual de referencia rpida: SCADA WINCC 17

    archivada. Luego seleccionamos el tabulador Parameter e introduciremos las propiedades del ciclo: Acquisition: 500 ms. Archiving: 1*500 ms Pulsamos el botn OK. Con esto conseguimos que la variable del proceso NIVEL sea adquirida cada 500 ms y archivada como una variable llamada NIVEL_ARCH.

    VARIABLE ARCHIVADA

    3. Por ltimo desplegamos el men File y seleccionamos Save para salvar la configuracin. 7.2 Creacin de una grfica. Para la representacin de la grfica utilizaremos valores de la variable archivada. Seleccionamos con el botn derecho del ratn Trend window templates y elegimos New, apareciendo una ventana como la mostrada:

    Seleccionamos el botn Template e introducimos EVOL_NIVEL como el nombre de la plantilla y pulsamos OK.

    Student Student47

  • Manual de referencia rpida: SCADA WINCC 18

    En el tabulador General Information introducimos NIVEL_DEP como el nombre de la tendencia (Name of the trend) que vamos a representar. En el tabulador Tag haremos doble clic sobre el nombre del archivo NIVEL_DEP y seleccionaremos la variable archivada que vamos a representar.

    VARIABLE ARCHIVADA

    En el tabulador X Axis introduciremos el nombre del eje X , Tiempo, y habilitaremos el casillero Autorange introduciendo 200 como el valor a escalar.

    En el tabulador Y Axis introduciremos el nombre del eje Y, Nivel, habilitaremos el casillero Coarse grid con un valor de 20, deshabilitaremos el casillero Autorange e introduciremos 0 como valor inicial y 100 como valor final y por ltimo seleccionaremos Connect dots linearly en el casillero Trend Display.

    Student Student48

  • Manual de referencia rpida: SCADA WINCC 19

    Por ltimo pulsaremos el botn OK para salvar la configuracin. 7.3 Insertar una grfica en una imagen. En primer lugar abrimos el editor grfico y a continuacin la imagen donde queremos insertar la grfica. Seleccionamos el objeto Application Window del grupo Smart Object que se encuentra en la ventana Object Palette. Una vez seleccionado movemos el cursor hasta la posicin deseada de la imagen y pulsamos el botn izquierdo del ratn apareciendo una ventana llamada Windows Contents de la cual seleccionamos Tag Logging, pulsando a continuacin OK. Aparecer una ventana llamada Template de la que seleccionaremos la plantilla EVOL_NIVEL que vamos a representar, y pulsaremos OK. Por ltimo le daremos a la ventana, la cual aparece con el nombre que le hemos dado a la plantilla, el tamao deseado y salvaremos la configuracin. 7.4 Creacin de una tabla de valores. En este apartado crearemos una tabla de valores de una variable del proceso. Seleccionamos con el botn derecho del ratn Table window templates en el editor Tag Logging y elegimos New, apareciendo una ventana como la mostrada:

    Student Student49

  • Manual de referencia rpida: SCADA WINCC 20

    Seleccionamos el botn Template e introducimos VALOR_NIVEL como el nombre de la plantilla, pulsando a continuacin OK. En el tabulador General Information introduciremos NIVEL como el encabezado de la tabla. En el tabulador Tag haremos doble clic sobre el nombre del archivo, NIVEL_DEP y seleccionaremos la variable NIVEL_ARCH. A continuacin pulsaremos el botn OK. Por ltimo desplegamos el men File y seleccionamos Save para salvar la configuracin. 7.5 Insertar una tabla en una imagen. En primer lugar abrimos el editor grfico y a continuacin la imagen donde queremos insertar la tabla. Seleccionamos el objeto Application Window del grupo Smart Object que se encuentra en la ventana Object Palette. Una vez seleccionado movemos el cursor hasta la posicin deseada de la imagen y pulsamos el botn izquierdo del ratn apareciendo una ventana llamada Windows Contents de la cual seleccionamos Tag Logging, pulsando a continuacin OK. Aparecer una ventana llamada Template de la que seleccionaremos la plantilla VALOR_NIVEL que vamos a representar, y pulsaremos OK. Por ltimo le daremos a la ventana, la cual aparece con el nombre que le hemos dado a la plantilla, el tamao deseado y salvaremos la configuracin. 8. Configuracin de mensajes. En este apartado se pretende mostrar como se configuran mensajes y los textos asociados a los mismos. En primer lugar abrimos el editor de mensajes llamado Alarm Logging apareciendo una pantalla como la mostrada:

    Student Student50

  • Manual de referencia rpida: SCADA WINCC 21

    A continuacin arrancaremos el asistente de mensajes desplegando el men File y seleccionando el comando Start Message Wizard: 1 pantalla: Pulsamos Next. 2 pantalla: Seleccionamos Date, Time, Number en bloques del sistema y Msg, Error Location en los bloques de texto de usuario y pulsamos Next. 3 pantalla: Pulsamos Next dejando el casillero preseleccionado. 4 pantalla: Seleccionamos Without Bars y pulsamos Next. 5 pantalla: Pulsamos Next dejando el casillero preseleccionado. 6 pantalla: Seleccionamos Short- Term Archive for 250 Message y pulsamos Next. 7 pantalla: Pulsamos Next. 8 pantalla: Pulsamos Finish. Si queremos aadir otros bloques a nuestro mensaje que no han sido aadidos por el asistente, haremos lo siguiente: 1. Seleccionamos la linea Message line format en la ventana izquierda del editor. 2. Con el botn derecho del ratn seleccionamos Message Line Example que aparece en la ventana derecha del editor y seleccionamos Properties. 3. Aparece una ventana en la cual podremos aadir los bloques Message Text y Point of Error a nuestra lnea de mensaje.

    Una vez hecho esto, pulsaremos el botn OK.

    Si queremos modificar el nmero de caracteres asociados al bloque Message text, haremos lo siguiente: 1. Expandimos la lnea Message Blocks y seleccionamos la lnea User Text Block. A continuacin seleccionamos con el botn derecho del ratn Message text en la ventana derecha del editor.

  • Manual de referencia rpida: SCADA WINCC 22

    2. Seleccionamos el comando Properties de manera que aparecer una ventana donde podremos introducir 30 como el nmero de caracteres asociados al bloque y pulsaremos OK. Decir que de la misma manera podremos cambiar el nmero de caracteres asociados al bloque Point of Error. Si queremos modificar la ventana de mensajes haremos lo siguiente: 1. Seleccionamos la lnea Message window templates y a continuacin con el botn derecho del ratn seleccionamos Message Window Example en la ventana derecha del editor. 2. Seleccionamos el comando Properties de manera que se abrir una ventana con varios tabuladores: - General Information: Introduciremos el nombre de la ventana, el ttulo de la ventana y elegiremos Short- Term Archive Window como tipo de ventana. - Parameters: Habilitaremos los casilleros Line Title y Column Title. - Status Bar: Habilitaremos los casilleros Mostrar barra de estado, Fecha, Hora y elegiremos Bottom como alineacin. - Toolbar: Habilitaremos todas las funciones de teclado excepto City Call, habilitaremos Mostrar barra de herramientas y elegiremos Top como alineacin. 3. Por ltimo pulsaremos el botn OK. Para configurar el texto de un mensaje haremos lo siguiente: 1. Seleccionamos con el botn derecho del ratn la columna Number de la ventana inferior y elegimos Append a New Line. De esta manera aadiremos una nueva fila y as tantas filas como mensajes tengamos.

    Student Student52

  • Manual de referencia rpida: SCADA WINCC 23

    2. En la fila 1 configuraremos el primer mensaje. Haciendo doble clic sobre la la columna Event tag seleccionaremos la variable que me va a provocar el mensaje. Si dicha variable es una variable de 16 bits y el bit tercero es el bit que cuando pase de 0 a 1 me va a producir el mensaje, en la columna Event bit colocaremos un 2.(16..................2 1 0). Si dicha variable es de tipo bit, en la columna Event bit no se pondra nada. 3. A continuacin introduciremos en la columna Messsage text el mensaje que queremos que aparezca, por ejemplo Depsito vaco. De igual manera podremos introducir mensajes en la columna Point of Error. A continuacin dotaremos a nuestros mensajes de un color dependiendo si es un mensaje vigente, de otro color si el mensaje ha dejado de estar vigente y de otro color si es un mensaje reconocido. Para ello haremos lo siguiente: 1. Expandimos Message Classes y seleccionamos la lnea Error. 2. A continuacin seleccionamos con el botn derecho del ratn el icono Alarm que aparece en la ventana derecha y elegimos Properties. 3. Aparecer una ventana en la que configuraremos el color del texto y el color de fondo sin ms que seleccionando el carcter del mensaje y pulsando los botones Text Color y Background Color para elegir los colores.

    Por ltimo pulsaremos el botn OK para validar la configuracin.

    Student Student53

  • Manual de referencia rpida: SCADA WINCC 24

    Una vez hecho todo esto, desplegaremos el men File y seleccionaremos Save para salvar la configuracin. 8.1 Insertar una ventana de mensajes en una imagen. En primer lugar abrimos el editor grfico y a continuacin la imagen donde queremos insertar la ventana de mensajes. Seleccionamos el objeto Application Window del grupo Smart Object que se encuentra en la ventana Object Palette. Una vez seleccionado movemos el cursor hasta la posicin deseada de la imagen y pulsamos el botn izquierdo del ratn apareciendo una ventana llamada Windows Contents de la cual seleccionamos Alarm Logging, pulsando a continuacin OK. Aparecer una ventana llamada Template de la que seleccionaremos la plantilla NIVEL_DEPOSITO que vamos a representar, y pulsaremos OK. Por ltimo le daremos a la ventana, la cual aparece con el nombre que le hemos dado a la plantilla, el tamao deseado y salvaremos la configuracin. 9. Arranque de una aplicacin. Para arrancar la aplicacin y ver como va evolucionando el proceso tenemos dos posibilidades: 1. Actuar desde el Control Center activando o desactivando los iconos situados en la barra de herramientas. 2. Actuar desde el Graphic Designer activando el icono localizado en la barra de herramientas. 10. Uso del simulador del SCADA. WINCC est provisto de un simulador llamado WinCC Simulator con el cual podremos comprobar si nuestra aplicacin funciona correctamente sin necesidad de tener un autmata fsico que nos genere seales externas. En este caso no trabajaremos con variables externas sino con variables internas a las cuales les asociaremos una determinada evolucin de manera que simule un comportamiento real. Veamos los pasos que tenemos que seguir para realizar una simulacin: 1. En primer lugar abrimos el simulador como se muestra en la figura:

  • Manual de referencia rpida: SCADA WINCC 25

    Hay que decir que la imagen que vamos animar debe estar activada antes de configurar el simulador. 2. Una vez abierto el simulador pasaremos a definir las variables que queremos simular. Para ello seleccionamos Edit de la barra de men y elegimos New Tag. 3. En el tabulador Properties introducimos el nombre de la tag deseada y a continuacin elegimos la forma de evolucin de la variable. Vemos que podemos elegir entre distintos tipos de evolucin las cuales tendremos que parametrizar: - Senoidal: En este tipo de evolucin especificaremos los parmetros de una funcin senoidal como son la amplitud, donde se especificar el rango de valores, el periodo de la funcin y el offset.

    - Evolucin oscilatoria: Introduciremos el parmetro Setpoint donde indicaremos el valor que tomar despus del fenmeno transitorio, el parmetro Overshoot donde indicaremos cuanto se pueden alejar los valores del setpoint, el periodo de oscilacin y el parmetro Damping. - Evolucin aleatoria: Aqu especificaremos el rango de valores que nuestra

    variable. - Evolucin lineal creciente: Especificaremos el valor de comienzo y el valor final. - Evolucin lineal decreciente: De la misma manera especificaremos los valores de comienzo y final. - Evolucin con un slider: Especificaremos el valor de comienzo y final. Elegiremos una evolucin lineal decreciente para la variable NIVEL_DEP1 y una evolucin lineal creciente para la variable NIVEL_DEP2. 4. A continuacin habilitaremos el casillero active. (Fig.1)

    Student Student55

  • Manual de referencia rpida: SCADA WINCC 26

    5. Una vez hecho todo esto, nos iremos al tabulador List of Tags y veremos como las variables que hemos seleccionado para la simulacin van variando sus valores. (Fig.2)

    Fig.1

    Fig.2

    Student Student56

  • Laboratorio de Control de Procesos por ComputadorSimulacion del control adaptativo

    Se desea realizar un programa en MATLAB que simule la identificacion de un sistema ymodificarlo para simular el comportamiento de un controlador auto-ajustable. Para ello:

    1. Se simulara el comportamiento de un sistema con funcion de transferencia G(z) =0.2

    z0.8 . La entrada sera del tipo PRBS de amplitud 1 (una senal que toma solamentelos valores 1 o -1, conmutando entre ellos con una probabilidad dada, por ejemplo0.2). Esta entrada se puede programar en MATLAB inicializando u=1 y dando laorden: if rand

  • LABORATORIO DE CONTROL POR COMPUTADOR

    LABVIEW-Bibliotecas de funciones de enlace dinamico(DLL)

    1. Objetivos

    Esta practica tiene como objetivo aprender a crear DLLs, y a hacer uso de ellas enLabView.

    Las DLLs son bibliotecas de funciones de enlace dinamico.

    2. Creacion de una DLL

    La DLL es una biblioteca de funciones de enlace dinamico. Crearemos una dll usandolenguaje C. Seran necesarios los siguientes archivos:

    cpcdll.def: En el se definen las funciones que va a exportar la dll para que puedanser usadas por los programas que la carguen.

    cpcdll.h: En el se incluiran los prototipos de las funciones que componen la biblio-teca. En el prototipo de las funciones incluiremos la palabra WINAPI para indicaral compilador el metodo de llamada a las funciones llevado a cabo.

    cpcdll.cpp: Se definen las funciones que han sido declaradas en cpcdll.h.

    3. Ejemplo de DLL

    A continuacion se van a mostrar los tres ficheros correspondientes a una dll que contienelas funciones suma y resta de dos parametros. Tanto para la suma como para la resta sehan creado dos funciones. En una el paso de parametros es por valor, y en la otra el pasode parametros es por referencia, por lo que se hara uso de punteros.

    A continuacion se muestra el contenido del archivo cpcdll.def

    ;--------------------------------------;; Nombre del Fichero:cpcdll.DEF;;--------------------------------------

    LIBRARY CPCDLL

    DESCRIPTION Ejemplo de Creacion de una DLL

    EXPORTS

    Sumar @1Restar @2Sumar_Ref @3Restar_Ref @4

    Student Student Manuel Lpez Martnez

    Student StudentPrctica 9

    Student Student59

  • A continuacion se muestra el contenido del archivo cpcdll.h

    /* Nombre del fichero:cpcdll.h*/

    /* Funciones prototipo */

    #ifdef __cplusplus /* si los ficheros fuente son .cpp*/

    extern "C" {

    #endif

    double WINAPI Sumar(double Param1, double Param2);

    double WINAPI Restar(double Param1, double Param2);

    void WINAPI Sumar_Ref(double *Param1,double *Param2, double *Suma);

    void WINAPI Restar_Ref(double *Param1,double *Param2, double *Resta);

    #ifdef __cplusplus /*si el compilador es C++ */

    }

    #endif

    Y por ultimo el archivo cpcdll.cpp

    //--------------------------------------------------------------// Nombre del fichero: CPCDLL.CPP////--------------------------------------------------------------#include

    #include "cpcdll.h"

    /* Funcion DllMain es llamada por Windows no por el usuario*/

    BOOL WINAPI DllMain(HANDLE hModule, DWORD dwReason, LPVOIDlpReserved) {

    switch(dwReason){

    case DLL_PROCESS_ATTACH: break;

    case DLL_THREAD_ATTACH: break;

    case DLL_THREAD_DETACH: break;

    case DLL_PROCESS_DETACH: break;

    }

    return TRUE; //DLL_PROCESS_ATTACH satisfactorio

    }

    /*Funcion Sumar con paso de parametros por Valor*/

    double WINAPI Sumar(double Param1,double Param2){

    return(Param1+Param2);}

    /*Funcion Restar con paso de parametros por Valor */

    double WINAPI Restar(double Param1,double Param2){

    return(Param1-Param2);}

    /*Funcion Sumar con paso de parametros por Referencia*/

    void WINAPI Sumar_Ref(double *Param1,double *Param2, double *Suma){

    *Suma=(*Param1)+(*Param2);}

    /*Funcion Restar con paso de parametros por Referencia*/

    Student Student60

  • void WINAPI Restar_Ref(double *Param1,double *Param2,double*Resta){

    *Resta=(*Param1)-(*Param2);}

    4. Uso de la DLL en LabVIEW

    En el siguiente modelo de labVIEW hemos incluido 2 controles y 2 indicadores numericos.Si se observa el diagrama de conexiones, se vera que se conectan a un bloque que es elque realiza la llamada a las dlls.

    Figura 1: Interfaz y Diagrama

    Si pulsamos 2 veces sobre dicho bloque aparecera un menu para configurar que dll se vaa cargar, as como que funcion se va exportar y cual es su prototipo (ver figuras 2 y 3).Para ello habra que declarar los tipos de los distintos parametros de entrada y de salidade la funcion, as como si el paso de los mismos se hace por valor o por referencia.

    5. Desarrollo de la practica

    Se pide:

    1. Anadir a la biblioteca de funciones proporcionada una funcion que contenga un con-trolador PI, al cual se le han de pasar los valores Kp, Ki, el valor del error y ha dedevolver la senal de control.

    2. Sustituir el PID del archivo practica.vi por el bloque de llamada a la dll. Configurardicho bloque para llame a la funcion PI y se comporte como el bloque de control.

    3. Anadir a la biblioteca de funciones una funcion que estime los parametros del motorhaciendo uso del algoritmo de mnimos cuadrados recursivo. Para simplificar el pro-

    Student Student61

  • Figura 2: Menu de configuracion. Paso de parametros por valor

    Figura 3: Paso de parametros por referencia

    Student Student62

  • ceso de identificacion, obtendremos el valor del retardo d de forma experimental, ylo introduciremos en el modelo de primer orden a identificar.

    y(k) = a1y(k 1) + b1u(k d 1) (1)

    Nota: Ecuaciones del identificador recursivo por mnimos cuadrados para el sistemay(k) = m(k)

    (k + 1) = (k) +K(k)(y(k + 1)m(k + 1)(k))

    K(k) =P (k)mT (k + 1)

    +m(k + 1)P (k)mT (k + 1)

    P (k + 1) =1

    P (k)(I K(k)m(k + 1))

    Student Student63

  • Enunciados de Exmenes

  • EXAMEN DEL LABORATORIO DE CONTROL DE PROCESOS POR COMPUTADOR

    21 de junio de 2001

    1. Explicar el procedimiento que se emple para verificar el funcionamiento de las funciones en C de manejo de la tarjeta A/D-D/A realizadas en la prctica 1.

    2. Explicar el experimento que se realiz para poner de manifiesto el efecto del wind-up en el PID.

    3. Comentar los efectos del parmetro R observados en la prctica de LQR. 4. Dibujar un esquema en Labview que calcule la ley predictiva

    )1(*)(*)(*)1(*)( 21 +++= kypKkypKkrKkuKku yyru 5. Qu valores iniciales para la matriz de covarianzas P y para el vector de

    parmetros se utilizaron en la prctica de simulacin del control adaptativo? 6. Explicar para qu se utiliza la funcin waitfor( ) en el programa de control PID

    implementado con el microcontrolador PK2100 de Z-World.

    Student Student67

  • Examen del Laboratorio de Control por Computador4Curso Ingenieros Telecomunicacion. Plan 98

    (6 de junio de 2002)

    Tiempo: 45 minutos.

    1. Explique brevemente como se implementa en Labview la senal yk1 a partirde la senal yk.

    2. La biblioteca de funciones 8316.dll es usada en LabView para poder trabajarcon la tarjeta de adquisicion de datos usada en las practicas. Explique deforma general para que sirven las funciones que se utilizaron en la primerapractica.

    3. Explique brevemente un experimento con el motor de continua de las practicasen el que se pueda observar el efecto integral wind-up.

    4. Dibuje un diagrama de bloques generico que represente un control PI autoa-justable, que controle en bucle cerrado la velocidad de un motor de continua.

    5. Que es una DLL? Explique brevemente el metodo visto en clase para crearuna DLL, extensiones de los archivos usados y utilidad de cada uno de losarchivos.

    6. Explique que procedimiento (funciones de Matlab y/o bloques de Simulink)empleo para realizar las simulaciones del control LQR discreto del sistemaP (s)U(s)

    = K1s+1

    K2

    s.

    7. Dibuje el diagrama de bloques en bucle cerrado del sistema controlado conel microcontrolador PK2100 (apartado final del enunciado de la practica),indicando ademas los niveles de tension que adaptan las tarjetas adicionalesque se utilizaron en la practica.

    Student Student69

  • Examen del Laboratorio de Control por Computador 4 Curso Ingenieros Telecomunicacin

    4 de junio de 2003

    Tiempo: 1 hora

    1. Cmo se puede acceder desde Labview a la tarjeta de conversin A/D-D/A? 2. Indique brevemente cmo se calcularon analticamente los parmetros del PI de la prctica de

    control del motor. 3. En la prctica en la que se analiz el problema del wind-up, cul fue la solucin que program su

    grupo? 4. Explique cmo se simulaba el sistema en la prctica de simulacin de control adaptativo. 5. Comente brevemente cmo se programa en el WinCC un elemento que cambie de color en

    funcin del valor de una variable lgica. Responda a las siguientes cuestiones rodeando con un crculo la respuesta correcta (slo una por cuestin): 6. En la prctica del microprocesador PK2100

    a. las tarjetas de adaptacin de salida del micro proporcionan un rango de 0 a 10 v. b. los programas slo pueden residir en RAM con soporte de batera. c. la funcin VdInit es fundamental al inicio de un programa para activar los jumpers. d. Se pueden emplear 3 entradas digitales como contadores.

    7. En la programacin multitarea por prioridad en Dynamic C

    a. la prioridad de cada tarea la establece cada costatement. b. una tarea finaliza cuando se produce un evento determinado. c. se utiliza un timer para establecer el tiempo de actividad de una tarea. d. una tarea cede la prioridad a otra hasta que se produce un evento determinado.

    8. En la prctica de LQR observamos que

    a. si se utiliza el modelo continuo hay que incluir un mantenedor en el grfico de simulink. b. al aumentar R el comportamiento en bucle cerrado es ms brusco. c. la matriz C de un modelo del sistema es siempre la matriz unidad. d. los parmetros calculados mediante simulink en tiempo continuo son los que hay que

    emplear en el control con LabView. 9. En la prctica de GPC

    a. el parmetro ganancia del modelo influye en el error en rgimen permanente. b. el rango de variacin del parmetro de control N propuesto no influye al resultado. c. el rango de variacin del parmetro de control propuesto no influye al resultado. d. la ley de control propuesta no depende del orden del sistema a controlar.

    10. Las DLL

    a. son bibliotecas de funciones de paso por referencia de parmetros. b. pueden contener funciones para identificar los parmetros de la planta en lnea. c. siempre llevan la palabra WINAPI en la declaracin y definicin de funciones para

    indicar el mtodo de llamada de stas. d. se componen de 4 archivos escritos en C.

    Student Student71

  • Examen del Laboratorio de Control por Computador4Curso Ingenieros Telecomunicacion

    12 de junio de 2004

    Tiempo: 45 minutos.

    1. Indique (no es necesario dar valores numericos) la estructura de la funcion detransferencia que se utiliza para modelar el motor de corriente continua.

    2. Indique como se identifica la constante que relaciona la velocidad con laposicion en el motor de corriente continua.

    3. Describa un experimento con el motor de las practicas que ponga de manifiestoel efecto del wind-up y a continuacion explique brevemente un metodo por elque se pueda resolver dicho problema.

    4. El control GPC esta gobernado por dos parametros basicos, el horizonte decontrol N y la penalizacion del esfuerzo de control . Describa cualitativa-mente como afecta al comportamiento del sistema en bucle cerrado (carac-tersticas de la senal de control y respuesta del sistema) el valor de .

    5. Trabajando con el SCADA WinCC, explique como implementara:

    (a) Una barra de desplazamiento que modificase el valor de un numero mostradoen un indicador de dgitos.

    (b) Un boton que haga visible/invisible alternativamente, cada vez que sepulse, la barra de desplazamiento ademas del indicador de dgitos.

    (c) Un boton para incrementar en una unidad el valor del numero mostradoen el indicador de dgitos.

    6. Indique brevemente la estructura del programa utilizado para la simulacion deun controlador PI autoajustable para un sistema simulado de primer orden.

    Student Student73