Sei sulla pagina 1di 16

3 INGENIERA TELECOMUNICACIN

2 ITT SISTEMAS ELECTRNICOS


2 ITT SISTEMAS DE TELECOMUNICACIN

AUTMATAS Y SISTEMAS DE CONTROL


PRCTICA 11. Control PID del servomotor mediante un autmata S7-200 de SIEMENS
En la industria existen numerosos procesos a controlar (temperatura de un inyector,
velocidad de una cinta transportadora, posicin de un actuador elctrico, ...) y a su vez,
tambin es conocida la gran utilizacin de autmatas programables debido a su potencia,
versatilidad y precio.
En muchas ocasiones se usan para el control
de los citados procesos PIDs industriales (existen
muchas marcas en el mercado como WATLOW,
OMRON, euroTHERM, ...), pero el problema de
stos es que su perodo de muestreo no puede bajar
de los 0.1 ... 0.5 segundos dependiendo de la marca
y el modelo.
Este perodo de muestreo es bueno para controlar
procesos trmicos (control de temperatura) pero
para controlar la velocidad de un motor, no es
suficiente.
Una solucin a este problema puede ser dotar a uno
de los autmatas que tengamos en planta de una
tarjeta E/S analgica.
En nuestro caso, utilizaremos un autmata
SIEMENS S7-200 (concretamente un 214) con un
mdulo analgico EM235. Con ellos podemos
llegar a muestrear del orden de milisegundos (0.001
... 0.005), aunque este tiempo de muestreo depende
en gran medida de la carga computacional que tenga
la CPU.
En esta prctica proponemos controlar un
servomotor en posicin y velocidad, procesos que
no se pueden realizar con un PID industrial, por lo
que es el ejemplo ideal de eleccin de sistema de
control.

En este documento podemos encontrar adems del enunciado de la prctica, una


ayuda completa para programar el PID, el modo de utilizar el PID una vez programado, la
forma de configurar el mdulo analgico y el programa resultante.

PRCTICA PID (enunciado)


Control de posicin de un servomotor
Se realizar la programacin del control de posicin de un servomotor accionado mediante
una salida analgica(AQW0) del autmata de 10 a 10v. La posicin del servomotor se
determina mediante un potencimetro rotativo que proporciona una seal de 10 a 10v que
ser conectada a una entrada analgica del autmata(AIW2).
Mediante el asistente PID se realizar el programa de control de posicin del servomotor.
La tabla de lazo comenzar en la posicin VB100.
Mediante la tabla de estado se leern los 9 elementos de dicha tabla y se forzarn cada uno
de dichos elementos a los valores indicados en los experimentos. En los dos experimentos
se variar la consigna entre 0.3 y 0.7 para cada uno de los distintos valores de controlador
propuesto.
Nota: Configurar el mdulo analgico 10 a +10v
Experimentos:
1. Slo control proporcional
Parmetros:
VD116 = 0,01
VD128 = 0,5
VD120 = 1E+13
VD124 = 0

Tiempo de muestreo
Bias (ver tabla en Anexo II)
Tiempo de accin integral
Tiempo de accin diferencial

Variar la constante proporcional VD112 dando le los siguiente valores: 0.1, 0.5, 1.0, 3.0,
10.0
2. Proporcional + Diferencial
Con los mismos parmetros del experimento 1. VD112 = 10,0 y VD124 = 0.
Con los mismos parmetros del experimento 1. VD112 = 10,0 y VD124 = 0,002.
Con los mismos parmetros del experimento 1. VD112 = 30,0 y VD124 = 0,002.

Control de velocidad de un servomotor


Se realizar la programacin del control de velocidad de un servomotor accionado mediante
una salida analgica(AQW0) del autmata de 0 a 10v. La velocidad del servomotor se
determina mediante un tacometro que proporciona una seal de 0 a 10v que ser conectada
a una entrada analgica del autmata(AIW2).
Se programar el PID que realice el control de velocidad del servomotor con ayuda de los
ejemplos proporcionados en teoria.
La tabla de lazo comenzar en la posicin VB100.
Mediante la tabla de estado se leern los 9 elementos de dicha tabla y se forzarn cada uno
de dichos elementos a los valores indicados en los experimentos. En los experimentos se
utilizar el freno manual del servomotor para ver el efecto del controlador propuesto.
Nota: Configurar el mdulo analgico 0 a +10v
Experimentos:
1. Slo control proporcional
Parmetros:
VD116 = 0,01
VD128 = 0
VD120 = 1E+13
VD124 = 0

