86
Dr. Jose LUIS &redondo Figueroa. Director de la DCBS. Universidad AL<$noma Met;opI~ta;:a Unidad lztapalapa. PO; este cgnducio le comunicamos qw el a!urnno 'COSTA GONZÁLEZ CA9LOS (matricula 90337923); de la licenciatara de Ingeniería Bioquímica Ind&r:ar. concluy6 satisP:actoriamente st; sewlcio social coct el tema: MONTAJE DE 'iiN REACTOR PARA FERMENTACIONES S0Llt)AS Y DESARROLLO DEL SOFTWARE PARA LA CAPTURA DE DATOS. EN LíNEA, cumpliendo con m mínimo de 20 hrs. semanafes. Dicho trabajo se encuentra emarcado dentro de..ias actividades del proyecto BIODEGRADAUÓN DE RESIDUOS ORGÁ~~~ÍCOS MUNICIPALES POR FERMENTACloN SóLIDA: RELACIONES POBM3ONALES Y BALANCES DE CALOR Y MASA, aprobado por el Consejo NaciWal de Ciencia y Tecnología y por el Consejo de la DCBS de esta Universidad. Agradeciendo de antemano %atención a la presente: reciba un cordial saludo Atentamente: Dr. Sergio Huerta &hoa Profesor Tituk

qw el la de Bioquímica st; Y SOFTWARE LA DATOS. …148.206.53.84/tesiuami/UAM3141.pdf · laboratorios en donde se han utilizado columnas empacadas con circulación de aire desde

Embed Size (px)

Citation preview

Dr. Jose LUIS &redondo Figueroa. Director de la DCBS. Universidad AL<$noma Met;opI~ta;:a Unidad lztapalapa.

PO; este cgnducio le comunicamos q w el a!urnno 'COSTA GONZÁLEZ CA9LOS (matricula 90337923); de la licenciatara de Ingeniería Bioquímica Ind&r:ar. concluy6 satisP:actoriamente st; sewlcio social coct el tema: MONTAJE DE 'iiN REACTOR PARA FERMENTACIONES S0Llt)AS Y DESARROLLO DEL SOFTWARE PARA LA CAPTURA DE DATOS. EN LíNEA, cumpliendo con m mínimo de 20 hrs. semanafes.

Dicho trabajo se encuentra emarcado dentro de..ias actividades del proyecto BIODEGRADAUÓN DE RESIDUOS O R G Á ~ ~ ~ Í C O S MUNICIPALES POR FERMENTACloN SóLIDA: RELACIONES POBM3ONALES Y BALANCES DE CALOR Y MASA, aprobado por el Consejo NaciWal de Ciencia y Tecnología y por el Consejo de la DCBS de esta Universidad.

Agradeciendo de antemano %atención a la presente: reciba un cordial saludo

Atentamente:

Dr. Sergio Huerta &hoa Profesor Tituk

5 r José Luis Arredo~do Figueraa. Di-ectx de la DCBS Universidad Autbnona Metropolilar,a. Unidad iztapalapa.

PRESENTE:

Por este conducto le solicito a Ud. una prorroga para la presentación de¡ reporte final de mi servicio social, el cual inicié el 19 de septiembre de 1994 bajo el tema: MONTAJE DE UN REACTOR PARA FERMENTACIONES SbLiDAS Y DESARROLLO DEL SOFTWARE PARA LA CAPTURA DE DATOS EN LINEA. que realicé dentrode la Planta Piloto de Fermentacibn Sdida (PP4).

La parte práctica de este proyecto se concluyci dentro del los primeros doce meses de haberse iniciado, sin embargo, el desarrollo y presentación de! reporte final del proyecto se retras6 debido a la carga de trabajo por la terminación de la carrera en donde los últirnos trimestres se dedican prácticamente de manera exciusiva a la elaboración del proyecto terminal, et cual en mi caso, consumió mucho más tiempo del que tenía programado. Por otro lado, a partir de febrero de 1995 comencé a trabajar, lo cual por supuesto, consume hasta la fecha, gran parte de mi tiempo. Actualmente trabajo como supervisor de fabricacicjn en el Grupo Roche-Synkx de México S.A. de C.V., este puesto requiere cambio de turno según la pmduccibn lo amerite, es decir, se puede trabajar durante b rnaiiana, la tarde, !a noche o incluso fines de sernana y días festivos.

Aunado a estas actividades, en septiembre de 1995 comencé un diplomado en Administración de Proyectos en d instituto Tecnológico Autónomo de M6xico, el cual conclui satisfactoriamente en mayo de 1996.

Agradeciendo de antemano su atención a la presmte, quedo de Ud.

Atentamente:

Carlos Costabonzilez. Matrícula No. 90337923

SERVICIO SOCIAL.

Teléfono Particulac 280-1 1-50

Teléfono Oficina: 258-5746

Matrícula: 90337923

