control pid de servomotor mediante s7-200 de siemen

Upload: aj

Post on 16-Feb-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    1/16

    1

    3 INGENIERA TELECOMUNICACIN2 ITT SISTEMAS ELECTRNICOS

    2 ITT SISTEMAS DE TELECOMUNICACINAUTMATAS 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 controlde los citados procesos PIDs industriales (existenmuchas marcas en el mercado como WATLOW,OMRON

    , euroTHERM, ...), pero el problema destos es que su perodo de muestreo no puede bajarde los 0.1 ... 0.5 segundos dependiendo de la marcay el modelo.Este perodo de muestreo es bueno para controlarprocesos trmicos (control de temperatura) peropara controlar la velocidad de un motor, no essuficiente.

    Una solucin a este problema puede ser dotar a unode los autmatas que tengamos en planta de unatarjeta E/S analgica.

    En nuestro caso, utilizaremos un autmataSIEMENS

    S7-200 (concretamente un 214) con unmdulo analgico EM235. Con ellos podemosllegar a muestrear del orden de milisegundos (0.001... 0.005), aunque este tiempo de muestreo dependeen gran medida de la carga computacional que tenga

    la CPU.

    En esta prctica proponemos controlar unservomotor en posicin y velocidad, procesos queno se pueden realizar con un PID industrial, por loque es el ejemplo ideal de eleccin de sistema decontrol.

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    2/16

    2

    En este documento podemos encontrar adems del enunciado de la prctica, unaayuda completa para programar el PID, el modo de utilizar el PID una vez programado, laforma 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 medianteuna salida analgica(AQW0) del autmata de 10 a 10v. La posicin del servomotor sedetermina mediante un potencimetro rotativo que proporciona una seal de 10 a 10v queser 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 unode dichos elementos a los valores indicados en los experimentos. En los dos experimentosse variar la consigna entre 0.3 y 0.7 para cada uno de los distintos valores de controladorpropuesto.

    Nota: Configurar el mdulo analgico 10 a +10v

    Experimentos:

    1. Slo control proporcional

    Parmetros:VD116 = 0,01 Tiempo de muestreoVD128 = 0,5 Bias (ver tabla en Anexo II)VD120 = 1E+13 Tiempo de accin integralVD124 = 0 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.

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    3/16

    3

    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 sedetermina mediante un tacometro que proporciona una seal de 0 a 10v que ser conectadaa una entrada analgica del autmata(AIW2).

    Se programar el PID que realice el control de velocidad del servomotor con ayuda de losejemplos 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 unode 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 Tiempo de muestreoVD128 = 0 Bias (ver tabla en Anexo II)

    VD120 = 1E+13 Tiempo de accin integralVD124 = 0 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 Cte proporcional

    VD116 = 0,01 Tiempo de muestreoVD128 0 Bias (ver tabla en Anexo II)VD124 = 0 Tiempo de accin diferencial

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

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    4/16

    4

    Para programar un control PID con un SIEMENSS7-200, disponemos de una gran ayudagracias al asistente PIDque incorpora el software Step 7 MicroWin 32.

    Describamos primero el funcionamiento del PID de SIEMENS y pasaremos despus amostrar 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 paraprogramar con xito nuestro control.

    PASO1 Elegir un lazo2 Ajustar los parmetros del lazo3 Opciones de entrada y salida del lazo4 Opciones de alarma del lazo5 Especificar el rea de memoria para clculos6 Especificar la subrutina de inicializacin y la rutina de interrupcin7 Generar el cdigo

    El Asistente de operaciones S7-200 se puede utilizar para simplificar la configuracin deoperaciones 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 hayaindicado. Tras elegir PID en la primera pantalla, el Asistente le solicita que introduzca lassiguientes informaciones:

    PASO 1 Elegir un lazo

    Qu lazo PID desea configurar? Las diferentes CPUs soportan un nmero diferente delazos PID, tendremos que buscar en la ayuda del autmata especfico que estamos usandopara extraer este dato, pero en nuestro caso, usaremos solamente un PID, por lo que todaslas 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 debeindicar 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 deparmetros. El cdigo generado por el Asistente PID utiliza esa direccin para crear

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    5/16

    5

    operandos en forma de offsets relativos a la tabla de parmetros. Si define un nombresimblico para la tabla de parmetros y cambia luego la direccin asignada a dichosmbolo, el cdigo generado por el Asistente PID no se ejecutar correctamente.

    2. Indicar la consigna normalizada del lazo. Para dicha consigna se puede indicar unadireccin de palabra doble o una constante que debe ser un nmero real comprendido entre0.00 y 1.00.

    En este punto, nos hemos de hacer una serie de preguntas que son de vital importancia parala realizacin del control:Cul debe ser la consigna del lazo?, Cul es el tiempo de muestreo del lazo?, Cul es eltiempo 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 ocomo 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 unadireccin de palabra o un smbolo definido. Si la salida es digital, se podr indicar unadireccin 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 indicaruna 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 indicaruna 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? Encaso afirmativo, se puede indicar una direccin de bit o un smbolo definido, as comoespecificar en qu posicin est conectado el mdulo de entradas a la CPU.

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    6/16

    6

    PASO 5 Especificar el rea de memoria para clculos

    1. El clculo PID requiere una memoria "borrador para los resultados intermedios. Espreciso indicar la direccin (de byte) de la memoria V donde debe comenzar el rea declculo.

    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 deinterrupcin que generar el Asistente.

    PASO 7 Generar el cdigo PID

    Esta pantalla muestra una lista de las unidades de organizacin del programa generadas porel 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 operacionesS7-200 generar el bloque lgico y el bloque de datos para la configuracin que se hayaindicado.

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

    Para la programacin del regulador usando este tipo de sistema, usamos el yanombrado Step 7 MicroWin 32, de forma que partimos de una correcta instalacin delsoftwarey 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 enel enunciado de la prctica, dejando como tarea el realizar las modificaciones oportunaspara que funcione el control de posicin (primera parte).

    Una vez abierto el programa, en la opcin Herramientas, encontramos la opcin delasistende de operaciones. Pulsamos sobre ella.

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    7/16

    7

    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 PIDy 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 lazo0, que es el que tenemos por defecto.

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    8/16

    8

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

    propiamente dicha. En primer lugar tenemos que usar 36 bytes de memoria del autmatapara depositar una tabla en la que se encontrarn parmetros de configuracin. Ponemoseste valor a VB100 como se especifica en el enunciado de la prctica en lugar de dejar elVB0 que tenemos en la pantalla por defecto.Por otra parte tenemos la consigna normalizada del lazo (VD4), que ser la referencia delsistema de control. Este valor ha de ir entre 0 y 1. En el enunciado de la prctica tenemosvarios valores de prueba.

    En los parmetros del lazo, tenemos que especificar la ganancia, el tiempo de accinintegral, 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 es9999999, pero despus en Bloque de datos, podemos introducir el 1E+013 que la prcticanos pide.

    El perodo de muestreo est en segundos y a pesar de que por defecto tenemos 1.00seg. podemos llegar a unidades de milisegundo. Pero este tiempo depende de la carga de laCPU (tamao del programa que est ejecutando, tiempo de comunicaciones, ...) como ya seexplic anteriormente. Si seleccionamos un T demasiado pequeo (el autmata no es capazde procesar el algoritmo PID en el tiempo especificado), el S7-200 se pondrautomticamente en modo STOP, indicando que no puede ejecutar el programa.

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    9/16

    9

    Accediendo a la siguiente pantalla, configuramos las opciones de la entrada y lasalida del lazo. En la entrada, especificamos escalado unipolar debido a que vamos aprogramar 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 yAQW0 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 ellasen esta prctica.

    El clculo de la accin de control en funcin del error y de los parmetros de PID esel 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 cualse 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 delalgoritmo. Si no activamos la pestaa Activar control manual del PID, el PID se ejecutacon la SM0.0, es decir, siempre. Pero podemos desear que la entrada I0.6 controle laactivacin del regulador, en tal caso, seleccionamos la pestaa y especificamos dichaentrada en lugar de la I0.0 que se nos presenta por defecto.

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    10/16

    10

    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, esindiferente. Lo que si deberemos hacer es llamar desde el programa principal a la subrutinade 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 valorespara cada variable. Una vez programado el PID en el autmata, podemos cambiar el valorde 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 quepodemos modificar desde la tabla de estado.

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    11/16

    11

    Bloque de datos:

    Tabla de estado:

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    12/16

    12

    ANEXO I

    Regulacin PID

    La operacin Regulacin PID ejecuta elclculo de un lazo de regulacin PID enel LOOP referenciado en base a lasinformaciones de entrada y configuracindefinidas en Table (TBL).Condiciones de error que ponen ENO a 0:0006 (direccionamiento indirecto), SM1.1(desbordamiento), SM4.3 (tiempo deejecucin).Estas operaciones afectan a las siguientes

    marcas especiales:SM1.1 (desbordamiento).

    La operacin PID (lazo de regulacin con accin proporcional, integral, derivada) sirvepara 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 inicialde la tabla del lazo y un nmero LOOP que es una constante comprendida entre 0 y 7. Unprograma 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 clculosPID se interferirn mutuamente siendo incierta la salida resultante. La tabla del lazoalmacena 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 salidao magnitud manipulada, la ganancia, el tiempo de muestreo, el tiempo de accin integral, eltiempo de accin derivada y la suma integral (bias).Para poder realizar el clculo PID conel intervalo de muestreo deseado, la operacin PID deber ejecutarse bien dentro de unarutina de interrupcin temporizada o desde el programa principal, a intervalos controladospor un temporizador. El tiempo de muestreo debe definirse en calidad de entrada para laoperacin PID a travs de la tabla del lazo.

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    13/16

    13

    ANEXO II

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    14/16

    14

    ANEXO III

    El algoritmo PID

    En estado estacionario, un regulador PID vara el valor de su salida para llevar a cero elerror de regulacin (e). ste ltimo se expresa como la diferencia entre el valor de consignadel 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 queaparece abajo. Dicha ecuacin expresa la salida del lazo (Mn) como una funcin de untrmino proporcional, uno integral y uno diferencial:

    donde:

    El trmino proporcionalEl trmino proporcional MP es el producto de la ganancia (Kc), la cual controla lasensibilidad 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. Laecuacin 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:

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    15/16

    15

    El trmino diferencialEl trmino diferencial MD, como lo implementa la CPU, es proporcional al cambio en lavariable 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 clculodel trmino diferencial. En el instante del primer clculo, el valor de PVn-1 se inicializa aun 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 laregulacin proporcional e integral. El tipo de regulacin se selecciona ajustandocorrespondientemente 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 accinintegral deber ajustarse a infinito (tiempo integral). Incluso sin accin integral el valor deltrmino integral puede no ser cero debido a que la suma integral MX puede tener un valorinicial.

    Si no se desea accin derivada (sin "D" en el clculo PID), entonces el tiempo de accinderivada deber ajustarse a 0.0.

  • 7/23/2019 Control Pid De Servomotor Mediante s7-200 de Siemen

    16/16

    16

    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 lasecuaciones 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)