Tiempo de muestreo
Bias (ver tabla en Anexo II)
Tiempo de accin integral
Tiempo de accin diferencial

Variar la constante proporcional VD112 dando le los siguiente valores: 3, 6, 10, 20.0
Disminuye el error en rgimen permanente pero no se hace nulo.
2. Proporcional + Diferencial
Parmetros:
VD112 = 3,0
VD116 = 0,01
VD128 0
VD124 = 0

Cte proporcional
Tiempo de muestreo
Bias (ver tabla en Anexo II)
Tiempo de accin diferencial

Con dichos parmetros variar VD120 (Tiempo de accin integral) entre los valores 0.1,
0.01, 0.001

Para programar un control PID con un SIEMENS S7-200, disponemos de una gran ayuda
gracias al asistente PID que incorpora el software Step 7 MicroWin 32.
Describamos primero el funcionamiento del PID de SIEMENS y pasaremos despus a
mostrar paso a paso las ventanas que nos aparecen en el asistente.

1.- Asistente PID (descripcin)


Nota: El Asistente PID slo est disponible en el modo SIMATIC.

1.1.- Para usar el asistente definimos una serie de pasos a seguir para
programar con xito nuestro control.
PASO
1
2
3
4
5
6
7

Elegir un lazo
Ajustar los parmetros del lazo
Opciones de entrada y salida del lazo
Opciones de alarma del lazo
Especificar el rea de memoria para clculos
Especificar la subrutina de inicializacin y la rutina de interrupcin
Generar el cdigo

El Asistente de operaciones S7-200 se puede utilizar para simplificar la configuracin de


operaciones PID. El Asistente le solicita que introduzca las opciones de inicializacin y
genera luego un bloque lgico y un bloque de datos para la configuracin que se haya
indicado. Tras elegir PID en la primera pantalla, el Asistente le solicita que introduzca las
siguientes informaciones:
PASO 1

Elegir un lazo

Qu lazo PID desea configurar? Las diferentes CPUs soportan un nmero diferente de
lazos PID, tendremos que buscar en la ayuda del autmata especfico que estamos usando
para extraer este dato, pero en nuestro caso, usaremos solamente un PID, por lo que todas
las CPUs de la serie 200 nos serviran.
PASO 2

Ajustar los parmetros del lazo

Acciones a realizar:
1. La operacin PID utiliza una tabla de parmetros de 36 bytes en la memoria V. Se debe
indicar la direccin de dicha tabla en forma de direccin directa (byte) de la memoria V.
Nota:
No es recomendable definir un nombre simblico para la direccin de la tabla de
parmetros. El cdigo generado por el Asistente PID utiliza esa direccin para crear
4

operandos en forma de offsets relativos a la tabla de parmetros. Si define un nombre


simblico para la tabla de parmetros y cambia luego la direccin asignada a dicho
smbolo, el cdigo generado por el Asistente PID no se ejecutar correctamente.
2. Indicar la consigna normalizada del lazo. Para dicha consigna se puede indicar una
direccin de palabra doble o una constante que debe ser un nmero real comprendido entre
0.00 y 1.00.
En este punto, nos hemos de hacer una serie de preguntas que son de vital importancia para
la realizacin del control:
Cul debe ser la consigna del lazo?, Cul es el tiempo de muestreo del lazo?, Cul es el
tiempo de accin integral del lazo?, Cul es el tiempo de accin derivada del lazo?.
Consultar el ANEXOIII Clculo PID para obtener una descripcin de cmo los
parmetros del lazo afectan la ejecucin del clculo PID.
PASO 3

Ajustar las opciones de entrada y salida del lazo