Licenciatura (Unidad, División): Ingenieria Bioquímica Industrial. {Jnidad lztapalapa. Divisiixl Ciencias Biolbgicas y de la S a l u d . I

Trimestre Lectivo: 97-0

Horas a la Semana: 20 hrs.

Título del T F a j o : MONTAJE DE UN REACTOR PARA FERMENTACIONES SOLIDAS Y DEWRROLLO DEL SOFTWARE P A M LA CAPTURA DE DATOS EN L i N y

Nombre de 10s asesores, puesto y adscripción: Dr. Mariano Gutiérrez. Profesor Titular "C:" deí Departamento de Biotecnología de la DCBS de la UAM-i. Dr. Sergio Huerta. Pr&sor Titular " 'del Departamento de Biote~ología de la DCBS de fa UAM-I..

Lugar donde se realizó el trabajo: Planta Piloto de Fermentación Sólida (PP4).

Fecha de Inicio: 19 de Septiembre de 1994.

Fecha de Terminación: 19 de Septiembre de 1997.

Clave:

Carlos Costa Gonzáiez

ASESORES-

Dr. lbano Gutiérrez.

Carlos Costa G. 1

Montaje de un reactor para fermentaciones dlidas y desarrollo del software para la captura de datos en línea 2

CONTENIDO:

1. 2. 3. 4. 5.

6.

7. 8.

9. 1 o.

INTRODUCCI~N ANTECEDENTES JUSTIFICAC16N Y NATURALEZA DEL PROYECTO OBJETIVOS Y ALCANCES INGENIERíA DE PROCESOS

5.1. Ingeniería Conceptual 5.2. Ingeniería Básica 5.3. Ingeniería de Detalle DISEÑO Y DESARROLLO DEL SOFTWARE

6.1. Lógica de la Programación 6.2. Diagramas de Flujo CONCLUSIONES

SUGERENCIAS A UN TRABAJO FUTURO 8.1. Mejoras a los Reactores 8.2. Mejoras al Software BIBLIOGRAFíA ANEXOS 1 O. 1. Planos de los Reactores 10.2. Listado del Programa 10.3. Manual de Uso del Software

3 8 9

I O 11 12 18 26 33 33 43 53 54 54 55 57 59 59 63 78

Carlos Costa G . 3

I. INTRODUCCI~N.

Fermentaciones S6lidas.

Las Fermentaciones en Medios Sólidos (FMS) generalmente son definidas como el crecimiento de microorganismos sobre materiales sólidos en ausencia, parcial o total, de agua libre. Los sustratos son polímeros naturales insolubles en agua que, sin embargo, deben contener suficiente humedad en el seno del sólido. Estos sustratos actúan como la fuente de carbono, de nitrógeno, de minerales, de agua y de algunos otros nutrientes así como también para servir de soporte a los microorganismos.

Fermentadores.

En un proceso de fermentación, el bioreactor provee el entorno para el crecimiento y la actividad de los microorganismos que son los que llevan a cabo las reacciones biológicas. Durante el periodo de fermentación, debe ser capaz de prevenir el escape de material interno, biomasa y medio, hacia el ambiente así como de prevenir la entrada de sustancias al medio de reacción.

Un fermentador ideal debe contar con ciertas características como ser no-tóxico, soportar altas presiones, no ser afectado por corrosión química, así como tener dispositivos adecuados para la aireación, la agitación, muestre0 y puertos de carga y descarga de materiales. Es posible que se requiera de un mecanismo de enfriamiento para remover el calor metabólico generado. Además, un bioreactor debe ser capaz de trabajar en condiciones as6pticas, aunque la mayoría de los reactores para FMS pueden utilizar inóculos no estériles o utilizarse con cultivos puros.

Aunque existe una gran cantidad de diseños para fermentadores que utilizan medios de cultivo líquidos, aquellos destinados para el desarrollo de procesos que utilizan FMS están muy limitados e inc#uso estudios recientes en control de procesos que utilizan registro continuos con controles sofisticados de computadora en fermentaciones iíquidas han dado gran dinamisma al control del proceso, dejando muy atrás los proceso de las FMS.

Montaje de un reactor para fermentaciones dlidas y desarrollo del software para la captura de datos en llnea 4

Los procesos de FMS pueden clasificarse en dos grupos:

1 . Fermentación sin agitación. 2. Fermentación con agitacion ocasional o continua.

2.1.

2.2.

2.3.

2.4.

Fermentaciones con agitación ocasional sin aireación forzada. Fermentaciones con agitación continua lenta. Fermentaciones con agitación ocasional con aireación forzada. Fermentaciones con aireación forzada y agitación continua.

Tipos de Bioreactores.

Los parámetros de los proceso son factores muy importantes de tomar en cuenta para el diseño de un bioreactor para FMS. La información disponible sobre requerimientos de consumo de sustrato, transferencia de oxígeno y cinéticas de crecimiento no proveen un conocimiento detallado para el diseño del fermentador (Pandey, 1991).

Una gran cantidad de bioreactores han sido utilizados en FMS por lotes o

continuas. Los estudios a nivel laboratorio generalmente se llevan a cabo en matraces cónicos o botellas Roux. A gran escala, los fermentadores utilizados pueden ser de charolas, tipo tambor o algunos otros como fermentadores en columna.

Fermentadores de Charolas.

Son los más sencillos, pueden ser de madera, metiilicos (aluminio o acero) o

plásticos. La parte baja está perforada de tal manera que soporte al sustrato y permita la aireación. Estos fermentadores generalmente están provistos de una chaqueta donde se crea una atmósfera de humedad controlada. La temperatura de la fermentación se controla circulando aire caliente o frío según sea necesario.

Carlos Costa G. 5

Este tipo de fermentadores necesitan una gran área para operar, son de alto costo. El sustrato requiere de esterilizarse por separado (Pandey, 1991).

Fermentadores de Tambor.

Consisten básicamente de un reactor en forma de tambor equipados con un sistema de rotación y usualmente de una entrada y salida de aire. La entrada del aire debe correr paralela a la parte baja, al centro o a todo lo largo del tambor. Estos sistemas emplean sistemas de a i reach forzada. El mezclado del sustrato normalmente se lleva a cabo por rotaciórl usualmente entre 1 y 15 r.p.m. Una desventaja, con tasas de mezclado altas, es el daño producido a los micelios, aunque los reportes en la literatura son contradictorios en este respecto (Pandey, 1991).

Una desventaja mayor, además de los problemas de manejo por su gran tamaño, es la agregación de las partículas de sustrato en perlas.

Fermentadores en Columna.

Como el nombre lo dice, consiste en una columna de plástico, vidrio o acero con tapas superior e inferior. Puede tener una chaqueta para la circulación de agua que controle la temperatura durante la fermentación. Una alternativa es que toda la columna sea puesta en un baño de agua a temperatura controlada. Estos fermentadores son los más ampliamente utilizados en estudios de laboratorios en donde se han utilizado columnas empacadas con circulación de aire desde el fondo hasta la parte alta, columnas de vidrio enchaquetadas provistas con bióxido de carbono en la parte alta o columnas de vidrio enchaquetadas para el estudio de la transferencia de calor en FMS, provistas de entrada y salida de aire. El sistema completo debe consistir de un esterilizador, un saturador, una bomba y un sistema de salida de aire (Pandey, 1991).

Montaje de un reactor para fermentaciones dlidas y desarrollo del software para la captura de datos en llnea 6

Registro Continuo

El registro continuo y control de varios parámetros, son de importancia crítica para el poder obtener altas productividades en FMS. El rezago en este aspecto ha sido, en parte, responsabilidad de los países Europeos que dejaron el desarrollo de las FMS hasta 1980. Algunos estudios recientes muestran el desarrollo de estrategias para sobreponerse a los problemas de registro continuo y control de fermentadores (Saucedo-Castañeda et al, 1992).

La aireación y humedad del medio son dos de los factores críticos que gobiernan la productividad y que no sólo provee el oxígeno sino que además remueve el calor metabólico, productos gaseosos y volátiles de producto de la fermentación. Recientemente, la tasa de aireación ha sido integrada con el control de temperatura y humedad contenida en la condensación del vapor (Saucedo-Castañeda et al 1992).

Las mediciones del consumo de oxígeno o la evolución de bióxido de carbono usualmente son utilizados indirectamente para estimar la biomasa y para tomar en cuenta para el escalamiento de los procesos de FMS.

El registro continuo y control de los niveles de oxígeno y bióxido de carbono en FMS se pueden realizar midiendo los gases en la salida del fermentador. La necesidad de un sistema simple y eficiente para el registro continuo y control de oxígeno y bióxido de carbono en procesos de FMS es un prerequisito para la optimización y escalamiento de estos procesos.

Saucedo-Castañeda y colaboradores (1 992) reportaron dos versátiles sistemas automatizados y en línea para el registro continuo y control de oxígeno y bióxido de carbono para procesos de FMS. Uno de ellos es un sistema de registro continuo de procesos de FMS aeróbicas y anaeróbicas. Este sistema permite monitorear automáticamente y en línea sin alterar el cultivo. Se basa en el muestre0 del gas utilizado en el fermentador, la separación y estimación del O2 y COZ en un cromatógrafo de gases. Todas las funciones conectadas a una computadora personal e integradas a un sistema automático en línea,. Como los gases medidos fueron los desprendidos por el fermentador, contenían una gran cantidad de agua, misma que producía errores en la medición de O2 y COZ, por

Carlos Costa G . 7

lo que el gas desprendido del fermentador hubo que pasarlo por una columna de silica gel antes de ser medido en el cromatógrafoi de gases.

El segundo es un sistema para el registro continuo y control de gases en procesos aeróbicos, este se desarrolló para controlar los gases de FMS en condiciones no críticas de O2 administrando aire de acuerdo a los requerimientos del cultivo, que varía dependiendo de la fase de crecimiento. Este sistema fue capaz de monitorear continuamente concentraciones de O2 y COZ en el aire de salida y modificar automáticamente el flujo de aire que se le administraba al reactor para mantener constante la 'composición de los gases a la salida del reactor. Este sistema puede ser utilizado únicamente para un fermentador pero para todos los tipos de FMS aeróbicas. Consiste en un condensador para la separación de la humedad, un criostato, una columna de silica gel, analizadores individuales de 02, bombas de membrana una computadora personal y cuatro electroválvulas calibradas para suministar de 100 a 800 ml aire / min.

Montaje de un reactor para fermentaciones sblidas y desarrollo del sortwdre para la captura de datos en línea 8

2. ANTECEDENTES.

La historia del desarrollo de las FMS ha sido revisada por varios autores, Pandley (1 991) hizo una recopilación de estas revisiones donde muestra que las FMS han sido utilizadas desde tiempos remotos. El uso de la salsa de soya "koji" en China, Japón y el sureste de Asia se remonta a hace más de 1000 años y quizás a más de 3000 años en China. El "Miso", un alimento fermentado, es tradicionalmente producido en Japón, China, Taiwan y Filipinas por FMS. Posteriormente, en el Siglo XVlll se desarrolla la producción de vinagre y de ácido gálico, este último usado para la imprenta. En el Siglo XIX y principios del XX comienza el tratamiento de aguas negras, la obtención de enzimas fúngicas y la producción de ácido cítrico. Posteriormente, entre 1940 y 1950, la producción de penicilina en FMS y fermentaciones sumergidas sería un descubrimiento fantástico para el desarrollo de la industria de la fermentación, a partir de ese momento se desarrollan procesos como la transformación de esteroides por cultivos fúngicos, producción de micotoxinas, alimentos enriquecidos con proteínas y varios productos más como el alcohol y el ácid0 giberélico.

Los países asiáticos han realizado una serie de esfuerzos para establecer plantas automatizadas que permitan obtener ventajas económicas significativas sobre los procesos convencionales de fermentación sumergida, sin embargo los detalles de los procesos tecnológicos son guardados como secretos industriales.

Los paises europeos, por otro lado, han descuidado los procesos de FMS desde 1940 y han dirigido la mayoría de sus esfuerzos hacia el desarrollo de Fermentaciones Sumergidas (FS). Esta decisión puede deberse a un crecimiento comparativamente pequeño de las industrias de fermentación europeas en comparación con la de los países asiáticos, sin embargo, conociendo la importancia actual de la optimización del agua que deben contener los medios, es probable que la decisión de 1940 no sea la más apropiada.

Carlos Costa G. 9

3. JUSTIFICACI6N Y NATURALEZA DEL PROYECTO.

Este proyecto puede dividirse en dos grandes carnpos de acción; el primero corresponde al diseño de dos bioreactores para FMS que son necesarios para el escalamiento de este tipo de fermentaciones a nivel de planta piloto. Con estos reactores se pretende hacer estudios posteriores que permitan analizar y controlar las diferentes variables importantes en las FMS como son temperatura, concentración de oxígeno y de bióxido de carbono. Es necesario que estas mediciones se lleven a cabo en continuo, es decir, mientras se esté llevando la fermentación ya que esto permitirá que se puedan tomar las medidas correctivas pertinentes inmediatamente, lo cual favorecerá considerablemente el desarrollo de la fermentaci6n. Algunos otros factores importantes en el desarrollo de cualquier fermentación son el pH, la humedad, la esterilidad, etc., sin embargo, estos no se tomaron en cuenta en el presente trabajo debido a la dificultad que puede tener el registro continuo de estas mediciones, así como la dificultad que puede presentar el tomar medidas automáticas para corregirlas.

El segundo campo de acción es el relacionado con los procesos que permitirán, en un futuro, controlar estas variables, para esto se desarrollará un programa que permita la captura y manipulación de datos obtenidos de un simulador. Este programa será un paso intermedio entre lo que ya se ha realizado en la Planta Piloto de Fermentaciones en1 este campo y la posterior automatización de los procesos reales de fermentación.

La automatización en los procesos fermentativos sólidos es un factor que hasta la década pasada se había estudiado poco debido fundamentalmente al poco interés que tenían los países europeos sobre este tipo de fermentaciones, sin embargo, actualmente existen trabajos referentes a este tema que son fundamentales para poder obtener altas productividades en las FMS.

Montaje de un reactor para fermentaciones dlidas y desarrollo del solfhmre para la captura de datos en llnea 10

4. OBJETIVOS Y ALCANCES:

Objetivo General:

Continuar con los procesos de automatización de Fermentaciones en Estado Sólido (FMS) a nivel de planta piloto que actualmente se realizan en la Planta Piloto de Fermentaciones.

Objetivos Particulares:

1.

2.

Diseñar y montar dos bioreactores con diferente relación de diámetro / altura en donde se puedan medir en diferentes puntos (modificando altura y radio) las variables de la fermentación.

Desarrollar el software que permita manipular datos de temperatura, oxígeno y bióxido de carbono obtenidos de un programa simulador para su posterior adaptación a un proceso real.

ALCANCES:

El diseño de los biorreactores consistirá de la Ingeniería Conceptual y de la Ingeniería Básica, sin embargo, la Ingeniería de Detalle no se cubrirá en este trabajo debido a la falta de experiencia que se tiene en este ramo, pero se realizará una investigación bibliográfica sobre el tema.

Debido a lo complejo que resulta la automatización de los procesos de fermentación se desarrollará de un programa conrputacional que permita la visualización de datos de temperatura, O, y CO,, ya sea en un esquema de los fermentadores o en una gráfica que relacione estos datos contra el tiempo, pero no se realizará el proceso completo de automatización de estos procesos.

Carlos Costa G. 11

5. INGENIERíA DE PROCESOS.

"La Ingeniería de Procesos es la rama de la Ingeniería Química que relaciona

fenómenos fundamentales, operaciones unitarias y procesos químicos en forma

coherente y funcional, permite la creación, cuantificación y análisis de

esquemas de flujo de proceso, así como proporciona una metodología para la

planeación, diseño, operación y control para cualquier clase de operación,

proceso y la industria química en si." (Aerstin y Street, 1978).

La Ingeniería de Procesos es entonces una herramienta de la Ingeniería

Química, o bioquímica en este caso, que participa an el desarrollo de nuevos y

mejores métodos para transformar datos experimentales y de operación a

diseños confiables y económicos de diagramas de flujo de proceso y por lo tanto

de plantas a nivel piloto e industrial.

Las principales actividades e información generada por esta disciplina es la

siguiente:

0 Revisión de la lngeniería Básica.

0 Edición de los Diagramas de Tubería e instrumentación (DTI)

Preliminares.

0 Edición de las Especificaciones Generales.

0 Hojas de Datos para el Departamento Mecánico.

0 Edición de la Lista de Equipo.

0 Edición de la Lista de Motores.

Revisión de los Requerimientos de Servicios Auxiliares para la

Planta.

Balances de Materia y Energía.

Elaboración de Diagramas de Flujo de Proceso.

Plano de Localización General de Equipo o Diagrama de

Distribución.

Montaje de un reactor para fermentaciones s61idas y desarrollo del soRware para la captura de datos en llnea 12

5.1 INGENIERíA CONCEPTUAL.

La primera fase en realizarse dentro de un proyecto industrial es la Ingeniería

Conceptual, también conocida como “el conocimiento de cómo hacer las cosas”

o “Know - How“.

Esta fase consiste en el desarrollo o adquisición de aquella tecnología

que servirá de base para la elaboración de una serie documentos que forman el

marco de referencia sobre la cual se basarán tanto la ingeniería Básica como la

de Detalle.

Descripcidn de la Necesidad.

Se requieren uno o varios reactores a nivel planta piloto para realizar FMS en

los cuales las relaciones L / D puedan variarse y que además permitan realizar

mediciones de variables importantes, como temperatura y concentraciones de

O2 y COZ, a diferentes alturas y radios .

Una vez establecida la necesidad, Ulrich (1 986) recomienda tres pasos para

determinar y definir correctamente el proyecto a desarrollar.

1. Comprensión del Proceso.

2. Eliminación de Posibilidades.

3. Definición de Condiciones y Capacidades.

Para el paso 1, Comprensión del Proceso, en este caso se necesita

conocer como se llevan a cabo las FMS, como afectan algunas variables a la

fermentación y cómo se desarrolla el escalamiento de las FMS a nivel planta

piloto.

Carlos Costa G. 13

Los fenómenos de FMS son similares a los que ocurren en el medio

ambiente, como el caso del composfeo, descomposición de basura, putrefacción

de frutas y verduras, etc., sin embargo, las FMS son más complejas que las FS

ya que las interacciones ambiente-sustrato-microlorganismo tienen diversas

limitaciones físicas pudiendo presentar gradientes de temperatura, pH,

humedad, concentración de 02, a pesar de esto, las FMS presentan algunas

ventajas sobre los cultivos líquidos ya que no requieren de condiciones

asépticas, permiten una mayor concentración de producto y un bajo gasto de

agua.

Para aumentar la productividad de este tipo de procesos, es necesario

contar con sistemas eficientes de remoción del calor generado por el

metabolismo de los microorganismos que están llevando a cabo la

fermentación. Se ha observado que durante una ferrn~entación, los gradientes de

temperatura pueden llegar a ser de 3°C / cm y que! la remoción de calor está

asociada a los cambios de entalpía al vaporizarse el agua.(Lonsane, et al,

1 992).

Otro de los parámetros importantes a considerar es la humedad ya que

en general el tipo de microorganismos capaces de crecer en FMS está

determinado por el factor de actividad de agua (aw). El cual se define como la

humedad relativa de la atmósfera gaseosa que está en equilibrio con el sustrato

(Pandey, 1991). El aw de un sustrato expresa cuantitativamente el

requerimiento de agua para la actividad microbiana.

El agua pura tiene un aw = 1.00 y decrece al añadirle solutos. Las

bacterias crecen principalmente en valores altos de aw y los hongos

fiiamentosos y algunas levaduras pueden crecer en valores de aw bajos (0.6 - 0.7), por lo que estos últimos son los más utilizados en las FMS.

Montaje de un reactor para fermentaciones s6lidas y desanollo del soRware para la captura de datos en llnea 14

El control del aw en los sutratos sólidos puede realizarse mediante la

medición de la humedad relativa del aire y puede utilizarse para modificar la

producción metabólica o la excreción de los microolrganismos ya que el aw es

un parámetro fundamental para la transferencia de agua y solutos a través de la

membrana celular.

El escalamiento a nivel planta piloto es el punto de enlace para la transferencia de un proceso a nivel laboratorio hacia la producción a escala comercial. Además, provee mayores cantidades de producto que se pueden requerir para la evaluación del producto.

Existe una serie de etapas que puede o no seguirse para desarrollar una planta a nivel comercial. El número de etapas que se toman en cuenta depende del proceso que se está diseñando y de la experiencia que se tenga en este trabajo.

Un buen procedimiento para el escalamiento de Fermentaciones Sumergidas (FS) que se puede aplicar a las FMS, consiste de las siguientes etapas: (Lonsane, 1992)

Nivel Matraz de 50 - 1OOOg. Capacidad de trabajo para la selección de cultivos, optimización de procesos y de variables experimentales. La obtención de datos se facilita por tiempos más cortos y por los bajos costos.

Fermentador a Nivel Laboratorio 5 - 20 kg. Capacidad de trabajo para la selección de desarrollo del procedimiento de inoculación, esterilización del medio, aireación, agitación, estandarización de varios parametros como la tasa de transferencia de oxígeno, la tasa de evolución de COZ, selección de las estrategias e instrumentos de control, evolución de la economía del proceso y su posibilidad comercial.

Fermentador a Nivel Piloto 50 - 5000 Kg. Se obtienen datos para la selección del mejor procedimiento de inoculación, esterilización del medio. Facilita los estudios fisicoquímicos y de toxicidad y de la viabilidad del proceso.

7 I

Carlos Costa G. 15

Fermentador a Nivel Producción 25 - 1000 Ton. Es la última etapa y busca el retorno de las inversiones que se realizaron durante el desarrollo del proceso.

Algunos de los problemas que se pueden presentar durante las diferentes etapas del escalamiento son los siguientes:

Aireación. La aireación no sólo provee de oxígeno, sino que simultáneamente remueve el COS, otros metabolitos volátiles y el calor de la fermentación. La tasa de aireación es determinada, por lo tanto, por factores como los requerimientos para el crecimiento de los microorganismos, la producción de metabolitos gaseosos y volátiles y por la evolución de calor.

Existen muchos parámetros y características del medio que pueden afectar las tasas de transferencia incluyendo la presión y flujo de aire, la porosidad de los sólidos, altura de la cama de sólidos de fermentación, perforaciones en el tanque de fermentación, contenido de medio, geometría del reactor y la geometría y velocidad de rotación de los impulsores.

Agitación. Es necesario enfatizar que la agitación no es necesaria en la mayoría de las FMS, sin embargo, la agitación periódica o continua usualmente es esencial para algunas FMS. La necesidad de agitación en FMS está basada fundamentalmente en el tipo de proceso, en el diseño del reactor y en el producto que se quiera generar.

Remoción del Calor. Una gran cantidad de calor metabólico es generado en el curso de las fermentaciones y es directamente proporcional al nivel de actividad metabólica del sistema. Además, existe calor mecánico generado durante la agitación y el burbujeo del aire que es menor al generado metabólicamente. Las temperaturas pueden elevarse 17-20°C en el centro de la cama y hasta 60-70°C en la región más interna de la fermentación de la composta.

En los bioreactores a nivel laboratorio el calor generalmente es removido al colocarlos en un cuarto con temperatura controlada, o en un baño de agua o pasando agua de enfriamiento a través de las mamparas y/o por las chaquetas

Montaje de un reactor para fermentaciones s6lidas y desarrollo del soitware para la captura de datos en línea 16

del fermentador. Esto es adecuado a nivel laboratorio, pero a escalas mayores

se recomiendo utilizar agua de enfriamiento además de utilizar intercambiadores de calor. Es necesario recalcar que el tamaño del fermentador incrementa con el cubo de las dimensiones lineales y el área para la transferencia de calor incrementa con el cuadrado de las dimensiones lineales. Este decremento en la superficie de transferencia de calor a grandes escalas representa el tamaño límite en una planta industrial.

Control del pH. El monitoreo y control del pH 'en FMS es difícil ya que no existen electrodos disponibles para la medición de esta variable en ausencia de agua libre. La mezcla de pequeñas cantidades de algún ácido o de algún álcali en el seno de los sólidos sería altamente problemático en FMS sin agitación ya que la concentración de estas sustancias debe ser muy alta para evitar cambios drásticos en la humedad del sistema.

El control del pH durante la fermentación involucra la inclusión de amortiguadores en el medio y el uso de urea como fuente de nitrógeno en lugar de sales de amonio.

Como un segundo paso recomienda la Eliminación de Posibilidades, esto es,

realizar una tabla de decisiones para identificar la mejor opción para realizar

nuestro proyecto. La tabla No. 1 hace posible conocer las alternativas que

merecen una atención más detallada.

Tabla No. 1 . Posibles Materiales para la Construcción de Fermentadores.

Material de Construcción Criterios

Resistencia a la Plástico Acero al Carbón Acero Inoxidable

Alta Baja Corrosividad Media Alta Alta Durabilidad Baja Alta Alta Resistencia de los Materiales

Transferencia de Calor Alta Baja Baja

Baja costo Bajo Medio Alto

Carlos Costa G. 17

Como se puede observar en la tabla No. 1 , la única ventaja real que presenta el

plástico sobre los dos tipos de acero es el costo, sin1 embargo su durabilidad es

menor y la resistencia a la transferencia de calor es mucho mayor por lo que el

plástico se debe descartar como material de construcción de los fermentadores.

Entre los dos aceros, la diferencia más importante es la corrosividad ya

que puede darse el caso de que para remover el calor generado durante la

fermentación, sea necesario utilizar un baño de agua.

El paso 3 es la Definición de Condiciones y Capacidades en donde se

definen las principales variables del proceso. Como se planteo desde un

principio se requiere poder hacer mediciones de una serie de variables a

diferentes diámetros y alturas y que los fermentadores tengan la flexibilidad

para cambiar su relaciones L / D.

Se eligió entonces diseñar dos fermentadores diferentes compuestos

ambos por tres módulos de 30 cm de alto, cada uno con tres hileras

equidistantes de tres orificios separados 7 cm, para tomar mediciones. Uno de

ellos fue diseñado con una relación L / D de 2, para (cada módulo, y el otro con

una relación L / D de 1 para cada módulo, con lo que se permitió que existiera

una gran flexibilidad de relaciones L / D al sobreponer los diferentes módulos.

Como se mencionó anteriormente, todo fue fabricado en acero inoxidable.

Montaje de un reactor para fermentaciones dlidas y desarrollo del software para la captura de datos en línea 18

5.2 INGENIERíA BÁSICA.

Esta fase, normalmente es una de las más importantes en un proyecto

industrial, consiste en la elaboración de una serie de documentos a partir de

una tecnología dada, que son necesarios para el diseño de los equipos e

instalaciones de las plantas de proceso. Dichos documentos comprenden

fundamentalmente a la ingeniería del proceso respectivo, así como aquella

información que permita lograr el diseño de la planta de una manera funcional,

eficiente, cómoda y confiable.

Los documentos que integran la ingeniería básica son los siguientes:

1.

2. 3.

4.

5.

6.

7 .

a. 9.

DESCRlPCldN DEL PROCESO.

DIAGRAMAS DE BLOQUES.

DIAGRAMAS DE FLUJO.

DIAGRAMAS DE TUBERíAS E INSTRUMENTACIÓN.

REQUERIMIENTOS DE SERVICIOS AUXILIARES.

DIAGRAMAS DE DISTRIBUC16N.

HOJAS DE DATOS DE LOS EQUIPOS DEL PROCESO.

ESPECIFICACIóN DE INSTRUMENTOS Y TUBERíAS.

FILOSOFíA OPERACIONAL.

1.- Descripción del Proceso.

El objetivo de este documento es el de dar a conocer las características

fundamentales del proceso para facilitar la interpretación de los diagramas

correspondientes. Básicamente incluye la información más relevante del

proceso, que permita conocer las características y condiciones de operación de

los equipos involucrados en el mismo, así como aspectos que se consideran de

utilidad para anticiparse a posibles problemas operacionales.

Carlos Costa G . 19

El presente trabajo continua con el proceso de automatización de

fermentaciones sólidas que se llevarán a cabo en fermentadores en columna los

cuales estarán provistos de una serie de puntos de muestre0 en los que

periódicamente se medirá la temperatura y se tomarin muestras que se pasaran

por un cromatógrafo de gases que a su vez enviará sus resultados a una

computadora personal que los almacenará y los presentará gráficamente en la

pantalla. En caso de que alguno de los resultados este fuera de un rango

preestablecido, la computadora enviará una señal que permita modificar las

condiciones de entrada del aire como el flujo y la temlperatura.

2.- Diagramas de Bloques.

Son una representación esquemática de los pasos que debe seguir el proceso

de FMS. Este diagrama debe incluir las condiciones más importantes que

afectan directamente las FMS. (Ver Figura 1).

Figura No. 1 Diagrama de Bloques del Proceso

0 LCORRECTA?

1

AUMENTAREL FLUJO DE AIRE

BAJO?

SI

Montaje de un reactor para fermentaciones s6lidas y desarrollo del software para la captura de datos en línea 20

Como se puede observar en la figura No.1 existen cuatro puntos críticos en las

FMS, en estos puntos se toman decisiones sobre si son o no correctas la

temperatura, el oxígeno, el COZ y sobre si el tiempo preestablecido para la

fermentación ya transcurrió.

3.- Diagramas de Flujo de Proceso.

Son una representación esquemática del proceso invoiucrado en el diseño de

una planta. Debe mostrar el equipo involucrado en el mismo, así como su

interrelación y condiciones de operación.

Este documento debe incluir además la siguiente información:

a) Instrumentación básica de control de proceso.

b) Corrientes de procesos numeradas para su identificación.

