Aplicaciones básicas de programación
Con media docena de bloques —temporizadores, contadores, marcas, flancos y registros— se resuelve la enorme mayoría de los automatismos industriales. Lo que distingue a un buen programa no es usar bloques raros, sino usar bien los de siempre.
01Temporizadores
| Tipo | Comportamiento | Ejemplo de uso |
|---|---|---|
| TON | La salida se activa después del tiempo, si la entrada se mantiene. Si la entrada cae antes, el conteo se reinicia. | Esperar a que se estabilice la presión antes de habilitar el proceso. |
| TOF | La salida se activa con la entrada y se apaga el tiempo después de que la entrada cae. | Mantener un extractor funcionando unos minutos después de parar el horno. |
| TP | Un pulso de duración fija por cada flanco de entrada, sin importar cuánto dure la entrada. | Dar un soplo de aire de medio segundo al detectar una pieza. |
Si la entrada de un TON de 10 segundos cae a los 8 y vuelve a subir, el conteo empieza otra vez desde cero: no acumula. Cuando hace falta acumular tiempo —horas de funcionamiento de una bomba, por ejemplo— no se usa un TON sino un contador de pulsos de base de tiempo, guardado en zona retentiva.
02Contadores, marcas y flancos
- CTU: cuenta hacia arriba y activa su salida al llegar a la preselección.
- CTD: cuenta hacia abajo desde un valor cargado.
- CTUD: hace las dos cosas, con entradas separadas.
- Todos necesitan una entrada de reset explícita, y conviene que el valor esté en zona retentiva si la cuenta representa producción.
La entrada de conteo debe recibir un pulso de un solo ciclo. Si se conecta directamente el sensor, el contador incrementa en cada exploración mientras la pieza esté delante del sensor: una pieza puede contarse cincuenta veces.
Se resuelve con un bloque de detección de flanco ascendente entre el sensor y el contador. Es una línea de programa, y su ausencia es la causa número uno de contadores «locos».
Sirven para guardar estados intermedios: etapas de una secuencia, condiciones habilitadas, memoria de fallas. Conviene agruparlas por función y darles nombre simbólico. Y las que representan estado de la máquina o producción acumulada van en zona retentiva, para que un corte de energía no borre lo que la máquina ya hizo.
03Registro de desplazamiento y generadores
Es la manera estándar de resolver el seguimiento en una línea: se inspecciona la pieza al principio, el resultado se guarda en el primer bit del registro, y cada avance de la cinta desplaza todo un lugar. Cuando el bit llega al final, la pieza está frente al expulsor.
La clave es que el desplazamiento se dispare con el movimiento real —un encoder o un sensor de paso— y no con un temporizador: si la cinta cambia de velocidad o se detiene, el temporizador miente y las piezas se clasifican mal.
- Intermitencia: dos temporizadores encadenados, uno fija el tiempo encendido y el otro el apagado. Es la base de toda señalización que parpadea.
- Marcas de reloj: casi todos los PLC ofrecen bits que conmutan a frecuencias fijas —2 Hz, 1 Hz, 0,5 Hz—, listos para usar.
- Base de tiempo: un pulso por segundo alimentando un contador es la forma correcta de acumular horas de servicio.
04Tres ejemplos resueltos
Motor de 15 kW. Secuencia: contactor de red y de estrella cierran juntos; a los 6 segundos abre estrella; 50 ms después cierra triángulo.
| Elemento | Condición |
|---|---|
| KM red | marcha, con autorretención, y sin falla ni emergencia. |
| KM estrella | KM red activo y TON de 6 s todavía no cumplido y KM triángulo desactivado. |
| KM triángulo | TON de 6 s cumplido y TON de 50 ms cumplido y KM estrella desactivado. |
Los 50 ms de espera no son un detalle: son el tiempo de arco. Cerrar triángulo antes de que estrella haya abierto del todo produce un cortocircuito entre fases. Y por eso, además del enclavamiento en el programa, los dos contactores llevan enclavamiento mecánico y eléctrico en el tablero: la seguridad no puede depender del software.
Ciclo: verde 25 s, amarillo 4 s, rojo mientras la otra calle está en verde y amarillo. Se resuelve con un Grafcet de cuatro etapas y un temporizador por etapa, no con una maraña de temporizadores en paralelo.
La ventaja de la estructura por etapas se ve al agregar el modo intermitente nocturno: es una divergencia O desde la etapa inicial, tres renglones. Con temporizadores sueltos habría que rehacer todo.
Una cinta con un sensor de altura al inicio y un expulsor 1,8 m más adelante. El encoder entrega un pulso cada 10 mm.
- Distancia en pulsos: 1800 mm / 10 mm = 180 pulsos.
- Se usa un registro de desplazamiento de 180 bits, o un contador por pieza.
- Cada pulso del encoder desplaza el registro; cuando el bit de una pieza defectuosa llega a la posición 180, se acciona el expulsor.
- Si la cinta se detiene, el encoder no da pulsos y el registro no avanza: la sincronización se mantiene sola. Con un temporizador, en cambio, todo se desfasaría.
05En el laboratorio
Programar TON, TOF y TP con la misma entrada y observar las tres salidas en el monitoreo en línea y con un registrador. Probar qué pasa al cortar la entrada antes de que se cumpla el tiempo en cada caso, y documentar el comportamiento.
Contar piezas conectando el sensor directamente al contador, y anotar el valor absurdo que aparece. Agregar la detección de flanco y repetir. Medir cuántas cuentas por segundo genera el error, y relacionarlo con el tiempo de ciclo medido.
Implementar el arranque completo sobre un motor de laboratorio, con enclavamientos en el programa y en el tablero. Medir con pinza la corriente de arranque en estrella y en triángulo directo, y comparar. Verificar el tiempo de conmutación con el osciloscopio.
Montar una cinta con sensor de entrada, encoder y expulsor, e implementar el seguimiento con registro de desplazamiento. Cambiar la velocidad de la cinta durante el funcionamiento y comprobar que la clasificación sigue siendo correcta. Repetir con temporizador en lugar de encoder para ver el desfase.
06Errores frecuentes
| Error | Consecuencia |
|---|---|
| Contar sin detección de flanco | El contador suma una vez por ciclo: una pieza se cuenta decenas de veces. |
| Esperar que un TON acumule tiempo | Se reinicia con cada corte de la entrada. Para acumular hace falta un contador de base de tiempo. |
| Contador sin reset o sin retentividad | La cuenta se pierde al cortar la energía, o nunca vuelve a cero. |
| Seguimiento de piezas por temporizador | Con la cinta a otra velocidad, las piezas se clasifican mal. |
| Estrella-triángulo sin tiempo de arco | Cortocircuito entre fases al conmutar. |
| Enclavamiento sólo en el programa | Un error de software puede cerrar los dos contactores. Debe haber enclavamiento físico. |
| Semáforo con temporizadores sueltos | Funciona hasta el primer cambio de requisito, y después no hay por dónde tocarlo. |
| Marcas sin nombre agrupadas al azar | El programa se vuelve imposible de seguir. |
07Autoevaluación
¿Qué diferencia hay entre TON y TOF?
El TON retarda la activación: la salida aparece después del tiempo. El TOF retarda la desactivación: la salida aparece con la entrada y se mantiene el tiempo después de que la entrada cae.
¿Para qué sirve un TP?
Para generar un pulso de duración fija por cada flanco de entrada, sin importar cuánto dure la entrada. Por ejemplo, un soplo de aire de medio segundo.
Si la entrada de un TON de 10 s cae a los 8 s, ¿qué pasa?
El conteo se reinicia desde cero. El TON no acumula: para eso hace falta un contador alimentado por una base de tiempo.
¿Por qué hay que poner detección de flanco antes de un contador?
Porque sin ella el contador incrementa en cada exploración mientras la señal esté activa, y una sola pieza se cuenta muchísimas veces.
¿Qué variables conviene poner en zona retentiva?
Las que representan producción acumulada, consignas y estado de la máquina: lo que no debería perderse ante un corte de energía.
¿Por qué el registro de desplazamiento se dispara con el encoder?
Porque así el avance del registro sigue al movimiento real de la cinta. Con un temporizador, cualquier cambio de velocidad o una detención desfasan la información respecto de las piezas.
Con un encoder de un pulso cada 5 mm y 2,4 m de distancia, ¿cuántos pulsos?
2400 mm / 5 mm = 480 pulsos.
¿Por qué hace falta un tiempo entre estrella y triángulo?
Porque el contactor de estrella necesita tiempo para extinguir el arco. Cerrar triángulo antes produce un cortocircuito entre fases.
¿Alcanza con el enclavamiento en el programa?
No. Debe haber además enclavamiento mecánico y eléctrico entre los contactores: la seguridad no puede depender del software.
¿Cómo se genera una señalización intermitente?
Con dos temporizadores encadenados —uno para el tiempo encendido y otro para el apagado— o directamente con las marcas de reloj que la mayoría de los PLC ya provee.