Subido por rosifs3

proyControl SNL con logica borrosa

Anuncio
REGULACIÓN DE UN SISTEMA NO LINEAL CON
LÓGICA BORROSA
TITULACIÓ: Enginyería en Automàtica i Electrònica Industrial
AUTOR: José Luis Pelegrí.
DIRECTOR: Enric Vidal.
DATA: Abril / 2014.
1
ÍNDICE
1
MEMORIA DESCRIPTIVA .......................................................................................................... 4
1.1
Objetivo del proyecto ............................................................................................................................. 4
1.2
Titular ..................................................................................................................................................... 4
1.3
Normativa de control de vertidos (licencia medioambiental) ............................................................. 5
1.4
Descripción del sistema actual de regulación ....................................................................................... 5
1.4.1
1.5
Posibles soluciones y solución adoptada ............................................................................................. 10
1.5.1
1.5.2
1.5.3
2
Descripción general de la solución adoptada ..................................................................................... 14
1.7
Prescripciones técnicas ........................................................................................................................ 14
1.8
Puesta en marcha y funcionamiento ................................................................................................... 15
1.9
Resumen del presupuesto .................................................................................................................... 15
MEMORIA DE CÁLCULO ......................................................................................................... 16
Planta .................................................................................................................................................... 16
2.1.1
2.1.2
2.2
2.3
2.5
6
Diseño del controlador borroso.............................................................................................................................. 26
Simulación sistema de control Fuzzy .................................................................................................. 28
Implementación del controlador Fuzzy .............................................................................................. 31
2.5.1
2.5.2
2.5.3
2.5.4
5
Modelización del controlador en tiempo discreto ................................................................................................. 23
Diseño del controlador Fuzzy .............................................................................................................. 24
2.3.1
2.4
Modelo de la planta ante una entrada escalón de HCl ........................................................................................... 17
Modelo del regulador de pH .................................................................................................................................. 20
Controlador discreto ............................................................................................................................ 23
2.2.1
4
Control Feed Forward (FF) .................................................................................................................................... 10
Control predictivo adaptativo experto (ADEX) .................................................................................................... 11
Control mediante lógica difusa (Fuzzy) ................................................................................................................ 12
1.6
2.1
3
Equipos utilizados .................................................................................................................................................... 8
Fuzzyficación ......................................................................................................................................................... 32
Base de reglas ......................................................................................................................................................... 35
Inferencia................................................................................................................................................................ 36
Desfuzzyficación .................................................................................................................................................... 37
2.6
Determinación de la validez del controlador fuzzy............................................................................ 38
2.7
Implementación del controlador en un PLC ...................................................................................... 43
PLANOS ....................................................................................................................................... 47
3.1
Localización fábrica ............................................................................................................................. 47
3.2
Ubicación sistema de recogida de aguas residuales ........................................................................... 47
3.3
Diagrama R&I del proceso de neutralización .................................................................................... 47
PRESUPUESTO........................................................................................................................... 51
4.1
Mediciones ............................................................................................................................................ 51
4.2
Cuadro de precios ................................................................................................................................ 53
4.3
Aplicación de precios ........................................................................................................................... 54
4.4
Resumen del presupuesto .................................................................................................................... 56
ANEXOS ....................................................................................................................................... 57
5.1
Código programa de inferencia del controlador Fuzzy en matlab ................................................... 57
5.2
Juego de pruebas del código resultado de la acción de control del regulador ................................. 59
5.3
Desfuzzificación válvulas de dosificación HCl ................................................................................... 62
5.4
Código acción de control del regulador en PLC ................................................................................ 66
5.5
Código modelo neutralización pH en PLC ......................................................................................... 68
5.6
Diagrama de bloques del sistema de control en PLC ........................................................................ 69
REFERENCIAS ........................................................................................................................... 71
2
Figura 1. Diagrama PI&D del proceso de neutralización de aguas residuales. ............................................................................... 6
Figura 2. Diagrama de bloques del sistema ...................................................................................................................................... 6
Figura 3. Sistema completo ............................................................................................................................................................... 7
Figura 4. Sistema vertido de aguas residuales .................................................................................................................................. 7
Figura 5. Sistema de medición de pH ............................................................................................................................................... 8
Figura 6. Sistema de dosificación y regulación de HCl ................................................................................................................... 8
Figura 7. Lazo de control FF........................................................................................................................................................... 10
Figura 8. Lazo de control ADEX .................................................................................................................................................... 12
Figura 9. Diagrama de pertenencia de control Fuzzy ..................................................................................................................... 14
Figura 10. Respuesta en lazo abierto del sistema ........................................................................................................................... 16
Figura 11. Respuesta en lazo cerrado para cambio de consigna de pH 4 a pH 6 ........................................................................... 16
Figura 12. Respuesta temporal del pH a una entrada escalón de HCl con válvula pequeña ......................................................... 17
Figura 13. Respuesta temporal del pH a una entrada escalón de HCl con válvula pequeña en Matlab ........................................ 18
Figura 14. Respuesta temporal del pH a una entrada escalón de HCl con válvula grande ............................................................ 18
Figura 15. Respuesta temporal del pH a una entrada escalón de HCl con válvula grande ............................................................ 19
Figura 16. Diagrama Bode de comparativa de respuestas en frecuencia de válvulas grande y pequeña ...................................... 19
Figura 17. Diagrama de bloques sistema HCl/pH .......................................................................................................................... 20
Figura 18. Diagrama de bloques del regulador PID Siemens ........................................................................................................ 20
Figura 19. Modelo continuo del sistema de neutralización ............................................................................................................ 21
Figura 20. Respuesta de pH a una variación en el SP. ................................................................................................................... 22
Figura 21. Variación del SP de caudal de HCL para conseguir el pH necesario ........................................................................... 22
Figura 22. Comparativa modelos continuo y discreto .................................................................................................................... 23
Figura 23. Respuesta del regulador de pH en continuo y en discreto ............................................................................................ 23
Figura 24. Respuesta del pH de salida en continuo y discreto ....................................................................................................... 24
Figura 25. Diagrama bloques sistema PID vs FUZZY ................................................................................................................... 24
Figura 26. Diagrama de bloques del regulador Fuzzy .................................................................................................................... 25
Figura 27. Representación gráfica de las funciones de pertenencia. .............................................................................................. 26
Figura 28. Estructura de bloques entrada/salida del modelo fuzzy en Matlab ............................................................................... 27
Figura 29. Definición de los valores de salida en el bloque fuzzy ................................................................................................. 27
Figura 30. Set de reglas en el bloque fuzzy en Matlab ................................................................................................................... 28
Figura 31. Modelo del sistema con válvulas fuzzyficadas ............................................................................................................. 29
Figura 32. Resultado de la simulación tras las válvulas fuzzyficadas............................................................................................ 29
Figura 33. Comparativa respuesta controlador discreto VS controlador borroso ......................................................................... 30
Figura 34. Salida del controlador borroso ...................................................................................................................................... 30
Figura 35. Respuesta de pH en la simulación del controlador borroso .......................................................................................... 30
Figura 36. Aplicación de las reglas, inferencia y desfuzzyficación en la simulación .................................................................... 31
Figura 37. Modelo del sistema sustituyendo bloque Fuzzy por función ........................................................................................ 31
Figura 38. Estructura de un regulador difuso ................................................................................................................................. 31
Figura 39. Función de pertenencia trapezoidal ............................................................................................................................... 32
Figura 40. Método de inferencia MAXMIN................................................................................................................................... 36
Figura 41. Representación del grado de pertenencia ...................................................................................................................... 36
Figura 42. Aplicación de las expresiones de la inferencia ............................................................................................................. 36
Figura 43. Aplicación gráfica de la inferencia................................................................................................................................ 37
Figura 44. Ecuación general para el cálculo del centro de gravedad (CoG) .................................................................................. 37
Figura 45. Desfuzzyficación de los singletones ............................................................................................................................. 37
Figura 46. Comparativa del modelo continuo y el modelo fuzzy .................................................................................................. 39
Figura 47. Sistema de inferencia fuzzy ........................................................................................................................................... 39
Figura 48. Funciones de pertenencia .............................................................................................................................................. 40
Figura 49. Respuesta temporal de la controlador en ecuación de diferencias y del controlador continuo .................................... 40
Figura 50. Modelo para la validación de la respuesta del controlador borroso ............................................................................. 41
Figura 51. Respuesta temporal de la controlador borroso .............................................................................................................. 41
Figura 52. Salida de la función de control que reproduce el control fuzzy .................................................................................... 42
Figura 53. Resultado de la simulación con la función que reproduce el control fuzzy ................................................................. 42
Figura 54. Instalación para la simulación del modelo .................................................................................................................... 43
Figura 55. Pantalla de control del proceso de neutralización ......................................................................................................... 44
Figura 56. Módulo CFC con la lógica del sistema ......................................................................................................................... 44
Figura 57. Detalle del diagrama de bloques regulador y neutralización ........................................................................................ 45
Figura 58. Respuesta de pH en el modelo de PLC ......................................................................................................................... 45
Figura 59. Respuesta del regulador en el modelo de PLC VS modelo en Matlab ......................................................................... 46
Figura 60. Modelo para juego de pruebas....................................................................................................................................... 59
Figura 61. Respuesta regulador a entrada de pH=1 ........................................................................................................................ 59
Figura 62. Respuesta regulador a entrada de pH=3 ........................................................................................................................ 60
Figura 63. Respuesta regulador a entrada de pH=7 ........................................................................................................................ 60
Figura 64. Respuesta regulador a entrada de pH=9 ........................................................................................................................ 60
Figura 65. Respuesta regulador a entrada de pH=9,3 ..................................................................................................................... 61
Figura 66. Respuesta regulador a entrada de pH=10 ...................................................................................................................... 61
Figura 67. Respuesta regulador a entrada de pH=12 ...................................................................................................................... 61
Figura 68. Función de pertenencia trapezoidal ............................................................................................................................... 62
Figura 69. Función de pertenencia trapezoidal ............................................................................................................................... 62
Figura 70. Modelo del sistema con funciones desfuzzificadas ...................................................................................................... 64
Figura 71. Salida de la función de control que reproduce el comportamiento de las válvulas ...................................................... 65
Figura 72. Resultado de la simulación con la función que reproduce el comportamiento de las válvulas ................................... 65
3
1
MEMORIA DESCRIPTIVA
1.1
Objetivo del proyecto
El objetivo del proyecto es mejorar la actual regulación de neutralización de aguas
residuales de la fábrica que Bayer MaterialScience S.L. tiene en su site de Tarragona. Estas
aguas, tras ser procesadas se vierten, a través de un emisario común del polígono sur, al
mar.
El sistema de regulación actual responde correctamente y de manera muy fiable en la
zona lineal de la regulación, pero cuando el proceso de neutralización está en zona no
lineal el sistema pasa a ser controlado por un operador manual que vuelve a llevarlo a una
zona lineal.
Además durante el arranque del proceso de neutralización un operador tiene que
llevar el proceso a la zona lineal antes de iniciar el sistema de control automático.
Se pretende diseñar un sistema de control inmune al cambio de zona de regulación y
que sea capaz de controlar la neutralización durante el arranque del proceso, la operación
en zona lineal y que lleve el sistema nuevamente a zona lineal cuando entre en zona no
lineal.
1.2
Titular
El titular del presente proyecto es:
Nombre: Bayer MaterialScience S.L.
CIF: B62776794
Dirección: Ctra. Vilaseca – La Pineda S/N 43110 La Canonja
Representante legal: Jesús Loma-Osorio
Telf.: 977 358 100
4
1.3
Normativa de control de vertidos (licencia medioambiental)
La normativa de vertido de aguas residuales establece los límites máximos
autorizados de los parámetros de pH, TOC (Total Organic Carbon) y partículas en
suspensión permitidos en los vertidos de aguas residuales. Para el caso que nos ocupa, el
pH del agua vertida debe estar entre pH 4 y 9.
La normativa a aplicar está contenida en los siguientes documentos:
1.4

