Date post: | 05-Jul-2018 |
Category: |
Documents |
Upload: | joseluisleon |
View: | 219 times |
Download: | 0 times |
of 14
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