c) Resumen de balances de materia y energía.

d) Lista de equipo con características y dimensiones de diseño.

(Ver Figura 2).

Carlos Costa G. 2 1

Figura No.2 Equipo involucrado en una FMS automatizada.

m

1 .- Generador de aire húmedo caliente 2.- Regulador de la presi6n del aire de entrada (controlado por 8)

5.- Examinador de gases

3.- Fermentador en columna 6.- Inyector de gas 7.- Cromatrbgrafo de gases

4.- Tubos con silics gel 8.- Computadora personal

La figura 2 muestra un esquema del equipo involucrado en las FES, estas se

llevarán a cabo en el fermentador en columna (3) del cual se tomarán una serie

de mediciones de temperatura y de gases en distintos puntos de la

fermentación. Las muestras de gases pasarán a través de unas pequeñas

columnas de silica gel (4) para reducir su humedad y la interferencia que ésta

pueda tener con los resultados arrojados por el cromatógrafo de gases (5). Este

último enviará los resultados a una computadora personal (8) la cual los

comparará, los almacenará y los mostrará de manera gráfica en el monitor. Si

como resultado de la comparación con rangos previamente establecidos por el

usuario, se requiere de alguna modificación en el flujo o en la temperatura del

aire de entrada, la computadora enviará una señal al regulador de la presión del

aire de entrada (2), para que se realicen las modificaciones pertinentes a fin de

que todas las variables permanezcan dentro de los rangos adecuados.

Montaje de un reactor para fermentaciones sblidas y desarrollo del software para la captura de datos en línea 22

4.- Diagramas de Tubería e Instrumentación.

En estos diagramas se incluyen todos los equipos de proceso de la planta,

tuberías, válvulas, instrumentos, líneas de servicias auxiliares, válvulas de'

seguridad, las notas necesarias para la interpretación correcta de los

diagramas, clave y nombre de los equipos, así como sus características más

representativas, tales como carga térmica en intercambiadores de calor,

dimensiones, presiones y temperaturas de diseño en1 recipientes, etc. Para los

equipos de proceso, se presenta tanto su número corr~o su arreglo definitivos.

A las líneas de proceso se les identifica con diámetro, servicio y especificación y

se les incluyen los accesorios necesarios para su correcta operación; en las

estaciones de control se muestra su arreglo, indicando tamaños de las válvulas

de bloqueo y desvío, y la posición de la válvula de control a falla de aire; los instrumentos están numerados; las válvulas de seguridad muestran su

localización e identificación sin indicar diámetro, número y especificación de las

líneas de entrada y salida de las mismas. Se indica también la altura tentativa

de los equipos que la requieran por proceso y las notas para diseño, asi como

el número preliminar de serpentines a los calentadores de fuego directo.

5.- Requerimientos de Servicios Auxiliares.

En este apartado se indican todos los servicios que el proceso necesita para su

funcionamiento como agua, vapor refrigerante, etc. Deben indicarse también las

condiciones a las cuales son requeridos, temperatura, presión, flujos, etc.

6.- Diagramas de Distribucibn.

Los arreglos de distribución en planta son más un arte que una ciencia. Estos

arreglos implican la búsqueda de los arreglos óptimos de las áreas- y equipos

Carlos Costa G. 23

dentro de la planta, atendiendo como criterios principales a la seguridad,

funcionalidad y costos de construcción, operación y mantenimiento.

A través del arreglo óptimo se trata de minimizar los siguientes problemas:

a) Daños al personal durante la operación normal.

b) Daños al personal en caso de incendio, explosión u otros accidentes.

c) Datios a la propiedad en caso de incendio o explosión.

d) Altos costos de mantenimiento.

e) Alto número de operarios al funcionar la planta.

9 Altos costos de operación.

g) Altos costos de construcción.

h) Costos futuros de planeación por expansión.

i) Tiempos y movimientos excesivos.

(Ver Figura 3).

Figura No.3 Distribución del equipo dentro de la Planta Piloto (PP4)

Planta Piloto de Fermentaciones S6lidas (PP4)

Gavetas

1 Baños de Agua I Prensa

r-" 7- Computadoras Baños

Montaje de un reactor para fermentaciones s61idas y desarrollo del software para la captura de datos en línea 24

El esquema representado en la figura 3 es solamente una propuesta ya que

debido a la gran flexibilidad que presenta el sistema que se desarrolló, es

posible cambiar de lugar en conjunto de instrumentos según sea requerido por

las necesidades propias de la Planta Piloto. Sin embargo, deben considerarse

los siguientes aspectos:

O Debe ser una área por la cual el flujo de personas sea mínimo para

evitar que pueda existir cualquier tipo de accidente que dañe a la

persona o a las mediciones.

O Debe evitarse el paso alrededor del equipo 1, 2 y 3 ya que estos

equipos o las tuberías que los conectan pueden estar a altas

temperaturas.

0 Debe de existir una zona de trabajo desde la cual el operador pueda

acceder a todos los equipos de control.

7.- Hojas de Datos de Equipos de Proceso.

En términos generales, estas hojas contienen los datos necesarios para el

diseño mecánico, o especificación de los equipos inwolucrados en el proceso.

Esta información consiste fundamentalmente en datos de flujos, condiciones de

entrada y salida, propiedades del fluido manejado, recomendaciones de los

materiales de construcción, capacidad, condiciorles de diseño, dibujos

esquemáticos con las dimensiones principales, etc.

8.- Especificacich de Instrumentos y Tubería.

Como el título lo indica, en este apartado se deben describir todas las

especificaciones de instrumentos y tuberías, como son materiales de

construcción, diámetros internos y externos, longitudes, etc.

Carlos Costa G. 25

9.- Filosofía Operacional.

En este documento se analiza el comportamiento de la planta definiéndose los

lineamientos generales para su adecuada operación en condiciones normales y

especiales. Se incluyen los siguientes tópicos:

a) Generalidades.

b) Variables de operación y control de proceso.

c) Operaciones anormales.

d) Procedimientos de control analíticos.

e) Recomendaciones para las operaciones; de arranque, paro y

emergencia.

f) Plano de notas generales, leyendas y símbolos.

g) Especificaciones generales y prácticas de ingeniería.

Montaje de un reactor para fermentaciones s6lidas y desarrollo del sofhuare para la captura de datos en línea 26

5.3 INGENIERíA DE DETALLE.

Como se mencionó anteriormente, este trabajo no incluye la ingeniería de

detalle, sin embargo, a continuación se presentan algunas de los aspectos que

se deben de cubrir para llevar a cabo un estudio de este tipo.

En la ingeniería de detalle intervienen profesionales de muy diversas

especialidades entre los que se encuentran químicos, ingenieros, químicos,

civiles, eléctricos, mecánicos, electrónicos, industriales, etc. Estos especialistas

basan su actividad en procedimientos de trabajo, normas y estándares de

diseño que permiten uniformizar y coordinar el trabajo de disciplinas

