ExamRobotic

Buen programador frente a mal programador

Programa Nivel: Profesional 6 min de lectura 34 preguntas

Un programa de PLC se escribe una vez y se lee cientos de veces: en la puesta en marcha, en cada avería y en cada modificación, muchas veces de madrugada y con la línea parada. Por eso un buen programa no es solo el que funciona, sino el que cualquier técnico entiende y puede diagnosticar rápido. La diferencia entre un buen programador y uno malo casi nunca está en saber instrucciones raras: está en el orden, los nombres, las alarmas y el respeto por quien vendrá después.

Lo que distingue a uno de otro

Mal programadorBuen programador
Todo en el OB1, en cientos de segmentos seguidosEl OB1 llama a bloques organizados por funciones y estaciones
Variables como M10.3 o «Aux7»Nombres que dicen qué son: Pinza_Cerrada, Cinta1_Marcha
El mismo código copiado para cada motorUn bloque «Motor» reutilizado con una instancia por motor
«Fallo general» como única alarmaAlarmas que dicen qué pasa, dónde y qué revisar
Números sueltos por el código: 3000, 27, 0,85Parámetros con nombre y unidades en un bloque de datos
Cambios en línea sin apuntarVersiones guardadas con fecha y descripción de cada cambio
Secuencias hechas a base de marcas que se activan entre síSecuencias con etapas claras que se ven en la pantalla

Estructura: cada cosa en su sitio

El OB1 debería leerse como un índice: llama a los bloques de cada parte de la máquina en un orden lógico. Una estructura habitual:

OB1 Modos manual / auto Estación 1 secuencia Estación 2 secuencia Alarmas y pantalla FB Motor una instancia FB Cilindro una instancia
Un programa ordenado: el OB1 llama a bloques por funciones, y cada equipo repetido usa el mismo bloque con su propia instancia.

Nombres y comentarios

Un nombre bien puesto ahorra un comentario. Reglas sencillas que funcionan:

Los comentarios deben explicar el porqué, no repetir lo que ya se ve. «Activa la salida» no aporta nada; «Se espera 500 ms para que la pinza termine de cerrar antes de subir» sí.

Alarmas que ayudan

La alarma es lo primero que ve el técnico cuando la máquina se para. Una buena alarma dice qué ha pasado, dónde y qué revisar: «Pinza estación 2 no llega a cerrada en 2 s: revisar sensor B23 y presión de aire».

La herramienta clave es la supervisión de movimientos: cada vez que se manda un movimiento, un temporizador comprueba que el sensor de final llega a tiempo. Si no llega, salta una alarma concreta en vez de quedarse la máquina esperando sin explicación:

// La pinza debe cerrar en menos de 2 s
#T_Cierre(IN := "Pinza_Cerrar" AND NOT "Pinza_Cerrada", PT := T#2s);
IF #T_Cierre.Q THEN
    "Alarma_Pinza_No_Cierra" := TRUE;
END_IF;

También ayuda registrar cuál fue la primera alarma: cuando falla algo, suelen saltar otras detrás, y la que importa es la primera.

Parámetros sin números mágicos

Un «3000» en mitad del programa no dice nada: ¿milisegundos?, ¿piezas?, ¿revoluciones? Los tiempos, consignas y límites van en un bloque de datos de parámetros, con nombre, unidades y comentario. Así se ajustan en un solo sitio, incluso desde la pantalla, sin tocar la lógica.

Modos de funcionamiento y arranque

Respetar el ciclo de scan

Un buen programador no espera dentro de bucles, no escribe la misma salida en dos sitios, usa flancos donde hacen falta y da a cada temporizador y cada flanco su propia memoria. Son los errores que ya viste en el tema del ciclo de scan, y son los que más tiempo hacen perder en puesta en marcha.

Versiones y cambios

Probar antes de llegar a la máquina

Con un simulador de PLC, como PLCSIM en el caso de Siemens, se puede probar buena parte de la lógica en la oficina: secuencias, alarmas y casos de fallo. Cada error que se encuentra en la oficina es una hora menos de máquina parada en la puesta en marcha.

Errores que delatan a un mal programador

Resumen

Pon a prueba lo que has aprendido

34 preguntas prácticas con su explicación. Sin registro y gratis.

Empezar el test