Opciones de la entrada del lazo:


1. Cul es el la variable del proceso? sta se puede indicar como direccin de palabra o
como smbolo definido.
2. Cmo se debe escalar la variable del proceso antes de calcular el lazo?
Opciones de la salida del lazo:
1. Se trata de una salida digital o analgica?
2. Cul es el la variable de salida del lazo? Si la salida es analgica, se podr indicar una
direccin de palabra o un smbolo definido. Si la salida es digital, se podr indicar una
direccin de bit o un smbolo definido.
3. Cmo se debe escalar la salida antes de calcular el lazo?
PASO 4

Ajustar las opciones de alarma del lazo

1. Se debe activar un bit como valor de alarma baja? En caso afirmativo, se puede indicar
una direccin de bit o un smbolo definido, as como especificar el lmite de la alarma baja.
2. Se debe activar un bit como valor de alarma alta? En caso afirmativo, se puede indicar
una direccin de bit o un smbolo definido, as como especificar el lmite de la alarma alta.
3. Se debe activar un bit para indicar un error en el mdulo de entradas analgicas? En
caso afirmativo, se puede indicar una direccin de bit o un smbolo definido, as como
especificar en qu posicin est conectado el mdulo de entradas a la CPU.
5

PASO 5

Especificar el rea de memoria para clculos

1. El clculo PID requiere una memoria "borrador para los resultados intermedios. Es
preciso indicar la direccin (de byte) de la memoria V donde debe comenzar el rea de
clculo.
2. Opcional: Desea agregar el control manual del lazo PID?
PASO 6

Especificar la subrutina de inicializacin y la rutina de interrupcin

En esta pantalla se pueden asignar nombres a la subrutina de inicializacin y a la rutina de


interrupcin que generar el Asistente.
PASO 7

Generar el cdigo PID

Esta pantalla muestra una lista de las unidades de organizacin del programa generadas por
el Asistente PID y describe brevemente cmo se deben integrar en el programa.
Tras responder a las preguntas y hacer clic en el botn "Cerrar", el Asistente de operaciones
S7-200 generar el bloque lgico y el bloque de datos para la configuracin que se haya
indicado.

2.- Asistente PID (introduccin de datos ventana a ventana)


Para la programacin del regulador usando este tipo de sistema, usamos el ya
nombrado Step 7 MicroWin 32, de forma que partimos de una correcta instalacin del
software y de la configuracin del programa para trabajar con el autmata correspondiente.
Para ms informacin sobre estos temas, remitirse a la prctica correspondiente.
Aplicaremos el asistente al control de velocidad que se pide como segunda parte en
el enunciado de la prctica, dejando como tarea el realizar las modificaciones oportunas
para que funcione el control de posicin (primera parte).
Una vez abierto el programa, en la opcin Herramientas, encontramos la opcin del
asistende de operaciones. Pulsamos sobre ella.

Una vez seleccionada esta opcin, nos aparece la pantalla que podemos ver abajo.
En ella tenemos las opciones de PID, NETR/NETW y HSC. Seleccionamos la opcin PID
y pulsamos con el ratn en Siguiente.

En este momento nos aparece la pantalla con nombre Asistente de operaciones S7200 (PID) en el que se nos pregunta que lazo queremos configurar. Seleccionamos el lazo
0, que es el que tenemos por defecto.

Una vez pasamos de pantalla, comenzamos con la configuracin del PID