Real Decreto Legislativo 1/2001,de 20 de Julio, por el que se aprueba el
Texto Refundido de la Ley de Aguas (BOE n º 176, de 24 de Julio).

Ley 16/2002, de 1 de Julio de Prevención y Control Integrados de la
Contaminación (BOE n º 157 de 2 de Julio).

Real Decreto 849/1986, de 11 de Abril, por el que se aprueba el Reglamento
de Dominio Público Hidráulico (BOE n º 103, de 30 de Abril), modificado
parcialmente por el Real Decreto 1315/1992 de 30 de Octubre (BOE n º 288
de 1 de Diciembre) y por el Real Decreto 606/2003, de 23 de Mayo (BOE n º
135, de 6 de Junio).

Real Decreto 995/2000, de 2 de Junio, por el que se fijan objetivos de calidad
para determinadas sustancias contaminantes y se modifica el reglamento del
Dominio Público Hidráulico, aprobado por el Real Decreto 849/1986, de 11
de Abril (BOE nº 147 de 20 de Junio).
Descripción del sistema actual de regulación
El sistema actual de neutralización se basa en la reacción de un caudal de pH básico
con un caudal de pH ácido.
El sistema de control presenta una estrategia feedback, el controlador responde al
valor de pH del medio a verter y actúa sobre una válvula de regulación en la línea de
caudal de HCl que reacciona con el medio básico y neutraliza la solución.
A continuación se puede ver el diagrama de proceso de neutralización de las aguas
residuales, la red de aguas residuales, el depósito de almacenamiento intermedio de aguas
residuales, el sistema de monitorización de pH de vertido de aguas residuales, el control de
caudal de HCl para la neutralización de las aguas residuales y el caudal total de vertido de
aguas residuales hacia el emisario común del polígono sur.
5
Figura 1. Diagrama PI&D del proceso de neutralización de aguas residuales.
En general, el diagrama de bloques del sistema es el siguiente:
Figura 2. Diagrama de bloques del sistema
El sistema de recogida de aguas residuales se centra en un punto de la fábrica donde
se ubican todos los servicios necesarios para su neutralización y control de vertido.
6
Figura 3. Sistema completo
En las siguientes imágenes se podrá identificar cada elemento del proceso en el
conjunto de la instalación real:
Figura 4. Sistema vertido de aguas residuales
7
Figura 5. Sistema de medición de pH
Figura 6. Sistema de dosificación y regulación de HCl
1.4.1 Equipos utilizados
El control de la neutralización está basado en varios equipos y sistemas que
interaccionan para dar respuesta al valor de pH de salida para que el vertido esté dentro de
los parámetros de consigna requeridos.
1.4.1.1 Sistema de control
El sistema de control se basa en un sistema Siemens S7 300 que obtiene las señales
de campo que le envían los dos medidores de caudal y el medidor de pH y envía señales de
control a la válvula de regulación.
8
1.4.1.2 Medición de caudal de salida del tanque
TAG
15F202
DESCRIPCIÓN Caudal agua resid. salida tanque 2200 m3
FABRICANTE
Endress+Hauser
MODELO
PROMAG-23
PRINCIPIO DE Inductivo
MEDIDA
RANGO
0-130 m3/h
PRECISIÓN
0,1 m3/h
1.4.1.3 Medición de caudal de HCl
TAG
15F400
DESCRIPCIÓN Aporte de HCL al mezclador 15X400
FABRICANTE
Endress+Hauser
MODELO
PROMAG-53
PRINCIPIO DE Inductivo
MEDIDA
RANGO
0-500 l/h
PRECISIÓN
0,1 l/h
1.4.1.4 Válvulas de regulación de caudal HCl
TAG
15F400.1/2
DESCRIPCIÓN Aporte de HCL al mezclador 15X400
FABRICANTE
Samson
MODELO
Richier chemie
RANGO
0-100 %
PRECISIÓN
0,1 %
NOTAS
La válvula de mayor capacidad tiene un kv
de 0.8 y la de menor capacidad un kv de
0.1 (kv = coeficiente de caudal)
9
1.4.1.5 Medición de Ph
TAG
15Q400.1
DESCRIPCIÓN Analizador pH aguas residuales
FABRICANTE
Yokogawa
MODELO
EXA-PH202
PRINCIPIO DE pH
MEDIDA
RANGO
0-14 pH
PRECISIÓN
0,01 pH
1.5
Posibles soluciones y solución adoptada
1.5.1 Control Feed Forward (FF)
El control Feed Forward es una estrategia usada para compensar perturbaciones en
un sistema antes de que éstas afecten la variable controlada. En este caso, se mide una
variable que pueda afectar la variable controlada, se predice su efecto y se aplica una
acción correctiva anticipadamente al mismo.
Para lograr la capacidad predictiva del FFC es necesario conocer la relación entre la
variable cuyo efecto se desea suprimir y la variable controlada, en lo que constituye un
modelo, total o parcial, del proceso.
La calidad del control estará en función de la calidad del modelo usado. El
comportamiento de otras variables no compensadas puede afectar a la variable controlada.
El tiempo de respuesta del FFC debe ser menor que el tiempo muerto entre la
presencia de la perturbación en la variable compensada y la manifestación del efecto en la
variable controlada. Este tiempo muerto debe ser conocido para sincronizar la salida del
controlador.
Se pueden considerar múltiples variables como entrada al FFC y compensar el efecto
combinado de las perturbaciones en ellas.
Figura 7. Lazo de control FF
10
1.5.2 Control predictivo adaptativo experto (ADEX)
El control Adaptativo Predictivo Experto (ADEX) combina el control adaptativo
predictivo (AP) con el control experto basado en reglas, mediante la definición de
dominios de operación para ambos en una estructura de control integrada.
Dado un rango de operación de la variable bajo control, la metodología ADEX
divide dicho rango en diferentes dominios de control adaptativo predictivo y de control
experto.
Los dominios AP son aquellos en los que la relación dinámica causa-efecto entre las
variables de entrada y salida del proceso puede ser identificada por medio de un sistema
adaptativo. En estos dominios se aplicará control AP y la operación del proceso podrá ser
generalmente controlada en forma óptima.
Los dominios EX son dominios de operación donde el control manual puede
proporcionar un control más robusto y eficiente que el control AP. Esto puede suceder
cuando no exista una relación causa-efecto entre las variables entrada-salida o ésta no
pueda obtenerse en tiempo real o cuando adquirir dicho conocimiento llevaría cierto
tiempo y no se obtendría una mejora sustancial respecto al control manual
Estos dominios se sitúan habitualmente en los extremos del rango de operación
normal de las variables de proceso y en ellos se utiliza la experiencia del operador para
definir las reglas que imitan la inteligencia del control manual. El control ADEX aplicado
en los dominios expertos se diseña con el fin de conducir las variables del proceso hacia
los dominios AP, donde se aplica el control AP.
El control ADEX está formado por diferentes bloques:
- Bloque de control: Dependiendo de si el dominio de operación en el que se
encuentra la variable de salida del proceso es AP o EX, el bloque experto determina la
aplicación de control AP o EX. En el primer caso el bloque de control actuará como
modelo predictivo, dentro del esquema propio del control AP, y calculará el control
predictivo a aplicar al proceso. Si debe aplicarse control experto, el bloque de control
actuará como un sistema por reglas que, imitando la actuación del operador humano,
aplicará control experto al proceso. Esta función del bloque experto evitará la aplicación de
control AP cuando no es procedente y el deterioro que conllevaría este tipo de aplicación, y
permitirá en estos casos una actuación de control razonable como la que llevaría a cabo un
operador humano del proceso. Esta función del bloque experto confiere al controlador
ADEX gran robustez y fiabilidad industrial.
11
- Bloque conductor: En su interacción con el bloque conductor, el bloque experto
puede determinar el criterio de rendimiento para la generación de la trayectoria deseada
más conveniente para cada uno de los dominios AP. Así puede determinar la velocidad de
cambio o pendiente de la trayectoria deseada en su acercamiento a la consigna. Si el
dominio está alejado de la consigna puede desearse una gran velocidad de cambio, pero si
el dominio contiene la consigna, entonces podría desea una velocidad de cambio menor,
para que la consigna se alcance suavemente y sin oscilaciones.
- Mecanismo de adaptación: En su interacción con el mecanismo de adaptación, el
bloque experto puede determinar cuando conviene activar o desactivar la adaptación de los
parámetros del modelo AP, según sean las condiciones de operación y la reinicialización
de los parámetros del modelo AP al variar el dominio de operación.
El funcionamiento del bloque experto permite hacer uso del conocimiento previo del
que se dispone sobre el proceso y utilizarlo, por medio de aplicación de reglas, tanto en
aplicaciones de control experto como en la aplicación del control adaptativo predictivo.
Figura 8. Lazo de control ADEX
1.5.3 Control mediante lógica difusa (Fuzzy)
La Lógica Fuzzy también es conocida como Lógica Difusa o Lógica Borrosa, y se
basa en lo relativo de lo observado. En la lógica clásica (binaria o booleana) se tiene solo
dos estados posibles: verdadero y falso (1 ó 0), en la lógica multivalor se incluyen sistemas
lógicos que admiten varios valores de verdad posibles. En cambio en la lógica Difusa se
asigna valores intermedios dentro de una escala a fin de cuantificar una incertidumbre. Por
ejemplo según la lógica clásica solo se pueden definir la temperatura como “fría” y como
“caliente”, según la lógica difusa se pueden asignar infinitos valores intermedios como
“poco fría”, “templada”, “tibia”, “algo caliente”, etc.
12
Todo sistema puede ser representado matemáticamente utilizando técnicas de
identificación y parametrización de sistemas, dando lugar a un modelo matemático, cuyo
comportamiento puede ser simulado y analizado empleando herramientas informáticas. Por
tanto, se tiene la capacidad de evaluar el desempeño de dicho conjunto de acciones a fin de
establecer si su aplicación constituye la aplicación de la lógica correcta.
La lógica Fuzzy utiliza la experiencia del ser humano para generar un conjunto de
normas que permitan seguir una lógica de razonamiento. Puede representar el modelo
matemático de un sistema mediante el uso de variables lingüísticas y una serie de
condiciones o reglas previamente definidas. Sus algoritmos (reglas) hacen uso de
instrucciones IF…THEN (SI…ENTONCES), por ejemplo: SI hay mucha demanda de mi
producto ENTONCES aumentaré el precio.
Elementos:
-Variable Lingüística: Son variables evaluadas en un lenguaje natural y no
corresponden a un valor numérico exacto. Las variables lingüísticas pueden
descomponerse en términos lingüísticos. Ej. temperatura, conducta, posición, tamaño,
ganancias, tiempo, etc.
- Universo de Discurso: Es el rango de toda la información necesaria para el
comportamiento correcto de un sistema. Por ejemplo, “temperatura” en rango de 5 a 100
°C; “rentabilidad” en rango de 10 % a 33 %, etc.
- Término Lingüístico: Son los sub-conjuntos o las partes que pueden dividirse una
variable lingüística. Por ejemplo para la variable “tamaño” se pueden tener los términos:
alto, medio, bajo; para la variable “margen de utilidad” se pueden tener los términos:
esperado, apropiado, regular, deficiente, etc.
- Conjuntos Difusos: Son formas geométricas que representan una función generada
por un término lingüístico. Ellas elaborarán una salida intermedia en el sistema difuso.
Pueden ser: triángulos, cuadrados, trapecios, campanas gaussianas, entre otros.
- Función de Pertenencia: La función de pertenencia es aquella que asocia a cada
elemento de entrada el grado de pertenencia al valor lingüístico asociado.
- Fuzzyficación: La fuzzyficación es el proceso realizado para convertir un valor
tradicional lógico, binario, decimal, y/o exacto, en un valor o cantidad difusa.
- Proceso de Inferencia: Es el proceso o metodología que se realiza para evaluar las
normas, dado un conjunto de reglas (instrucciones SI…ENTONCES) se deben permitir
determinar un resultado. Permite operar con conjuntos: Unión (OR), Intersección (AND),
Complemento (NOT).
13
- Desfuzzyficación: Es el proceso inverso que el de la fuzzificación, es decir, es la
acción de convertir un valor difuso en un valor escalar.
Figura 9. Diagrama de pertenencia de control Fuzzy
1.6
Descripción general de la solución adoptada
Se descarta el uso de un sistema de control basado en Feed Forward debido a que no
es capaz de responder a las diversas situaciones de marcha de la instalación.
Se descarta el uso de un sistema de control predictivo adaptativo experto por el
elevado coste que tiene su implementación para una instalación de las características del
sistema de control de vertidos.
Se opta finalmente por un sistema basado en lógica difusa por su sencillez y
adaptabilidad a las condiciones del proceso de control de vertidos.
1.7
Prescripciones técnicas
La aplicación tiene que ser compatible con el sistema de control Siemens S7 v6.1 y
debe usar los bloques estándar definidos por la PCT Global Community de Bayer AG.
14
1.8
Puesta en marcha y funcionamiento
Comprobación de los requisitos legales: se comprobarán los parámetros de vertido
establecidos por la administración en la concesión de la licencia de actividades.
Comprobación de la interacción con elementos de seguridad: se comprobará que las
nuevas funciones no interfieran en las cadenas de seguridad establecidas para la operación
segura de la instalación.
Comprobación de la operatividad de los dispositivos: se comprobará que tanto el
programa principal, como los dispositivos actuadores operan bajo los parámetros
establecidos en el proyecto.
1.9
Resumen del presupuesto
El precio del presupuesto de licitación resultante es de 13.495,46 € (trece mil
cuatrocientos noventa y cinco euros con cuarenta y seis céntimos), gastos generales,
beneficio industrial e IVA incluidos. Tal y como se encuentra detallado en el apartado 4
del presupuesto.
Tarragona, a 7 de Abril de 2014
Firmado: José Luis Pelegrí
Ingeniero en Automática y Electrónica Industrial
Nº colegiado: 47757649
15
2
MEMORIA DE CÁLCULO
2.1
Planta
La respuesta en equilibrio del sistema tiende a ir a pH 12 que es el pH de la solución
tampón del tanque.
Para obtener dicha respuesta se desconecta el regulador de pH y a partir de un valor
estable de pH se hace pasar el medio básico para ver la respuesta del medidor de pH ante el
cambio (respuesta del sistema en lazo abierto).
Figura 10. Respuesta en lazo abierto del sistema
Figura 11. Respuesta en lazo cerrado para cambio de consigna de pH 4 a pH 6
16
2.1.1 Modelo de la planta ante una entrada escalón de HCl
En reposo, el sistema intenta volver al pH equilibrio, en este caso pH 12. Para
determinar el comportamiento del sistema ante una entrada de HCl se realizan varias
pruebas donde se varía la cantidad de HCl del sistema y se observa la respuesta.
Se tiene que tener en cuenta que el sistema de dosificación de HCl está compuesto
por dos válvulas con dinámicas diferentes, a 160 l/h se cambia de una a otra válvula, por lo
que se obtendrá la respuesta del sistema a ambos lados del cambio de válvula.
En ambos casos, para determinar la función de transferencia del sistema se aplica una
entrada escalón de caudal de HCl y se observa la respuesta del pH. La función de
transferencia responde a la siguiente expresión:
∆
∆
∙
1
Para la válvula de menor capacidad se obtienen los siguientes resultados:
Q1
[l/h]
Q2
[l/h]
Q
[l/h]
pH1
[pH]
pH2
[pH]
pH
T63
[s]
181
93,5
-87,5
5,1
9,5
4,4
225
10
180
9
160
8
140
7
120
6
100
5
80
4
60
3
40
2
20
1
0
0
K11_15F400_X
Caudal
HCl
K11_15F400_Y
Apertura
válvula
pH
k11_15q400_1_x
0
40
80
120
160
200
240
280
320
360
400
440
480
520
560
200
Figura 12. Respuesta temporal del pH a una entrada escalón de HCl con válvula pequeña
17
Obteniendo la siguiente función de transferencia:
0,0002235
0,004444
Figura 13. Respuesta temporal del pH a una entrada escalón de HCl con válvula pequeña en Matlab
Para la válvula de mayor capacidad se realizan las siguientes pruebas:
Q1
[l/h]
Q2
[l/h]
Q
[l/h]
pH1
[pH]
pH2
[pH]
pH
T63
[s]
237
180
-57
3,7
5,1
1,4
185
Gg(s)
6
250
5
200
4
150
3
100
2
50
K11_15F400_X
Caudal
HCl
K11_15F400_Y
Apertura
válvula
pH
k11_15q400_1_x
1
0
t
25
55
85
115
145
175
205
235
265
295
325
355
385
415
445
0
Figura 14. Respuesta temporal del pH a una entrada escalón de HCl con válvula grande
Obteniendo la siguiente función de transferencia:
0,0001328
0,005405
18
Figura 15. Respuesta temporal del pH a una entrada escalón de HCl con válvula grande
A continuación se puede ver la diferencia de ganancia de cada una de las válvulas (-- valv.
Pequeña / oo valv. Grande):
Figura 16. Diagrama Bode de comparativa de respuestas en frecuencia de válvulas grande y pequeña
19
El mezclador y la longitud de tubería desde la válvula de regulación hasta la
corriente principal de agua residual infieren al sistema un retardo de 30’’ en la respuesta.
El sistema se puede representar con el siguiente diagrama de bloques:
Figura 17. Diagrama de bloques sistema HCl/pH
2.1.2 Modelo del regulador de pH
El objetivo del regulador de pH es conseguir el valor de pH deseado mediante la
generación del valor de caudal de HCl adecuado.
El regulador de Siemens programado en un S7 300 o 400 obedece al siguiente
diagrama de bloques:
Figura 18. Diagrama de bloques del regulador PID Siemens
20
De este diagrama de bloques se desprende la siguiente expresión:
1
1
1
Finalmente, dado que el regulador real sólo tiene configurados los parámetros de
Ganancia, Tiempo integral y Tiempo derivativo, se puede modelar con la siguiente función
de transferencia:
1
1
1
Los parámetros del regulador real son:
GAIN = -0,3
TN = 100
TV = 0
Obteniéndose la función de transferencia del controlador PID real:
0,3
0,003
A pesar de tener los parámetros del regulador, su salida se tiene que adaptar en
ganancia y offset a los requisitos de las válvulas y caudal de HCl necesarios. Para eso se
aplican los valores implementados en el proceso real (Ganancia=LMN_FAC=50 y
offset=LMN_OFF=-100).
Con estos parámetros se obtiene el modelo final del sistema de neutralización de pH.
Figura 19. Modelo continuo del sistema de neutralización
21
Para la simulación del sistema se han tenido varias consideraciones. Se parte de un
pH en equilibrio de 12 puesto que es el pH base del tanque que se precisa neutralizar. Para
comprobar los resultados se ha bajado a un valor de referencia de pH (SP) igual a pH 3.7 y
se comprueba que el caudal de HCl necesario corresponda con el real (237 l/h) y se aplica
un SP de 5 para ver la respuesta dinámica y que el caudal de pH corresponda con el real
(180 l/h).
El tiempo que lleva al sistema a alcanzar el valor de consigna desde un pH 3,7 a un
pH 5 en la simulación es de unos 750 segundos (12,5 minutos), en el sistema real el tiempo
que lleva al sistema a alcanzar un valor de pH de 6 desde un pH 4 es de unos 15 minutos
aproximadamente. A continuación se pueden ver los resultados de la simulación, se pueden
observar que los tiempos de respuesta también se aproximan a los resultados obtenidos en
las pruebas reales (ver figura 11).
Figura 20. Respuesta de pH a una variación en el SP.
Figura 21. Variación del SP de caudal de HCL para conseguir el pH necesario
22
2.2
Controlador discreto
2.2.1 Modelización del controlador en tiempo discreto
La función de transferencia en el dominio frecuencial tiene la siguiente expresión:
0,3
0,003
Partiendo de la función de transferencia del controlador en el dominio frecuencial y
aplicando en Matlab la transformada z se obtiene la siguiente función de transferencia (Se
toma el método aplicando ZOH y un periodo de muestreo de T= 1 s.
0,3 0,297
1
A continuación se verifican estos resultados con el modelo continuo para contrastar
las respuestas del sistema continuo y del sistema discreto.
Figura 22. Comparativa modelos continuo y discreto
Figura 23. Respuesta del regulador de pH en continuo y en discreto
23
Figura 24. Respuesta del pH de salida en continuo y discreto
Como se puede observar de los resultados, los sistemas son idénticos.
2.3
Diseño del controlador Fuzzy
A continuación se diseña el controlador Fuzzy en base a los resultados obtenidos del
modelo del regulador PID discreto. El diagrama de bloques de ambas topologías de
regulación se puede ver en las figuras a continuación.
Figura 25. Diagrama bloques sistema PID vs FUZZY
24
A continuación se debe transformar la expresión del regulador discreto en una serie
de ecuaciones para poderlo representar con un algoritmo.
Figura 26. Diagrama de bloques del regulador Fuzzy
Dónde:







r(k) es la referencia.
u(k) es la entrada en la planta en el instante k.
u(k-1) es la entrada de la planta en el instante k-1.
e(k) es el error en el instante k.
e(k-1) es el error en el instante k-1.
y(k) es la salida de la planta.
Ke, Kde y Ku son ganancias para sintonizar el control.
La expresión de la ecuación en diferencias que representa la acción de control del
regulador PID discreto queda como sigue:
0.3
1
1
0.297
→
1
→
1
1
0.3
1
0.3
0,297
0.297
1
1
Una vez obtenida la ecuación del regulador, se deben definir las reglas del
controlador borroso.
25
2.3.1 Diseño del controlador borroso
Se establecen varias reglas en función de la actuación del regulador. La principal será
el regulador discreto que trabajará cercano al punto donde el pH se comporta de manera
más lineal.
Se definen las funciones de pertenencia en función de los valores de entrada que se
tengan que tener en consideración:
o
o
o
o
pH Muy Básico: MB= 10
pH Básico: B=8
pH Neutro: N=[4,6]
pH Ácido: A= 4
A continuación podemos ver la representación gráfica de las funciones de
pertenencia según la entrada de valor de pH:
Figura 27. Representación gráfica de las funciones de pertenencia.
Se añadirán reglas con salidas escalares que actuarán como lo haría un operador
humano al trabajar el sistema fuera de la zona lineal de trabajo del regulador. A
continuación se muestran las reglas del controlador borroso:
pH
u(k)
Descripción
MQ pH muy básico
MB
SI
BQ pH algo básico
B ENTONCES
N
1
0.3
0,297
1
pH neutro
PQ pH ácido
A
26
Definiendo:
o MQ=400, mucho caudal de HCl necesario
o BQ= 300, bastante caudal de HCl necesario
o PQ= 100, poco caudal de HCl necesario
El modelo del controlador borroso se define en Matlab con la siguiente estructura:
Figura 28. Estructura de bloques entrada/salida del modelo fuzzy en Matlab
El valor de la salida que se ha definido para el controlador se implementa en el
módulo fuzzy y queda de la siguiente manera:
Figura 29. Definición de los valores de salida en el bloque fuzzy
27
El conjunto de reglas se define en el módulo fuzzy y queda de a siguiente manera:
Figura 30. Set de reglas en el bloque fuzzy en Matlab
2.4
Simulación sistema de control Fuzzy
El modelo inicial completo no se puede simular con el nuevo controlador fuzzy
puesto que produce errores de continuidad debido a los selectores de qué válvula opera en
función del caudal.
Para solventar este problema de simulación se obtiene el modelo fuzzyficado del
sistema de doble válvula.
Para ello se considera la discretización de cada válvula. Para la válvula pequeña:
0,0002235
→
0,004444
0,0002284
1 0,9956
→
0.9956
1
0.0002284
1
0,0001324
1 0,9946
→
0.9946
1
0.0001324
1
Para la válvula grande:
0,0001328
→
0,005405
Las reglas del sistema de inferencia son las siguientes:
QHCl
SI
mucho
poco
u(k)
ENTONCE
S
Descripción
0.9946
1
0,0001324
1
Caudal 160
0.9956
1
0,0002284
1
Caudal 160
28
El modelo fuzzy del sistema queda de la siguiente manera:
Figura 31. Modelo del sistema con válvulas fuzzyficadas
A continuación se prueba el modelo sin aplicar las reglas al controlador pero a las
válvulas para ver que el sistema responde como antes de convertir el modelo de válvulas
discreto al modelo fuzzyficado.
Para esto se aplica una entrada escalón de pH, para pasar del valor de pH en
equilibrio (pH=12) a un pH=4.1. Una vez estabilizado el pH se comprueba que el
comportamientos de las válvulas es el esperado y coincide con el modelo discreto.
Figura 32. Resultado de la simulación tras las válvulas fuzzyficadas
Como se puede observar, el sistema es muy parecido al obtenido con el modelo
continuo del controlador y las válvulas. La mayor similitud la tiene alrededor del punto de
trabajo que es donde la función de control es puramente el resultado del regulador
fuzzyficado (tras escalón de entrada en el segundo 2000), mientras que en la zona más
29
alejada, donde se implementan otras reglas con salidas constantes, el regulador es más
suave y consigue mitigar el sobrepico que aparece en el modelo real (desde el instante
inicial hasta le segundo 2000) .
Figura 33. Comparativa respuesta controlador discreto VS controlador borroso
A continuación se simula el controlador borroso aplicando todo el conjunto de reglas
para los valores de pH de entrada y el modelo borroso del comportamiento de la
neutralización en función de la válvula que está operativa, que a su vez depende del valor
de caudal de HCl requerido por el sistema par alcanzar el valor de pH adecuado.
Figura 34. Salida del controlador borroso
A continuación se puede ver la respuesta del sistema.
Figura 35. Respuesta de pH en la simulación del controlador borroso
30
Durante la simulación del sistema se puede observar como trabaja la inferencia y la
desfuzzyficación en función del conjunto de reglas que se han definido y del valor de las
diferentes entradas:
Figura 36. Aplicación de las reglas, inferencia y desfuzzyficación en la simulación
2.5
Implementación del controlador Fuzzy
Para comprobar que los datos obtenidos del control con el regulador Fuzzy son
correctos y que se puede implementar en un PLC, se sustituye el módulo fuzzy por una
función donde se implementan las funciones desglosadas de la inferencia (si entonces)
para cada una de las funciones de pertenencia.
Figura 37. Modelo del sistema sustituyendo bloque Fuzzy por función
La estructura de bloques para la obtención del controlador difuso es el siguiente:
FUZZIFICACIÓN
INFERENCIA
DESFUZZIFICACIÓN
BASE DE
DATOS
Figura 38. Estructura de un regulador difuso
31
DESNORMALIZACIÓN
ENTRADA
NORMALIZACIÓN
BASE DE
REGLAS
SALIDA
2.5.1 Fuzzyficación
El primer paso es convertir las entradas numéricas en valores difusos. Proporciona el
grado de pertenencia de una variable de entrada en cada uno de los conjuntos difusos
asociados a las variables lingüísticas de la entrada.).
0,
,
1,
1
,
0,
Figura 39. Función de pertenencia trapezoidal
Las ecuaciones que se deben programar en la función fuzzy son las siguientes:
Si pH<=
entonces
=0;
Si pH>
y pH<=
entonces
=(pH- )/(
Si pH>
y pH<=
entonces
=1;
Si pH>
y pH<=
entonces
=(
Si pH>
entonces
- );
-pH)/( - );
=0;
Las funciones de pertenencia son Ácido (A), Neutro (N), Básico (B) y Muy Básico
(MB) tal y como se definen en la “Figura 39”.
Para la función de pertenencia A tenemos la siguiente inferencia:
PARAMETRO
VALOR
0
0
3
4
Con estos parámetros tenemos las siguientes ecuaciones:



Si pH> 0 y pH<= 3 entonces
Si pH> 3 y pH<= 4 entonces
Si pH> 4 entonces =0;
=1;
=( 4-pH);
32
Para la función de pertenencia N tenemos la siguiente inferencia:
PARAMETRO
VALOR
3
4
6
7
Con estos parámetros tenemos las siguientes ecuaciones:





Si pH<= 3 entonces =0;
Si pH> 3 y pH<=4 entonces =(pH- 3);
Si pH> 4 y pH<= 6 entonces =1;
Si pH> 6 y pH<= 7 entonces =( 7 -pH);
Si pH> 7 entonces =0;
Para la función de pertenencia B tenemos la siguiente inferencia:
PARAMETRO
VALOR
6
7
9
10
Con estos parámetros tenemos las siguientes ecuaciones:





Si pH<= 6 entonces =0;
Si pH> 6 y pH<= 7 entonces =(pH- 6);
Si pH> 7 y pH<= 9 entonces =1;
Si pH> 9 y pH<= 10 entonces =( 10-pH);
Si pH> 10 entonces =0;
Para la función de pertenencia MB tenemos la siguiente inferencia:
PARAMETRO
VALOR
9
10
14
14
33
Con estos parámetros tenemos las siguientes ecuaciones:



Si pH<= 9 entonces =0;
Si pH> 9 y pH<= 10 entonces =(pH- 9);
Si pH> 10 y pH<= 14 entonces =1;
El fragmento de código correspondiente a esta etapa es el siguiente:
%%%%grado de pertenencia a estas en funciÛn del valor de pH
n_a=0;
n_n=0;
n_b=0;
n_mb=0;
CoG=0;
%%%ENTRADA pH
%%A (Acido)
a_a=0;
b_a=0;
c_a=3;
d_a=4;
if (pH>=b_a)&&(pH<=c_a) n_a=1;
elseif (pH>c_a)&&(pH<=d_a) n_a=(d_a-pH)/(d_a-c_a);
elseif (pH>d_a) n_a=0;
end
%%N (Neutro)
a_n=3;
b_n=4;
c_n=6;
d_n=7;
if (pH<=a_n) n_n=0;
elseif (pH>a_n)&&(pH<=b_n) n_n=(pH-a_n)/(b_n-a_n);
elseif (pH>b_n)&&(pH<=c_n) n_n=1;
elseif (pH>c_n)&&(pH<=d_n) n_n=(d_n-pH)/(d_n-c_n);
elseif (pH>d_n) n_n=0;
end
%%B (Basico)
a_b=6;
b_b=7;
c_b=9;
d_b=10;
if (pH<=a_b) n_b=0;
elseif (pH>a_b)&&(pH<=b_b) n_b=(pH-a_b)/(b_b-a_b);
elseif (pH>b_b)&&(pH<=c_b) n_b=1;
elseif (pH>c_b)&&(pH<=d_b) n_b=(d_b-pH)/(d_b-c_b);
elseif (pH>d_b) n_b=0;
end
%%MB (Muy Basico)
a_mb=9;
b_mb=10;
c_mb=14;
d_mb=14;
if (pH<=a_mb) n_mb=0;
elseif (pH>a_mb)&&(pH<=b_mb) n_mb=(pH-a_mb)/(b_mb-a_mb);
elseif (pH>b_mb)&&(pH<=c_mb) n_mb=1;
end
34
2.5.2 Base de reglas
Contiene el conjunto de reglas lingüísticas de control que caracterizan los objetivos y
la estrategia de control definida.
A continuación se muestran las reglas del controlador fuzzy:
pH
u(k)
Descripción
MQ pH muy básico
MB
SI
BQ pH algo básico
B ENTONCES
N
1
0.3
0,297
1
pH neutro
PQ pH ácido
A
Definiendo:
o MQ=400, mucho caudal de HCl necesario
o BQ= 300, bastante caudal de HCl necesario
o PQ= 100, poco caudal de HCl necesario
El fragmento de código correspondiente a esta etapa es el siguiente:
%%%%Vemos en funciÛn del valor de pH que regla tenemos que aplicar
%%PQ (Poco Caudal)
PQ=5;
%%NQ (Normal Caudal)
NQ=-0.3*e+0.297*de+du;
%%BQ (Bastante Caudal)
BQ=7;
%%MQ (Mucho Caudal)
MQ=8;
35
2.5.3 Inferencia
La inferencia proporciona una salida difusa en función de los valores borrosos de las
entradas y de las reglas lingüísticas difusas. En este caso se aplica el método de inferencia
MAX-MIN tal y como se puede ver en la figura siguiente:
Figura 40. Método de inferencia MAXMIN
A continuación se muestra un ejemplo de las funciones de pertenencia en función del
valor de pH:
A
0 3 4
N
B
6 7
MB
9 10 14
Figura 41. Representación del grado de pertenencia
Si se supone que el valor de pH es 9,3, según las funciones de pertenencia este valor
pertenece a la zona B y a la MB en diferente grado, para la zona B, la salida del regulador
es 7 y para la zona MB la salida del regulador es 8.
A continuación se muestra el cálculo de la inferencia a partir de las expresiones de
las funciones y la base de reglas:
B
MB
9,3
9,3 →
9,3
9 9,3
10
Figura 42. Aplicación de las expresiones de la inferencia
36
10
10
9
9
10 9
0,7
0,3
Aplicando la inferencia a partir de la base de reglas y del grado de pertenencia se
obtiene un conjunto de salidas difusas a modo de singletones:
B
MB
B
MB
9 9,3
10
7
∆Ton
8
Figura 43. Aplicación gráfica de la inferencia
2.5.4 Desfuzzyficación
Proporciona un valor numérico a la salida, a partir del valor difuso de salida
generado por la etapa de inferencia. A continuación se puede ver cómo se calcula la salida
escalara partir de los valores obtenidos en el proceso de inferencia donde se han obtenido
una serie de singletones:
Figura 44. Ecuación general para el cálculo del centro de gravedad (CoG)
La salida según la fase de inferencia:
∆
∆
∆
∆
B
∆
MB
fB
fMB
∆Ton
8→
9→
0,7 7
0,7
Figura 45. Desfuzzyficación de los singletones
La salida del regulador para un valor de entrada de pH de 9,3 será 7,3.
37
∆
0,3 8
0,3
7,3
Dado que sólo hay una variable de entrada que aplique a las base de reglas, el paso
de inferencia y desfuzzyficación se ha implementado a la vez. El fragmento de código
correspondiente a la etapa de inferencia y de desfuzzyficación es el siguiente:
%%%Si el pH es ·cido entonces Poco Caudal
%% 0<pH<=3 -> SÛlo A
if (pH<=3) CoG=PQ*n_a;end
%% 3<pH<=4 -> CoG A y N
if (pH>3)&&(pH<=4) CoG= (PQ*n_a+NQ*n_n);end
%%%Si el pH es neutro entonces Normal Caudal
%% 4<pH<=6 -> SÛlo N
if (pH>4)&&(pH<=6) CoG=NQ*n_n;end
%% 6<pH<=7 -> CoG N y B
if (pH>6)&&(pH<=7) CoG=(NQ*n_n+BQ*n_b); end
%%%Si el pH es Basico entonces Bastante Caudal
%% 7<pH<=9 -> SÛlo B
if (pH>7)&&(pH<=9) CoG=BQ*n_b;end
%% 9<pH<=10 -> CoG B y MB
if (pH>9)&&(pH<=10) CoG=(BQ*n_b+MQ*n_mb); end
%%%Si el pH es Muy Basico entonces Mucho Caudal
%% 10<pH -> SÛlo MB
if (pH>10) CoG=MQ*n_mb;end
El código completo se puede consultar en el “Anexo 5.1”.
2.6
Determinación de la validez del controlador fuzzy
Para verificar el comportamiento del sistema discreto se crea un modelo en lógica
difusa con la siguiente regla, que no hace más que forzar una salida u(k) según el regulador
discreto obtenido para cualquier valor de e(k) para que se comporte igual que el
controlador discreto.
e(k)
SI
N ENTONCES
u(k)
1
0.3
Descripción
0,297
38
1
Regulador
discreto
Para este fin creamos un modelo en Simulink para poder comparar el
comportamiento del modelo continuo (en la parte superior) y el modelo fuzzy (en la parte
inferior) como el de la figura:
Figura 46. Comparativa del modelo continuo y el modelo fuzzy
El controlador fuzzy tiene las entradas e(k) que se identifica por “e”, e(k-1) que se
identifica por “de”, u(k-1) que se identifica por “du” y la salida u(k) que se identifica por
“u”.
Se utiliza el método de inferencia Sugeno puesto que permite que la funciones de
pertenencia de las salidas puedan ser combinaciones lineales de las entradas y escalares,
que es lo que interesa en este caso.
Figura 47. Sistema de inferencia fuzzy
39
Para las pruebas del modelo la función de pertenencia de pH será única para todo
valor de pH y no existirá para e(k), e(k-1) y u(k-1) y para u(k) será la combinación lineal
de las variables de entrada. En el modelo final, las reglas se aplicarán al valor de entrada de
pH y el resto de variables de entrada se utilizarán para obtener u(k) a partir de combinación
lineal de éstas.
Figura 48. Funciones de pertenencia
Con esto sólo existe una regla, para todo valor de e(k), la salida u(k) será la
combinación lineal introducida en el sistema de inferencia.
La conclusión se muestra en la gráfica siguiente, y es que el comportamiento del
sistema discreto expresado en ecuación de diferencias es idéntico al modelo continuo
inicial, por lo que la aproximación discreta es válida y se puede aplicar al controlador
borroso.
Figura 49. Respuesta temporal de la controlador en ecuación de diferencias y del controlador continuo
40
La diferencia que se observa en este comportamiento y en el comportamiento del
controlador discreto puede ser debida ala modelización borrosa que se ha tenido que
realizar de la reacción de neutralización y el cambio de válvulas. Si se aplica únicamente el
modelo continuo de la válvula pequeña se observa que las respuestas del modelo de
controlador borroso (figura 51) y el discreto (figura 24) son idénticas.
El modelo que se ha aplicado para la demostración de que ambas respuestas son
idénticas es el siguiente:
Figura 50. Modelo para la validación de la respuesta del controlador borroso
Y el resultado queda como sigue:
Figura 51. Respuesta temporal de la controlador borroso
41
A continuación se puede ver el resultado de la salida del controlador a partir de las
ecuaciones que se han implementado en la función en Matlab.
Figura 52. Salida de la función de control que reproduce el control fuzzy
A continuación se puede ver la respuesta del sistema.
Figura 53. Resultado de la simulación con la función que reproduce el control fuzzy
Como se puede comprobar la salida del controlador borroso (mediante la aplicación
del módulo de Simulink) y de la función (desfuzzyficación del modelo mediante código de
programación) son idénticas (figuras 35 y 53), por lo que se puede concluir que el conjunto
de instrucciones son válidos y aplicables a cualquier máquina a partir de sencillas
instrucciones de lenguaje de programación a alto nivel, que también se pueden
implementar en los PLC actuales.
42
2.7
Implementación del controlador en un PLC
Para comprobar que el modelo es correcto y funcional, se implementa el código del
regulador en un PLC de la serie S7 400 de Siemens y el código necesario se realizará
utilizando el interface de PCS7 de Siemens. Tal y como se muestra en el “Anexo 5.3”, se
ha creado la función para la desfuzzyficación de las válvulas de dosificación de HCl para
poder simular en tiempo real el modelo de la reacción de neutralización en el PLC.
El entorno para simular el sistema está compuesto por:
-
PLC S7-417-4H
Estación de ingeniería PC Simatic
Servidor WinCC PC Simatic
Esta es la zona de simulación habilitada para la realización de las pruebas:
Figura 54. Instalación para la simulación del modelo
Para poder observar los resultados de la simulación se ha creado una pantalla que
reproduce el sistema de neutralización de aguas residuales tal y como se presenta en los
diagramas R&I iniciales con una serie de gráficas para verificar la salida del control y el
valor de pH durante el tiempo de la simulación.
43
Figura 55. Pantalla de control del proceso de neutralización
El código del programa está realizado con una serie de bloques lógicos cuyo
contenido es el siguiente:
Figura 56. Módulo CFC con la lógica del sistema
44
A continuación se muestra el detalle del bloque correspondiente a la aplicación de los
modelos fuzzy del regulador y de la reacción de neutralización que corresponden al
diagrama en Simulink:
Figura 57. Detalle del diagrama de bloques regulador y neutralización
Para la obtención de los resultados se ha puesto en práctica un ensayo que consiste en
desconectar el bloque del regulador para que el sistema alcance el pH en equilibrio del
sistema (pH=12), tras esto se ha fijado la consigna de pH=3,7 y se ha activado el regulador.
Una vez alcanzado el valor de consigna y teniendo el sistema estable, se ha fijado un
nuevo valor de consigna a pH=5.5 y se ha esperado a que la respuesta del sistema fuera
estable y con el valor de pH final deseado.
El resultado de la simulación aplicando los valores de pH que se han usado en la
simulación en Matlab es el siguiente:
Figura 58. Respuesta de pH en el modelo de PLC
45
En la siguiente figura se puede comparar la respuesta del sistema programado en el
PLC con la respuesta obtenida por el modelo en Matlab.
Figura 59. Respuesta del regulador en el modelo de PLC VS modelo en Matlab
En los anexos se puede ver el diagrama de bloques completo para la implementación del
programa en el PLC y el código para aplicación de los modelos fuzzy del regulador y de la
reacción de neutralización.
Tarragona, a 7 de Abril de 2014
Firmado: José Luis Pelegrí
Ingeniero en Automática y Electrónica Industrial
Nº colegiado: 47757649
46
3
PLANOS
3.1
Localización fábrica
3.2
Ubicación sistema de recogida de aguas residuales
3.3
Diagrama R&I del proceso de neutralización
47
48
49
50
4
PRESUPUESTO
4.1
Mediciones
Código
Uds. Designación
Uds. Long Alto Ancho Subtotal Total
CAPÍTULO 1: DISEÑO SISTEMA DE CONTROL FUZZY
1-001
U
SISTEMA
DE
CONTROL
FUZZYCONTROL++ V6
SOFTWARE
DE
DISEÑO
Y
PROGRMACIÓN
SISTEMAS
DE
CONTROL FUZZY EN SISTEMAS DE
CONTROL SIEMENS
1
1
1-002
H
DISEÑADOR
CONTROL
SISTEMA
INGENIERO
AUTOMÁTICA
Y
ELECTRÓNICA
INDUSTRIAL
DISEÑADOR
DE
SISTEMAS
DE
CONTROL
50
50
1-003
H
PROGRAMADOR
DE CONTROL
SISTEMA
INGENIERO TÉCNICO
PROGRAMADOR
DE
SIEMENS S7
INDUSTRIAL
SISTEMAS
5
5
51
Código
Uds. Designación
Uds. Long Alto Ancho Subtotal Total
CAPÍTULO 2: IMPLEMENTACIÓN SISTEMA DE CONTROL FUZZY
2-001
H
DISEÑADOR
CONTROL
SISTEMA
INGENIERO
AUTOMÁTICA
Y
ELECTRÓNICA
INDUSTRIAL
DISEÑADOR
DE
SISTEMAS
DE
CONTROL
20
20
2-002
H
PROGRAMADOR
DE CONTROL
SISTEMA
INGENIERO TÉCNICO
PROGRAMADOR
DE
SIEMENS S7
INDUSTRIAL
SISTEMAS
25
25
2-003
H
INSTRUMENTISTA 1A
INSTRUMENTISTA 1A ESPECIALISTA
PRUEBAS EN CAMPO
5
5
Código
Uds. Designación
Uds. Long Alto Ancho Subtotal Total
CAPÍTULO 3: TEST Y PUESTA EN MARCHA
1-002
H
DISEÑADOR
CONTROL
SISTEMA
INGENIERO
AUTOMÁTICA
Y
ELECTRÓNICA
INDUSTRIAL
DISEÑADOR
DE
SISTEMAS
DE
CONTROL
10
10
1-003
H
PROGRAMADOR
DE CONTROL
SISTEMA
INGENIERO TÉCNICO
PROGRAMADOR
DE
SIEMENS S7
INDUSTRIAL
SISTEMAS
15
15
1-004
H
INSTRUMENTISTA 1A
INSTRUMENTISTA 1A ESPECIALISTA
PRUEBAS EN CAMPO
15
15
52
4.2
Cuadro de precios
Código Uds. Designación
Precio
Precio en letra
CAPÍTULO 1: DISEÑO SISTEMA DE CONTROL FUZZY
1-001
€
SISTEMA
DE
CONTROL
FUZZYCONTROL++ V6
2.112,00
DOS MIL CIENTO DOCE
SOFTWARE
DE
DISEÑO
Y
PROGRMACIÓN
SISTEMAS
DE
CONTROL FUZZY EN SISTEMAS DE
CONTROL SIEMENS
1-002
€/h
DISEÑADOR
CONTROL
SISTEMA
64,5
SESENTA Y CUATRO
CENTIMOS
35,3
TREINTA Y
CENTMOS
CON CINCUENTA
INGENIERO
AUTOMÁTICA
Y
ELECTRÓNICA
INDUSTRIAL
DISEÑADOR DE SISTEMAS DE
CONTROL
1-003
€/h
PROGRAMADOR SISTEMA DE
CONTROL
CINCO
CON
TREINTA
INGENIERO TÉCNICO INDUSTRIAL
PROGRAMADOR DE SISTEMAS
SIEMENS S7
Código Uds. Designación
Precio
Precio en letra
CAPÍTULO 2: IMPLEMENTACIÓN SISTEMA DE CONTROL FUZZY
2-001
€/h
DISEÑADOR
CONTROL
SISTEMA
64,5
SESENTA Y CUATRO
CENTIMOS
CON CINCUENTA
35,3
TREINTA Y
CENTMOS
25,6
VEINTICINCO CON SESENTA CENTIMOS
INGENIERO
AUTOMÁTICA
Y
ELECTRÓNICA
INDUSTRIAL
DISEÑADOR DE SISTEMAS DE
CONTROL
2-002
€/h
PROGRAMADOR SISTEMA DE
CONTROL
CINCO
CON
TREINTA
INGENIERO TÉCNICO INDUSTRIAL
PROGRAMADOR DE SISTEMAS
SIEMENS S7
2-003
€/h
INSTRUMENTISTA 1A
INSTRUMENTISTA
ESPECIALISTA
PRUEBAS
CAMPO
1A
EN
53
Código Uds. Designación
Precio
Precio en letra
CAPÍTULO 3: TEST Y PUESTA EN MARCHA
3-001
€/h
DISEÑADOR
CONTROL
SISTEMA
64,5
SESENTA Y CUATRO
CENTIMOS
CON CINCUENTA
35,3
TREINTA Y
CENTMOS
25,6
VEINTICINCO CON SESENTA CENTIMOS
INGENIERO
AUTOMÁTICA
Y
ELECTRÓNICA
INDUSTRIAL
DISEÑADOR DE SISTEMAS DE
CONTROL
3-002
€/h
PROGRAMADOR SISTEMA DE
CONTROL
CINCO
CON
TREINTA
INGENIERO TÉCNICO INDUSTRIAL
PROGRAMADOR DE SISTEMAS
SIEMENS S7
3-003
€/h
INSTRUMENTISTA 1A
INSTRUMENTISTA
ESPECIALISTA
PRUEBAS
CAMPO
4.3
1A
EN
Aplicación de precios
Código Uds. Designación
Mediciones
Precio/Ud.
Total
CAPÍTULO 1: DISEÑO SISTEMA DE CONTROL FUZZY
1-001
€
SISTEMA
DE
CONTROL
FUZZYCONTROL++ V6
1
2.112,00
2.112,00
50
64,5
3.225,00
5
35,3
176,50
SOFTWARE
DE
DISEÑO
Y
PROGRMACIÓN
SISTEMAS
DE
CONTROL FUZZY EN SISTEMAS DE
CONTROL SIEMENS
1-002
€
DISEÑADOR
CONTROL
SISTEMA
INGENIERO
AUTOMÁTICA
Y
ELECTRÓNICA
INDUSTRIAL
DISEÑADOR DE SISTEMAS DE
CONTROL
1-003
€
PROGRAMADOR SISTEMA DE
CONTROL
INGENIERO TÉCNICO INDUSTRIAL
PROGRAMADOR DE SISTEMAS
54
SIEMENS S7
TOTAL CAPITULO 1
Código Uds. Designación
Mediciones
Precio/Ud.
5.513,50
Total
CAPÍTULO 2: IMPLEMENTACIÓN SISTEMA DE CONTROL FUZZY
2-001
€
DISEÑADOR
CONTROL
SISTEMA
20
64,5
1.290,00
25
35,3
882,50
5
25,6
128,00
INGENIERO
AUTOMÁTICA
Y
ELECTRÓNICA
INDUSTRIAL
DISEÑADOR DE SISTEMAS DE
CONTROL
2-002
€
PROGRAMADOR SISTEMA DE
CONTROL
INGENIERO TÉCNICO INDUSTRIAL
PROGRAMADOR DE SISTEMAS
SIEMENS S7
2-003
€
INSTRUMENTISTA 1A
INSTRUMENTISTA
ESPECIALISTA
PRUEBAS
CAMPO
1A
EN
TOTAL CAPITULO 2
Código Uds. Designación
Mediciones
Precio/Ud.
2.300,50
Total
CAPÍTULO 3: TEST Y PUESTA EN MARCHA
3-001
€
DISEÑADOR
CONTROL
SISTEMA
10
64,5
645,00
15
35,3
529,50
15
25,6
384,00
INGENIERO
AUTOMÁTICA
Y
ELECTRÓNICA
INDUSTRIAL
DISEÑADOR DE SISTEMAS DE
CONTROL
3-002
€
PROGRAMADOR SISTEMA DE
CONTROL
INGENIERO TÉCNICO INDUSTRIAL
PROGRAMADOR DE SISTEMAS
SIEMENS S7
3-003
€
INSTRUMENTISTA 1A
INSTRUMENTISTA
ESPECIALISTA
PRUEBAS
CAMPO
1A
EN
55
TOTAL CAPITULO 3
4.4
1.585,50
Resumen del presupuesto
CAPITULO 1.- DISEÑO SISTEMA DE CONTROL.
5.513,50 €
CAPITULO 2.- IMPLEMENTACIÓN SISTEMA DE CONTROL.
2.300,50 €
CAPITULO 3.- TEST Y PUESTA EN MARCHA.
1.558,50 €
Presupuesto Ejecución Material
9.372,50 €
Beneficio industrial (6%)
562,35 €
Gastos generales (13%)
1.218,42 €
Presupuesto Ejecución Contrato
11.153,28 €
I.V.A. (21%)
2.342,18 €
PRESUPUESTO DE LICITACION
13.495,46 €
Tarragona, a 7 de Abril de 2014
Firmado: José Luis Pelegrí
Ingeniero en Automática y Electrónica Industrial
Nº colegiado: 47757649
56
5
ANEXOS
5.1
Código programa de inferencia del controlador Fuzzy en matlab
function fuzzy = fcn(e, de, du, pH)
%#codegen
%%%%Primero definimos la geometrÌa de las funciones de pertenencia y el
%%%%valor de pertenencia a estas en funciÛn del valor de pH
n_a=0;
n_n=0;
n_b=0;
n_mb=0;
CoG=0;
%%%ENTRADA pH
%%A (Acido)
a_a=0;
b_a=0;
c_a=3;
d_a=4;
if (pH>=b_a)&&(pH<=c_a) n_a=1;
elseif (pH>c_a)&&(pH<=d_a) n_a=(d_a-pH)/(d_a-c_a);
elseif (pH>d_a) n_a=0;
end
%%N (Neutro)
a_n=3;
b_n=4;
c_n=6;
d_n=7;
if (pH<=a_n) n_n=0;
elseif (pH>a_n)&&(pH<=b_n) n_n=(pH-a_n)/(b_n-a_n);
elseif (pH>b_n)&&(pH<=c_n) n_n=1;
elseif (pH>c_n)&&(pH<=d_n) n_n=(d_n-pH)/(d_n-c_n);
elseif (pH>d_n) n_n=0;
end
%%B (Basico)
a_b=6;
b_b=7;
c_b=9;
d_b=10;
if (pH<=a_b) n_b=0;
elseif (pH>a_b)&&(pH<=b_b) n_b=(pH-a_b)/(b_b-a_b);
elseif (pH>b_b)&&(pH<=c_b) n_b=1;
elseif (pH>c_b)&&(pH<=d_b) n_b=(d_b-pH)/(d_b-c_b);
elseif (pH>d_b) n_b=0;
end
%%MB (Muy Basico)
a_mb=9;
b_mb=10;
c_mb=14;
d_mb=14;
if (pH<=a_mb) n_mb=0;
elseif (pH>a_mb)&&(pH<=b_mb) n_mb=(pH-a_mb)/(b_mb-a_mb);
elseif (pH>b_mb)&&(pH<=c_mb) n_mb=1;
end
57
%%%%Vemos en funciÛn del valor de pH que regla tenemos que aplicar
%%PQ (Poco Caudal)
PQ=5;
%%NQ (Normal Caudal)
NQ=-0.3*e+0.297*de+du;
%%BQ (Bastante Caudal)
BQ=7;
%%MQ (Mucho Caudal)
MQ=8;
%%%Si el pH es ·cido entonces Poco Caudal
%% 0<pH<=3 -> SÛlo A
if (pH<=3) CoG=PQ*n_a;end
%% 3<pH<=4 -> CoG A y N
if (pH>3)&&(pH<=4) CoG= (PQ*n_a+NQ*n_n);end
%%%Si el pH es neutro entonces Normal Caudal
%% 4<pH<=6 -> SÛlo N
if (pH>4)&&(pH<=6) CoG=NQ*n_n;end
%% 6<pH<=7 -> CoG N y B
if (pH>6)&&(pH<=7) CoG=(NQ*n_n+BQ*n_b); end
%%%Si el pH es Basico entonces Bastante Caudal
%% 7<pH<=9 -> SÛlo B
if (pH>7)&&(pH<=9) CoG=BQ*n_b;end
%% 9<pH<=10 -> CoG B y MB
if (pH>9)&&(pH<=10) CoG=(BQ*n_b+MQ*n_mb); end
%%%Si el pH es Muy Basico entonces Mucho Caudal
%% 10<pH -> SÛlo MB
if (pH>10) CoG=MQ*n_mb;end
%%%% La salida ser· el resultado del Centro de Gravedad para ese valor de
%%%% pH concreto
fuzzy = CoG;
58
5.2
Juego de pruebas del código resultado de la acción de control del regulador
Para realizar el juego de pruebas se simula el valor de pH con una Fuente y se grafica
tanto el pH como la salida del regulador.
Figura 60. Modelo para juego de pruebas
A continuación están representadas las respuestas del regulador a diferentes valores
de entrada de pH:
a) pH=1 (salida=5)
Figura 61. Respuesta regulador a entrada de pH=1
59
b) pH=3 (salida=5)
Figura 62. Respuesta regulador a entrada de pH=3
c) pH=7 (salida=7)
Figura 63. Respuesta regulador a entrada de pH=7
d) pH=9 (salida=7)
Figura 64. Respuesta regulador a entrada de pH=9
60
e) pH=9,3 (salida=7,3 según cálculo apartado 2.5)
Figura 65. Respuesta regulador a entrada de pH=9,3
f) pH=10 (salida=8)
Figura 66. Respuesta regulador a entrada de pH=10
g) pH=12 (salida=8)
Figura 67. Respuesta regulador a entrada de pH=12
61
5.3
Desfuzzyficación válvulas de dosificación HCl
A continuación se describe el proceso para obtener la función de inferencia para la
desfuzzyficación del modelo fuzzy de las válvulas de dosificación de HCl.
Figura 68. Función de pertenencia trapezoidal
El primer paso es convertir las funciones de pertenencia en conjuntos, calcular la
salida para cada función de pertenencia y calcular la salida en los puntos donde confluyen
dos funciones de pertenencia que será el resultado del centro de masas ponderado
(Sugeno).
0,
,
1,
1
,
0,
Figura 69. Función de pertenencia trapezoidal
Las ecuaciones que se deben programar en la función fuzzy son las siguiente:
Si Caudal<=
entonces
=0;
Si Caudal>
y Caudal<=
entonces
=(Caudal- )/(
Si Caudal>
y Caudal<=
entonces
=1;
Si Caudal>
y Caudal<=
entonces
=(
Si Caudal>
entonces
- );
-Caudal)/( - );
=0;
Las funciones de pertenencia son “poco” y “mucho” tal y como se definen en la
Figura 56.
62
Para la función de pertenencia “poco” tenemos la siguiente inferencia:
PARAMETRO
VALOR
0
0
159
160
Con estos parámetros tenemos las siguientes ecuaciones:



