Control PID de temperatura y presión en el tiempo

  • 9 Respuestas
  • 308 Vistas

Mecatronico26

  • Aprendiz
  • **
  • Mensajes: 25
Control PID de temperatura y presión en el tiempo
« : mayo 07, 2019, 10:55:49 am »
hola boris, como estas? disculpa las molestias, necesito realizar un control de temperatura y presion colocando un setpoint en ambas variables y tambien en el tiempo, me vendria perfecto hacerlo con un control PID, pero no el soft no cuenta con el modulo, podrias darme una mano para realizarlo? estoy trabajando con un stx8092 y una pantalla kinco, desde ya muchas gracias
« Última Modificación: mayo 25, 2019, 13:52:32 pm por Soporte »

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2087
  • Soporte Técnico
Re:control de temperatura y presion en el tiempo
« Respuesta #1 : mayo 07, 2019, 18:25:55 pm »
hola boris, como estas? disculpa las molestias, necesito realizar un control de temperatura y presion colocando un setpoint en ambas variables y tambien en el tiempo, me vendria perfecto hacerlo con un control PID, pero no el soft no cuenta con el modulo, podrias darme una mano para realizarlo? estoy trabajando con un stx8092 y una pantalla kinco, desde ya muchas gracias

Buenas tardes.

Coméntame, ¿cómo estás leyendo la temperatura y presión?.

Además, para controlar el sistema, ¿utilizarías una salida relé para modificar la temperatura o presión?.

¿Qué lenguaje estás utilizando?.

Gracias, Saludos!
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Mecatronico26

  • Aprendiz
  • **
  • Mensajes: 25
Re:control de temperatura y presion en el tiempo
« Respuesta #2 : mayo 09, 2019, 17:28:30 pm »
Hola Boris, tengo un transmisor de 4 a 20 ma para medir presión de 0 a 100psi y tengo una pt100 de 2hilos de 0 a 100°C, la idea es hacerlo con ladder, pero el escalado esta realizado en paw, tiene q comandar válvulas on-off así q estoy usando las salidas de reles. Desde ya muchas gracias

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2087
  • Soporte Técnico
Re:control de temperatura y presion en el tiempo
« Respuesta #3 : mayo 09, 2019, 20:53:17 pm »
Hola Boris, tengo un transmisor de 4 a 20 ma para medir presión de 0 a 100psi y tengo una pt100 de 2hilos de 0 a 100°C, la idea es hacerlo con ladder, pero el escalado esta realizado en paw, tiene q comandar válvulas on-off así q estoy usando las salidas de reles. Desde ya muchas gracias

Buenas tardes.

Ok, estamos implementando una librería PID, así que dame por favor un par de días hasta que la terminemos y te paso un ejemplo.

Saludos!
« Última Modificación: mayo 09, 2019, 21:02:25 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2087
  • Soporte Técnico
Re:control de temperatura y presion en el tiempo
« Respuesta #4 : mayo 16, 2019, 21:28:23 pm »
Buenas tardes. Estamos cerca de terminar la implementación PID. Le informo novedades por este medio. Gracias por la paciencia.

Saludos!
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Mecatronico26

  • Aprendiz
  • **
  • Mensajes: 25
Re:control de temperatura y presion en el tiempo
« Respuesta #5 : mayo 23, 2019, 20:43:48 pm »
Hola Boris, cómo estás? Alguna novedad de la implementación PID?

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2087
  • Soporte Técnico
Re:control de temperatura y presion en el tiempo
« Respuesta #6 : mayo 24, 2019, 10:33:21 am »
Hola Boris, cómo estás? Alguna novedad de la implementación PID?

Buenos días. Si, ya prácticamente está listo. Calculamos subir las actualizaciones entre hoy y mañana. Saludos!
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2087
  • Soporte Técnico
Re:Control PID de temperatura y presión en el tiempo
« Respuesta #7 : mayo 25, 2019, 14:15:47 pm »
Buenos días, ya podés descargar las actualizaciones para realizar utilizar el controlador PID.