profesionales tan diversas, no sólo entre si, sino también en la industria

nacional e internacional.

Para poder realizar el tipo de trabajo comprendido en la ingeniería de detalle es

necesario la agrupación de las distintas especialidades profesionales de la

manera siguiente o en forma similar dependiendo de la firma de ingeniería.

Ingenieria de Procesos.

Ingeniería de Instrumentación.

Ingeniería de Tuberías.

Ingeniería Mecánica.

Ingenieria Eléctrica.

Ingeniería Civil.

Ingeniería de Procesos.

Es la rama de la ingeniería química que relaciona fenómenos fundamentales,

operacionales, operaciones unitarias y procesos químicos en forma cóherente y

funcional. Permite la creación, cuantificación y análisis de esquemas de flujo de

Carlos Costa G. 27

proceso, asimismo proporciona una metodología para la planeación, diseño,

operación y control para cualquier clase de operación, proceso y la industria

química en si.

Las principales actividades e información generada por esta disciplina es la

siguiente:

Revisión de la ingeniería básica.

Edición de los diagramas de tubería e instrumentación preliminares.

Edición de especificaciones generales.

Hojas de datos para el departamento mecánico.

Datos de proceso a instrumentación como índice de líneas, índice de

servicios e índice de instrumentos.

Edición de la lista de equipos.

Edición de la lista de motores.

Revisión de los requerimientos de servicios auxiliares para la planta.

Balances de materia y energía.

Elaboración de diagramas de flujo de proceso.

Plano de localización general de equipo o diagrama de distribución.

Ingeniería de Instrurnentacibn.

Este sección de ingeniería lleva a cabo la selección, especificación y diseño

completo del control e instrumentación de la planta a partir de la información

proporcionada por la ingeniería básica.

La principal información que se genera en esta disciplina es la siguiente:

Desarrollar los detalles de control a ser empleados en cada circuito de

instrumentos en el proyecto.

Montaje de un reactor para fermentaciones dlidas y desarrollo del sofhmre para la captura de datos en linea 28

Preparar especificaciones y lista de rnaterial para todos 10s

instrumentos y tableros de control

Preparar los dibujos de detalle de instalación para todos los

instrumentos que se requieran.

Proporcionar asistencia técnica a las secciones de tubería y eléctrica

en la preparación de planos de rutas y señales de conexión de

instrumentos.

Plano de localización general de instrumentos, mostrando las

coordenadas y claves de todos los instrumentos instalados en campo.

lndice de instrumentos, enlistando todos los componentes de los

diferentes circuitos de control, sus claves de identificación, servicio,

número de diagrama de control y tubería e instrumentos.

Dibujos típicos de instalación, mostrando en isométricos la instalación

típica de instrumentos, la especificación y lista de materiales.

Ingeniería de Tuberías.

Las plantas de proceso utilizan virtualmente todos los servicios de tuberías y en

la mayoría de ellas, la tubería reviste una importancia económica ya que llega a

representar del 30 al 50% del costo de la planta, asimismo la ingeniería de

detalle, el diseño de tuberías representa hasta el 50% de las horas / hombre de

un proyecto.

Esta sección se encarga de determinar la colocacibn y trayectorias de los

diversos sistemas de tuberías y accesorios de acuerdo a los requerimientos de

proceso, necesidades de operación y mantenimiento.

Este sección también presenta dos modalidades en su desarrollo pueden

prepararse dibujos de plantas y elevaciones y en base a estos desarrollar

dibujos isométricos o bien, si se considera conveniente, se construye una

Carlos Costa G. 29

maqueta de la planta a rigurosa escala y en base a esta se realizan los

isométricos.

Las principales actividades e información generada por la ingeniería de tuberías

son:

0 Planos de plantas y elevaciones de tubería, mostrando a escala todos

los arreglos de tubería, localización de accesorios e instrumentos,

equipo y edificios, identificación de tuberías y boquillas.

0 Maqueta constructiva elaborada en secciones a escala, mostrando

equipos, edificios, soportería, tubería y accesorios, plataformas y

escaleras, ubicación de drenajes y límites de batería, localización de

alambrado e instrumentos.

Dibujos isométricos de tubería para la fabricación de las mismas,

mostrando diámetro, número, especificación y trayectoria de cada

línea, instrumentación y accesorios montados sobre la tubería,

elevaciones y coordenadas del trazo, conldiciones de operación y

prueba, y lista de materiales para fabricación y montaje.

Análisis de esfuerzos en tuberías por temperatura, presión y peso

propio.

Análisis de colocación de juntas de expansión, localización y

dimensionamiento de curvas de tubería y especificación de resortes y

soportes de tubería.

Dibujos de detalles y especificación de apoyos, guías y grapas de

tubería en recipientes, edificios y marcos-soporte.

Ingeniería Mechica.

Esta disciplina es responsable de calcular, seleccionar y especificar los

diferentes equipos de proceso y de servicios, a partir de la información

contenida en las hojas de datos y dimensiones generales que proporciona la

Montaje de un reactor para fermentaciones sblidas y desarrollo del software para la captura de datos en línea 30

ingeniería básica, además auxilia al grupo de compras en la selección de

proveedores, esta secci6n se encuentra dividida en especialidades como:

0 Diseño de recipientes.

Equipo rotativo.

0 Manejo de sólidos.

0 Aire acondicionado.

0 Contra incendio.

La información y actividades efectuadas en esta especialidad son las

siguientes:

Espesores del cuerpo y tapas.

Tamaño, tipo y orientación de boquillas.

Diseño de faldones de torres y soportes de recipientes a presión.

Tipo y características de soportes de aislamiento.

Dibujos detallados del equipo, mostranldo las especificaciones

técnicas.

Ingeniería Elbctrica.

Este grupo inicia sus actividades al contar con el plano de localización general

del equipo y edificios obteniendo de otros grupos de diseño las necesidades de

motores eléctricos, resistencias calefactoras y comunicaciones.

Carlos Costa G. 3 1

Esta sección es responsable de:

e

e

e

e

e

e

e

e

e

e

e

e

Seleccionar y/o recomendar los códigos de diseño aplicables.

Preparar la clasificación de áreas de acuerdo a la información de

proceso a fin de que las secciones mecánicas, instrumentación,

tuberías especifiquen el equipo y sistemas que cumplan con los

requisitos de esta clasificación.

Realizar la ingeniería, el diseño, especificación, lista de material y

selección técnica del equipo eléctrico.

Diseñar los sistemas de fuerza, alumbrado, conexión de instrumentos,

tierras y comunicaciones.

Lista de materiales.

Dibujos de arreglo de equipo.

Dibujos de arreglo de equipo.

Dibujos del sistema general de distribución de fuerza.

Dibujos de cédula de conductores.

Dibujos de la red del sistema general de tierras y pararrayos.

Cuadro de balance de cargas y especificación de tableros de

alumbrado.

Diagramas de control eléctrico con circuitos ds control.

Ingeniería Civil.

Este grupo es responsable de realizar el diseño civil arquitectónico, y estructural

de la planta, es responsable de especificar y cuantificar los materiales

necesarios para la obra civil y en ocasiones también le corresponde supervisar .

los trabajos de construcción de campo y las actividades de subcontratistas.

Montaje de un reactor para fermentaciones dlidas y desarrollo del s o f h r e para la captura de datos en linea 32

Las actividades e información generada por esta especialidad son las

siguientes:

0 Cálculo, diseño y dibujo de cimentaciones de equipo de proceso, de

estructuras de concreto para edificios y soportería de tubería.

0 Cálculo, diseño y dibujos de edificios y estructuras de acero.

0 Plano clave de cimentaciones.

0 Dibujos definitivos de plantas y fachadas arquitectónicas, cortes y

detalles.

Carlos Costa G. 3 3

6.- DISEÑO Y DESARROLLO DEL SOFTWARE.

6.1.- L6gica de la Programaci6n.

Uno de los aspectos más importantes de este trabajo fue el desarrollo de un

programa que, como ya se mencionó anteriormente, permita la captura y

manipulación de datos obtenidos de un simulador.

Dos de los objetivos de utilizar un programa que controle algunos de los

aspectos importantes en el desarrollo de una fermentación son:

a) Facilitar o Reducir de manera considerable el trabajo del operador

emitiendo señales de alerta en condiciones críticas o realizando acciones para

mantener la fermentación en condiciones óptimas.

b) Producir una memoria de datos obtenidos a todo lo largo de la

fermentación que permita manipularlos y analizarlos posteriormente.

En base a los dos puntos antes mencionados sf? hizo un análisis para

establecer el mecanismo para desarrollar el software, y de éste se desprenden

dos funciones básicas que debe poder desarrollar: Mostrar en pantalla todos los

datos creados por el simulador, haciendo lecturas cada determinado tiempo

(establecido por el usuario), y hacer los cambios respectivos en pantalla. Debe

también poder mostrar el historial de cada sensor mediante una gráfica de

"lecturas de los archivos" contra el tiempo, desde el inicio hasta la última lectura

realizada. Debido a las necesidades del programa mismo se optó por utilizar

TPascal como lenguaje de programación.

Para poder desarrollar estas funciones se diseñó un programa que actúa de la

siguiente manera:

Montaje de un reactor para fermentaciones sblidas y desarrollo del software para la captura de datos en línea 34

Comienza pidiendo que se le alimenten los datos necesarios para su

funcionamiento, como son el número de módulos con que cuenta el fermentador

(de uno a tres, esto se debe a que está enfocado para trabajar con un tipo

determinado de fermentador que es con el que cuenta la Planta Piloto de'

Fermentaciones el cual puede estar formado por uno, dos o tres módulos

ensamblados entre si, lo que permite cambios en la relación UD), el tiempo total

de fermentación, el tiempo que habrá entre mediciones (el programa indica el

tiempo mínimo que puede haber entre las mediciones ya que tiene un número

máximo de puntos que puede graficar).

Una vez que el usuario alimenta estos datos a la computadora, aparece

una primera pantalla gráfica en la cual se le pide al usuario que indique el tipo

de sensor (de temperatura, de oxígeno, de bióxido de carbono o ninguno) que

se localizarán en cada una de las nueve ventanas que hay por cada módulo.

Como se muestra en la figura No. 4.

Figura No. 4 Pantalla de alimentación de datos.

Oprime T(Temperatura), O(0xígeno) 6 C(C02) 1 I

La ventana 1 medir& T La ventana 2 medirá:

En la figura No. 4 se muestra un ejemplo en donde en la ventana 1 se utilizará

un sensor de temperatura, como se observa, esa ventana cambia de color para

indicar el tipo de sensor que se le alimentó. E:sta información deberá

alimentársele al programa por cada uno de los módulos que se haya escogido.

Cuando esto se termina el programa comienza a trabajar leyendo los primeros

Carlos Costa G. 35

datos de cada archivo creados por el simulador, los cuales deben tener las

siguientes características:

Los nombres de los archivos deben ser:

Temp.dat para los datos de temperatura.

0xig.dat para los datos de oxígeno.

C02.dat para los datos de bióxido de carbono.

y deben estar estructurados de la siguiente manera:

Las columnas representan los sensores.

Los renglones representan los tiempos.

Ejemplo:

Tabla No. 3 Estructura de los archivos de datos producidos por el simulador.

Sensores

Tiempos 1 2 3 4

1

21.3 21.7 22.1 22 4

21 21.5 22 21.3 3

20.4 22 20.5 21 2

20 20 20 20

~

En la Tabla No.3 se puede ver que al tiempo 1 , la lectura obtenida en los cuatro

sensores es de 20. Para el tiempo 3, el sensor 4 mide 21 , etc.

Nota: Si por alguna razón el archivo producido por el simulador tiene más

columnas que sensores de ese tipo, el programa s610 tomará las primeras

columnas correspondientes al número de sensores alimentados.

Montaje de un reactor para fermentaciones s6lidas y desanollo del software para la captura de datos en linea 36

La numeración de los sensores es independiente del tipo de sensor, es decir, no

importa de que tipo sea el primer sensor alimentado pero el primero que se

alimente ,de temperatura corresponderá al primer sensor de temperatura, al

segundo que se alimente de temperatura corresponderá al segundo sensor de

temperatura, sin importar cuantos sensores de otro tipo se hallan alimentado

entre estos dos sensores. Lo mismo ocurrirá con la numeración de los otros dos

tipos de sensores. Ejemplo: Tabla No. 4 Ejemplo de numeración para los diferentes sensores según el orden de la

alimentación.

Valor Asignado en el

Alimentaci6n Archivo Correspondiente

