Está en la página 1de 73

Laboratorio de Control por

Computador
4 Curso. Ingeniera de
Telecomunicacin
Libro de Prcticas y Exmenes

Manuel Lpez Martnez


Mercedes Prez de la Parte
Francisco 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
Introducci
on a LabView.Configuraci
on de una tarjeta de
adquisici
on de datos
Manuel Lpez Martnez

Objetivos

El objetivo fundamental de esta practica es enfrentar al alumno con los problemas que
aparecen a la hora de trabajar por primera vez con una tarjeta de entradas y salidas
tanto analogicas como digitales(Tarjeta de Adquisicion de Datos y Control). Para ello
emplearemos un software especfico para el control de instrumentacion. Este software se
denomina LabView y se caracteriza por ser un lenguaje de programacion grafica. Se
pretende desarrollar un programa con este software que permita configurar, leer y escribir
en la tarjeta. De igual modo se realizara un interfaz grafico para poder visualizar los
datos 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

Introducci
on a LabView

LabView es un entorno de desarrollo de programas basado en un lenguaje de programacion


grafico (G) que genera los programas en forma de diagramas de bloques.
LabView dispone de bibliotecas para adquisicion de datos, analisis, presentacion y almacenamiento de datos. Ademas dispone de herramientas convencionales de desarrollo de
programas y depuracion de errores, tales como puntos de ruptura, ejecucion paso a paso
y animacion del flujo del programa.
Los programas en LabView se denominan instrumentos virtuales (extension *.vi). Un VI
consiste en una interfaz de usuario interactiva denominada Panel y un diagrama de flujo
de datos. Cada VI podra tener acceso a otros VIs, bien para hacer nuevas pantallas o
bien para que trabajen como subprogramas, esto se hara a traves de la generacion del
icono del VI y de sus entradas y salidas. Se comenzara programando el VI de mayor nivel
definiendo las entradas y salidas para la aplicacion deseada.
7

3.1

Conceptos b
asicos del lenguaje G

1. VIs
2. Panel Frontal: Controles e Indicadores
(a) Controles: Dispositivo a traves del cual el usuario introduce datos para su procesamiento.
(b) Indicador: Dispositivo a traves del cual el usuario lee los resultados que da el
programa.

Figura 1: Panel
3. Diagrama de Programacion: Funciones
(a) Terminales: Cada Control e indicador del panel frontal tendra asociado un terminal de conexion en el diagrama de programacion. A traves de este terminal
fluiran 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 tipo
de datos que circula por el. Azul=enteros, verde=booleanos, naranja=flotantes,
rosa=cadenas de caracteres, Marron=Clusters.
Arrays: Conjunto de elementos del mismo tipo
Cluster: Conjunto de elementos de distinto tipo

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 permiten
transferir los valores del final de una iteracion al principio de la siguiente.
Tiempo de Espera: Cuando es necesario ejecutar un bucle while cada cierto
tiempo, se a
nade un tiempo de espera. Con esto podremos definir el Tiempo
de Muestreo.

Figura 4: Espera un tiempo (en ms)


For: Hay dos terminales asociados. Terminal contador(N) y el terminal de iteracion(i). Hay tambien registros de desplazamiento.
Estructura Case: Selector del caso(?).Identificador del caso.
Estructura Secuence
3.2

Ejemplo: Funci
on Seno

En el siguiente ejemplo se muestra un vi en el que se aplica un filtro a una se


nal senoidal.
El filtro es yk = uk + a yk1 , donde uk es una se
nal senoidal de frecuencia w. En este
ejemplo 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

10

Desarrollo

Haciendo uso de la biblioteca de funciones para la tarjeta de entrada salida, y de los drivers
para LabView, se tendra que realizar un VI, tanto el panel frontal como el diagrama de
bloques 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 se
nal, y
un osciloscopio.
4.1

Funciones de la Biblioteca