propiamente dicha. En primer lugar tenemos que usar 36 bytes de memoria del autmata
para depositar una tabla en la que se encontrarn parmetros de configuracin. Ponemos
este valor a VB100 como se especifica en el enunciado de la prctica en lugar de dejar el
VB0 que tenemos en la pantalla por defecto.
Por otra parte tenemos la consigna normalizada del lazo (VD4), que ser la referencia del
sistema de control. Este valor ha de ir entre 0 y 1. En el enunciado de la prctica tenemos
varios valores de prueba.
En los parmetros del lazo, tenemos que especificar la ganancia, el tiempo de accin
integral, el de derivativa y el perodo de muestreo. Para anular la accin derivativa,
recordemos, hay que poner su valor a cero, pero en el caso del tiempo de accin integral,
tenemos que poner un tiempo muy grande. El mximo permitido en el asistente es
9999999, pero despus en Bloque de datos, podemos introducir el 1E+013 que la prctica
nos pide.
El perodo de muestreo est en segundos y a pesar de que por defecto tenemos 1.00
seg. podemos llegar a unidades de milisegundo. Pero este tiempo depende de la carga de la
CPU (tamao del programa que est ejecutando, tiempo de comunicaciones, ...) como ya se
explic anteriormente. Si seleccionamos un T demasiado pequeo (el autmata no es capaz
de procesar el algoritmo PID en el tiempo especificado), el S7-200 se pondr
automticamente en modo STOP, indicando que no puede ejecutar el programa.

Accediendo a la siguiente pantalla, configuramos las opciones de la entrada y la


salida del lazo. En la entrada, especificamos escalado unipolar debido a que vamos a
programar control de velocidad y lo mismo con el escalado de la salida.
Para los autmatas de los que se dispone, seleccionaremos AIW2 en la entrada y
AQW0 en la salida debido a que stos son accesibles desde el frontal.
Pulsando en Siguiente pasamos a la siguiente pantalla.

El sistema dispone de diversas alarmas de lazo, pero no usaremos ninguna de ellas


en esta prctica.

El clculo de la accin de control en funcin del error y de los parmetros de PID es


el resultado de una serie de operaciones que se han de realizar en la memoria del autmata.
Para realizar estos clculos hemos de especificar la posicin de memoria a partir de la cual
se realizarn. En este caso podemos dejar el valor que nos viene por defecto en el asistente,
VB54.
Por otra parte, podemos tener una entrada del autmata que controle la ejecucin del
algoritmo. Si no activamos la pestaa Activar control manual del PID, el PID se ejecuta
con la SM0.0, es decir, siempre. Pero podemos desear que la entrada I0.6 controle la
activacin del regulador, en tal caso, seleccionamos la pestaa y especificamos dicha
entrada en lugar de la I0.0 que se nos presenta por defecto.
9

El asistente crear dos rutinas para manejar el PID, una de inicializacin y otra de
interrupcin, podemos darles el nombre que queramos, PID_Ini y PID_Int o A y B, es
indiferente. Lo que si deberemos hacer es llamar desde el programa principal a la subrutina
de inicializacin con SM0.0, como se especifica en la ltima pantalla del asistente.

En el bloque de datos del programa en uso podemos encontrar la lista de los valores
para cada variable. Una vez programado el PID en el autmata, podemos cambiar el valor
de stos y ajustar el regulador, cosa que se pide en el desarrollo de esta prctica.
En la siguiente figura tenemos la pantalla del bloque de datos mencionada, valores que
podemos modificar desde la tabla de estado.
10

Bloque de datos:

Tabla de estado:

11

ANEXO I
Regulacin PID
La operacin Regulacin PID ejecuta el
clculo de un lazo de regulacin PID en
el LOOP referenciado en base a las
informaciones de entrada y configuracin
definidas en Table (TBL).
Condiciones de error que ponen ENO a 0:

0006 (direccionamiento indirecto), SM1.1


(desbordamiento), SM4.3 (tiempo de
ejecucin).
Estas operaciones afectan a las siguientes
marcas especiales:
SM1.1 (desbordamiento).