Si Caudal> 0 y Caudal<= 159 entonces =1;
Si Caudal> 159 y Caudal<= 160 entonces =( 160-pH);
Si Caudal> 160 entonces =0;
Para la función de pertenencia “mucho” tenemos la siguiente inferencia:
PARAMETRO
VALOR
159
160
400
400
Con estos parámetros tenemos las siguientes ecuaciones:



Si Caudal<= 159 entonces =0;
Si Caudal> 159 y pH<= 160 entonces
Si Caudal> 160 y pH<= 400 entonces
=(Caudal- 159);
=1;
Las reglas de inferencia son las siguientes, donde u(k) es la salida de los modelos de
válvula pequeña y grande en cada caso:
QHCl
SI
mucho ENTONCES
poco
u(k)
Descripción
0.9946
1
0,0001324
1
Caudal 160
0.9956
1
0,0002284
1
Caudal 160
63
El esquema en simulink resultante es el siguiente:
Figura 70. Modelo del sistema con funciones desfuzzificadas
Con estos parámetros se implementa la siguiente función:
function valv = fcn(Q, dq, dv)
%%%%Primero definimos la gemoetrÌa de las funciones de pertenencia y el
%%%%valor de pertenencia a estas en funciÛn del valor de caudal
n_p=0;
n_m=0;
CoGv=0;
%%%ENTRADA Caudal
%%poco
a_p=0;
b_p=0;
c_p=159;
d_p=160;
if (Q>=b_p)&&(Q<=c_p) n_p=1;
elseif (Q>c_p)&&(Q<=d_p) n_p=(d_p-Q)/(d_p-c_p);
elseif (Q>d_p) n_p=0;
end
%%mucho
a_m=159;
b_m=160;
c_m=400;
d_m=400;
if (Q<=a_m) n_m=0;
elseif (Q>a_m)&&(Q<=b_m) n_m=(Q-a_m)/(b_m-a_m);
elseif (Q>b_m)&&(Q<=c_m) n_m=1;
end
%%%%Vemos en funciÛn del valor de Caudal que regla tenemos que aplicar
%%Valvula grande
grande=-0.0001324*dq+0.9946*dv;
%%Valvula pequena
pequena=-0.0002284*dq+0.9956*dv;
%%%Si el Caudal es pequeÒo entonces valvula pequeÒa es ·cido entonces Poco Caudal
if (Q<159) CoGv=pequena*n_p;end
%%Si caudal entre medio, se busca centro de gravedad de las valvulas
if (Q>=159)&&(Q<160) CoGv= (pequena*n_p+grande*n_m);end
%%%Si el Caudal es mucho entonces valvula grande
if (Q>=160) CoGv=grande*n_m;end
%%%% La salida ser· el resultado del Centro de Gravedad para ese valor de
%%%% caudal concreto
valv = CoGv;
64
El resultado es idéntico al obtenido con el módulo fuzzy:
Figura 71. Salida de la función de control que reproduce el comportamiento de las válvulas
A continuación se puede ver la respuesta del sistema.
Figura 72. Resultado de la simulación con la función que reproduce el comportamiento de las válvulas
65
5.4
Código acción de control del regulador en PLC
66
67
5.5
Código modelo neutralización pH en PLC
68
5.6
Diagrama de bloques del sistema de control en PLC
69
70
6
REFERENCIAS
[1] Apuntes assignatura “Control lògica difusa” de la URV
[2] Fuzzy Identificaction of Systems and its Applications to Modeling and Control”,
Sugeno, Michio y Tomohiro Takagi
[3] “Ingeniería de Control Moderno” Katsuhito Ogata
[4] “FuzzyControl++ User manual” Siemens
[5] http://www.fuzzytech.com/
[6] “Control Adaptativo Predictivo Experto” Juan M. Martín y José Rodellar
[7] “Identificación de sistemas de segundo orden” Roberto Angel Rivero
[8] “Fuzzy Logic Toolbox user’s manual” Mathworks
[9] “Simatic S7 Fuzzy Control” Siemens
71
Descargar