Realizar Control PID con LabVIEW
La finalidad de esta práctica es la de implementar un instrumento virtual (IV) que realice el modo de control PID (proporcional-integral-derivativo). Son varios los objetivos a conseguir.
2.-
OBJETIVOS.
Al finalizar esta práctica deberá ser capaz de:
-
Crear sub-instrumentos virtuales (sub-IV)
editando el icono y su conector.
-
Utilizar las estructuras de datos elementales
que incorpora LabVIEW.
-
Implementar un control clásico PID.
3.-
FUNDAMENTOS TEÓRICOS.
Un controlador que satisfaga el modo de
control analógico Proporcional-Integral-Derivativo (PID) se caracteriza por una
salida del controlador p(t) relacionada con la señal de error ep(t)
mediante la expresión
donde Kp no tiene
dimensiones, KI se da en s-1 y KD en s.
También se utiliza en muchas ocasiones los tiempos integral TI y
derivativo TD, los cuales vienen relacionados mediante expresiones
inversas de KI y KD respectivamente
A la hora de implementar mediante software los términos integral y
derivativo ha de tenerse en cuenta que dichos términos se han de representar de
forma discreta mediante instrucciones del software propio que se utilice. El
término integral se aproxima teniendo en cuenta el método numérico trapezoidal
de integración (figura 1).
De la figura 1, es posible aproximar el término
integral (área sombreada) mediante la función
Por otra parte, la acción derivativa puede
aproximarse mediante la regla de la diferencia finita (véase la figura 2).
El término derivativo se
aproxima, por tanto mediante la expresión
Las expresiones (3) y (4) serán consideradas más
adelante para implementar mediante LabView los modos integral y derivativo.
4.-DESCRIPCIÓN
DE LA PRÁCTICA.
En este caso se trata de diseñar un IV que realice el clásico algoritmo
de control PID (proporcional-integral-derivativo). La práctica consta de 5
ejercicios. Los tres primeros van encaminados al diseño de IV que materialicen
por separado los modos proporcional, integral y derivativo. El cuarto de ellos
implementará el tiempo que debe transcurrir entre muestra y muestra de las
variables involucradas en el controlador PID, y el quinto y último englobará
los 4 anteriores bajo el nombre PID. Dichos sub-IV configurarán un solo IV
independiente que podrá ser utilizado en cualquier momento para controlar el
sistema que se desee. El estudiante aprenderá también a editar el icono de un
sub-IV configurando los conectores de entrada y de salida que interesen.
5.-
ACTIVIDADES Y DESARROLLO EXPERIMENTAL.
Ejercicio
1: Edición de un sub-IV para implementar el modo proporcional.
Ejercicio 2: Edición de un sub-IV para implementar el modo integral.
Ejercicio 3: Edición de un sub-IV para implementar el modo
derivativo.
Ejercicio 4:
Edición de un sub-IV que implemente el tiempo entre muestras.
Ejercicio 5: Edición
de un sub-IV para implementar el modo PID.
Ejercicio 1: Edición de un sub-IV para implementar el modo proporcional.
Edición de un IV que realice la acción proporcional del algoritmo PID.
Panel frontal
1. Abrir un instrumento virtual en blanco y crear el panel frontal de la
figura 3. Dicho panel está formado por iconos de dos tipos: indicadores y
controles. El primero está nombrado mediante la etiqueta “Acción proporcional”.
Los segundos se llaman “Error” y “Kp”
Deberá hacerse uso del botón derecho del ratón
para acceder al desplegable general. En la siguiente tabla se especifican las
acciones a seguir para cada uno de los iconos.
Indicadores
|
||||
Acción
|
||||
Acción proporcional
|
Botón derecho del ratón
|
ControlsÆNumericÆNumeric
Indicator.
|
Cambiar la etiqueta
“Numeric”
por
“Acción proporcional”.
|
Controles
|
||||
Acción
|
||||
Error
|
Botón
derecho del ratón
|
ControlsÆNumericÆControl
|
Pinchar 2
veces en la etiqueta “Numeric” y cambiarla por
“Error”.
|
|
Kp
|
Botón
derecho del ratón
|
ControlsÆNumericÆControl
|
Pinchar 2
veces en la etiqueta “Numeric” y cambiarla por “Kp”.
|
Mediante el uso conjunto de las teclas “Ctrl” i
“E” será posible cambiar del Panel de Control al Diagrama de Bloques y viceversa.
Obsérvese que este no está vacío, sino por el contrario, aparecen los iconos
que se han creado antes en el panel frontal.
Con el botón derecho del ratón y
situándose en cada uno de los iconos seleccionar para los tres la opción “View
as icon”, ello permitirá reducir el tamaño de los iconos por comodidad.
Diagrama de bloques
1. El objetivo es crear el siguiente diagrama de bloques (figura 4). Se
salvará como un IV que realizará la acción proporcional del algoritmo PID.
Para ello:
- Seleccionar un bloque de multiplicación localizado en Functions-Numeric-Multiply Cablear los elementos de acuerdo a la figura 4.
- A continuación, esta sencilla operación se
configurará como un sub-IV editando su icono y definiendo los conectores externos
asociados. El aspecto final del nuevo IV deberá ser algo parecido a:
Edición del icono:
Definición de conectores:
Para ello es necesario
cambiar al panel frontal. Ahora con el ratón situado sobre el area del icono y
con el botón derecho del ratón realízense las siguientes acciones:
“Show Connector”, “Disconnect All Terminals” y después “Patterns”.
Seleccionar el que tenga 2 entradas y 1 salida (véase la figura adjunta).
Obsérvese que ahora si se lleva el cursor del ratón al icono aquel cambiará al
modo “cableado”. Es el momento de asignar los 3 conectores a los 3 iconos que
aparecen en el panel frontal. Para ello ha de pincharse secuencialmente el
conector y el icono del panel frontal que se desea asignar a dicho conector. En
particular han de realizarse las siguientes asignaciones (figura 5):
Por último Salvar este IV bajo el nombre “Proporcional”
en el directorio que interese.
Ejercicio 2: Edición de un sub-IV para implementar el modo integral
Edición de un IV que realice la acción integral del algoritmo PID.
Panel frontal
1. Abrir un instrumento virtual en blanco y crear el panel frontal de la
figura 6. En este caso se tiene 3 controles numéricos, 1 indicador numérico y
un control booleano.
Indicadores
|
|||||
Acción
|
|||||
Acción integral
|
Botón
derecho del ratón
|
ControlsÆNumericÆNumeric
Indicator.
|
Cambiar etiqueta
|
la
|
|
“Numeric” “Acción
integral”.
|
por
|
Controles
|
|||||
Acción
|
|||||
Error
|
Botón
derecho del ratón
|
ControlsÆNumericÆControl
|
Cambiar etiqueta
|
la
|
|
“Numeric” “Error”.
|
por
|
||||
KI
|
Botón
derecho del ratón
|
ControlsÆNumericÆControl
|
Cambiar etiqueta
|
la
|
|
“Numeric” por “KI”.
|
por
|
||||
Dt
|
Botón
derecho del ratón
|
ControlsÆNumericÆControl
|
Cambiar etiqueta
|
la
|
|
“Numeric” por “Dt”.
|
por
|
||||
En rango?
|
Botón
derecho del ratón
|
ControlsÆBooleanÆPush
Button
|
Cambiar etiqueta
|
la
|
|
“Boolean” por “En rango?”.
|
Mediante el uso conjunto de las
teclas “Ctrl” i “E” será posible cambiar del Panel de Control al diagrama de
bloques y viceversa.
Con el botón derecho del ratón y
situándose en cada uno de los iconos que aparecen, seleccionar para cada uno de
ellos la opción “View as icon”, ello permitirá reducir el tamaño de los iconos
por comodidad.
Diagrama de bloques
1. El objetivo es crear el siguiente el diagrama de bloques (figura 7).
Se salvará como un IV que realizará la acción integral del algoritmo PID.
Para
ello:
a. Seleccionar la
estructura repetitiva While Loop localizada
en FunctionsÆStructures ÆWhile Loop. La estructura While Loop
cuando aparece en pantalla presenta un índice de repetición (es el cuadrado
azul “i”) y un icono rojo de finalización. El bucle repetitivo While se ejecuta
mientras el icono rojo sea evaluado a “Verdadero”. Situarse con el cursor del
ratón sobre el icono rojo y realizar las siguientes selecciones pulsando el
botón derecho “Continue if True” y “Create Constant”.
b.
Los elementos restantes a implementar deberán
introducirse en el interior del bucle. Dichos elementos están ubicados en:
c. Los indicadores que aparecen sobre el bucle a
derecha e izquierda son los llamados registros de desplazamiento. Su misión es
la de incorporar en la iteración siguiente los valores obtenidos en la
iteración anterior. Para que aparezcan, hay que situar el cursor derecho del
ratón sobre el borde del bucle y mediante su botón derecho seleccionar “Add Shift Register”.
d. Con todo ello cablear los diferentes elementos
según la figura 7 salvando el IV bajo el nombre “Integral”.
A continuación, se configurará como un sub-IV editando su icono y
definiendo los conectores externos asociados. El aspecto final del nuevo IV
deberá ser algo parecido a:
Para ello deberá pincharse 2 veces con el cursor del ratón en el icono superior derecho de la ventana del instrumento virtual (figura adjunta).
Edición del icono:
Se abrirá un
pequeño editor de gráficos. Se trata de eliminar todo lo que se encuentra
dentro del marco, editar un nuevo marco de color rojo y únicamente las letras KI,
tal y como se muestra en la figura adjunta.
Definición de conectores:
Para ello es
necesario cambiar al panel frontal. Ahora con el ratón situado en el area del
icono y con el botón derecho del ratón realízense las siguientes acciones:
“Disconnect All Terminals” y después “Patterns”. Seleccionar el que
tenga 4 entradas y 1 salida (véase la figura adjunta). Obsérvese que ahora si se
lleva el cursor del ratón al icono aquel cambiará al modo “cableado”. Es el
momento de asignar los 5 conectores a los 5 iconos que aparecen en el panel
frontal. Para ello ha de pincharse secuencialmente el conector y el icono del
panel frontal que se desea asignar a dicho conector. En particular han de
realizarse las siguientes asignaciones (figura 8):
Ejercicio 3: Edición de un sub-IV para implementar el modo derivativo
Edición de un IV que realize la acción derivativa del algoritmo PID.
Panel frontal
Deberá hacerse uso del botón
derecho del ratón para acceder al desplegable general. En la siguiente tabla se
especifican las acciones a seguir para cada uno de los iconos.
Indicadores
|
||||
Acción
|
||||
Acción derivativa
|
Botón derecho del ratón
|
Controls-Numeric-Numeric
Indicator.
|
Cambiar la
etiqueta
“Numeric”
por
“Acción derivativa”.
|
Controles
|
|||||
Acción
|
|||||
Valor anterior
|
Botón
derecho del ratón
|
Controls-Numeric-Control
|
Cambiar la
etiqueta
“Numeric”
por
“Valor anterior”.
|
||
Dt
|
Botón
derecho del ratón
|
Controls-Numeric-Control
|
Cambiar etiqueta
|
la
|
|
“Numeric” por “Dt”.
|
por
|
||||
Kd
|
Botón
derecho del ratón
|
Controls-Numeric-Control
|
Cambiar etiqueta
|
la
|
|
“Numeric” por “Kd”.
|
por
|
Mediante el uso conjunto de las
teclas “Ctrl” i “E” será posible cambiar del Panel de Control al diagrama de
bloques y viceversa.
Con el botón derecho del ratón y
situándose en cada uno de los iconos que aparecen, seleccionar para cada uno de
ellos la opción “View as icon”, ello permitirá reducir el tamaño de los iconos
por comodidad.
Diagrama de bloques
Para
ello:
a. Seleccionar la estructura repetitiva While Loop localizada en FunctionsÆStructures ÆWhile Loop. La estructura While Loop cuando aparece en pantalla presenta un índice de repetición (es el cuadrado azul “i”) y un icono rojo de finalización. El bucle repetitivo While se ejecuta mientras el icono rojo sea evaluado a “Verdadero”. Situarse con el cursor del ratón sobre el icono rojo y realizar las siguientes selecciones pulsando el botón derecho “Continue if True” y “Create Constant”.
Los elementos restantes a implementar deberán introducirse en el
interior del bucle. Dichos elementos están ubicados en:
Functions-Numeric-Substract.
Functions-Numeric-Divide.
Functions-Numeric-Multiply.
Functions-Comparison-Less?.
Functions-Numeric-Divide.
Functions-Numeric-Multiply.
Functions-Comparison-Less?.
a. Implementar así mismo los registros de
desplazamiento que aparecen sobre el bucle de iteración. Para que aparezcan,
hay que situar el cursor derecho del ratón sobre el borde del bucle y mediante
su botón derecho seleccionar “Add Shift
Register”.
b. Con todo ello cablear los diferentes elementos
según la figura 10 salvando el IV bajo el nombre “Derivativa”.
Para ello deberá pincharse 2 veces con el cursor del ratón en el icono superior derecho de la ventana del instrumento virtual (figura adjunta).
Edición del icono:
Se abrirá un pequeño editor de gráficos. Se trata de eliminar todo lo que se encuentra dentro del marco, editar un nuevo marco de color verde y únicamente las letras Kd, tal y como se muestra en la figura adjunta.
Definición de conectores:
Para ello es necesario cambiar al panel frontal. Ahora con el ratón situado en el area del icono y con el botón derecho del ratón realízense las siguientes acciones: “Disconnect All Terminals” y después “Patterns”. Seleccionar el que tenga 3 entradas y 1 salida (véase la figura adjunta). Obsérvese que ahora si se lleva el cursor del ratón al icono aquel cambiará al modo “cableado”. Es el momento de asignar los 4 conectores a los 4 iconos que aparecen en el panel frontal. Para ello ha de pincharse secuencialmente el conector y el icono del panel frontal que se desea asignar a dicho conector. En particular han de realizarse las siguientes asignaciones (figura 11):
Salvar este IV bajo el nombre “Derivativa” en el
directorio que interese.
Ejercicio 4: Edición de un sub-IV que implemente el tiempo entre muestras
Edición de un IV que implemente el tiempo entre muestras
Panel frontal
1. Abrir un instrumento virtual en blanco y crear el panel frontal de la
figura 12. En este caso sólo se tiene un indicador numérico.
Deberá hacerse uso del botón
derecho del ratón para acceder al desplegable general. En la siguiente tabla se
especifican las acciones a seguir para este icono.
Indicadores
|
|||||
Acción
|
|||||
Dt
|
Botón
derecho del ratón
|
ControlsÆNumericÆNumeric
Indicator.
|
Cambiar etiqueta
|
la
|
|
“Numeric” “Dt”.
|
por
|
Mediante el uso conjunto de las teclas
“Ctrl” i “E” será posible cambiar del Panel de Control al diagrama de bloques y
viceversa.
Con el botón derecho del ratón y
situándose en cada uno de los iconos que aparecen, seleccionar para cada uno de
ellos la opción “View as icon”, ello permitirá reducir el tamaño de los iconos
por comodidad.
Diagrama de bloques
Para ello:
a. Seleccionar la estructura repetitiva While Loop localizada en Functions-Structures-While Loop. La estructura While Loop cuando aparece en pantalla presenta un índice de repetición (es el cuadrado azul “i”) y un icono rojo de finalización. El bucle repetitivo While se ejecuta mientras el icono rojo sea evaluado a “Verdadero”. Situarse con el cursor del ratón sobre el icono rojo y realizar las siguientes selecciones pulsando el botón derecho “Continue if True” y “Create Constant”.
b.
Los elementos restantes a implementar deberán
introducirse en el interior del bucle. Dichos elementos están ubicados en:
Functions-Numeric-Divide.
Functions-Comparison-Less?.
Functions-Comparison-Select.
Functions-Timing-Tick Count (ms).
c. Implementar así mismo el registro de
desplazamiento que aparece sobre el bucle de iteración. Para que aparezca, hay
que situar el cursor derecho del ratón sobre el borde del bucle y mediante su
botón derecho seleccionar “Add Shift
Register”.
d. Con todo ello cablear los diferentes elementos
según la figura 13 salvando el IV bajo el nombre “Tiempo”.
A continuación, se configurará como un sub-IV editando su icono y
definiendo los conectores externos asociados. El aspecto final del nuevo IV
deberá ser algo parecido a:
Para ello deberá pincharse 2 veces con el cursor del ratón en el icono superior derecho de la ventana del instrumento virtual (figura adjunta).
Edición del
icono:
Se abrirá un pequeño editor de gráficos. Se trata de
eliminar todo lo que se encuentra dentro del marco, editar un nuevo marco de
color negro y únicamente las letras ∆T,
tal y como se muestra en la figura adjunta.
Definición de conectores:
Para ello es necesario cambiar al panel frontal. Ahora con el ratón situado en el area del icono y con el botón derecho del ratón realízense las siguientes acciones: “Disconnect All Terminals” y después “Patterns”. Seleccionar el que tenga 1 salida (véase la figura adjunta). Obsérvese que ahora si se lleva el cursor del ratón al icono aquel cambiará al modo “cableado”. Es el momento de asignar 1 conector al icono que aparece en el panel frontal. Para ello ha de pincharse secuencialmente el conector y el icono del panel frontal que se desea asignar a dicho conector. En particular han de realizarse las siguientes asignaciones (figura 14):
Salvar este IV bajo el nombre “Tiempo” en el directorio que interese.
Ejercicio 5: Edición
de un sub-IV para implementar el modo PID.
Edición de un IV que implemente el modo completo PID
Panel frontal
Deberá hacerse uso del botón
derecho del ratón para acceder al desplegable general. En la siguiente tabla se
especifican las acciones a seguir para este icono.
Indicadores
|
||||
Acción
|
||||
Salida PID (%)
|
Botón derecho del ratón
|
ControlsÆNumericÆNumeric
Indicator.
|
Cambiar la
etiqueta
“Numeric”
por
“Salida PID (%)”.
|
|
T
|
Botón derecho del ratón
|
ControlsÆNumericÆNumeric
Indicator.
|
Cambiar la
etiqueta
“Numeric”
por
“T”.
|
Controles
|
|||||
Acción
|
|||||
Kp
|
Botón derecho del ratón
|
ControlsÆNumericÆVertical
Point
|
Cambiar etiqueta “Numeric” “Kp”.
|
la por
|
Cursor en zona del controlÆ Botón derechoÆVisible ItemsÆDigital Display
|
Kd
|
Botón derecho del ratón
|
ControlsÆNumericÆVertical
Point
|
Cambiar etiqueta “Numeric” “Kd”.
|
la por
|
Cursor en zona del controlÆ Botón derechoÆVisible ItemsÆDigital Display
|
KI
|
Botón derecho del ratón
|
ControlsÆNumericÆVertical
Point
|
Cambiar etiqueta “Numeric” “KI”.
|
la por
|
Cursor en zona del controlÆ Botón derechoÆVisible ItemsÆDigital Display
|
SP
|
Botón derecho del ratón
|
ControlsÆNumericÆVertical
Point
|
Cambiar etiqueta
“Numeric” por “SP”.
|
la por
|
Cursor en zona del controlÆ Botón derechoÆVisible ItemsÆDigital Display
|
PV
|
Botón derecho del ratón
|
ControlsÆNumericÆVertical
Point
|
Cambiar etiqueta
“Numeric” por “PV”.
|
la por
|
Cursor en zona del controlÆ Botón derechoÆVisible ItemsÆDigital Display
|
Límite superior
|
Botón derecho del ratón
|
ControlsÆNumericÆNumeric
Control
|
Cambiar etiqueta
“Numeric” por “Límite
superior”.
|
la por
|
|
Límite inferior
|
Botón derecho del ratón
|
ControlsÆNumericÆNumeric
Control
|
Cambiar la
etiqueta
“Numeric” por
por “Límite inferio”.
|
||
Salida PID
|
Botón derecho del ratón
|
ControlsÆGraphÆWaveform
Chart
|
Cambiar la
etiqueta
“Waveform
Chart” por
“Salida PID”.
|
Pinchar 2 veces en “Plot 0”. Cambiar por “Salida PID”.
|
Mediante el uso conjunto de las
teclas “Ctrl” i “E” será posible cambiar del Panel de Control al diagrama de
bloques y viceversa.
Con el botón derecho del ratón y
situándose en cada uno de los iconos que aparecen, seleccionar para cada uno de
ellos la opción “View as icon”, ello permitirá reducir el tamaño de los iconos
por comodidad.
Diagrama de bloques
1. El objetivo es crear el siguiente el diagrama de bloques (figura 16).
Se salvará como un IV que determinará el espaciado temporal entre muestras.
Para ello:
a. Seleccionar la estructura repetitiva While Loop localizada en FunctionsÆStructures ÆWhile Loop. La estructura While Loop cuando aparece en pantalla presenta un índice de repetición (es el cuadrado azul “i”) y un icono rojo de finalización. El bucle repetitivo While se ejecuta mientras el icono rojo sea evaluado a “Verdadero”. Situarse con el cursor del ratón sobre el icono rojo y realizar las siguientes selecciones pulsando el botón derecho “Continue if True” y “Create Constant”.
b. Los elementos restantes a implementar deberán
introducirse en el interior del bucle. Dichos elementos están ubicados en:
Functions-Numeric-Compound Arithmetic.
Functions-Comparison-In Range and Coerce.
Functions-Select a VI-Buscar la carpeta donde esté guardado el IV Integral.
Functions-Select a VI-Buscar la carpeta donde esté guardado el IV
Derivativa.
Functions-Select a VI-Buscar la carpeta
donde esté guardado el IV Tiempo.
c. Implementar así mismo el registro de
desplazamiento que aparece sobre el bucle de iteración. Para que aparezca, hay
que situar el cursor derecho del ratón sobre el borde del bucle y mediante su
botón derecho seleccionar “Add Shift
Register”.
d. Con todo ello cablear los diferentes elementos
según la figura 16 salvando el IV bajo el nombre “PID básico”.
A continuación, se configurará como un sub-IV editando su icono y
definiendo los conectores externos asociados. El aspecto final del nuevo IV
deberá ser algo parecido a:
Para ello deberá pincharse 2 veces con el cursor del ratón en el icono superior derecho de la ventana del instrumento virtual (figura adjunta)
Edición ícono
Se abrirá un pequeño editor de gráficos. Se trata de eliminar todo lo que se encuentra dentro del marco, editar un nuevo marco de color negro y únicamente las letras PID, tal y como se muestra en la figura adjunta.
Definición de conectores:
Para ello es necesario cambiar al panel frontal. Ahora con el ratón situado en el area del icono y con el botón derecho del ratón realízense las siguientes acciones: “Disconnect All Terminals” y después “Patterns”. Seleccionar el que tenga 6 entradas y 1 salida (véase la figura adjunta). Obsérvese que ahora si se lleva el cursor del ratón al icono aquel cambiará al modo “cableado”. Es el momento de asignar un conector a cada icono que aparece en el panel frontal. Para ello ha de pincharse secuencialmente el conector y el icono del panel frontal que se desea asignar a dicho conector. En particular han de realizarse las siguientes asignaciones (figura 17):
Salvar este IV bajo el nombre “PID básico” en el
directorio que interese.
Ahora solo resta la ejecución del Programa, el dato PV, se sustituye para trabajar con datos reales recogidos en campo a través de una tarjeta de adquisición de datos, proveniente de un sensor o dispositivo adecuado según el diseño del sistema. La salida PID también es la que que se conecta al sistema físico a un actuador o controlador.
Ajustando los parámetros de KP, KI, KD, T según el modelo matemático del sistema.
CONTACTAME
Contácteme, dudas, sugerencias y comentarios. Sígueme en:
Google+ Rubén Salas
Twitter @ru_samr
Facebook Cursos Industriales
Comentarios
Publicar un comentario