Debes actualizar el software StxLadder a la última versión, lo mismo que el firmware del PLC.

Desde los siguientes links podés descargar ejemplos para lenguaje Ladder:

EJEMPLO 1

www.slicetex.com/docs/an/an033/files/examples/PidDigitalLadder1.zip

Ejemplo de un sistema de control de temperatura utilizando un controlador PID, un sensor de temperatura PT100 con transductor 4-20 mA y una salida digital conectada a una resistencia eléctrica.

Leer archivo info.txt del proyecto para más información.

EJEMPLO 2

www.slicetex.com/docs/an/an033/files/examples/PidAnalogLadder1.zip

Ejemplo de un sistema de control de temperatura utilizando un controlador PID, un sensor de temperatura PT100 con transductor 4-20 mA y una salida analógica tipo PWM conectada a una resistencia eléctrica.

Leer archivo info.txt del proyecto para más información.

Te recomiendo probar ambos proyectos por separado y analizar hasta entender el concepto.

Cada componente Ladder está documentado, podes acceder a su documentación haciendo click-derecho sobre el componente y elegir "Ver descripción del componente ...".



Actualización 03/Junio/2019:

Está disponible la nota de aplicación AN033 que explica en formato PDF toda la teoría de controladores PID, sintonización, recomendaciones y contiene ejemplos para Ladder y Pawn.



Breve introducción al uso del controlador PID:

(extracto de la documentación del componente PidInit)

En un proceso controlado por un PID, se busca alcanzar y mantener un valor del proceso (que puede ser temperatura, presión, velocidad, etc) al valor indicado por la consigna (valor deseado o SETPOINT).

Para ello el sistema necesita:

• Un sensor que lea el valor o estado del proceso (termómetro, manómetro, velocímetro, etc).
• Un actuador, para actuar sobre el proceso (resistencia eléctrica, bomba, acelerador, etc)
• Un controlador (PID), que genera la señal para gobernar el actuador.



Supongamos por ejemplo que necesitamos mantener la temperatura de una habitación a un valor deseado (Setpoint) utilizando una resistencia calefactora, la cual aumenta la temperatura si está encendida, mientras que si está apagada permite que disminuya la temperatura naturalmente.

En la figura superior tenemos un sistema con un controlador PID. El bloque “PLANTA” es el proceso a controlar por el PID (ejemplo la temperatura de una habitación). El valor Salida Proceso (temperatura) es realimentado a la Entrada (por un sensor de temperatura) del controlador PID y se resta al valor del Setpoint (valor de temperatura deseado o Consigna). La resta entre el valor de Entrada y el Setpoint, da el valor de Error. El Error se computa en el controlador PID con tres acciones diferentes Proporcional (Kp), Integral (Ki) y Derivativa (Kd), que luego se suman para dar un valor de Salida del controlador PID. El valor de Salida PID es la señal de control y se aplica al actuador (resistencia calefactora). El actuador, de acuerdo al valor de Salida incide sobre el proceso o planta (encendiendo y apagando la resistencia calefactora).

Eso es todo respecto al concepto PID.

A continuación explicamos cómo utilizar el PID en su conjunto con el resto de los componentes Ladder:

El valor de Entrada del controlador PID se especifica con el componente PidWriteInput, al cual le pasaremos el valor del sensor utilizado por el sistema

Para un correcto funcionamiento del PID, necesitamos procesar repetitivamente el valor de Entrada cada cierto tiempo, especificado por el valor del puerto SAMPLE MS del componente PidInit. Para cumplir con esta condición es necesario computar el algoritmo PID con el componente PidCompute, el cual debe llamarse como mínimo cada ‘SAMPLE MS’ mili-segundos. Podemos llamarlo desde un evento OnTimer, por ejemplo cada 200 mili-segundos (suficiente para la mayoría de las aplicaciones). También desde el diagrama Ladder Principal.sld, ya que de esta forma el PLC lo ejecutará en cada SCAN-CYCLE respetando el tiempo SAMPLE MS (a menos que el diagrama Principal.sld tarde más tiempo en ejecutarse). A menor tiempo de SAMPLE MS, mayor es el refresco o actualización del valor de Salida.