Figura 6: Funciones para Inicializacion

Figura 7: Funciones para Lectura

Figura 8: Funciones para Escritura

11


INGENIERO DE TELECOMUNICACION
LABORATORIO DE CONTROL POR COMPUTADOR
Departamento de Ingeniera de Sistemas y Autom
atica

Pr
actica 2
An
alisis de un sistema y dise
no de
controladores PID
1.

An
alisis del sistema

Se pretende aqu observar el comportamiento del motor ante cambios en el


voltaje de entrada a la excitacion del mismo. Usaremos el ordenador como
monitor para dicha observacion en bucle abierto con una aplicacion en Labview.
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. Los
resultados se guardaran en archivos de disco flexible (se procurara apuntar
el 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 evolucion


de y (tension proporcional a la posicion) y de yv (tension proporcional a
la velocidad). Los valores de u seran tpicamente bajo, medio y alto. Se
observara la existencia de zona muerta y de saturacion en la se
nal de mando
y se tomara nota de los resultados.
IMPORTANTE: Para los experimentos no se debe variar la posicion del
mando del atenuador ni del amplificador.
Los ficheros obtenidos se utilizaran en el punto siguiente.

1.2.

C
alculo de par
ametros

La salida de la planta yv (velocidad) ante una entrada en escalon se asemeja


a la de un sistema de primer orden. Tales sistemas quedan caracterizados
por una ganancia est
atica y una constante de tiempo. Aunque nuestro
sistema no es de primer orden, podemos hacer tal aproximacion.
1

13

La posicion angular del eje y resulta de integrar la velocidad multiplicada


por cierta constante (debido a la conversion de grados a voltios).
La dinamica de la planta completa se aproxima, por tanto, a:
u

k1
yv k 2

y
1 + s
s

donde las variables son:


u: Se
nal de mando en voltios.
yv : Velocidad de giro, expresada en voltios de la se
nal medida.
y: Posicion angular, expresada en voltios de la se
nal medida.
Se obtendran los parametros del sistema k1 , y k2 haciendo uso de los datos
obtenidos en los experimentos (por ejemplo de forma grafica). Los valores
seran diferentes en las zonas baja, media y alta de u, por lo que se hara una
media.

2.

Dise
no de un regulador PI para el control
de velocidad

Con los parametros k1 , y obtenidos anteriormente se pueden dise


nar reguladores para el control de la velocidad (no confundir con el control de la
posicion) 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 se


va 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.

14

2.2.

Experimentos

Se probara la eficacia del controlador dise


nado mediante una serie de experimentos en los cuales la referencia del sistema en bucle cerrado sufrira escalones
en distintas zonas. Los resultados se archivaran en ficheros.
Se moveran los parametros del PI de su punto de dise
no, y se vera como
afecta a la respuesta del bucle cerrado.

3.

Dise
no de un regulador PID para el control de posici
on

Notese que en este caso se desea controlar la posicion. Se dise


nara el PID
de forma emprica: en primer lugar se observara el efecto de cada uno de los
terminos del PID (proporcional, integral y derivativo) sobre el comportamiento del bucle cerrado modificando los parametros Kp , Ti y Td . Se efectuaran
diversos 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 haya
mucha sobreoscilacion ni tampoco oscilaciones. Los efectos integral y derivativo seran aqu nulos (piense los valores que hay que asignarles a Ti y Td para
que esto ocurra).
2. Bajar algo Kp y a
nadir termino integral para anular el error en regimen
permanente (producido por la zona muerta).
3. A
nadir ahora termino derivativo con objeto de suavizar la sobreoscilacion
que 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 como


importantes para la observacion. Asimismo se incluira en la memoria todo
trabajo desarrollado por el alumno, como: programa de control, ecuaciones,
analisis, etc. y todo fichero de resultados (en forma grafica si se puede). Se
puntuara una explicacion de los efectos observados en el ajuste del PID.

15

ANEXO

Conexiones de los servomotores


1. Motores modulares Feedback 150

1111111111111
0000000000000
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
SA 150D
PS 150E

Actuacin: AO1

+15

0 -15
3

1
+15

4
AU 150B

0 -15

PA 150C

2
Velocidad: AI1
GND

MT 150F

Posicin: AI0

Divisor de tensiones
OP 150K

2. Motores compactos Feedback


A estos motores simplemente hay que conectarles la alimentacion (IMPORTANTE: hay que asegurarse de que se hace correctamente) y las
entradas y salidas a traves del conector de cable plano:
Cable plano

11111111111111111
00000000000000000
00000000000000000
11111111111111111
00000000000000000
11111111111111111
00000000000000000
11111111111111111
00000000000000000
11111111111111111

ALIMENTACIN
Fuente
15 V

15 V

1
-

+15

+5

0V

GND

5V

1: GND
2: Posicin: AI0
3: Referencia
4: Actuacin: AO1
5: Velocidad: AI1
6: N/A

-15

16

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.

Laboratorio de Control por Computador


Automtica

1
17

Dpto Ingeniera de Sistemas y

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
Automtica

2
18

Dpto Ingeniera de Sistemas y

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
5V

ALIMENTACIN

ENTRADA

SALIDA

SALIDA

POTENCIOMETRO
DE AJUSTE DE
GANANCIA
-10 V

0V 0V

POTENCIMETRO
DE AJUSTE DE
OFFSET

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


Laboratorio de Control por Computador
Automtica

3
19

Dpto Ingeniera de Sistemas y

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.

Laboratorio de Control por Computador


Automtica

4
20

Dpto Ingeniera de Sistemas y

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.
Laboratorio de Control por Computador
Automtica

5
21

Dpto Ingeniera de Sistemas y

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

Consignas
CPU Z180

A/D

Actuador

D/A

Sistema

Controlador PK2100

Sensores
Tarjetas de adaptacin
de seal
Lnea RS232

Laboratorio de Control por Computador


Automtica

6
22

Dpto Ingeniera de Sistemas y

Prctica 4
LABORATORIO DE CONTROL POR COMPUTADOR
DIGITAL DE UN PID:
IMPLEMENTACION

ASPECTOS PRACTICOS
Manuel Lpez Martnez

1.

Objetivos

En la implementacion digital de un controlador PID hay que tener en cuenta diversos


aspectos como:
Conmutacion control manual/automatico
Saturacion del actuador.
En esta practica se pretende que el alumno controle un motor de cc usando un control
pid digital teniendo en cuenta estos aspectos. La programacion se llevara a cabo usando
LabVIEW.
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 PID


digital.
En la practica se analizaran los siguientes aspectos en la implementacion del PID digital.
1. Fenomeno Wind-Up
2. Conmutacion Manual/Automatico.

23

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 de
wind up como consecuencia de la saturacion del motor y de la existencia de un termino
integral en el controlador.
El controlador dise
nado 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.

Conmutaci
on Manual/Autom
atico

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 se
nal de control
distinta 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 realice
de 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 realizaci


on de la pr
actica son necesarios los apuntes de clase

24

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

p (t ) = K 2Vdt = K 2Vt
0

U(S)

K1
TAOs + 1

V(S)

K2
s

P(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

1
25

Dpto Ingeniera de Sistemas y Automtica

Prctica 6
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

p(t ) = K 2Vdt = K 2Vt


0

U(S)

V(S)

K1
TAOs + 1

K2
s

P(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:

G( s) =

4
(0.8s + 1) s

G( z) =

0.015z 1 + 0.0149 z 2
1 1.9 z 1 + 0.9048z 2

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.

u(t) = K u1 (u(t-1)-u(t-2)) + K u2 (u(t-2)-u(t-3)) + K r1ref(t)+K y1y p (t) + K y2 y p (t-1) + K y3 y p (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

1
27

Dpto Ingeniera de Sistemas y Automtica

Prctica 7
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:
9 Dos pulsadores o bien un conmutador para activar/desactivar la
alarma.
9 Un indicador de alarma activada/desactivada.
9 Un indicador de movimiento detectado/no detectado.
9 Un indicador de altavoz de alarma sonando/no sonando.
9 Un indicador de luz en la habitacin encendida/apagada.

29

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:
9 Dos pulsadores o bien un conmutador para activar/desactivar el
climatizador.
9 Una barra deslizante con indicador de dgitos para modificar la
temperatura deseada.
9 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.

30

Manual de referencia rpida: SCADA WINCC

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
arranquen cuando nuestro proyecto se active. Para ello haremos lo siguiente:

31

que

Manual de referencia rpida: SCADA WINCC

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.

32

Manual de referencia rpida: SCADA WINCC

Seleccionamos New de
configuraremos la variable.

manera

que

aparecer

una

ventana

donde

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.
DRIVER
ELEGIDO

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

A continuacin expandimos el driver que aparece en


el rbol y seleccionamos el tipo de conexin, en

33

Manual de referencia rpida: SCADA WINCC

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)

34

Manual de referencia rpida: SCADA WINCC

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:

35

Manual de referencia rpida: SCADA WINCC

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.

36

Manual de referencia rpida: SCADA WINCC

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.

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.

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)

37

Manual de referencia rpida: SCADA WINCC

Por

ltimo pulsaremos el botn OK para validar la configuracin.

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

38

Manual de referencia rpida: SCADA WINCC

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.
PULSAMOS EL BOTN
PARA ELEGIR LA
VARIABLE
ELEGIMOS EL TIPO DE
DATO

CON EL BOTN DERECHO DEL


RATN ELEGIMOS EL RANGO
DE FUNCIONAMIENTO

39

Manual de referencia rpida: SCADA WINCC

10

para configurar el trigger. Aparecer


A continuacin pulsaremos el botn
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.

40

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

42

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.

44

Manual de referencia rpida: SCADA WINCC

15

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

46

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.

47

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.

48

Manual de referencia rpida: SCADA WINCC

Por

19

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:

49

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:

50

Manual de referencia rpida: SCADA WINCC

21

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.

52

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.

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.

53

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.
abrimos
como
figura:

En primer lugar
el
simulador
se muestra en la

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)

55

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

56

Prctica 8
Laboratorio de Control de Procesos por Computador
Simulacion del control adaptativo
Se desea realizar un programa en MATLAB que simule la identificacion de un sistema y
modificarlo 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
. La entrada sera del tipo PRBS de amplitud 1 (una se
nal que toma solamente
z0.8
los valores 1 o -1, conmutando entre ellos con una probabilidad dada, por ejemplo
0.2). Esta entrada se puede programar en MATLAB inicializando u=1 y dando la
orden: if rand<0.2 u=-u;end;.
2. Programar un identificador por mnimos cuadrados recursivo con factor de olvido
para este sistema. Comparar la evolucion de los parametros estimados con los reales.
3. Repetir la identificacion a
nadiendo un ruido al sistema con distribucion uniforme
entre -0.025 y 0.025 (rand*0.05-0.025). Este ruido es una primera aproximacion
a los problemas que aparecen en un caso real. Se debe observar un empeoramiento
en la convergencia del identificador.
4. Repetir la identificacion haciendo que los parametros a1 y b1 varen de forma lineal
desde [0.8 0.2] en k = 50 hasta [0.5 0.1] en k = 75. Realizar las simulaciones con
varios valores del factor de olvido (0.95 1). sin ruido y con ruido.
5. Simular un controlador autoajustable. Se elegira un PI que cancele el polo del
sistema y multiplique por 0.8 la constante de tiempo del sistema en bucle abierto.
Introducir una referencia que cambie entre -1 y 1 cada 50 periodos de muestreo
(if (rem(k,50)==0) r=-r;). Comparar los resultados con los de un controlador
PI fijo sintonizado para el sistema inicial.
Sugerencia para trabajo con car
acter voluntario:
6. En lugar del sistema anterior simular uno de orden 2 e identificarlo con un modelo
de orden 1 (es decir, el identificador sera igual al del punto 2). Se podran observar
los problemas del control adaptativo cuando no se estima correctamente el orden
del sistema.
Nota: Ecuaciones del identificador recursivo por mnimos cuadrados para el sistema
y(k) = m(k)
(k + 1) = (k) + K(k)(y(k + 1) m(k + 1)(k))
P (k)mT (k + 1)
K(k) =
+ m(k + 1)P (k)mT (k + 1)
1
P (k + 1) =
(I K(k)m(k + 1))P (k)

57

Prctica 9
LABORATORIO DE CONTROL POR COMPUTADOR
LABVIEW-Bibliotecas de funciones de enlace din
amico(DLL)
Manuel Lpez Martnez

1.

Objetivos

Esta practica tiene como objetivo aprender a crear DLLs, y a hacer uso de ellas en
LabView.
Las DLLs son bibliotecas de funciones de enlace dinamico.
2.

Creaci
on de una DLL

La DLL es una biblioteca de funciones de enlace dinamico. Crearemos una dll usando
lenguaje C. Seran necesarios los siguientes archivos:
cpcdll.def: En el se definen las funciones que va a exportar la dll para que puedan
ser usadas por los programas que la carguen.
cpcdll.h: En el se incluiran los prototipos de las funciones que componen la biblioteca. En el prototipo de las funciones incluiremos la palabra WINAPI para indicar
al 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 contiene
las funciones suma y resta de dos parametros. Tanto para la suma como para la resta se
han creado dos funciones. En una el paso de parametros es por valor, y en la otra el paso
de 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
Restar
Sumar_Ref
Restar_Ref

@1
@2
@3
@4

59

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 u
ltimo el archivo cpcdll.cpp
//-------------------------------------------------------------// Nombre del fichero: CPCDLL.CPP
//
//-------------------------------------------------------------#include <windows.h>
#include "cpcdll.h"
/* Funcion DllMain es llamada por Windows no por el usuario*/
BOOL WINAPI DllMain(HANDLE hModule, DWORD dwReason, LPVOID
lpReserved) {
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*/

60

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 el
que realiza la llamada a las dlls.

Figura 1: Interfaz y Diagrama


Si pulsamos 2 veces sobre dicho bloque aparecera un men
u para configurar que dll se va
a 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 salida
de la funcion, as como si el paso de los mismos se hace por valor o por referencia.
5.

Desarrollo de la pr
actica

Se pide:
1. A
nadir a la biblioteca de funciones proporcionada una funcion que contenga un controlador PI, al cual se le han de pasar los valores Kp, Ki, el valor del error y ha de
devolver la se
nal de control.
2. Sustituir el PID del archivo practica.vi por el bloque de llamada a la dll. Configurar
dicho bloque para llame a la funcion PI y se comporte como el bloque de control.
3. A
nadir a la biblioteca de funciones una funcion que estime los parametros del motor
haciendo uso del algoritmo de mnimos cuadrados recursivo. Para simplificar el pro61

Figura 2: Men
u de configuracion. Paso de parametros por valor

Figura 3: Paso de parametros por referencia


62

ceso de identificacion, obtendremos el valor del retardo d de forma experimental, y


lo introduciremos en el modelo de primer orden a identificar.
y(k) = a1 y(k 1) + b1 u(k d 1)

(1)

Nota: Ecuaciones del identificador recursivo por mnimos cuadrados para el sistema
y(k) = m(k)
(k + 1) = (k) + K(k)(y(k + 1) m(k + 1)(k))
P (k)mT (k + 1)
K(k) =
+ m(k + 1)P (k)mT (k + 1)
1
P (k + 1) =
P (k)(I K(k)m(k + 1))

63

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
u (k ) = K u * u (k 1) + K r * r (k ) + K y1 * yp(k ) + K y 2 * yp(k 1)
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.

67

Examen del Laboratorio de Control por Computador


4 Curso Ingenieros Telecomunicaci
on. Plan 98
(6 de junio de 2002)

Tiempo: 45 minutos.
1. Explique brevemente como se implementa en Labview la se
nal yk1 a partir
de la se
nal yk .
2. La biblioteca de funciones 8316.dll es usada en LabView para poder trabajar
con la tarjeta de adquisicion de datos usada en las practicas. Explique de
forma general para que sirven las funciones que se utilizaron en la primera
practica.
3. Explique brevemente un experimento con el motor de continua de las practicas
en el que se pueda observar el efecto integral wind-up.
4. Dibuje un diagrama de bloques generico que represente un control PI autoajustable, 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 crear
una DLL, extensiones de los archivos usados y utilidad de cada uno de los
archivos.
6. Explique que procedimiento (funciones de Matlab y/o bloques de Simulink)
empleo para realizar las simulaciones del control LQR discreto del sistema
P (s)
1 K2
= K
.
U (s)
s+1 s
7. Dibuje el diagrama de bloques en bucle cerrado del sistema controlado con
el microcontrolador PK2100 (apartado final del enunciado de la practica),
indicando ademas los niveles de tension que adaptan las tarjetas adicionales
que se utilizaron en la practica.

69

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.
b.
c.
d.

las tarjetas de adaptacin de salida del micro proporcionan un rango de 0 a 10 v.


los programas slo pueden residir en RAM con soporte de batera.
la funcin VdInit es fundamental al inicio de un programa para activar los jumpers.
Se pueden emplear 3 entradas digitales como contadores.

7. En la programacin multitarea por prioridad en Dynamic C


a.
b.
c.
d.

la prioridad de cada tarea la establece cada costatement.


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

8. En la prctica de LQR observamos que


a.
b.
c.
d.

si se utiliza el modelo continuo hay que incluir un mantenedor en el grfico de simulink.


al aumentar R el comportamiento en bucle cerrado es ms brusco.
la matriz C de un modelo del sistema es siempre la matriz unidad.
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.
b.
c.
d.

el parmetro ganancia del modelo influye en el error en rgimen permanente.


el rango de variacin del parmetro de control N propuesto no influye al resultado.
el rango de variacin del parmetro de control propuesto no influye al resultado.
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.

71

Examen del Laboratorio de Control por Computador


4 Curso Ingenieros Telecomunicaci
on
12 de junio de 2004

Tiempo: 45 minutos.
1. Indique (no es necesario dar valores n
umericos) la estructura de la funcion de
transferencia que se utiliza para modelar el motor de corriente continua.
2. Indique como se identifica la constante que relaciona la velocidad con la
posicion en el motor de corriente continua.
3. Describa un experimento con el motor de las practicas que ponga de manifiesto
el efecto del wind-up y a continuacion explique brevemente un metodo por el
que se pueda resolver dicho problema.
4. El control GPC esta gobernado por dos parametros basicos, el horizonte de
control N y la penalizacion del esfuerzo de control . Describa cualitativamente como afecta al comportamiento del sistema en bucle cerrado (caractersticas de la se
nal 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 n
umero mostrado
en un indicador de dgitos.
(b) Un boton que haga visible/invisible alternativamente, cada vez que se
pulse, la barra de desplazamiento ademas del indicador de dgitos.
(c) Un boton para incrementar en una unidad el valor del n
umero mostrado
en el indicador de dgitos.
6. Indique brevemente la estructura del programa utilizado para la simulacion de
un controlador PI autoajustable para un sistema simulado de primer orden.

73

También podría gustarte