Comienzos en la automatización industrial
Comenzaba a caer la noche cuando llegamos a la fábrica. Era un atardecer como cualquier otro en esas latitudes: un clima templado y un sol que se ocultaba lentamente en el horizonte. Lo que no era tan común era mi nerviosismo. Apenas unas semanas antes había tomado un curso de Step 5, sin experiencia alguna en el mundo de la automatización, y ahora me encontraba allí, acompañado únicamente por la fría presencia de mi exjefe, dando los primeros pasos en el ámbito del control industrial.
Nos anunciamos en la caseta de vigilancia, nos registramos y fuimos guiados por un supervisor de mantenimiento hacia el interior de la nave. La primera sensación que tuve al entrar fue de vértigo. Era un espacio inmenso: máquinas por todos lados, operadores produciendo miles de piezas por minuto, robots moviéndose con precisión milimétrica a gran velocidad, olor a aceite quemado impregnando cada pasillo. Todos vestían el mismo uniforme, con semblantes de seguridad, como si domaran a diario al monstruo metálico que rugía frente a ellos. El ruido ensordecedor de los motores hacía casi imposible conversar sin gritar.
En esos primeros segundos pensé que aquel impacto inicial podría derivar en temor… y ese temor en huida. Sin embargo, tuve que ajustar mi mente rápidamente para sobreponerme. La adrenalina de ese momento me acompañaría mucho tiempo. Tal vez otros en mi lugar habrían preferido buscar un trabajo más sencillo, “ver los toros desde la barrera”. Pero yo decidí seguir adelante, solo para descubrir que ese día aún me aguardaban más sorpresas.
La primera prueba
Tras caminar varios minutos llegamos a la línea de producción donde debíamos intervenir. El supervisor se retiró y quedamos solos.
—“Conéctate” —fue la instrucción seca de mi jefe al localizar la CPU.
Era una CPU S5-95U, considerada en ese tiempo una maravilla: fuente de alimentación integrada, entradas y salidas digitales y analógicas, contadores rápidos y funciones de comunicación, todo en un solo dispositivo. Lo único que realmente dominaba bien era la conexión, siempre y cuando el cable adaptador TTY-RS232 no diera problemas.
Saqué mi portátil, encendí el Step 5 y realicé la conexión. La comunicación se estableció sin complicaciones. Todo marchaba bien… excepto por mis pensamientos desbordados y el sudor frío que me empapaba.
Siguiendo el consejo de mi exjefe, hice un respaldo completo de los programas de la CPU (OB’s, FB’s, PB’s, DB’s). Luego generé una copia adicional para trabajar sobre ella. Hasta allí todo era correcto. Lo que no recuerdo con claridad es qué debíamos modificar: quizá un ciclo, un tiempo, el almacenamiento de un valor de proceso en una variable, o una adaptación para el panel. Supongamos que se trataba de guardar un valor en una DW del DB10.
Con esa idea, me puse a editar el programa en la portátil, agregando líneas en el editor del Step 5. Mientras tanto, mi jefe explicaba a los operadores, en lenguaje sencillo, el cambio solicitado. Lo difícil no era la explicación a los humanos, sino traducir esa petición a instrucciones de PLC.
Mi mente se saturaba de posibilidades: ¿Qué opción elegir? ¿Cuál es la solución más simple? ¿Cómo traducirla al programa? ¿Y si me tardo demasiado y mi jefe se desespera? ¿Y si me despide?
No, no podía rendirme. Decidí hacerlo yo mismo, sin su ayuda. Mientras él conversaba despreocupado con los operadores, yo peleaba con las instrucciones y mis propias dudas. Tras varias revisiones, concluí que el programa estaba correcto. Era momento de descargarlo al PLC.
El desastre
¡Foco rojo en la CPU!
¡El programa no se ejecutaba!
¡La línea de producción estaba detenida!
Los operadores comenzaron a quejarse de inmediato.
En segundos, y antes de que mi jefe dejara su charla trivial y viniera a ver el desastre, reaccioné: cargué de nuevo el programa original que había respaldado al inicio. Puse la CPU en “Stop”, descargué el respaldo y la arranqué en “Run”.
El foco verde volvió a encenderse.
La línea se reactivó.
Y yo… pude volver a respirar.
Como era de esperarse...
Los operadores verificaron que todo funcionara correctamente. Mi jefe se acercó y, en voz baja, me preguntó qué había hecho. Le expliqué: había escrito varias líneas, las había revisado y creía que eran correctas, pero al cargarlas la CPU se fue a falla.
—¿Respaldaste el programa modificado? —me preguntó.
—No —respondí.
—Error —me dijo.
—¿Revisaste en la CPU la causa de la falla?
—No.
—Otro error.
No se habló más del tema. Era tarde y nos retiramos de la fábrica. Nunca volví a intentar esa modificación en particular. Sin embargo, regresé muchas veces a la misma línea, a la misma CPU, y realicé otros cambios sin que volviera a ocurrir lo mismo. Incluso llegué a modificar el panel después. Hasta hoy, esa línea sigue funcionando con la misma CPU, como si nada hubiera pasado.
El misterio
Con el tiempo reflexioné: ¿qué código escribí para que el PLC fallara?
No utilicé saltos indebidos, ni banderas duplicadas, ni entradas fuera de rango. Tal vez direccioné un DB inexistente, o una DW fuera de rango.
Le dije a mi jefe que no había guardado el programa modificado, para evitar que lo analizara y encontrara el error. Pero en realidad sí lo guardé. Lo revisé después… y no encontré nada.
Lo más inquietante: cargué ese mismo programa en otra CPU S5-95U y no presentó fallas. Funcionaba perfectamente.
Entonces, ¿qué sucedía con la CPU de esa fábrica?
¿Era diferente en capacidad de memoria? ¿Versión de firmware? ¿Un defecto particular?
Algo extraño ocurre con esas CPU’s.
Estoy investigando…
(Continuará)
0 comentarios:
Publicar un comentario