El valor de Salida varía desde el valor MIN a MAX especificado en los puertos del componente PidInit. Cuando no existe Error, el valor de salida es MIN.

Normalmente el valor de Salida del controlador PID se aplica de forma analógica al actuador (ejemplo salida analógica de voltaje variando entre 0-10V, salida PWM variando ancho de pulso entre 0% y 100%, etc). Es la forma adecuada de controlar el Proceso de forma exacta. El valor de Salida analógico del controlador PID se obtiene con el componente PidReadAnalogOutput.



También es posible utilizar el valor de Salida de forma digital (es decir 0 o 1), muy útil para un relé o transistor que tiene solo dos estados de control (desactivado/activado). Esta forma es menos exacta, ya que solo tenemos dos estados de Salida.

En el caso de usar la Salida de forma digital, lo que hace el controlador PID es controlar el ancho del pulso de la salida digital en un tiempo que varía desde MIN a MAX mili-segundos. Por ejemplo, si MIN=0 y MAX=5000, la Salida digital del PID estará en 1 un tiempo entre 0 y 5000 mili-segundos, el ciclo se repetirá cada 5000 mili-segundos. Es un control de ancho de pulso. La cantidad de tiempo en 1, depende del Error del sistema. Si el Error es nulo, el tiempo en 1 será cero, e irá aumentando el tiempo a medida que aumente el Error. Si el Error es muy grande, es probable que esté en 1 todo el tiempo, es decir los 5000 milisegundos del ciclo. Recuerde que el PID actualiza la Salida cada SAMPLE MS. Por ejemplo, si SAMPLE MS es 200 mS, no espere que los cambios en la salida digital se apliquen antes de los 200 mS, por lo tanto cuando la salida está en 1, lo hará con una resolución de 200 mS.

El valor de Salida Digital del controlador PID se obtiene con el componente PidReadDigitalOutput.

Cuando se usa el PID con la Salida Digital, la Salida Analógica (obtenida por PidReadAnalogOutput) reporta un valor entre MIN y MAX, que representa tiempo en mili-segundos.

Para usar la Salida Digital no hace falta ninguna configuración extra, solo entender el concepto.



Cualquier duda, quedamos a disposición.

Saludos!
« Última Modificación: junio 03, 2019, 20:45:46 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Mecatronico26

  • Aprendiz
  • **
  • Mensajes: 25
Re:Control PID de temperatura y presión en el tiempo
« Respuesta #8 : mayo 29, 2019, 19:00:40 pm »
hola boris, excelente, muchas gracias, te hago otra consulta, tenes algun otro soporte teorico de la implementacion PID que pasaste? y cuantos modulos PID se pueden utilizar? por ejemplo necesito hacer control de temperatura en el tiempo, control de presion en el tiempo y control de vacio en el tiempo, gracias
« Última Modificación: mayo 29, 2019, 19:02:47 pm por Mecatronico26 »

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2087
  • Soporte Técnico
Re:Control PID de temperatura y presión en el tiempo
« Respuesta #9 : mayo 29, 2019, 20:45:00 pm »
hola boris, excelente, muchas gracias, te hago otra consulta, tenes algun otro soporte teorico de la implementacion PID que pasaste?

Buenas tardes,

Si, fíjate en el siguiente link, está la nota de aplicación AN033 :

www.slicetex.com/docs/an/an033/STX-AN033.pdf

Explica todo el marco teórico del controlador PID y como sintonizarlo.

cuantos modulos PID se pueden utilizar?

Actualmente en el fimware del STX8091 están habilitados 8 canales PID, es decir 8 controladores independientes.

Saludos!

« Última Modificación: junio 03, 2019, 20:42:00 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com