"""

Carlos Costa G. 37

En la Tabla No. 4 podemos ver como la numeración de los sensores se

incrementa según el orden de alimentación pero sólo en el archivo que le

corresponde, por ejemplo, el primer dato que se alimentó es de temperatura, por

lo tanto es el número 1 en el archivo Temp.dat, el segundo que se alimentó es

de C02, que será el número 1 en el archivo C02.datI le1 siguiente también es de

COZ por lo que va a ser el número 2 en el archivo C02.dat y así sucesivamente.

A partir de que el programa comenzó a leer los datos de los archivos

hará lecturas cada determinado tiempo utilizando ccno base el tiempo entre

lecturas establecido por el usuario.

Si el usuario está trabajando con tres módulos tendrá las opciones que se

muestran en la figura No. 5:

Figura No. 5

Figura 5 (b): Ver el módulo medio:

Montaje de un reactor para fermentaciones s6lidas y desarrollo del soffvllrare para la captura de datos en llnea 38

Figura 5 (c): Ver el módulo bajo:

I 9 111

Figura 5 (d): Ver la gráfica del comportamiento de algún sensor durante el

tiempo transcurrido: Sensor No. :l

/

Tiemp (hrs) ____,

O salir del programa.

Cuando el usuario ha decidido ver el módulo superior (fig. 5 (a)), verá de

manera esquemática la distribución y las medidas registradas por los sensores

de ese módulo y en forma de listado las mediciones obtenidas por los sensores

de lo otros dos módulos. Si el usuario prefiere observar de manera esquemática

lo que ocurre en el módulo medio (fig. 5 (b)), observará el listado del módulo

superior y del módulo bajo. Ocurrirá algo similar si lo que desea es ver el módulo bajo (fig. 5(c)). Exceptuando la última opción (salir del programa) el

usuario podrá moverse a través de las diferentes pantallas cuantas veces crea

Carlos Costa G. 3 9

necesario e incluso en la pantalla en la que puede ver el comportamiento de los sensores contra el tiempo podrá ver cualquier sensor clue desee pero sólo uno a

la vez.

La programación se desarrolló de manera modular ya que este tipo de

programación es uno de los métodos de diseño más flexibles y eficientes para

mejorar la productjvidad de un programa. Así pues, el programa se dividió en

módulos (partes independientes), cada una de los cuales ejecuta una actividad

o tarea y se analizaron, codificaron y pusieron a punto independientemente de

otros módulos.

Este programa tiene un módulo principal (programa principal) que controla todo

lo que sucede; se transfiere el control a submódulos (subprogramas), de modo

que ellos puedan ejecutar sus funciones; sin embargo, cada submódulo

devuelve el control al módulo principal cuando se halla completado su tarea.

Como todo programa, &te es susceptible de sufrir grandes ampliaciones y

mejoras según los requerimientos del equipo de trabajo que lo opere y este tipo

de programación facilitará el trabajo de los programadores que se encarguen de

realizar estas modificaciones.

Figura No. 6 Estructura del programa Fermentador.

PROGRAMA PRINCIPAL FERMENTAPAS

INICIALEA EL MANEJADOR &FlW Y CONTIENE EL a a o PRIMPAL

FDAT0S.PAS -0 C€ lNlaAL!Z4a6N, ACTUALIZACI&d Y DESPUE-

W E C€ DATOS.

FORAFMOD.PAS M6ouLO DE PRESENTAa6N &FICA DEL FERMENT- Y VARIABLES GLOMLES.

El programa Fermentador está compuesto por un módulo principal, FERMENTA.

PAS, y cuatro submódulos, FDATOS.PAS, FGRAFMOD.PAS, FGRAFICA.PAS y

FRMBASIC.PAS. FERMENTA.PAS al ser el módulo principal es el que controla

Montaje de un reactor para fermentaciones s6lidas y desarrollo del software para la captura de datos en llnea 40

a los otros cuatro, mientras que los submódulos están divididos según el tipo de

tareas que realizan:

FDATOS.PAS Se encarga de todo el manejo de los datos,

desde la inicialización de las variables hasta el despliegue de

los datos en pantalla.

FGRAFMOD.PAS Realiza la presentación del programa, así

como la entrada de datos y la gráfica de del fermentador.

FGRAFICA:PAS Se encarga de realizar las gráficas de las

diferentes variables contra el tiempo (fig. 5(c)).

FRMBASIC.PAS Establece el valor de las diferentes constantes

que utilizan todos los módulos.

En la Tabla No. 5 se muestran todos los procedimientos involucrados en el

programa que se relacionan con el o los módulos que los utilizan.

Carlos Costa G. 4 1

Tabla No. 5 Procedimientos realiz

PROCEDIMIENTO

INICIALIZA: lnicialización de variables.

PECUADRO: Despliega el borde del menú

nicial

MENUl: Despliega el menú inicial de opcio-

les para la entrada de datos del No. de

nódulos del fermentador.

MENUZ: Despliega el menú de opciones al

Jsuario para la entrada del tiempo total de

‘ermentación y el tiempo de lecturas.

LISTADATOS: Despliega en pantalla las

nediciones registradas por los sensores, y

os colores relacionados con cada sensor.

MóDULO: Dibuja el borde del módulo del

fermentador.

TAPA: Dibuja la tapa del fermentador.

FONDO: Dibuja el fondo fermentador.

BOLITAS: Dibuja los sensores fermentador

ACTUALIZA: Actualiza las mediciones en

memoria a partir de lecturas guardadas en

disco.

PREGUNTAS: Permite al usuario elegir el

tipo de mediciones que realiza cada sensor.

UNO: Dibuja el fermentador de un módulo.

DOZ: Dibuja el fermentador de dos módulos

TRES: Dibuja el fermentador de tres

nódulos

EJES: Dibuja el sistema de ejes coord. XY

SRAFICALO: Dibuja los ptos

:orrespondientes a mediciones de sensores

TRANSCORD: Traslada las coordenadas

fependiendo del lugar en pantalla donde se

?ncuentra el origen.

ZALCULALUGAR: Calcula el No. de co-

h n n a que debe tomar de los archivos de

nediciones dependiendo del No. y tipo de

sensor

los por cada uno de los módulos. MODULO

FERMENTA FDATOIS FGRAFMOD FGRAFICA

X X

X

X

X

X

X X

X

X

X

X

X X

X

X

X

X

X

X

X

X

Montaje de un reactor para fermentaciones s61idas y desarrollo del software para la captura de datos en linea 42

Se trabajó con tiempos reales para poder obtener respuestas oportunas por

parte del operador en caso de que se presenten condiciones críticas.

En todo momento se buscó que el programa fuera "arnlable" con el usuario por lo

que se desarrolló un sistema que trabajara en un ambiente gráfico, esto permite

al usuario una rápida y adecuada localización de las mediciones de interés.

Carlos Costa G. 43

6.2. DIAGRAMAS DE FLUJO.

PROGRAMA FERMENTADOR DIAGRAMA DE FLUJO

4 INICIO

INICIALIZA

6 MENU1

I I MENU2

7

I UNO

I ACTUALIZA I

f INTERR

I

SUPERIOR

Montaje de un reactor para fermentaciones s6lidas y desarrollo del software para la captura de datos en llnea 44

PROGRAMA FGRAFMOD.PAS

MENU 1:

'No. DE MODULOS ?"

MENU 2:

'¿TIEMPO TOTAL DE FERMENTACION? -

Carlos Costa G. 45

PROGRAMA FGRAFMOD.PAS

UNO

ri FONDO

RESPUESTA

DOZ Y TRES

RESPUESTA

Montaje de un reactor para fermentaciones sdlidas y desarrollo del software para la captura de datos en llnea 46

ACTUALIZA

O INICIO

4

YELLOW RED

LIGHTBLUE

Carlos Costa G. 47

PROGRAMA FDATOS.PAS

LISTADATOS

(7 INICIO

3 CONTADOR=SENSOR INICIAL

CON T< SENSOR FINAL

<COLORSENSOR> MEDICION

CONT = CONT + 1

Montaje de un reactor para fermentaciones dlidas y desarrollo del s o f h r e para la captura de datos en línea 48

GRAFICAR

O INICIO

SENSOR -0

P l # SENSOR +

Carlos Costa G. 49

CALCULA LUGAR

(3 INICIO

t 1 COLOR = TIPO

1 CONT = CONT + 1

1 1=1+1

EJES

Montaje de un reactor para fermentaciones d i d a s y desarrollo del soWare para la captura de datos en línea 50

MODULO

O INICIO

i DIBUJA EL BORDE DEL MODULO

FONDO

INICIO

DIBUJA EL FONDO DEL FERMENTADOR

BOLITAS

INICIO

DIBUJA ELIPSES DE LOS SENSORES

TAPA

O INICIO

+ DIBUJA LA TAPA DEL FERMENTADOR

Carlos Costa G. 5 1

O INICIO

t I CALCULALUGAR I ,-, GRAFICALO

1 PUNTOANT = ORIGEN I

5 ARCHIVO.DAT

I I

-1 I I I

" _ - ""

f 7 ARCHIVO.DAT

TIEMPO = TIEMPO + SALTOPUNTO

EUNTOANT = z

I I = 1+1

Montaje de un reactor para fermentaciones s6lidas y desarrollo del software para la captura de datos en Ilnea 52

PREGUNTAS

ONO : VERT<3 -

I I

I SELECCIONAR 1"

T

(COLOR = ROJO^ COLOR=AMARILLO

- HOR=HOR+I

I COLOR=AZUL I

VERT=VERT+l +

I

Carlos Costa G . 53

7. CONCLUSIONES.

Los objetivos planteados al inicio del proyecto se cumplieron, sin embargo,

como todos aquellos trabajos que son sólo una parte de un gran todo, este

proyecto al ir creciendo fue generando expectativasl cada vez mayores a las,

cuales se les tuvo que poner un alto en su momento. Pero estas se tomaron en

cuenta como sugerencias para trabajos posteriores clue se realicen sobre este

mismo plan y están contempladas en el capítulo 8 (Sugerencias a un Trabajo

Futuro).

El software desarrollado tiene más puntos débiles que deben corregirse, sin

embargo, cumple adecuadamente con el objetivo particular para el cual fue

desarrollado, ya que actualmente funciona mediante la obtención de datos

obtenidos de un archivo previamente creado por un simulador y no está

acoplado ni al simulador ni a los fermentadores, por lo que actualmente no

trabaja con datos que se están obteniendo de manera simultánea al

funcionamiento del programa.

Montaie de un reactor Dara fermentaciones dlidas y desarrollo del softvrare para la captura de datos en línea 54

8.- SUGERENCIAS A UN TRABAJO FUTURO.

Siendo este proyecto sólo una parte de una idea m,uy ambiciosa que se está

desarrollando actualmente en la Planta Piloto de Fermentaciones, como lo es la'

automatización de procesos de fermentaciones sólidas, existe una serie de

sugerencias para un trabajo futuro que surgen de la experiencia obtenida

durante el desarrollo de esta parte del proyecto. Estas sugerencias tratan de

complementar el trabajo realizado así como facilitar el trabajo de las personas

que continúen con el mismo.

8.1 Mejoras a los Reactores.

Los reactores aunque funcionan adecuadamente existen algunos puntos de su

fabricación que debe corregirse para facilitar y optimizar su utilización.

Los reactores presentan fugas entre algunas de las uniones de acero inoxidable

y los tapones de plástico con orificios para la introducción de los sensores al

reactor. Para corregirlo únicamente hay que volver a soldar todas estas uniones

procurando esta vez tener el suficiente cuidado para evitar que se vuelvan a

presentar las fugas.

Los tapones de platico además de que no se unen pelfectamente a las entradas

de acero sufren un gran desgaste al enroscarse y desenroscarse. Esto se

solucionó de manera temporal utilizando un poco de cinta plástica con la que se

envolvió la rosca de los tapones de plástico. Como una solución definitiva se

recomienda utilizar empaque de plástico que permitan que la rosca no tenga

que desgastarse tanto por la presión a la cual se introduce además de facilitar

una correcta unión entre el acero y el plástico.

Carlos Costa G. 55

8.2 Mejoras al Software

Fundamentalmente hay que perfeccionar cinco aspectos del programa como un

siguiente paso a realizar:

1. Agregar una serie de puntos de medición que existen en los

reactores pero que no están contemplados en el programa, estos se

encuentran fundamentalmente en la tapa, en el fondo y en los pequeños

módulos que se utilizan para la unión entre los diferentes módulos de los

fermentadores.

2. Añadir un modo gráfico que permite observar la profundidad a la cual

se están llevando a cabo las mediciones. Esto es importante ya que nos

permitiría ver de manera gráfica una tercera dimensión y observar el

comportamiento de la fermentación en los diferentes radios.

3. Modificar el modo gráfico en donde se despliega la gráfica de

Mediciones vs Tiempo ya que como está actualmente cuando se lleven a cabo

fermentaciones largas y con periodos de tiempo cortas entre las mediciones se

pierde nitidez en la gráfica y por lo tanto precisión. Se sugiere entonces que el

usuario tenga diferentes opciones para ver toda la fermentación (poca nitidez),

las últimas 12, 24 ó 36 horas (nitidez media) o únicarnente las últimas 6 horas

(nitidez alta).

4. Incorporar el programa al simulador de manera que los dos corran de

manera simultánea para poder comprobar que el programa toma correctamente

los datos desprendidos del simulador en el tiempo que le fue encomendado.

5. Incorporar al programa la emisión de una alarma sonora y visual que

aparezca cuando alguna o algunas de las mediciones se salgan de cierto rango

Montaje de un reactor para fermentaciones dlidas y desarrollo del software para la captura de datos en línea 56

y puedan convertirse en un valor crítico para el desarrollo óptimo de la

fermentación.

Carlos Costa G. 57

9.- BIBLIOGRAFíA.

I. Alvarez, J. y Rincaño, J.(1979). Modeling and Optimal Control of an SCP

Fermentation Process., Biotechnology and Bioengineering. No.9 pp. 149-

154.

II. Armiger, W.B. y Moran D.M., (1979). Review of Alternatives and Rationale

for Computer Interfacing and System Configuration., Biotechnology and

Bioengineering. No.9 pp. 21 5-225.

111. Bailey, J . , Ollis, D. (1977). Biochemical Engineering Fundamentals. Mc Graw

Hill. E.U.A. 1987.

IV. Cooney, C.L., (1979). Computer Application in Fermentation Technology - A

Perspective. ., Biotechnology and Bioengineering. No.9 pp. 9-1 l.

V. Cordonnier, M., Kernevez, J.P. y Lebeault, J.M. (1 979). Microprocessor in

Fermentation Control. ., Biotechnology and Bioengineering. No.9 pp. 227-

230.

VI. Huerta, S., Favela, E. et al. (1 994). Absorbed Substrate Fementation for

Pectinase Production with Aspergillus niger. Biotechnology Techniques. Vol.

8 NO. 11 pp 837-842.

VII. Lonsane, B.K., Saucedo-Castañeda, et al. (1992). Scale-up Strategies for

Solid State Fermentation Systems. Process Biochemestry vol. 27 PP 259- .

273.

VIII. Pandey, A. (1 991). Aspects of Fermenter Design for Solid-state

Fermentations. Process Biochemestry vol. 26 PP 355-361.

Montaje de un reactor para fermentaciones s6lidas y desarrollo del software para la captura de datos en línea 58

IX. Pandey, A. (1992). Recent Process Developments in Solid-state

Fermentation. Process Biochemestry vol. 27 PP 109-1 17.

X. Quintero, R. (1981). Ingeniería Bioquímica. Ed. Alhambra Mexicana. México

D.F. 1993.

XI. ROUSSOS, S., Raimbault,M., Et AI. (1991). Scale-up of Celulases Production

by Trichoderma Harzianurn on a Mixture of Sugar Cane Bagasse and Wheat

Bran in Solid State Fermentation System. Micol. PJeotrop. Apl. Vol 4 pp 83-

98.

XII. Saucedo-Castañeda, G., Lonsane, B.K., Et AI (1992). Maintenance of Heat

and Water Balances as a Scale-up Criterion for the Production of Ethanol by

Schwanniomyces casfellii in a Solid State Fermentation System. Process

Biochemestry vol. 27 pp 97-1 07.

XIII. Saucedo-Castañeda, Trejo-Hernández, M.R. (1 994). On Line Automated

Minitoring and Control Systems for COZ and O2 ¡In Aerobic and Anaerobic

Solid-state Fermentations. Process Biochemestry vol. 29 pp 13-24.

XIV. Uldrich, G. D. (1986). Procesos de Ingeniería Q'uímica. Ed. Mc Graw Hill.

México D. F. 1993.

XV. Wang, D., l . , Cooney, C., L., Et AI. (1 979).Fermentation and Enzime

Technology. John Wiley & Sons. E.U.A.

Carlos Costa G. 59

10. ANEXOS

10.1 PLANOS DE LOS REACTORES

Reactor Pequeño de Acero Inoxidable.

15

O c*)

10 Medidas en Centímetros

Montaje de un reactor para fermentaciones s6lidas y desarrollo del software para la captura de datos en llnea 60

Vista Superior Reactor Pequefio.

Cabeza del Reactor Pequeño.

entímetros

Vista Superior. Vista Lateral.

- I 10 I

15 Medidas en Centímetros

Carlos Costa G. 6 1

Reactor Grande de Acero Inoxidable.

O c3

27 20 Medidas en Centímetros

Montaje de un reactor para fermentaciones dlidas y desarrollo del software para la captura de datos en llnea 62

Vista Superior Reactor Grande.

Medidas en Ce Nntímetros

Cabeza del Reactor Grande.

Vista Superior. Vista La tera 1.

I 19 1 27

Medidas en Centímetros

Carlos Costa G. 63

10.2 LISTADO DEL PROGRAMA.

{ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * REALIZADO POR : * CARLOS COSTA G. * * * * FECHA: * MAYO 1995. * * * * ESTE PROGRAMA MANEJA LOS DATOS OBTENIDOS DURANTE UNA ERMENTACION, * * DESPLEGANDOLOS, YA SEA, JUNTO A LOS SENSORES DEL FERMENTADOR EN SUS *

*TAMENTO A TMVES DEL TIEMPO.

*

*

*MODULOS CORRESPONDIENTES O DE MANERA GRAFICA MOSTRANDO SU COMPOR- * * * * * (Archivo: FERMENTA.PAS) * * *

{ íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííílíííííí 11 MODULO PRINCIPAL DEL PROGRAMA FERMENTADOR Ií INICIALIZA MANEJADOR GRAFICO Y CONTIENE EL CICLO PRINCIPAL Ií DE OPCIONES POSIBLES DENTRO DEL FUNCIONAMIENTO BASIC0 DE ESTE.

Program Fermentador; { SetViewPort (O,O,getmaxy,gemaxx,true);} Uses case Mdl of {Entrada de tipos de sensores}

Frmbasic, {Modulo de Variables globales del 1: Uno; progr-1 2: Doz;

Fgrafica, {Modulo Grafico } 3 : Tres; Fgrafhod, {Modulo de Despliegue del end;

Fdatos, {Modulo de Administracion de saltopunto := lO*pasotiempo dlv ttotfer

Objects, {Libreria de Pascal de Objetos} saltopunto := lO*pasotiempo div ttotfer; Graph, {Libreria de Pascal de Graficos } Actualiza; ,(Actuzalizamos datos de Crt, {Libreria de TPascal de recursos de fermentacion}

Dos; { Libreria de TPascal para DOS} REPEAT { Inicia Ciclo principal}

íííííííííííílíííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí}

Fermentador y entrada de variables} if Ttotfer-40 then

Datos} else

PC 1

Repeat {empieza programa principal} CLEAIZVIEWPORT; Begin simod := false;

Inicializa; {Inicializacion de variables } apagado := true; repeat {Pantalla inicial}

ClrScr; { Opcion de Graficar comportamiento de un Textcolor (Yellow); sensor} Recuadro;

u n t i l (Menul); If (Inten=('g')) or (Inten=('G')) Then Mend; {Entrada de Variables while apagado and (sensor 0 O) do

principales} begin {Inicia modo grafíco } if not(graficando) then '

Gd:=Detect; begin InitGraph (Gd,Gm,'c:\tp\bgi'); SetColor(Ye1low);

Montaje de un reactor para fermentaciones s6lidas y desarrollo del sofhvare para la captura de datos en linea 64

SetTextStyle

OutTextXY (100,110,'graficar

gotoxy(35,8); readln(sensor); graficando := true;

(Smallfont,horizdir,5);

sensor # :I);

end; apagado := false; case Color[sensor] of { Grafica

{ segun el tipo de comportamiento }

sensor } red :

graficalo(sensor,6.5,ARCHIVO-TEMP); yellow :

graficalo(sensor,l3,ARCHIVO-C02); lightblue:

graficalo(sensor,l3,ARCHIVO-OXIG); else begin if sensor = O then

interr := 'S'; sensor := 1;

begin

end

begin else

Setcolor(red); OutTextXY

OutTextXY (100,200,'O

Sound(600); { Beep } Delay(200); nosound; delay( 1000); apagado := true; grafícando :==false;

(100,150,'sensor apagado');

PARA CANCELAR OPERACION');

end; end;

end; { de case Color[ sensor]. . }

end;{ de while apagado and . .. }

{Opcion de desplegar Modulo superior del fermentador}

If ((Inten=(%')) or (Inten=('S'))) Then Begin

ListaDatos( 10,mdl*9,1); Modulo; Tapa; If Mdl=l Then

Fondo; Bolitas( 1);

End;,

{ Opcion de desplegar Modulo medio del fermentador}

If (((Inlten=('m')) or (Inten=("'))) and (Mdl=3)) Then

Begin Modulo; Bolitas( 10); ListaDatos( 1,9,1); ListaDatos(l9,27,10);

End;

{ Opcion d:e desplegar Modulo inferior del fermentador}

If (((Inten=(%')) or (Interr=('B'))) and (Mdlo 1)) Then

Begin h4:odUlo; Fondo; ifmdl = 2 then begin E3olitas (1 O); I,istaDatos( 1,9,1); end

else begin Holitas (1 9); L,istaDatos(l,lS,l); end

End; SetColor (Yellow); SetTextStyle (Smallfont,horizdir,5); OutTextXY (220,1,'(S) Medulo Superior

OutTextXY (220,21,' (G) Graficar (h4) Medulo Medio (B) Medulo Bajo');

(X) Salir I);

{ llilliililililJiiliiiliilillllliiiliii I/ Ciclo de tiempo real N Calculo del tiempo transcurrido N por medio de la comparacion del N tiempo(lus,min) y dia de la semana N El ciclo se i n t e m p r e en el momento N que se pulsa una tecla o en caso de I1 que se tengan que actualizar N los datos;. lllilllillliillfllllllllllllll~lll~llll }

repeat

Carlos Costa G. 65

gettime(hract,minact,segds,ms); getdate(yract,mesact,diact,dsemact); if (dsemantodsemact) then

tpoact :=

if tpoact >= tpoant+pasotiempo then

dia := dia +I;

dia*24*60+hract*60+minact;

siactualiza:=True; until (keypressed or siactualiza);

if (keypressed) then { Validacion de opcion es segun el

fermentador numero de modulos en el

seleccionado.} begin

selec := readkey; if selec in opc then

case mdl of 1 : if not ((selec in bajo) or (selec

in medio)) then simod := true;

2 : if not (selec in medio) then simod := true;

3 : simod := true; end

else simod := false;

end

simod := true;

begin

else

if (not siactualiza) and simod then

interr := selec; grafícando := false;

end; if siactualiza then {Actualiza los

mediciones

transcurrido. } begin Actualiza; contiempo := contiempo +1; siactualiza:= False; minant := minact; hrant := hract; diant := diact; dsemant := dsemact; tpoant := hrant*60+minant; end;

debido al tiempo

Sound(600); { Beep } Delay(200); nosound; interr:='s'; clearviewport; setcoloreellow); OutTextXY( 100,110,'REALMENTE DESEA

SALIR [SW ??I);

GotoXY(45,S); readln(sali.r);

UNTIL ((salir='S') or ( d i & ? ) ) ;

{Cierre de archivos de datos }

CloseGraph; Close(fdt); Close(fdc); Close(fd0);

end.

Until ((Inten=(v)) or (Interr=('X'))); {Opcion de salida}

Montaje de un reactor para fermentaciones s6lidas y desarrollo del sohiare para la captura de datos en línea 66

{ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * + + UNIDADFGRAFICA + + * * *

* * * REALIZADO POR :

* * CARLOS COSTA G. * * *

* * FECHA:

* * * MODULO PARA DESPLEGAR LAS GRAFICAS DE VARIABLES CONTRA EL TIEMPO * * EN UN SISTEMA DE EJES COORDENADOS.

* * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

* MAYO 1995. *

* * (Archivo: FGRAFICA.PAS) *

1

UNIT FGF2AFICA;

INTERFACE uses objects; {libreria de TPascal de Objetos}

{Prototipos de Procedimiento y Funciones del Modulo}

FUNCTION CalculaLugar(sensor:integer):integer; PROCEDURE Ejes(orig:Tpoint); PROCEDURE Graficalo(sensor:integer;escala:real;archivo:stri

PROCEDURE Transcoord( var punt0fin:Tpoint);

IMPLEMENTATION

uses

ng);

frmbasic,graph;

{fffiflffliiifllfiififiiililiiiiffiffiilfiffiiiifffiliilflfiliiiffii N If Function CalculaLugar() I/ If Funcion que calcula el numero de columna N que debe tomar de los archivos de mediciones dependiendo N del numero y tipo de sensor. N fllffil lfl l l lfl l l l lfl l l l l lfflfffll lfl lfffffllfffflfffffffflfffll l l l~

FUNCTION CalculaLugar(sensor:integer):integer; V U

i,tipo,cont::integer;

cont := O; tipo := color[sensor]; for i:=l to sensor do

if color[i] = tipo then cont :=: cont + 1;

CalculaLugar := cont;

begin

end; {liiifilillfilfi * Fin de CalculaLugar * ffffiilfiiflfffifif~lfi}

{IIIiIIIIiIIIIIIIIIJIIIIIIiIIIIIIIIIIiIIIIiiIIiiiIIiiIIIIIIIiiIIIIII N N Procedure Ejes() N N Procedimiento que dibuja el sistema de ejes coordenados XY N fffifffffii i i i ifffii~fiffiififffffii i i iffi iffffiiffffll lfffffffffii}

PROCEDURE EJES(0rig:Tpoint);

CONST

ESCALAEJE = 60; {Numero total de lineas en el eje X}

VAR

ij:integer; {contadores auxiliares}

Carlos Costa G. 67

mide :string[5]; {buffer para las etiquetas

de los ejes. } de las escalas

BEGIN {Se despliegan las lineas de los

ejes } setcolor(L1GHTGREEN); line(orig.x,O,orig.qgetmaxy); line(O,orig.y,getmaxx-4O,orig.y-2); SetTextStyle(SmallFont,HorizDir, 1); Outtextxy(orig.x-9,0rig.y+5,'(0,0)'); if not (orig.x=O) or not(orig.y=O) then

begin SetTextStyle(SmallFont, HorizDir,4); outtextxy(getmaxx-40,orig.y-9," [h]'); outtextxy(orig.x-3,0,'"');

{Se despliegan l a s lineas de la escala end;

sobre el eje x}

j:= r o u n d ( g e W l 0 ) ; For i:=l to j-1 do

begin line(i*lO+orig.x,orig.y-

SetTextStyle(SmallFont, HorizDir,2); Str((i*TtotFerfESCALAEJE):4:O,mide); if i mod saltoeje = O then Outtextxy(i*orig.x,orig.y+3,mide);

{Se despliegan l a s lineas de la escala

3,i*lO+orig.x,orig.y+3);

end;

sobre el eje y} if color[sensor] = red then

j:= round(getmaxyll3); For i:=l to (i-2) do

begin

begin line(0rig.x-2,0rig.y-

SetTextStyle(SmallFont,

Str(i*2,mide); Outtextxy(orig.x-9,(orig.y-i*13)-

i*13,orig.x+2,orig.y-i*13);

HorizDir,2);

4,mide); end;

end

begin else

j:= round(getmaxyl26); For i:=l to j-1 do

begin

i*26,orig.x+2,orig.y-i*26); line(0rig.x-2,0rig.y-

SetTextStyle(SmallFont, HorizDk2); Sbr(i*2,mide); Chttextxy(orig.x-9,(orig.y-i*26)-

4,mide); end;

end

END; {lllllllllllllll * Fin de Ejes * ........................

{ lllllllllllllllll~lllllllllllllllllllllllllllllllllllllllllllllllll N N Procedure (;rafícalo() I/ I/ Procedimiento que dibuja los puntos correspondientes a las N mediciones de los sensores. N llllllllllllllllll/llllllllllllllllll~llllllllllll)

PROCEDURE GRAFICALOs(sensor:integer;escala:real;archvo :string);

VAR

fd : Text; {Variable para Archivo de

Z : Tpoint; {Punto a grafícar } ORIGEN : Tpoint; {Punto origen} ptoant : "point; {Punto anterior grafcado} tiempo : Integer; {Coordenada x del punto a

i j : 1nte:ger; {Contadores auxiliares} lugar : Integer; {Lugar valido de la

y : Read; {Lecturavalida tomada del

nosime: R.&; {Lecturas basura del

sens : String; {string del sensor que se

datos}

graficar}

medicion en ell archivo }

archivo}

archivo}

esta grafícando}

BEGIN

lugar := CalculaLugar(sensor); SetbkColor (black); clearviewport; Tiempo := 1; Assign(fd,archivo); { Abre el archivo de

reset(fd); 0rigen.x := O;

mediciones correspondiente }

Montaje de un reactor para fermentaciones s6lidas y desarrollo del sofhmre para la captura de datos en línea 68

origen.y:= O; transcoord(origen); EJES(origen); str(sensor,sens); SetTextStyle (Smallfont,horizdir,5); outtextxy(30,1,'Grafícando Sensor :I);

outtextxy(l85,1,sens); SetTextStyle (smallfont,horiz&r,2); pt0ant.x := ORIGENXO; { Se toman las

pt0ant.y := ORIGENYO; { para empezar

For i:=l to contiempo do

For j:=1 to lugar-1 do read(fd,nosirve); readln(fd,y); z.x := tiempo; z.y := round(y*escala); transcoord(z); SetColor(magenta); putpixel(z.x,z.y,magenta); setcolor(color[sensor]); [email protected],ptoant.y,z.x,z.y); tiempo := tiempo + saltopunto; {Se

recalcula el siguiente tiempo} pt0ant.x := 2.x; pt0ant.y := z.y;

coordenadas origen }

a grafícar }

begin

end; Close (fd);

end; {lllllllllllllll * Fin de Grafícalo * lllllllllllllllllll/}

{ lllllllllllllllllflllllllllllllllllllllllllllllllllllllllllllllllll N N Procedure l'ransCoord() I/ N Procedimielnto que traslada las coordenadas dependiendo del I1 lugar en panatalla donde se encuentre el origen. N lllllllllllllllllll~llllllllllllllllllllltlllllllllllllllllllllllll} PROCEDURE TRANSCOORD( var

punt0fin:Tpoint);

BEGIN puntofin.x:=OrigenXO+puntofin.x; puntofin.y:=OrigenYO-punt0fin.y; END;

{lllllllllllllll * Fin de TransCoord * llllllllllllllllllll///)

END.

Carlos Costa G. 69

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * + + UNIDADFGRAFMOD + +

* REALIZADO POR :

* * * *

*

* * CARLOS COSTA G. *

* MAYO 1995. * * *

* * FECHA:

* * * * *

* MODULO DE PRESENTACION GRAFICA DEL FERMENTADOIR Y ENTRADA * DE TIPOS DE SENSORES . * * (Archivo: FGRAFMOD.PAS) *

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * *

UNIT Fgrafinod;

INTERFACE

Function Menul :Boolean; Procedure Mend; Procedure Recuadro; Procedure Modulo; Procedure Bolitas (i: integer); Procedure Tapa; Procedure Fondo; Procedure Preguntas(i:integer); Procedure Uno; Procedure Doz; Procedure Tres;

IMPLEMENTATION

uses fimbasic,crt,graph;

var Respuesta :char;

(llllllllllllllllllll~llllllllllllll~lllllllllllllllllllllllllllllll N N Function Menu10 /I I1 Funcion que despliega el menu inicial de opciones al usuario /I para la entrada de datos del numero de modulos del fermentador /I

Function Menu1:Boolean; llllllllllllllllllllllllllllllllllllllllllillllllllll~lllllllllllll~

Begin GotoXY (10,lO); Write (‘“Por cu ntos m6dulos est

Readln (Md); if (Mdl=l) or (mdl=2) or (Mdl=3) then

else

compuesto el fermentador ( 1 -3)? I);

Menu 1. :=TRUE

Menul :=FALSE;

(/lfllllflllllll * Fin de Menul * llllllllllllllllllll~ll}

End;

(lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll I/ I/ Function Me:nu2() /I /I Funcion que despliega el menu de opciones al usuario N para la entrada del tiempo total de fermentacion y tiempo /I de lecturas. N lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll~lllll} Procedure Mend;

Begin GotoxY I( 1 o, 12); Write (‘“Cu 1 es el tiempo total de

fermentacien []+S]? I);

Readln (TtotFer); if Ttotfer < 60 then

tminmed := TtotFer div 10; repeat

saltoeje := 120 div Ttotfer;.

GotoXY ( 1 O, 14);

Montaje de un reactor para fermentaciones dlidas y desarrollo del software para la captura de datos en linea 70

Write ('"Cada cu ntos minutos se realizar n las lecturas ( m p : ',tminmed,' ) ?I);

Readln @asotiempo); until @asotiempo >= tminmed);

End; {lllllllllllllll * Fin de Menu2 * lllllllllllllllllllllll)

{lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllílll N I/ Procedure Recuadro() I/ N Procedimeinto que despliega el borde del menu inicial. I/

Procedure Recuadro; lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll}

V a r

Mo:integer; {contador de modulo } Begin

Gotoxy (2,2); Write ('81); GotoXY (79,23); Write ('VI'); GotoXY (2,23); Write ('E'); GotoXY (79,2); Write (5)'); for M0:=3 to 78 do

Begm GotoXY (Mo,~); Write ('ÍI); GotoXY (Mo,23); Write cÍ');

end;

Begin for M0:=3 to 22 do

GotoXY (2,Mo); Write ('O'); Gotox" (79,Mo); Write ('O');

end; end; {lllllllllllllll * Fin de Recuadro * lllllllllllllllllllllll~

~lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll I/ N Procedure Modulo() N 11 Procedimiento que dibuja el borde del el modulo del fermentador.

N llllllllllllllllll~llllllllllllllllllllllllllllllllllllllllllllllll} Procedure Modulo;

Begin SetbkColor (1); Setcolor (14); MoveTo (85,100); LineTo (100,100); LineTo (100,400); LineTo (85,400); MoveTo (240,100); LineTcl(225,lOO); LineTo (225,400); LineTcl (240,400);

End; (lllllllllllllll * Fin de Modulo * lllllllllllllllllll/~

(lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll /I N Procedure BolitasO N I1 Procedimiento que dlbuja los sensores del fermentador. N

Procedure Bolitas (i: integer); lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll)

V U reales:string[ lo]; v:string[2]; Vert,Horiz:integer; {contadores}

Begin For Vert:=l to 3 do

For Horiz:=l to 3 do Begin

SetColor (Color[i]); SetFillStyle (SolidFill,Color[i]); FillEllipse

MoveTo (69+42*horiz,43+10O*vert); Str (i:2,v); SetColor (darkgray); SetTextStyle (2,horizdir,5); OutText (v); if (valores[i]<>SIN-MEDICION) then

(78+42*horiz,50+100*vert,10,10);

begin str(valores[i]:5:2,reales); SetTextStyle (2,horizdir,4); SetColor (yellow); OutTextXY

(65+42*horiz,70+10O*vert,reales); SetTextStyle (2,horizdir,5);

end;

Carlos Costa G. 7 1

i:=i+l; End;

End; {ffffffffffffllf * Fin de Bolitas * fffffllffffflfl lffffffl}

{fffffflfflffflffllflfffflffffflfflflfffflflffffffllfllffffffffflllf I/ If Procedure Tapa0 N If Procedimiento que dibuja el borde de la tapa del fermentador. N

Procedure Tapa; lffffffllllfllfffffffffflfffffllllflllllfllffffffffffflflllllllfffl}

Begin SetColor (14); MoveTo (85,SS); LineTo (100,SS); LineTo (100,55); LineTo (85,55); LineTo (85,40); LineTo (240,40); LineTo (240,55); LineTo (225,55); LineTo (225,85); LineTo (240,85);

End; (ffllfffffffffff * Fin de Tapa * f f f f f f f f l f f f l f f f l l l l f l l }

{lllllfllffflflfffffffflllllfflllflflflflllllflllllllffllllllflllffl If N Procedure Fondo() /I 11 Procedimiento que dibuja la parte inferior del fermentador. If ffllflffflffflflffffflffffflffffffflffflfffffllfffffffffffffffflflf} Procedure Fondo;

Begin SetColor (14); MoveTo (85,415); LineTo (100,4 15); LineTo (100,445); LineTo (85,445); LineTo (85,460); LineTo (240,460); LineTo (240,445); LineTo (225,445); LineTo (225,415); LineTo (240,415);

End;

(ffffffll lfflfl l * Fin de Fondo * f l f l ffff l f l l f fffff~ll l f 1

{~llffffffffffffflilffffffffffflfllffflffflfffllfffffllllflllllllllf /I If Procedure Preguntas0 If 11 Procedimiento que permite al usuraio elegir el tipo de mediciones /I que realiza cada sensor. If ~fflfllflfllffllffllfllffffffffffflllfffffffflffflflffflfflffllllll} Procedure Preguntas(i:integer);

Var cont,paso:integer; v:string[2]; Horiz,Vert : integer; {contadores}

Begin pa~O:=3; SetColor (lightgreen); SetTextStyle

OutTextXY (20,10, 'Oprime (T) para (SansSeriEont,horizdir, 1);

Temperatura, (O) para Oxigeno o (C) para C02');

For Vert:=l to 3 do For Horiz:=l to 3 do

Begin Cont:=(Vert-l)*3+horiz; Str(i:2,v); SetColor (yellow); SetTextStyle

(Smallfont,horizdir,5); OutTextXY

(337,19+32*cont,'La ventana medir :I);

OutTextXY (425,19+32*cont,v); GotoXY(65,paso+cont); Readln (v); Color[i]:=l; If ((v=('T')) or (v=('t'))) then

If ((~( 'c ')) or (~( 'c '))) then

If ((~('0')) or ( ~ ( ' 0 ' ) ) ) then

SetFillStyle (Solidfíll,Color[i]); SetColor(Color[i]); FilEllipse

(78+42*horiz,50+100*vert,10,10); paso:=paso+l; .

Color[i]:=4;(Rojo}

Color[i]:=14;{Amarillo}

Color(i]:=9;{Anrl Claro}

i:=i+l;

SetColor (Yellow); end;

Montaje de un reactor para fermentaciones dlidas y desarrollo del sofhmre para la captura de datos en línea 72

OutTextXY(300,373,'SON CORRECTOS LOS DATOS? (SIN)');

repeat GotoXY(70,24); Readln(respuesta);

until (Respuesta='S') or (Respuesta='s') or

(Respuesta='n'); End; (lllllllllllllll * Fin de Preguntas *

(Respuesta='N') or

lllllllllllllllllllllll}

{lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll N 11 Procedure Uno() I/ /I Procedimiento que dibuja el fermentador de un solo modulo I/ lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll} Procedure Uno;

Begin Repeat ClearDevice; Modulo; Tapa; Fondo; Bolitas( 1); { i,x} Preguntas( 1);

(Respuesta='S') or (Respuesta='s') Until

End; (lllllllllllllll * Fin de Uno * lllllllllllllllllllllll~

(lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll N I/ Procedure Doz() N I/ Procedimiento que dibuja el fermentador de dos modulos /I

Procedure Doz; Begin

Repeat ClearDevice; Modulo; Tapa; Bolitas( 1); Preguntas( 1); (i color}

(Respuesta='S') or (Respuesta='s');

lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll}

Until

Repeat ClearDevice; Modulo; Fondo; Bolita$ lo); Preguntas( 10);

(Respuesta='S') or (Respuesta='s'); Until

End;

{lllllllllllllll * Fin de Doz * llllllllllllllllllll~ll~

(lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll I/ N Procedure Tres() I/ I/ Procedimiento que dibuja el fermentador de tres modulos I/ lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll~ Procedure Tres;

Begin Repeat ClearDevice; Modulo; Tapa; Bolitas( 1); Preguntas( 1);

(Respuesta='S') or (Respuesta='s');

ClearDevice; Modulo; Bolitas( 1 O); Preguntas( lo);

(Respuesta='S') or (Respuesta='s');

ClearDevice; Modulo; Fondo; Bolitas( 19); Preguntas( 19);

(Respuesta='S') or (Respuesta='s');

Until

Repeat

Until

Repeat

Until

End; (lllllllllllllll * Fin de Tres * lllllllllllllllllll////>

END.

Carlos Costa G. 73

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * ++ UNIDADFRMBASIC + + * * * * REALIZADO POR : * * * CARLOS COSTA G. * * * * FECHA: * MAYO 1995. * * * * UNIDAD BASICA DE TIPOS, CONSTANTES Y VARIABLES GLOBALES. * *

*

*

*

* (Arcluvo: FRMBASIC.PAS) * * * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

UNIT FRMBASIC;

INTERFACE

uses objects; { libreria de Pascal de Objetos}

Type

Ventana = Array [l. .29] of Integer; areal = Array [ l . .29] of real;

CONST

OrigenXO = 10; {Origen en pixeles del

OrigenYO = 469; {Origen en pixeles eje X }

del eje Y }

validas} {Conjunto de Opciones

opc = ['b','B','m','M','s','S','g','G,'x','X']; medio = ['m','"]; {Conjunto de opciones

bajo = ['b','B']; {Conjunto de opciones para el modulo medio}

para el modulo bajo}

{Nombres de los archivos de mediciones de la fermentacion}

ARCHIVO-C02 = 'c02.dat'; {Mediciones de

ARCHIVO-TEMP = 'temp.dat'; {Mediciones

ARCHIVO-OXIG = '0xig.dat'; {Mediciones

C02}

de TEMPERATURA}

de OXIGENO}

SIN-MEDICION = -1000; {Valor de sensor apagado} V a r

fdt : Text; {Archivo de datos de

fdc : Text; {Archivo de datos de

fdo : Text; {Archivo de datos de

Color : Ventana; {Arreglo de Colores

Valores : areal; {Arreglo de mehciones

temperatura}

C02}

Oxigeno}

segun cada sensor}

para cada sensor}

{Banderas de control}

grafícando : Boolean; {El simulador se

siactualiza : Boolean; {Actualizar o no los

apagado : Boolean; {Si el sensor se

simod : Boolean; {Si el modulo elegido

encuentra g r a h n d o o no}

datos, segun el tiempo real}

encuentra apagado o no}

existe o no }

{Opciones del usuario}

selec : Char; (Opcion seleccionada por

Interr : Char; (Opcion valida

salir : C k , {Opcion de salir del

el usuario a validar}

seleccionada}

programa 1

(Variables para control de tiempo real}

Montaje de un reactor para fermentaciones dlidas y desarrollo del software para la captura de datos en línea 74

segds,ms : Word; {segundos y miliseg.

yract,mesact : Word; {ano y mes, no

minant,hrant : Word; {lecturas de minutos

minact,hract : Word; {lecturas de minutos

&ant,dsemant: Word; {lecturas del dia de

&act,dsemact: Word; {lecturas del &a de

no utlizados}

utilizados}

y horas anteriores}

y horas actuales}

la semana anterior}

la semana actual}

&a : Integer; {Numero de &as

tpoact : Integer; {Tiempo en minutos

tpoant : Integer; {Tiempo en minutos de

Gd,Gm : Integer; {Driver grafico y

sensor : Integer; {Numero de Sensor

transcurridos en la fermentacion}

actual}

la ultima lectura de datos}

modo grafico utilizado} '

evaluado}

el fermentador} TtotFer : Integer; {Tiempo total de la

fermentacion} contiempo : Integer; {Mediciones a

graficar segun tiempo transcurrido} tminmed : Integer; {Tiempo minimo de

medicion segun tiempo total de fermentacion) pasotiempo : Integer; {Tiempo real entre

mediciones} saltoeje : Integer; {Escala de los ejes} saltopunto : Integer; {Distancia entre punto

Mdl : Integer; {Numero de modulos en

y punto en 'XI}

IMPLEMENTATION end.

Carlos Costa G. 75

{ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * * * + + UNIDADFDATOS + + * * * * REALIZADO POR : * * * CARLOS COSTA G. *

* FECHA: * MAYO 1995. *

* MODULO DE INICJALIZACION, ACTUALIZACION Y DESPLIEGUE DE DATOS *

*

* * *

* *

* * * (Archivo: FDATOS.PAS) * * * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 UNIT FDATOS;

MTERFACE

{Prototipos de Procedimientos del Modulo 1

Procedure ListaDatos(Emp, {Sensor inicial a listar}

listar}

correspondiente}

Procedure Actualiza; Procedure Inicializa;

IMPLEMENTATION

Term, {Sensor final a

Co1:integer {Columna

1;

uses frmbasic, {Modulo de Variables} graph, {Libreria de TPascal de Graficos } crt, {Libreria de TPascal de recursos de

Dos; {Libreria de Pascal para DOS} PC 1

{ lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll I/ I1 Procedure ListaDatos() N N Procedimiento que despliega en pantalla I1 las mediciones registradas por los sensores, 11 asi a m o los colores relacionados a cada sensor.

N llllllllll/llllllllllllllllílí} Procedure ListaDatos(Emp,Term,Col:integer);

V X Cont : Integer; {contador} H,ldato : Integer; {factores para ajuste

reales : string[20]; {buffers para

V : string[2]; { texto variables

de pantalla}

convertir a}

numericas}

Begin SetColor (yellow); SetTextStyle (Smallfont,horizdir,5); Idato:=3; H:=O; For Cont:=Emp to Term do

Begin if Col= 10 then

H:=200; ldato:=3;

begin

end; {Presenta colores segun el tipo

de sensor}

SetFillStyle (Solidfill,Color[Cont]); SetColor(Color[Cont]); FillEllipse (325+H,10+30*ldato,10,10);

{Despliega los datos del modulo

debajo de los sensores graficos del fermentador

en pantalla}

Montaje de un reactor para fermentaciones s6lidas y desarrollo del software para la captura de datos en llnea 76

SetColor (14);{ Amarillo} str(valores[cont]:5:2,reales); If Color[cont] 0 1 Then

else OutTextXY (350+H,5+30*ldato,reales)

OutTextXY (350+H,5+30*ldato,'Cerrado');

{Despliega la lista de

sensores restantes} mediciones de los

Str (Cont:2,v); SetColor (darkgray); SetTextStyle (2,horizdir,5); OutTextXY (3 15+I-I,30*ldato,v); col:=Col+l; ldato:=ldato+l;

End; {fin de for Cont:=Emp ...} End;

{ lllll/lllllllll * Fin de Listadatos * .....................

{ lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll N N Procedure Actualiza I/ N Procedimiento que actualiza las mediciones N en memoria a partir de lecturas guardas en dlsco. N lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll} Procedure Actualiza; var

begin ij:integer; {contadores}

for j:=l to mdl*9 do case Colorlj] of

red : read(fdt,Valoresb]); {Lee

yellow : read(fdc,Valoresu]); {Lee

lightblue : read(fdo,Valoreso]); {Lee

medicion de temperatura}

medicion de C02}

medicion de Oxigeno} else

valoreslj] := SIN-MEDICION; {Sensor apagado no tiene medicion}

end; {Cambio de tiempo en todos los tipos

de medicion}

readln(fdt); readln(fdc); readln(fd0);

end; {lllllllllllllllll * Fin de Actualiza * l/l/l/lll//ll/llllillll}

{ lllllllllllllllllllllllllllllllllllllllllllllllllllllllillillllllll I/ It Procedure Inicializa /I N Procedmiento que incializa variables globales, It archivos y limpia arreglos de colores y mdciones. N lllllllllllllllllllllllllllllllll/~llllllllllllllllllllllllllllllll} Procedure Inicializa;

i:integer; mesant,yrant:word;

begin

medicion} For i:=l to 27 do

Begin

V a

{ Inicializa valores por default en colores y

valores[i] := SIN-MEDICION; Color[i]:=7; . {Gris Claro}

end; Color[28]:=0; {Gris Claro} Color[29]:=7; {Negro}

{ inicializacion de variables globales}

saltopunto := 1; saltoeje := 2; grafícando := false; contiempo := 1; siactualiza:= False; Interr := 'S ; sensor := 1; &a :=O; salir := 'N'; gettime(hrant,minant,segds,ms); getdate0lant,mesant,diant,dsemant); tpoant := hrant*60+minant;

{ Inicializacion de archivos}

assign (fdt,hRCHIVO_TEMP); assign (fdc,ARCHIVO-C02); assign (fdo,ARCHIVO-OXIG);

Carlos Costa G . 77

reset (fdt); reset (fdc); reset (fdo);

end; (/////ll///lllllll * Fin de Inicializa * l///l/ll///l/ll////lll/~

END.

10.3 Manual de Uso del Software

El programa está diseñado para correr a partir de un archivo ejecutable llamado FERMENTA.EXE y requiere de tres archivos de datos para su funcionamiento.. Estos archivos deben llamarse OXIG.DAT, C02.DAT y TEMP.DAT, deben estar en el mismo directorio desde el que se corre FERMENTA.EXE y la información que contengan debe ser de datos de oxígeno, bióxido de carbono y temperatura respectivamente.

Como se mencionó anteriormente los datos deben estar organizados en renglones, que representarán los tiempos, y en columnas, que representarán los sensores. Las diferentes columnas deberán estar separadas por un espacio o un tabulador.

Para correr el programa basta tenerlo en un directorio junto con los tres archivos de datos y escribir FERMENTA <ENTER>.

El programa comienza con un menú el cual nos hace las siguientes preguntas:

-+ ¿Por cuántos m6dulos está compuesto el fermentador (1 - 3)? Esta pregunta se refiere al número de módulos (1 - 3) que están sobrepuestos para formar el fermentador que se va a utilizar.

+ + ¿Cual es el tiempo de fermentación [Hrs]?

Deberá contestarse el tiempo estimado que durará la fermentación. Deberá evitarse en todo momento que este tiempo sea menor al real.

-+ ¿Cada cuánto minutos se realizarán las lecturas (min:-)? Es decir, cuál va a ser el intervalo que habrá entre lectura y lectura, se establece también un valor mínimo (min-) fijado en base al número máximo de puntos que se pueden graficar para tener una resolución aceptable en las gráficas de lecturas vs. Tiempo.

Carlos Costa G. 79

AI terminar de contestar estas preguntas el programa cambia a un modo gráfico en el que aparece la siguiente pantalla:

Figura No. 7 Pantalla de inicio para la captura de datos.

oprime (T) para Temperatra, (O) para Oxígeno y (C) para COZ

Laventana 1 medirá:

Las ventanas aparecen numeradas y de color a z u l .

. . . . . . . . . . . . . . .

El fondo sólo aprecerá en esta pantalla si se eligió trabajar con un sólo módulo.

, _ _ _ _ .

7 8 9 ..... ._..__ .____. C ......................

El objetivo de esta pantalla será indicarle a la computadora que tipo de sensor se introducirá en cada ventana del reactor. Siempre comenzará con el módulo superior en el cual estarán numeradas las primeras ventanas.

Para introducir la información bastará con que el usuario oprima la letra T, O, C 6 <ENTER> para indicar que el sensor medirá Temperatura, Oxígeno, bióxido de Carbono o si estará cerrado, respectivamente. AI hacer esto por primera vez la ventana 1 cambiará de color según la siguiente tabla:

Tabla No. 6 Cambio de color de las ventanas según el tipo de sensor en cada una de ellas:

Tipo de Medici6n Respuesta Color de la Ventana

Temperatura T Roja Oxígeno O Azul Bióxido de Carbono C Amarilla Cerrado <ENTER> o cualquier Desaparecerá

1 otra tecla

y posteriormente pedirá la misma información para la ventana 2 y así sucesivamente hasta llegar a la novena ventana. Una vez que se introduce la

Montaje de un reactor para fermentaciones s6lidas y desarrollo del sofbare para la captura de datos en llnea 80

información de las primeras nueve ventanas aparecerá en la parte inferior de la pantalla la pregunta:

Si al introducir la información se cometió algún error deberá oprimirse la letra N y el programa volverá a preguntar el tipo de sensor de cada una de las nueve ventanas.

¿SON CORRECTOS LOS DATOS? (S / N).

Finalmente cuando se haya establecido correctamente el tipo de sensor que estará en cada una de las ventanas y si se utilizarán más de un módulo durante la fermentación el programa cambiará a una pantalla en la que aparecerá el módulo medio:

Figura No. 8 Pantalla para introducir datos del módulo medio Oprime (T) para Temperatra, (O) para Oxigeno y (C) para C 0 2

La ventana 1 O medirk

Las ventanas aparecen numeradas y de color azul.

13 14 15 . . . . .............. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

El fondo sólo aprecerá en esta pantalla si se eligió trabajar con dos módulos.

...... ...... 16 17 18

..... ......

... .....................

donde habrá que introducir los datos de la misma manera que para la pantalla anterior. Si se escogieron tres módulos, al terminar de introducir la información para esta pantalla aparecerá una tercera en donde deberá hacerse lo mismo que en las dos primeras.

Una vez establecidos los sensores para cada una de las 9, 18 o 27 ventanas según sea el caso (1, 2 ó 3 módulos), se cambiará a una pantalla con la siguiente estructura:

Figura No. 9 Pantalla que esquematiza las lecturas de los diferentes sensores

O

9

O

2

5

8

Carlos Costa G. g 1

En donde aparece en la parte izquierda de la pantalla el módulo Superior con sus nueve ventanas esquematizadas con el código de color respectivo y con la última lectura realizada debajo de cada ventana.

En la parte central y derecha aparecen en forma de listado (si se escogieron 2 Ó

3 módulos) los datos de las otras 9 6 18 ventanas, según sea el caso, y a su derecha aparece también la última lectura realizada.

Si se quiere observar cualquiera de los otros dos módulos basta con oprimir ’M’ para ver el módulo Medio o ‘B’ para ver el módulo Bajo. En estas pantallas aparecerán las ventanas organizadas de la misma manera y se podrá regresar al módulo superior oprimiendo la letra ‘S‘.

Nota: Si sólo se tiene un módulo las opciones ‘M‘ y ’B’ no existen. En caso de tener dos módulos la opción ‘M‘ desaparece.

si se desea observar el historial de alguno de los sensores a partir del inicio de la fermentación y hasta ese momento, se debe oprimir la letra ’G’ (Graficar) y escribir el número de sensor que se quiere observar. Aparecerá la siguiente pantalla:

Figura No. 10 Gráfica de lectura vs. Tiempo

I Grafcando Sensor: 1 (S) Módulo Superior (M) Módulo Medio (B) Módulo Bajo (G) Grd~car (X) Salir

Tiempo (hrsf

En donde el eje “X” corresponderá al tiempo (en horas) y el eje Y“ a la medición del sensor que se eligió.

Conforme pase el tiempo correspondiente al intervalo entre medición y medición irán apareciendo más puntos que se irán uniendo a los anteriores.

Si se desea ver la gráfica del comportamiento de algún otro sensor habrá que oprimir la letra ’G’ e introducir el número del nuevo sensor. La gráfica cambiará a la del nuevo sensor.

Para regresar al esquema de módulos basta oprimir la letra ‘S‘, ‘M‘ o B según se desee.

Si en cambio lo que se desee es salir permanente del programa oprima la letra ‘X’ y sonará una señal de alerta para confirmar su salida del programa.

El programa regresará a la pantalla de DOS y para reiniciar el programa escriba de nuevo FERMENTA <ENTER> y comenzará de nuevo.