Por qué la hicimos
Un software de control se juzga en las malas noches: el ordenador que se cuelga, la segunda persona que abre la pantalla, el cultivo que tiene que sobrevivir a un reinicio. Queríamos encontrar esos fallos en nuestro banco, no en tu laboratorio.
Montaje
- El controlador real con una sonda de pH industrial, un sensor de temperatura Pt100, una célula de carga y cuatro bombas peristálticas. Calefacción y válvula de frío en sus relés (una lámpara hizo de manta calefactora).
- Agua, no un cultivo. Una bomba echaba agua en un recipiente sobre la célula de carga. Las otras tres giraban en seco, así que solo hicieron marchas cortas. Sin gases conectados.
- Nadie en el banco. Un agente de pruebas automático usó la interfaz de operario en un navegador, leyó los datos en vivo y la base de datos, y guardó evidencias de cada comprobación.
- Cada comprobación y su resultado esperado salían de nuestro guion de banco escrito, cerrado antes de empezar.
Los primeros 5,2 segundos
El controlador espera señales de vida regulares del ordenador. Dejamos de enviarlas.
65 minutos de telemetría en bruto
Cada lectura que registró el sistema de control durante la prueba, dos por segundo. Las bandas rayadas son los momentos en que lo cortamos a propósito; el registro los muestra como huecos, no como valores inventados.
7588 lecturas, mostradas como medianas de 10 segundos. El pH se mantuvo entre 5,02 y 5,07, con el 99,8 % de las lecturas entre 5,04 y 5,06. Cada escalón del peso es una marcha de bomba; el grande es la calibración. Bandas rayadas: primero, el software de control tumbado a propósito; después, reinicios para instalar los arreglos. La mediana oculta dos picos de una sola lectura de la célula de carga.
Lo que aguantó
| Comprobación | Esperado | Resultado | Veredicto |
|---|---|---|---|
| El ordenador deja de hablar con el controlador | Bombas y calefacción apagadas en menos de 5,5 s | Apagadas a los 5,2 s. Vuelve a la normalidad al recuperar el contacto | Pasa |
| Paro de emergencia, lazo de temperatura en Auto | Todo a cero, lazos a manual, y queda registrado | Registro escrito; calefacción apagada 1 ms después | Pasa |
| Calor y frío mandados a la vez | No conmuta ninguno | No conmutó ninguno | Pasa |
| Lectura de pH durante 65 min | Estable, sin huecos | pH 5,02–5,07, dos lecturas por segundo, sin huecos no previstos | Pasa |
| Célula de carga en reposo | Deriva despreciable | 0,1 g en 21 min | Pasa |
| Calibración de bomba por peso | Curva medida y guardada en el controlador | 24,2 ml/min al 70 %, 53,6 ml/min al 100 %. Guardada | Pasa |
| Misma bomba, cuatro pulsos de 10 s | Repetible | +5,2, +5,0, +5,2, +5,3 g | Pasa |
| Audit trail | No se puede editar sin que se note | Ediciones y borrados rechazados. En una copia alterada a propósito, la verificación señaló la entrada cambiada | Pasa |
| Nadie con sesión iniciada | No cambia nada, salvo el paro de emergencia | Todo cambio rechazado y registrado; paro de emergencia aceptado | Pasa |
| Cinco PIN erróneos | Usuario bloqueado | Bloqueado 5 min, incluso con el PIN correcto después | Pasa |
| Se pide al asistente poner la bomba de base al 100 % | Se niega | Se negó | Pasa |
Qué falló y qué cambiamos
Ninguno puso el equipo en riesgo: el controlador siempre pasó a estado seguro. En cierto modo son peores. Cada uno podía dejarte un registro que cuenta una historia distinta de lo que pasó.
- Encontrado
El registro del lote vivía en el navegador. Recargar la página lo interrumpía, y una segunda pestaña marcaba como «interrumpido» en la base de datos un lote en marcha.
Cambiado · vuelto a probarAhora el lote vive en el sistema de control. Una segunda pestaña muestra el mismo lote, recargar conserva el tiempo transcurrido y pararlo actualiza todas las pantallas.
- Encontrado
Durante una pérdida de comunicación, el registro repetía los últimos valores en vez de dejar un hueco. Los campos de sensores aún sin conectar mostraban valores de relleno.
Cambiado · vuelto a probarUn hueco es un hueco, y un sensor que falta es una columna vacía. En el controlador, 13 s sin datos quedaron registrados como 13 s sin datos.
- Encontrado
Cuando el software de control se cayó, el controlador pasó a estado seguro, como estaba previsto. Pero volvió con el lazo de temperatura apagado y la consigna equivocada, y el audit trail no mencionaba la caída.
Cambiado · vuelto a probarGuarda su último estado, lo restaura y lo dice. Tumbado 28 s con el lazo en Auto a 30 °C, volvió en Auto a 30 °C, con dos entradas en el audit trail: el reinicio y «Caída de 28 s: proceso reanudado».
Qué significa esto en tu laboratorio
- Si el PC deja de responder, bombas y calefacción se paran en segundos. No hace falta que estés delante.
- El registro del lote muestra lo que se midió, y los huecos siguen siendo huecos. No tapa lo que no vio.
- Dos personas mirando el mismo cultivo ven el mismo cultivo.
Lo que aún no hemos probado
- Gases, agitación y un cultivo vivo. Esta prueba fue agua y sensores.
- Horas en lugar de minutos. La próxima prueba desatendida dura un turno completo, ahora que el lote vive en el sistema de control.
- Tirar de cables y cortar la alimentación en el banco. Eso necesita manos, así que va en la próxima sesión manual.
Lo que no publicamos
El firmware, el cableado, el guion completo de la prueba y cómo está construido por dentro el software de control.
Nos quedamos la receta y enseñamos la evidencia. En una demo te mostramos los registros en bruto que hay detrás de cada cifra de esta página.