Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Proyecto de Grado
Presentado ante la ilustre Universidad de Los Andes como requisito parcial para
obtener el Tı́tulo de Ingeniero de Sistemas
Por
Septiembre 2006
2006
c Universidad de Los Andes Mérida, Venezuela
Control de los hornos de retención en el área de colada en
CVG Venalum: una propuesta
Agradecimientos xi
1 Introducción 1
1.1 Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1 Caracterı́sticas de los hornos de retención en CVG Venalum . . 4
1.1.2 Estrategia de control de temperatura en los hornos de retención 12
1.2 Situación problemática . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.1 Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.2 Objetivos especı́ficos . . . . . . . . . . . . . . . . . . . . . . . . 15
3 Control PID 22
3.1 Algoritmo PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Bloque PID FB41 CONT C en los PLCs Siemens S7-300. . . . . . . . . . 24
3.3 Control mediante identificación en lı́nea . . . . . . . . . . . . . . . . . . 26
3.4 Herramienta de comunicación OPC . . . . . . . . . . . . . . . . . . . . 26
v
3.4.1 Servidor OPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.4.2 Cliente OPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5 Control proporcional 40
5.1 Análisis del sistema a partir del modelo obtenido . . . . . . . . . . . . 40
5.2 Entonación del control proporcional . . . . . . . . . . . . . . . . . . . . 41
5.3 Implementación con disminución de la ganancia . . . . . . . . . . . . . 42
8 Conclusiones 63
Bibliografı́a 64
A Programa de identificación 66
B Programa de control 69
Índice de Tablas
vii
Índice de Figuras
viii
4.6 Comparación de respuestas para la validación (segmento de datos de
identificación.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.7 Diagrama de bloques en Simulink
r para la validación del modelo en
lazo abierto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.8 Comparación de respuestas para la validación (todos los datos). . . . . 38
4.9 Set de datos usado para la identificación y la validación (Detalle de la
Figura 4.8). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.10 Set de datos para validación, con desfasaje debido a que los datos reales
presentan saturación en el damper para el cambio de set point (Detalle
de la Figura 4.8). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.11 Comparación del control para el modelo vs el control para datos reales. 39
7.1 Principio de montaje para leer los datos del control y mostrarlos en
MATLAB.
r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.2 Configuración de la interfase de acceso Industrial Ethernet. . . . . . . . 60
7.3 Configuración Hardware de la CP343-1 TCP. . . . . . . . . . . . . . . . 61
7.4 Configuración en el SIMATIC NET OPC Server. . . . . . . . . . . . . . 62
Agradecimientos
Mi gratitud en primer lugar a Dios, el creador, quien nos pone pruebas en la vida para
hacernos más grandes en cada levantada y nos da la libertad de acertar o equivocarnos.
Han sido muy valiosas las aportaciones de los Ingenieros Luis Reyes y Sonia
Serrano, y del Lic. Miguel Martı́nez; les agradezco además por su calidad humana y
por su incondicional apoyo en la realización de este proyecto.
No puedo dejar de agradecer a todo el personal de CVG Venalum que, de alguna
manera, colaboró en el desarrollo de este trabajo.
Le agradezco con toda mi alma a mis padres y a mi tı́o, por ser los pilares
fundamentales en mi vida; y al resto de mi familia por el simple hecho de existir.
Especial gratitud a Morabia por ayudarme siempre en todo lo que estaba a su
alcance y por saber compartir tanto las ilusiones como los malos momentos que me ha
tocado pasar.
Le agradezco mucho a la Tı́a Ziomara por ser una madre cuando estuve lejos y
a Maru por ser mi amiga y estar siempre ahı́.
Deseo destacar a la ilustre Universidad de los Andes y a mis profesores, en
especial a mis tutores Richard Márquez y Francklin Rivas, por demostrarme que puedo
lograr lo que quiera en la vida y que el esfuerzo siempre tiene recompensa.
A todos los que no nombré y que también participaron de este proyecto:
GRACIAS. . . De todo corazón!!!
xi
Capı́tulo 1
Introducción
a través del proceso quı́mico Bayer en las refinerı́as de alúmina. El óxido de aluminio es
separado de las otras sustancias de la bauxita mediante una solución de soda cáustica.
La mezcla obtenida es filtrada para remover todas las partı́culas insolubles. Después
de esto, el hidróxido de aluminio es precipitado de la solución de soda, lavado y secado,
mientras que la solución de soda es reciclada. Después de la calcinación, el producto
final, óxido de aluminio (Al2 O3 ), es un fino polvo blanco. El aluminio primario es
producido en plantas de reducción.
Cuatro toneladas de bauxita son requeridas para producir dos toneladas de
alúmina, las cuales producirán una tonelada de aluminio en una reductora.
CVG VENALUM se constituye con el objetivo fundamental de producir
aluminio en diversas formas, para fines de exportación. Para esto cuenta con tres
áreas básicas: Carbón, Reducción y Colada.
El área de Reducción es donde el aluminio puro es extraı́do de la alúmina por
medio del proceso Hall-Heroult. El proceso de reducción de alúmina en aluminio lı́quido
es realizado a una temperatura promedio de 950 grados Celsius en un baño fluorinado y
bajo una alta intensidad de corriente. Este proceso es realizado en celdas electrolı́ticas,
donde los cátodos de carbón forman el fondo de la celda y actúan como electrodo
negativo, los ánodos (electrodos positivos) son mantenidos en el tope y son consumidos
durante el proceso cuando reaccionan con el oxı́geno proveniente del electrolito.
Todas las lı́neas de celda construidas desde principios de 1970 usan la tecnologı́a
de ánodo precocido, donde los ánodos manufacturados de una mezcla de coque de
petróleo y alquitrán son pre-cocidos en una planta de ánodos (Área de Carbon en
CVG Venalum). En la tecnologı́a Soederberg, la pasta de carbón es alimentada
directamente en el tope de la celda y los ánodos son producidos utilizando el calor
liberado por el proceso de reducción.
El aluminio trasegado de las celdas a intervalos regulares, es transportado a
la sala de colada, donde las aleaciones de aluminio son preparadas de acuerdo a los
requerimientos del cliente. El aluminio lı́quido obtenido en la sala de celdas, 99,8 %
puro, es transferido en crisoles a la sala de Colada y vertido en hornos de retención,
donde metales como titanio, magnesio, hierro y cobre son añadidos para preparar las
aleaciones requeridas por los clientes. El metal lı́quido en los hornos es sometido a
1 Introducción 3
1.1 Antecedentes
La Superintendencia de Control de Procesos, adscrita a la Gerencia de Control de
Calidad y Procesos de la empresa CVG Venalum, es una unidad funcional de servicio
de las unidades de producción y servicios, que tiene como misión garantizar la
automatización e integración de los procesos productivos susceptibles a ser controlados,
monitoreados, supervisados y operados continuamente en función de las especificaciones
técnicas de los procesos y productos (requisitos de calidad) y criterios establecidos para
el diseño, desarrollo y mantenimiento de sistemas.
Los hornos de retención deben mantener el metal a determinadas temperaturas
establecidas para que se pueda realizar la preparación del horno para el proceso de
colada, la adición de los aleantes (magnesio, silicio, hierro, etc.), la retención del metal
en estado lı́quido, etc. El mantenimiento de la temperatura en los rangos operativos
adecuados, va a estar afectado por distintos factores que no permiten conservar la
temperatura en las operaciones; algunos de estos factores son:
• la carga de chatarra
• el vaciado de crisoles
• las distintas fallas que se puedan dar en la instrumentación como el daño de los
quemadores, las termocuplas y las válvulas;
por lo tanto, se requiere el control y supervisión de los mismos para lograr que la
temperatura se mantenga en el rango establecido según el proceso.
1. Subsistema de potencia
1.1 Antecedentes 6
2. Subsistema de seguridad
3. Subsistema de control
• Válvula de venteo: se abre cuando las válvulas Maxon están cerradas para
eliminar los residuos de gas que quedan en la tuberı́a de gas del quemador. Ver
Figura 1.3.
Figura 1.3: Válvulas Maxon y de Venteo ubicadas en la tuberı́a principal de gas del
horno de retención.
1.1 Antecedentes 8
Este sistema se encarga de realizar el control de todos los componentes del horno
y de la supervisión de todas las señales del sistema. Se provee al usuario de una interfaz
hombre máquina mediante el panel operador y pulsadores e indicadores locales.
1.1 Antecedentes 9
• Termocupla de baño: sensor usado para medir la temperatura del metal lı́quido,
tiempo de vida de 3 a 6 dı́as. Ver Figura 1.5.
Figura 1.6: Esquema del damper de aire y su conexión con la salida de gas.
Estados operativos del horno. Los principales estados operativos del horno de
retención son:
Figura 1.7: Pantalla del sistema de supervisión donde se presenta el estado general del
horno.
• Raspado: se hace solo cuando el horno está vacı́o, se eliminan las impurezas en
la salida del horno para que circule el metal hacia la piquera.
• Agitado: se hace cuando se carga al horno con aleantes o con una composición
quı́mica distinta a la que tiene el metal en retención para mezclarlo con los nuevos
componentes.
1.1 Antecedentes 12
Figura 1.8: Funcionamiento del bloque de control actual en los hornos de retención.
adecuada cuando las condiciones del horno cambian, debido a perturbaciones tales
como: la variación del nivel del metal, la cantidad de quemadores que se encuentren
en funcionamiento, la apertura de puertas para añadir los diferentes aleantes o para
realizar el desnatado; esto implica temperaturas inestables y pérdida de tiempo en caso
de que se requiera ajustar los valores de los parámetros del PID.
En el presente trabajo se pretende analizar el sistema de control actual y
proponer modificaciones. Se realizan dos propuestas para el control apropiado del
proceso productivo:
de control.
1.3 Objetivos
• Una vez que se tiene un paquete computacional para la identificación, éste puede
utilizarse rápida y fácilmente en la obtención de varios modelos para diferentes
sistemas.
lazo cerrado identificado, se obtiene el sistema en lazo abierto (planta), haciendo uso
del controlador conocido. En el Método Directo, la salida y del proceso y la entrada
u se usan de la misma manera que en la identificación de sistemas en lazo abierto, es
decir, se ignora que haya realimentación.
Tabla 2.1: Algunos ejemplos de la relación existente entre el objetivo final del modelo
(aplicación) y las especificaciones del proceso de identificación (tomado de Iserman
1980).
p
ar es un vector que contiene las estimaciones mı́nimo cuadráticas de los parámetros
ar = [b1 , a1 , b2 , a2 ].
−1 −2
del modelo b1z −1+b2z −2 y se define: p
1−a1z −a2z
Como medida de la incertidumbre en la identificación, sirve la matriz simétrica
y definida positiva C que actúa como una matriz de “atenuación” de la covarianza o
de la incertidumbre en el proceso de identificación.
El coeficiente de olvido exponencial evita la saturación del algoritmo cuando
funciona durante perı́odos prolongados de tiempo. Este coeficiente se encuentra en el
intervalo de 0 a 1, de manera que ϕ = 1 significa que se tienen en cuenta todos los
datos obtenidos durante la identificación y ϕ < 1 implica que se olvidan los datos más
viejos. En la medida en que ϕ asume valores más próximos a 0, la “ventana” de datos
efectivos es más estrecha.
Los valores par(0) y C(0) en el algoritmo pueden interpretarse como la
estimación inicial de par cuya imprecisión se caracteriza mediante C(0). En la
estimación inicial puede incorporarse toda la información existente a priori acerca de
los valores probables de los parámetros. Si no hay ninguna información, que es el
caso más frecuente, pueden escogerse valores arbitrarios para los coeficientes de par(0).
C(0) se selecciona como una matriz definida positiva, preferentemente diagonal, con
coeficientes grandes en la diagonal principal.
Capı́tulo 3
Control PID
OPC (Siemens-AG 2004) ofrece tanto a los productores como a los usuarios de
software y hardware industrial las ventajas siguientes:
1. El usuario puede elegir entre una amplia oferta los productos que mejor se
adaptan a su sistema de automatización. La compatibilidad de los dispositivos
está totalmente garantizada. Esto reduce enormemente los costos de integración
y contribuye a incrementar la productividad.
Servidor OPC SIMATIC NET. El servidor OPC SIMATIC NET forma parte del
software SIMATIC NET de Siemens y ofrece los siguientes accesos:
1. Industrial Ethernet:
• Comunicación PROFINET IO
• Comunicación S7
2. PROFIBUS:
• Comunicación S7
• Comunicación compatible S5
• Comunicación FMS
• Comunicación DP
3.4 Herramienta de comunicación OPC 29
Usando las funciones del toolbox, se crea un objeto cliente (objeto opcda) que
representa la conexión entre MATLAB
r y un OPC servidor. Las propiedades del
objeto cliente “opcda” permiten controlar los aspectos de la comunicación, como el
tiempo de muestreo, estado de la conexión, y el almacenamiento de eventos relacionados
con ese cliente.
Una vez se establece una conexión a un servidor de OPC, se crea un objeto
grupo (el objeto dagroup) este representa colecciones de artı́culos (variables medidas).
Luego se agrega el objeto artı́culo (el objeto daitem) a ese grupo.
La norma de acceso de datos OPC no proporciona acceso a histórico de datos.
Mientras la Fundación de OPC ha definido las especificaciones para el acceso a los
datos históricos, un gran número de los servidores de acceso de datos no apoyan esta
norma. Usando el OPC Toolbox, se puede anotar en archivos una lista de los artı́culos
que han cambiado, y sus nuevos valores. Los datos acceden del servidor al disco o a la
memoria, para luego procesarlos. La anotación es controlada por el objeto dagroup.
Para trabajar con los datos que se adquieren, éstos se deben traer al workspace
de MATLAB.
r Cuando los archivos son adquiridos, el toolbox los guarda en memoria
o en disco. El toolbox proporciona varias maneras de traer uno o más archivos de datos
en el workspace para poder analizar o visualizar los datos.
Capı́tulo 4
K.ωn2
(4.1)
s2 + 2ζωn s + ωn2
La ecuación (4.1) representa la función de transferencia de un sistema de
segundo orden donde ζ es el coeficiente de amortiguamiento y ωn la frecuencia natural
amortiguada.
A continuación se presenta el procedimiento paso a paso para la obtención
del modelo en lazo abierto, a partir del modelo en lazo cerrado, por regresión (ver
Figura 2.1):
U (s) = GC (s)E(s)
Y (s) GC (s)G(s)
=
R(s) 1 + GC (s)G(s)
Función de Transferencia en Lazo Cerrado:
Y (s)
GLC (s) =
R(s)
4.2 Estimación y validación del modelo 35
3,2
si 0 < ζ ≤ 0, 69
ζωn
ts =
4,5ζ
si ζ > 0, 69
ωn
La Figura 4.9 muestra el set de datos usado para la identificación, ahora también
para la validación del modelo.
La Figura 4.10 muestra otro set de datos usado para validación pero con
desfasaje en la respuesta debido a que existe una saturación en el damper para este
cambio de set point.
De igual manera se compara el control entre el modelo y los datos reales, ver
Figura 4.11.
La Figuras 4.9, 4.10 y 4.11 permiten observar que el perı́odo y en general las
caracterı́sticas de la respuesta del modelo se van a ajustar a la respuesta real.
4.2 Estimación y validación del modelo 38
Figura 4.10: Set de datos para validación, con desfasaje debido a que los datos reales
presentan saturación en el damper para el cambio de set point (Detalle de la Figura 4.8).
Figura 4.11: Comparación del control para el modelo vs el control para datos reales.
Capı́tulo 5
Control proporcional
controlador).
Los principales problemas que se observan, al ver las gráficas a las que se
hace referencia en el párrafo anterior, son: que existe mucha saturación en el control
(apertura del damper o válvula de aire) y la gran cantidad de oscilación en la salida
(temperatura del baño de metal en el horno). Las Figuras 5.3 y 5.4 muestran la
respuesta del modelo para K = 5.
Figura 5.3: Respuesta del modelo a la entrada escalón con un control proporcional
K = 5.
En las Figuras 5.3 y 5.4 se observa que existe una pequeña mejora en el
tiempo de asentamiento y en el sobredisparo, y la saturación en el control disminuye
significativamente con respecto a los datos reales (K = 10, 5).
En las Figuras 5.5 y 5.6 se usa una ganancia K=1,5 y se observa una gran
mejora en todas las caracterı́sticas de la respuesta: el tiempo de asentamiento disminuye
aproximadamente en 10 min, el sobredisparo en un 40% y prácticamente no se observan
saturaciones en el control.
Figura 5.4: Comparación del modelo para K = 5 vs los datos reales (K = 10, 5).
Figura 5.5: Respuesta del modelo a la entrada escalón con un control proporcional
K = 1, 5.
en los hornos y el actuador va a trabajar fuera de sus lı́mites de saturación, con menos
esfuerzo, por ende, va a tener mayor vida útil.
5.3 Implementación con disminución de la ganancia 45
Figura 5.6: Comparación del modelo para K = 1, 5 vs los datos reales (K = 10, 5).
5.3 Implementación con disminución de la ganancia 46
y(t) b1 · z −1 + b2 · z −2
Gp (z −1 ) = = (6.1)
u(t) 1 − a1 · z −1 − a2 · z −2
asentamiento, por esto se agrega la parte derivativa, aunque cuando ésta se encuentre
activa probablemente se tendrá que pagar el costo de la saturación del damper ante un
cambio de set point.
La ecuación caracterı́stica del sistema en lazo cerrado resulta entonces:
1 + Gp (z −1 )Gr (z −1 ) = 0 (6.3)
ecuaccar [2] = N0 b1 − a1 + D1
ecuaccar [3] = N0 b2 + N1 b1 − a2 − D1 a1
ecuaccar [4] = N1 b2 − D1 a2
se despejan los parámetros N0 , N1 y D1 , de estos se consiguen los valores de GAIN ,
D F y T D para introducirlos en el FB41 (ver Sección 3.2).
6.2 Algoritmo PD por asignación de polos deseados 50
1. se toman datos;
3. se verifica el modelo (que sea estable, para ello se calcula el margen de fase y
margen de ganancia), si no es estable volvemos al paso 1;
4. se calcula la diferencia entre el modelo y los datos, si es mayor que cierto umbral
se va al paso 1, si todo OK se calcula el control a partir del siguiente paso;
8. se verifica que la ganancia no sea mayor a 10, en caso de que si lo sea se hace
GAIN = 10;
10. si todo OK, se envian los valores de GAIN , D F y T D al PLC para activar el
nuevo control.
respuesta del modelo identificado, ante la acción del control calculado, a distintos
cambios de set point.
Figura 6.3: Respuesta del sistema con el control calculado a partir del modelo de la
Ecuación (6.4).
Figura 6.8: Respuesta del sistema con el control calculado a partir del modelo de la
Ecuación (6.9).
6.3 Resultados obtenidos mediante simulación usando el algoritmo PD por
asignación de polos deseados 57
• Ajuste el punto de acceso para la aplicación ”CP H1 1 -> TCP/IP -> Intel
r
82559 Fast Ethernet”.
Figura 7.1: Principio de montaje para leer los datos del control y mostrarlos en
MATLAB.
r
5. Configuración en MATLAB
r
>> cliente=opcda(’125.125.125.70’,’OPC.SimaticNET’)
7 Propuesta para la implementación 60
>> connect(cliente)
%**********HORNOS***************
>> horno=addgroup(cliente)
>> logRate=120;
>> numRecords = 30;
>> horno.UpdateRate = logRate;
>> horno.RecordsToAcquire = numRecords;
>> horno.LoggingMode = ’disk’
>> set(horno,’LogFileName’,’prueba.txt’);
>> TB5=additem(horno,’S7:[S7 connection_5]md180’)
7 Propuesta para la implementación 61
>> g=read(GA5)
>> hora=sprintf(’h%.0f’,g.TimeStamp(4))
>> minutos=sprintf(’m%.0f’,g.TimeStamp(5))
>> archivo=strcat(’hornos-’,date,hora,minutos)
>> start(horno)
>> [logIDs,Valor,logQual,logTime,logEvtTime]=getdata(horno,’double’)
>> xlswrite(archivo,Valor)
>> identopc
Capı́tulo 8
Conclusiones
Programa de identificación
%CONDICIONES INICIALES
%***************************************************************
>> z=[u1 y1 u2 y2]; %vector de entradas "u" y salidas "y"
>> par=[8.973 1 0.6696 -5.574e-7]; %cond inic de los valores a estimar
>> coe=1; %coeficiente de olvido exponencial 0-1
>> co=200;
>> C=[co 0 0 0; 0 co 0 0; 0 0 co 0; 0 0 0 co];
>> zT=transpose(z);
>> e=y(k)-z(k,:)*transpose(par);
>> end
%ESTABILIDAD
%***********************************************
>> num=[par(1) par(3)]
>> den=[1 -par(2) -par(4)]
>> sys=tf(num,den,logRate)
>> [g f wg wf]=margin(sys)
>> mg=20*log10(g)
>> margin(sys)
>> if f < 0
>> fprintf(’el modelo es inestable \n’)
>> end
A Programa de identificación 68
Programa de control
%****************************************************
>> T=logRate % Perı́odo
%****************************************************
%calculo de sita con Mp (sobredisparo) que se introdujo por pantalla
>> Mp=input(’Mp = ’)
>> sd=Mp/100
>> ln2=log(sd)*log(sd)
>> sita=sqrt(ln2/(pi*pi+ln2))
%****************************************************
%calculo de wn con ts que se introdujo por pantalla
>> tsin=input(’ts = ’)
>> ts=tsin*60
>> if sita <= 0.69
>> if sita > 0
>> wn=3.2/(sita*ts)
>> end
>> elseif sita > 0.69
>> wn=(4.5*sita)/ts
B Programa de control 70
>> end
>> end
>> adquirir