La operacin PID (lazo de regulacin con accin proporcional, integral, derivada) sirve
para ejecutar el clculo PID. Para habilitar el clculo PID, el primer nivel de la pila lgica
(TOS) deber estar en ON (circulacin de corriente).
Esta operacin tiene dos operandos: una direccin TBL que constituye la direccin inicial
de la tabla del lazo y un nmero LOOP que es una constante comprendida entre 0 y 7. Un
programa slo admite ocho operaciones PID. Si se utilizan dos o ms operaciones PID con
el mismo nmero de lazo (aunque tengan diferentes direcciones de tabla), los dos clculos
PID se interferirn mutuamente siendo incierta la salida resultante. La tabla del lazo
almacena nueve parmetros que sirven para controlar y supervisar la operacin del mismo.
Incluye el valor actual y previo de la variable del proceso (valor real), la consigna, la salida
o magnitud manipulada, la ganancia, el tiempo de muestreo, el tiempo de accin integral, el
tiempo de accin derivada y la suma integral (bias).Para poder realizar el clculo PID con
el intervalo de muestreo deseado, la operacin PID deber ejecutarse bien dentro de una
rutina de interrupcin temporizada o desde el programa principal, a intervalos controlados
por un temporizador. El tiempo de muestreo debe definirse en calidad de entrada para la
operacin PID a travs de la tabla del lazo.

12

ANEXO II

13

ANEXO III
El algoritmo PID
En estado estacionario, un regulador PID vara el valor de su salida para llevar a cero el
error de regulacin (e). ste ltimo se expresa como la diferencia entre el valor de consigna
del lazo (SP) (el punto de trabajo deseado) y la entrada del lazo o variable del proceso (PV)
(el punto de trabajo real). El principio de la regulacin PID se basa en la ecuacin que
aparece abajo. Dicha ecuacin expresa la salida del lazo (Mn) como una funcin de un
trmino proporcional, uno integral y uno diferencial:

donde:

El trmino proporcional
El trmino proporcional MP es el producto de la ganancia (Kc), la cual controla la
sensibilidad del clculo de la salida, y del error (e) que es la diferencia entre el valor de
consigna (SP) y la variable del proceso (PV) para un instante de muestreo determinado. La
ecuacin que representa el trmino proporcional segn la resuelve la CPU es la siguiente:

donde:

El trmino integral
El trmino integral MI es proporcional a la suma del error del lazo a lo largo del tiempo.
La ecuacin que representa el trmino integral tal y como la resuelve la CPU es:

donde:

14

El trmino diferencial
El trmino diferencial MD, como lo implementa la CPU, es proporcional al cambio en la
variable del proceso (PV). La ecuacin del trmino diferencial es la siguiente:

donde:

Ello implica que la variable del proceso se debe guardar para usarla en el prximo clculo
del trmino diferencial. En el instante del primer clculo, el valor de PVn-1 se inicializa a
un valor igual a PVn.
Seleccin del tipo de regulacin
En muchos sistemas de regulacin solo es necesario emplear una o dos acciones de
regulacin. As, por ejemplo, puede requerirse nicamente la regulacin proporcional o la
regulacin proporcional e integral. El tipo de regulacin se selecciona ajustando
correspondientemente los valores de los parmetros constantes del lazo.
As, si no se desea accin integral (sin "I" en el clculo PID), entonces el tiempo de accin
integral deber ajustarse a infinito (tiempo integral). Incluso sin accin integral el valor del
trmino integral puede no ser cero debido a que la suma integral MX puede tener un valor
inicial.
Si no se desea accin derivada (sin "D" en el clculo PID), entonces el tiempo de accin
derivada deber ajustarse a 0.0.

15

Si no se desea accin proporcional (sin "P" en el clculo PID) y se desea regulacin I o ID,
entonces la ganancia del lazo deber ajustarse a 0.0. Como la ganancia interviene en las
ecuaciones para calcular los trminos integral y diferencial, si se ajusta a 0.0 resulta un
valor de 1.0, que es el utilizado para calcular los trminos integral y diferencial.
ANEXO IV
Conexiones elctricas.
Control PID de posicin:
pin 11 ADAM(DB-37) : masa (de la entratada y de la salida)
pin 33 ADAM(DB-37) : entrada al actuador de potencia del motor (AQW0)
pin 12 ADAM(DB-37) : salida del potencimetro de posicin del motor (AIW2)
Control PID de velocidad:
pin 11 ADAM(DB-37) : masa (de la entratada y de la salida)
pin 33 ADAM(DB-37) : entrada al actuador de potencia del motor (AQW0)
pin 35 ADAM(DB-37) : salida del tacmetro del motor (AIW2)

16

Potrebbero piacerti anche