Control Pid Automat As
Control Pid Automat As
Control Pid Automat As
3 INGENIERA INDUSTRIAL
1.- OBJETIVOS
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 analgi ca. 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.
1.
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.
Experimentos:
1.
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
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.
3.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 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 de be 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
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. 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.
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 S7-200 (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 v alor 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.
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. Bloque de datos:
Tabla de estado:
10
6.- 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).
11
7.- ANEXO II
12
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:
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:
13
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. 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.
9.- 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)
14