Guía de PLC
PLC en escalera: primeros pasos con el simulador
Un PLC lee sus entradas, ejecuta tu programa de arriba hacia abajo y escribe sus salidas, decenas de veces por segundo. El simulador hace exactamente eso, con plantas virtuales que reaccionan a tus salidas: semáforos, bandas, tanques, un elevador, un horno. Esta guía te lleva de cero a un programa completo y te enseña a revisarlo como en una planta real.
1. La pantalla en un minuto
- Izquierda: la paleta de elementos (con buscador) y, debajo, el inspector, donde escribes el operando y los parámetros de lo que seleccionaste.
- Centro: la escalera. Cada renglón tiene 7 columnas para contactos y bloques y una última columna de salida, a la derecha.
- Derecha: la planta virtual, la tarjeta de E/S del PLC (con LEDs RUN, STOP, ERROR y FORCE) y la lista de entradas, salidas y analógicas.
- Abajo: las pestañas Cronograma, Mensajes, Símbolos, Variables, IL y Referencias.
En STOP estás fuera de línea: editas el programa. Con RUN (F8) o Paso (F9, un solo ciclo) el PLC queda en línea: ves la energía en la escalera, operas las entradas y puedes observar y forzar variables. El tiempo de ciclo se elige en la barra (5 a 200 ms).
2. Direcciones
El simulador usa direcciones estilo Siemens. En cualquier operando puedes escribir la dirección o el nombre de su símbolo (por ejemplo Arranque en lugar de I0.0).
| Dirección | Qué es |
|---|---|
| I0.0–I1.7 | Entradas digitales: botones, interruptores y sensores. |
| Q0.0–Q1.7 | Salidas digitales: motores, válvulas, lámparas. |
| M0.0–M15.7 | Marcas (memoria interna de un bit). |
| MW0–MW14 | Palabras de marcas: enteros de −32768 a 32767. Sólo números pares: MW0 ocupa los bytes M0 y M1. |
| T0–T15 · C0–C15 | Temporizadores y contadores. Su contacto lee el bit Q; en un comparador dan el tiempo transcurrido (ms) o la cuenta. |
| AI0–AI3 · AQ0–AQ1 | Entradas y salidas analógicas: 0–10 V equivale a 0–27648. |
Los nombres van en la pestaña Símbolos. Cuando eliges una planta, sus símbolos se agregan solos.
3. Contactos y bobinas
Toca una celda y elige un elemento en la paleta. Con el teclado es más rápido: 1 contacto NA, 2 NC, 3/4 flanco P/N, 5 bobina, 6 negada, 7 SET, 8 RESET, - cable. Con / buscas cualquier elemento por nombre. Si eliges una bobina en otra columna, se coloca sola en la columna de salida y los huecos se rellenan con cable.
| Elemento | Funcionamiento |
|---|---|
| -| |- NA | Conduce si su bit vale 1. |
| -|/|- NC | Conduce si su bit vale 0. |
| -|P|- / -|N|- | Conducen un solo ciclo cuando el bit pasa de 0 a 1 (P) o de 1 a 0 (N). |
| -( )- / -(/)- | Bobina y bobina negada: escriben el resultado del renglón (o su inverso). |
| -(S)- / -(R)- | SET pone el bit en 1 y lo retiene; RESET lo pone en 0. RESET sobre T o C reinicia el temporizador o el contador. |
| -(P)- / -(N)- | Bobinas de flanco: pulso de un ciclo cuando el renglón se energiza o se desenergiza. |
Contactos en serie son una función Y. Para una función O agrega una rama con + Rama y únela con un enlace vertical: toca la línea delgada en el borde entre dos celdas (o pulsa V).
4. Autorretención y SET/RESET
Los botones físicos del simulador son normalmente abiertos y regresan solos. Para que un motor siga encendido al soltar Arranque, su propio contacto se pone en paralelo con el botón:
Arranque Paro Motor
---| |---+---|/|-------------------( )---
I0.0 | I0.1 Q0.0
---| |---+
Q0.0
Paro es un pulsador NA, pero en el programa se usa con un contacto NC: al presionarlo abre el renglón. Si presionas ambos, gana el paro. La alternativa es SET en un renglón y RESET en el siguiente; como el PLC evalúa en orden, el renglón de abajo tiene prioridad. Los biestables SR (SET dominante) y RS (RESET dominante) hacen lo mismo en un solo bloque.
5. Temporizadores
Coloca un temporizador con T (púlsala otra vez para cambiar TON → TOF → TP → TONR). En el inspector escribes el tiempo PT en segundos o milisegundos. El bloque muestra ET (tiempo transcurrido) y una barra de avance.
| Bloque | Qué hace | Uso típico |
|---|---|---|
| TON | Q se activa cuando la entrada lleva PT encendida; se reinicia al apagarse. | Retardo de arranque, tiempo de una fase de semáforo. |
| TOF | Q se activa con la entrada y se apaga PT después de que ésta se apaga. | Mantener abierta una puerta o una barrera unos segundos. |
| TP | Un flanco de entrada da un pulso de duración PT. | Timbrazo, pulso de una válvula. |
| TONR | Acumula el tiempo de varias activaciones; sólo su entrada R (o RESET) lo pone en cero. | Horómetro de mantenimiento. |
Dos TON que se reinician entre sí forman un intermitente; una cadena de TON forma una secuencia (mira el ejemplo del semáforo).
6. Contadores
Con C colocas CTU, CTD o CTUD. Cuentan flancos, no niveles: un sensor que se queda en 1 cuenta una sola vez.
| Bloque | Qué hace |
|---|---|
| CTU | Suma 1 en cada flanco; Q = 1 cuando CV ≥ PV. La entrada R pone CV en 0. |
| CTD | Empieza en PV y resta; Q = 1 cuando CV llega a 0. LD recarga PV. |
| CTUD | CU suma y CD resta (CD se escribe como una dirección de bit); Q = 1 cuando CV ≥ PV. R pone CV en 0 y LD carga PV. |
7. Comparadores, palabras y analógicas
El comparador CMP (9) conduce si IN1 cumple ==, <>, >, >=, < o <= con IN2, que puede ser una constante o una palabra (C0 >= 3, MW4 < MW2, T0 > 1500).
Los bloques de datos (M para recorrerlos) trabajan con enteros de 16 bits y escriben su resultado OUT en una palabra MW o en una salida analógica AQ. Se ejecutan mientras su entrada EN tiene energía; ENO vale 0 si hubo error (por ejemplo, división entre cero).
| Bloque | Resultado |
|---|---|
| MOVE | OUT = IN |
| ADD · SUB · MUL · DIV · MOD | OUT = IN1 + − × ÷ IN2; DIV da el cociente entero y MOD el resto. |
| SCL | Lleva una entrada analógica 0–27648 al rango MIN…MAX (por ejemplo 0–1000 décimas de %). |
| NORM | Hace lo contrario: lleva un valor de MIN…MAX a 0–27648 para una salida AQ. |
| LIMIT | Recorta IN entre MIN y MAX. |
Las entradas analógicas que mueves tú aparecen como perillas en el panel Analógicas; las que vienen de un transmisor de la planta se ven como barras, igual que las salidas AQ. Abre el ejemplo Control proporcional de nivel: SCL convierte nivel y consigna, SUB calcula el error, MUL y ADD calculan la apertura, LIMIT la recorta y NORM la manda a la válvula. Mueve la perilla de consigna (AI1) y verás que el nivel se acerca pero queda un pequeño error: así se comporta un control proporcional.
8. Saltos y fin de programa
Una bobina JMP (J) con energía salta al renglón que tenga esa etiqueta (la escribes al seleccionar el renglón). Sólo se permite saltar hacia adelante. Los renglones saltados se ven en gris en RUN y sus bobinas conservan su último valor. END (E) termina el ciclo en ese punto. Úsalos con cuidado: casi siempre un programa claro no los necesita.
9. Ejemplo resuelto: un lote de 5 piezas en la banda
Objetivo: la banda arranca con Arranque, cuenta las piezas que pasan por el sensor y se detiene sola al completar 5. Una lámpara avisa cuando falta una y otra cuando el lote está completo; Reinicio deja el contador en cero.
- Pulsa Nuevo y en el selector Planta elige Banda transportadora. Se agregan los símbolos Arranque (I0.0), Paro (I0.1), Sensor_pieza (I0.2), Reinicio (I0.3), Motor_banda (Q0.0), Lote_completo (Q0.1) y Falta_una (Q0.2).
- Renglón 1. Toca la primera celda, pulsa 1 y escribe
Arranqueen el operando. En la celda siguiente pulsa 2 (Paro) y en la tercera otra vez 2 conC0: el contador lleno también detiene la banda. En cualquier celda de la fila pulsa 5 y escribeMotor_banda; la bobina se va a la columna de salida. - Pulsa + Rama, pon en la primera celda de la fila nueva un contacto NA
Q0.0y toca el borde derecho de esa celda para unirla con un enlace vertical. Ya tienes la autorretención. - Renglón 2. Pulsa N. Primera celda: NA
Sensor_pieza. Segunda celda: C coloca un CTU C0 con PV = 5. En el inspector escribeReinicioen R · reinicio. - Renglón 3. NA
C0y bobinaLote_completo. Renglón 4. 9 coloca un comparador: IN1C0, operador==, IN24; bobinaFalta_una. - Revisa la pestaña Mensajes: debe decir que no hay problemas. Pulsa RUN y presiona Arranque en la botonera de la planta.
La banda avanza, cada pieza que cruza el haz suma 1 a C0 y al llegar a 5 el motor se detiene y se enciende la lámpara verde. Pulsa Reinicio y vuelve a arrancar. En la pestaña Cronograma verás el pulso del sensor por cada pieza y el momento en que Motor_banda se apaga.
10. Revisar en línea: tabla de variables y forzado
Con el PLC en RUN abre la pestaña Variables. Al principio muestra todas las direcciones del programa; escribe otra (por ejemplo MW4 o M5.5) y pulsa Agregar para armar tu propia tabla. El formato de las palabras se cambia entre DEC, HEX y BIN.
- F=1 / F=0 fuerzan un bit: ni el programa ni la planta lo pueden cambiar. Fuerza Sensor_pieza a 1 y verás que C0 sube una sola vez, porque el contador cuenta flancos.
- En palabras y analógicas escribe el valor y pulsa Forzar (en AI y AQ puedes escribir volts, como
5V) o Escribir para cambiarlo una sola vez. - Todo lo forzado se marca con una F en la tabla, en la escalera y en las E/S, y se enciende el LED FORCE de la CPU. Liberar forzados los quita; al pasar a STOP se liberan solos.
- La casilla Gráfica agrega la variable al cronograma; las palabras y analógicas se dibujan como curvas.
La pestaña Referencias lista dónde se lee y dónde se escribe cada dirección; toca un uso para ir a esa celda. Es la forma rápida de encontrar una salida escrita en dos renglones.
11. Lista de instrucciones (IL)
La pestaña IL muestra el mismo programa como texto (dialecto IEC 61131-3). Este es el del ejemplo resuelto:
PROGRAM "Lote de 5 piezas"
PLANT banda
SCAN 20
SYMBOL I0.0 Arranque "Pulsador NA verde" push
// … los demás símbolos de la planta
NETWORK 1 "Banda con autorretención; se detiene con Paro o con el lote completo"
LD I0.0
OR Q0.0
ANDN I0.1
ANDN C0
ST Q0.0
NETWORK 2 "Cuenta piezas; Reinicio pone el contador en 0"
LD I0.2
CTU C0 5 R=I0.3
NETWORK 3 "Lote completo"
LD C0
ST Q0.1
NETWORK 4 "Falta una pieza"
LD C0 == 4
ST Q0.2
LD empieza una condición, AND y OR agregan contactos en serie y en paralelo (con N son NC, con P/F son flancos), AND( … ) agrupa, y ST, S, R escriben bobinas. En los bloques de datos el último operando es el destino: SCL AI0 0 1000 MW0. Puedes editar el texto y pulsar Aplicar a la escalera; si hay un error se marca la línea, y Ctrl+Z deshace la aplicación. También puedes descargar y abrir archivos .il. El botón Dialecto IL muestra todas las instrucciones.
12. Errores comunes
- Paro con contacto NA. El motor no arranca nunca o no se detiene. Un pulsador NA de paro se programa con un contacto NC.
- Doble bobina. Si una salida se escribe en dos renglones, sólo cuenta el último. Une las condiciones en paralelo o usa SET/RESET.
- Rama sin enlace. Una fila que no está unida con un enlace vertical no lleva energía a la bobina; la celda se marca en amarillo.
- Contar niveles en vez de flancos. Un contacto normal en un renglón con SET o MOVE actúa en cada ciclo mientras esté cerrado; usa un contacto de flanco P cuando quieras actuar una sola vez.
- Enclavamientos. Dos contactores que no deben cerrar juntos (abrir/cerrar, estrella/delta, subir/bajar) llevan cada uno el contacto NC del otro. Las plantas te avisan si los cierras a la vez.
Para practicar
En Ejemplos hay 21 programas, al menos uno por planta, y la búsqueda filtra por tema o instrucción. Cada planta propone un ejercicio en Sugerencia y ejercicio, debajo de su dibujo: un semáforo con modo nocturno, una clasificadora que cuenta piezas por caja, un elevador que cierra la puerta solo, un horno con control de dos puntos. Empieza por el ejemplo, cambia una cosa a la vez y verifica en el cronograma y en la tabla de variables que hace lo que esperas.
Prueba lo que aprendiste: programa la escalera y pruébala en una planta.
Abrir el simulador de PLC