Practica4 Spa Pid

download Practica4 Spa Pid

of 14

Transcript of Practica4 Spa Pid

  • 8/16/2019 Practica4 Spa Pid

    1/14

    I.E.S. Virgen de los Reyes Página 1 de 5 CICLO: Automatización y Robótica Industrial

     __________________________________________________________________________________

    Introducción:

    La modulación por ancho de pulsos (o PWM) de una señal o fuente de energía es una técnica en la

    que se modifica el ciclo de trabajo de una señal periódica, ya sea para transmitir información a través

    de un canal de comunicaciones o para controlar la cantidad de energía que se envía a una carga.

    Materiales:

    Los materiales utilizados para realizar esta práctica son los siguientes:

      Un autómata programable S300

      LM35

      RESISTENCIA CALEFACTORA

    Fundamento teórico:

    Control PID: Un controlador PID (Proporcional Integral Derivativo) 

    es un mecanismo de control

    por realimentación ampliamente usado en sistemas de control industrial. Este calcula la desviación o

    error entre un valor medido y un valor deseado.

    El algoritmo del control PID consiste de tres parámetros distintos: el proporcional, el integral, y el

    derivativo. El valor Proporcional depende del error actual. El Integral depende de los errores pasados

    y el Derivativo es una predicción de los errores futuros. La suma de estas tres acciones es usada para

    ajustar al proceso por medio de un elemento de control como la posición de una válvula de control o

    la potencia suministrada a un calentador.

    SPA_UD2_PR4. Regulacion de temperatura con PWM.

    Autor: Ridouan Aoulad-Haddou 

    Fecha de entrega: 

    18/11/2015

    https://es.wikipedia.org/wiki/Realimentaci%C3%B3nhttps://es.wikipedia.org/wiki/Algoritmohttps://es.wikipedia.org/wiki/Algoritmohttps://es.wikipedia.org/wiki/Realimentaci%C3%B3n

  • 8/16/2019 Practica4 Spa Pid

    2/14

    I.E.S. Virgen de los Reyes Página 2 de 5 CICLO: Automatización y Robótica Industrial

     __________________________________________________________________________________

    Descripción de la práctica:

    El objetivo es realizar las modificaciones en DB10 (PID) para controlar la temperatura de una

    resistencia calefactora, para ello tenemos un sensor LM35 que mide la temperatura, y una

    resistencia conectada a la salida A125.0 que se caliente o se enfría dependiendo de que esté por

    debajo o por encima 30ºC (punto de consigna), esta resistencia se coloca encima de la LM35 para

    que esta mide su temperatura.

      Después de configurar el HW, creamos Un bloque de organización OB35 donde ira insertado

    nuestro programa, este bloque dispone de:

      El move lo utilizaremos para transferir el valor del set point a la instrucción PID.

      La función SCALE (FC105) nos servirá para poder convertir el valor de la LM35 a ºC.

      La función “TCONT_CP”: esta función sirve para regular procesos

    de temperatura con control continuo o en forma de impulso. En

    el PV_IN metemos MD10 que da el valor medido por LM35.

    El punto de consigna (en nuestro caso 30ºC) lo metemos en la

    entrada SP_INT. En QPULSE metemos la salida A125.0 (resistenciacalefactora).

  • 8/16/2019 Practica4 Spa Pid

    3/14

    I.E.S. Virgen de los Reyes Página 3 de 5 CICLO: Automatización y Robótica Industrial

     __________________________________________________________________________________

    Una vez hecho todo esto y después de cargar el programa deberemos entrar en el bloque

    DB10 para configurar el PID, en el mismo tiempo entramos al OB35 para observar loscambios.

    Los valores de temperatura máximo y mínimo dados por la LM35:

      25,48ªC con la resistencia apagada (A125.0 está puesta a 0).

      34,5ªC con la resistencia encendida (A125.0 está puesta a 1).

    El punto de consigna es de 30ºC aproximadamente.

    Antes de empezar a regular el PID debemos saber que en un control Proporcional con

    acción Integral y derivativa:

     

    La Parte proporcional disminuye la oscilación.

      La parte integral corrige el error estacionario.

      La parte derivativa incrementa la respuesta del sistema ante perturbaciones.

    Ahora vamos a regular el PID siguiendo el método siguiente:

    Nota: Una opción importante es la de activar el generador de pulsos, esto nos hará que nos

    module la salida del PID.

    a. 

    Cambiamos el tiempo de acción derivativa y el tiempo de integración a 0s.

    b. 

    Aumentamos la Ganancia Proporcional poco a poco hasta que consigamos aproximarnos

    al punto de consigna, la temperatura medida en este caso es de 27,117ºC casi 3ºC

    debajo del punto de consigna. Esperando entre cambio y cambio de 3 a 4 minutos.

    c.  como vemos la respuesta del sistema esté por debajo del punto de consigna deseado.

    Ahora hay que aumentar el tiempo de Integración para intentar corregir el error y

    acercar de 30ºC. el resultado de esta regulación es alcanzar el 30,09ºC, este 0,09 de

    diferencia se puede deber a la resolución del CAD del PLC.

    c. Cuando conseguimos esto, aumentamos la acción derivativa hasta antes de que esta

    desestabilice la señal.

    Las imágenes siguientes muestran los valores de PID y la temperatura medida después de la

    regulación:

  • 8/16/2019 Practica4 Spa Pid

    4/14

    I.E.S. Virgen de los Reyes Página 4 de 5 CICLO: Automatización y Robótica Industrial

     __________________________________________________________________________________

    Preguntas:

    1.  ¿Qué pasará si se escoge un tiempo de ciclo excesivamente largo?

    En nuestro caso, al aumentar el tiempo de ciclo, la temperatura medida por LM35 baja hasta

    28,98ºC, casi un grado menos del punto de consigna. Esto pasa porque el tiempo de ciclo -o el

    periodo- , la dinámica del proceso y la amplitud de las oscilaciones están ampliamente

    relacionados, así que al aumentar el tiempo de ciclo, se aumentará el tiempo de respuesta del

    regulador lo que hace que disminuya la frecuencia y causará una oscilación de la señal mayor

    alrededor del punto de consigna. El resultado es: la señal la señal de salida se alejase del punto

    de consigna y oscilase alrededor de él hasta conseguir estabilizarse otra vez.

    2.  ¿Qué ventajas tiene el sistema de regulación PWM con respecto al sistema con salida

    continua?La modulación por ancho de pulsos (o PWM) de una señal o fuente de energía modifica el

    ciclo de trabajo de una señal periódica para controlar la cantidad de energía que se envía a

    una carga. Dependiendo de la anchura del pulso el valor final de aproximará más o menos a

  • 8/16/2019 Practica4 Spa Pid

    5/14

    I.E.S. Virgen de los Reyes Página 5 de 5 CICLO: Automatización y Robótica Industrial

     __________________________________________________________________________________

    la tensión total aplicada, mientras que en la regulación con salida continua, donde la tensión

    de salida es máxima en la carga constantemente, no podemos controlar la energía que se

    envía a una carga.

    3.  ¿Crees que es adecuado para todo tipo de proceso? Razona tu respuesta.

    Este control no es lo más adecuado para todo tipo de proceso, por ejemplo para el control de

    nivel el regulador PID es inadecuado y es poco adecuado para el control del caudal.

    El sistema de control tipo/todo o nada es adecuado en procesos donde el sistema tiene un

    tiempo de respuesta relativamente largo.

    El control proporcional es el tipo de control que utilizan la mayoría de los controladores que

    regulan la velocidad de un automóvil.

    Los controladores PID son muy comunes en la industria.

    El control derivativo es el menos utilizado por su sensibilidad al ruido.

    Conclusión:

    Un controlador PID es un mecanismo de control por realimentación ampliamente usado en sistemas

    de control industrial. Este calcula la desviación o error entre un valor medido y un valor deseado.

    Anexos:

     El código.

    https://es.wikipedia.org/wiki/Realimentaci%C3%B3nhttps://es.wikipedia.org/wiki/Realimentaci%C3%B3n

  • 8/16/2019 Practica4 Spa Pid

    6/14

    SIMATIC practica4/Equipo SIMATIC 300 18/11/2015 16:54:40

      Página 1 de 2

    Equipo SIMATIC 300

    UR - Bastidor (0)Nombre abreviado: URReferencia: 6ES7 390-1???0-0AA0Denominación: UR

    Bastidor (0), Slot 1Nombre abreviado: PS 307 2A

    Referencia: 6ES7 307-1BA00-0AA0Denominación: PS 307 2A

     Ancho: 1Comentario: ---

    Bastidor (0), Slot 2Nombre abreviado: CPU 313CVersión de firmware: V1.0Referencia: 6ES7 313-5BE00-0AB0Denominación: CPU313C(1)

     Ancho: 1Dirección MPI: 2Dirección MPI más alta: 31

    Velocidad de transferencia: 187.5 kbit/sComentario: ---

    Bastidor (0), Slot 2, Interface 2Nombre abreviado: DI24/DO16Referencia: ---Denominación: DI24/DO16Canales digitales: 24 Entradas

    16 Salidas Ancho: 1Comentario: ---

    Direcciones

    EntradasInicio: 124Fin: 126

    SalidasInicio: 124Fin: 125

    Bastidor (0), Slot 2, Interface 3Nombre abreviado: AI5/AO2Referencia: ---Denominación: AI5/AO2Canales analógicos: 5 Entradas

    2 Salidas Ancho: 1

    Comentario: ---

    DireccionesEntradasInicio: 752Fin: 761

    SalidasInicio: 752Fin: 755

    Bastidor (0), Slot 2, Interface 4Nombre abreviado: ContajeReferencia: ---Denominación: Contaje

     Ancho: 1Comentario: ---

    DireccionesEntradasInicio: 768Fin: 783

  • 8/16/2019 Practica4 Spa Pid

    7/14

    SIMATIC practica4/Equipo SIMATIC 300 18/11/2015 16:54:40

      Página 2 de 2

    SalidasInicio: 768Fin: 783

    Bastidor (0), Slot 4Nombre abreviado: CP 342-5Referencia: 6GK7 342-5DA02-0XE0Denominación: CP 342-5

    UbicaciónEquipo: Equipo SIMATIC 300

     Ancho: 1

    Dirección MPI: 3Nombre de red MPI: ---

    RedTipo de red: PROFIBUSNombre de red: ---

    DireccionesEntradasInicio: 256Fin: 16Estándar: ---

    SalidasInicio: 256Fin: 16Estándar: ---

    Comentario:---

  • 8/16/2019 Practica4 Spa Pid

    8/14

    SIMATIC practica4\ 18/11/2015 16:56:58

      SIMATIC 300(1)\CPU 313C\...\OB1 -

    Página 1 de 1

    OB1 - ""Nombre: Familia:Autor: Versión: 0.1

     Versión del bloque: 2Hora y fecha Código:

    Interface:

    09/11/2015 10:53:5015/02/1996 16:51:12

    Longitud (bloque / código / datos): 00120 00002 00020

     Nombre Tipo de datos Dirección Comentario

    TEMP 0.0

      TEMP0 Byte 0.0

      TEMP1 Byte 1.0

      TEMP2 Byte 2.0

      TEMP3 Byte 3.0

      TEMP4 Byte 4.0

      TEMP5 Byte 5.0

      TEMP6 Int 6.0

      TEMP7 Int 8.0

      TEMP8 Int 10.0

      TEMP9 Date_And_Time 12.0

    Bloque: OB1

    Segm.: 1

  • 8/16/2019 Practica4 Spa Pid

    9/14

    SIMATIC practica4\ 18/11/2015 16:57:17

      SIMATIC 300(1)\CPU 313C\...\OB35 -

    Página 1 de 2

    OB35 - "CYC_INT5" Cyclic Interrupt 5Nombre: Familia:Autor: Versión: 0.1

     Versión del bloque: 2Hora y fecha Código:

    Interface:

    16/11/2015 12:46:1015/02/1996 16:51:11

    Longitud (bloque / código / datos): 00310 00194 00030

     Nombre Tipo de datos Dirección Comentario

    TEMP 0.0

      OB35_EV_CLASS Byte 0.0 Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)

      OB35_STRT_INF Byte 1.0 16#36 (OB 35 has started)

      OB35_PRIORITY Byte 2.0 Priority of OB Execution

      OB35_OB_NUMBR Byte 3.0 35 (Organization block 35, OB35)

      OB35_RESERVED_1 Byte 4.0 Reserved for system

      OB35_RESERVED_2 Byte 5.0 Reserved for system

      OB35_PHASE_OFFSET Word 6.0 Phase offset (msec)

      OB35_RESERVED_3 Int 8.0 Reserved for system

      OB35_EXC_FREQ Int 10.0 Frequency of execution (msec)

      OB35_DATE_TIME Date_And_Time 12.0 Date and time OB35 started

    Bloque: OB35 "Cyclic Interrupt"

    Segm.: 1

    "Read AnalogValue 464-

    2"

    FC105FC105Read Analog Value

    464-2

    EN

    PEW754 IN

    1.000000e+003 HI_LIM

    0.000000e+000 LO_LIM

    M100.0 BIPOLAR

    ENO

    RET_VAL MW210

    OUT MD10

    Información del símboloFC105 Read Analog Value 464-2 Read Analog Value 464-2

    Segm.: 2

    MOVEEN

    3.000000e+001 IN

    ENO

    OUT MD20

  • 8/16/2019 Practica4 Spa Pid

    10/14

    SIMATIC practica4\ 18/11/2015 16:57:18

      SIMATIC 300(1)\CPU 313C\...\OB35 -

    Página 2 de 2

    Segm.: 3

    "TCONT_CP"

    FB58FB58temperature PIDcontroller withpulse generatorand self-tuning

    DB10

    EN

    MD10 PV_IN

    PV_PER

    DISV

    E124.0 INT_HPOS

    E124.1 INT_HNEG

    SELECT

    CYCLE

    CYCLE_P

    MD20 SP_INT

    MAN

    E124.2 COM_RST

    E124.3 MAN_ON

    ENO

    PV

    LMN

    LMN_PER

    QPULSE A125.0

    QLMN_HLM

    QLMN_LLM

    QC_ACT

    Informacin del smboloFB58 TCONT_CP temperature PID controller with pulse generator and self-tuning

  • 8/16/2019 Practica4 Spa Pid

    11/14

    SIMATIC practica4\ 18/11/2015 16:57:23

      SIMATIC 300(1)\CPU 313C\...\OB100 -

    Página 1 de 1

    OB100 - ""Nombre: Familia:Autor: Versión: 0.1

     Versión del bloque: 2Hora y fecha Código:

    Interface:

    09/11/2015 10:54:2315/02/1996 16:51:10

    Longitud (bloque / código / datos): 00116 00002 00020

     Nombre Tipo de datos Dirección Comentario

    TEMP 0.0

      TEMP0 Byte 0.0

      TEMP1 Byte 1.0

      TEMP2 Byte 2.0

      TEMP3 Byte 3.0

      TEMP4 Byte 4.0

      TEMP5 Byte 5.0

      TEMP6 Word 6.0

      TEMP7 DWord 8.0

      TEMP8 Date_And_Time 12.0

    Bloque: OB100

    Segm.: 1

  • 8/16/2019 Practica4 Spa Pid

    12/14

    SIMATIC practica4\ 18/11/2015 16:57:28

      SIMATIC 300(1)\CPU 313C\...\FB41 -

    Página 1 de 1

    FB41 - "CONT_C" Continuous ControlNombre: CONT_C Familia: ICONTAutor: SIMATIC  Versión: 1.5

     Versión del bloque: 2Hora y fecha Código:

    Interface:

    02/12/2003 13:15:5922/07/1996 07:33:06

    Longitud (bloque / código / datos): 01750 01428 00074Protección KNOW HOW 

     Nombre Tipo de datos Dirección Valor inicial Comentario

    IN 0.0

      COM_RST Bool 0.0 FALSE complete restart

      MAN_ON Bool 0.1 TRUE manual value on

      PVPER_ON Bool 0.2 FALSE process variable peripherie on

      P_SEL Bool 0.3 TRUE proportional action on

      I_SEL Bool 0.4 TRUE integral action on

      INT_HOLD Bool 0.5 FALSE integral action hold

      I_ITL_ON Bool 0.6 FALSE initialization of the integral action

      D_SEL Bool 0.7 FALSE derivative action on

      CYCLE Time 2.0 T#1S sample time

      SP_INT Real 6.0 0.000000e+000 internal setpoint

      PV_IN Real 10.0 0.000000e+000 process variable in

      PV_PER Word 14.0 W#16#0 process variable peripherie

      MAN Real 16.0 0.000000e+000 manual value

      GAIN Real 20.0 2.000000e+000 proportional gain

      TI Time 24.0 T#20S reset time

      TD Time 28.0 T#10S derivative time

      TM_LAG Time 32.0 T#2S time lag of the derivative action

      DEADB_W Real 36.0 0.000000e+000 dead band width

      LMN_HLM Real 40.0 1.000000e+002 manipulated value high limit

      LMN_LLM Real 44.0 0.000000e+000 manipulated value low limit

      PV_FAC Real 48.0 1.000000e+000 process variable factor

      PV_OFF Real 52.0 0.000000e+000 process variable offset

      LMN_FAC Real 56.0 1.000000e+000 manipulated value factor

      LMN_OFF Real 60.0 0.000000e+000 manipulated value offset

      I_ITLVAL Real 64.0 0.000000e+000 initialization value of the integral action

      DISV Real 68.0 0.000000e+000 disturbance variable

      OUT 0.0

      LMN Real 72.0 0.000000e+000 manipulated value

      LMN_PER Word 76.0 W#16#0 manipulated value peripherie

      QLMN_HLM Bool 78.0 FALSE high limit of manipulated value reached

      QLMN_LLM Bool 78.1 FALSE low limit of manipulated value reached

      LMN_P Real 80.0 0.000000e+000 proportionality component

      LMN_I Real 84.0 0.000000e+000 integral component

      LMN_D Real 88.0 0.000000e+000 derivative component

      PV Real 92.0 0.000000e+000 process variable

      ER Real 96.0 0.000000e+000 error signal

      IN_OUT 0.0

    Bloque: FB41 continuous PID controller

  • 8/16/2019 Practica4 Spa Pid

    13/14

    SIMATIC practica4\ 18/11/2015 16:57:33

      SIMATIC 300(1)\CPU 313C\...\FB58 -

    Página 1 de 1

    FB58 - "TCONT_CP" temperature PID controller with pulse generator and self-tuningNombre: TCONT_CP Familia: CONTROLAutor: SIMATIC  Versión: 1.1

     Versión del bloque: 2Hora y fecha Código:

    Interface:

    25/11/2003 10:33:5306/08/2003 13:55:29

    Longitud (bloque / código / datos): 10866 09868 00184Protección KNOW HOW 

    Propiedades del objeto:S7_techparam S7WRTX.TCONT_CP

     Nombre Tipo de datos Dirección Valor inicial Comentario

    IN 0.0

      PV_IN Real 0.0 0.000000e+000 process variable in

      PV_PER Int 4.0 0 process variable peripherie

      DISV Real 6.0 0.000000e+000 disturbance variable

      INT_HPOS Bool 10.0 FALSE integral action hold in positive direction

      INT_HNEG Bool 10.1 FALSE integral action hold in negative direction

      SELECT Int 12.0 0 selection of call PID and pulse generator

      OUT 0.0

      PV Real 14.0 0.000000e+000 process variable

      LMN Real 18.0 0.000000e+000 manipulated variable

      LMN_PER Int 22.0 0 manipulated variable peripherie

      QPULSE Bool 24.0 FALSE output pulse signal

      QLMN_HLM Bool 24.1 FALSE high limit of manipulated variable reached

      QLMN_LLM Bool 24.2 FALSE low limit of manipulated variable reached

      QC_ACT Bool 24.3 TRUE next cycle, the continuous controller is working

      IN_OUT 0.0

      CYCLE Real 26.0 1.000000e-001 sample time of continuous controller [s]

      CYCLE_P Real 30.0 2.000000e-002 sample time of pulse generator [s]

      SP_INT Real 34.0 0.000000e+000 internal setpoint

      MAN Real 38.0 0.000000e+000 manual value

      COM_RST Bool 42.0 FALSE complete restart

      MAN_ON Bool 42.1 TRUE manual operation on

    Bloque: FB58 PID temperature controller with pulse generator and self-tuning

  • 8/16/2019 Practica4 Spa Pid

    14/14

    SIMATIC practica4\ 18/11/2015 16:57:37

      SIMATIC 300(1)\CPU 313C\...\FC105 -

    FC105 - "Read Analog Value 464-2" Read Analog Value 464-2Nombre: SCALE Familia: CONVERTAutor: SEA  Versión: 2.1

     Versión del bloque: 2Hora y fecha Código:

    Interface:

    11/04/2000 10:16:1814/10/1996 13:28:29

    Longitud (bloque / código / datos): 00336 00208 00020Protección KNOW HOW 

     Nombre Tipo de datos Dirección Comentario

    IN 0.0

      IN Int 0.0 input value to be scaled

      HI_LIM Real 2.0 upper limit in engineering units

      LO_LIM Real 6.0 lower limit in engineering units

    BIPOLAR Bool 10.0 1=bipolar; 0=unipolar

      OUT 0.0

      OUT Real 14.0 result of the scale conversion

      IN_OUT 0.0

    Bloque: FC105 SCALING VALUES