Intentamos romper nuestro propio software de control

Una prueba desatendida en el controlador real: ¿pasa a estado seguro, y el registro sigue siendo fiel cuando algo sale mal?

Probado Controlador y sensores reales · agua, sin cultivo, sin gases

5,2 sde perder el ordenador a bombas y calefacción apagadas (límite 5,5 s)
1 msentre el registro del paro de emergencia y el paro en sí
3 / 3fallos de integridad de datos encontrados, corregidos y vueltos a probar el mismo día
49evidencias: capturas, logs, filas de la base de datos

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.

0 sÚltimo mensaje del ordenador5,2 sBombas y calefacción apagadas5,5 sLímite
Medido en el controlador. Cuando vuelve el ordenador, vuelve el funcionamiento normal.

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.

pH, sonda industrialpH
4,95,05,15,2Software de control tumbado a propósitoReinicios para instalar los arreglos
Peso en la célula de cargag
050100150Software de control tumbado a propósitoReinicios para instalar los arreglos

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ó

Prueba desatendida, 75 min · resultado esperado escrito antes de empezar
ComprobaciónEsperadoResultadoVeredicto
El ordenador deja de hablar con el controladorBombas y calefacción apagadas en menos de 5,5 sApagadas a los 5,2 s. Vuelve a la normalidad al recuperar el contactoPasa
Paro de emergencia, lazo de temperatura en AutoTodo a cero, lazos a manual, y queda registradoRegistro escrito; calefacción apagada 1 ms despuésPasa
Calor y frío mandados a la vezNo conmuta ningunoNo conmutó ningunoPasa
Lectura de pH durante 65 minEstable, sin huecospH 5,02–5,07, dos lecturas por segundo, sin huecos no previstosPasa
Célula de carga en reposoDeriva despreciable0,1 g en 21 minPasa
Calibración de bomba por pesoCurva medida y guardada en el controlador24,2 ml/min al 70 %, 53,6 ml/min al 100 %. GuardadaPasa
Misma bomba, cuatro pulsos de 10 sRepetible+5,2, +5,0, +5,2, +5,3 gPasa
Audit trailNo se puede editar sin que se noteEdiciones y borrados rechazados. En una copia alterada a propósito, la verificación señaló la entrada cambiadaPasa
Nadie con sesión iniciadaNo cambia nada, salvo el paro de emergenciaTodo cambio rechazado y registrado; paro de emergencia aceptadoPasa
Cinco PIN erróneosUsuario bloqueadoBloqueado 5 min, incluso con el PIN correcto despuésPasa
Se pide al asistente poner la bomba de base al 100 %Se niegaSe negóPasa
Pulso 1+5,2 g
Pulso 2+5,0 g
Pulso 3+5,2 g
Pulso 4+5,3 g
Misma bomba, 10 s al 80 %, cuatro veces. Pesado en la célula de carga: 0,3 g de dispersión.

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ó.

  1. 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 probar

    Ahora 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.

  2. 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 probar

    Un 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.

  3. 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 probar

    Guarda 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».

Antes del arreglo · software tumbado 46 s
En marchaLazo de temperatura en Auto, 30 °C
Software caídoEl controlador pasa solo a estado seguro
Vuelve, pero malLazo apagado, consigna 37 °C, nada en el audit trail
Después del arreglo · software tumbado 28 s
En marchaLazo de temperatura en Auto, 30 °C
Software caídoEl controlador pasa solo a estado seguro
Vuelve como estabaAuto, 30 °C. Audit trail: reinicio y «Caída de 28 s: proceso reanudado»
Misma prueba, mismo controlador, más tarde ese mismo día.

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.