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.
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? -
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 +
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
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.