IngSimulatorIngeniería Crea tu cuenta

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ónQué es
I0.0–I1.7Entradas digitales: botones, interruptores y sensores.
Q0.0–Q1.7Salidas digitales: motores, válvulas, lámparas.
M0.0–M15.7Marcas (memoria interna de un bit).
MW0–MW14Palabras de marcas: enteros de −32768 a 32767. Sólo números pares: MW0 ocupa los bytes M0 y M1.
T0–T15 · C0–C15Temporizadores y contadores. Su contacto lee el bit Q; en un comparador dan el tiempo transcurrido (ms) o la cuenta.
AI0–AI3 · AQ0–AQ1Entradas y salidas analógicas: 0–10 V equivale a 0–27648.
MW0 está hecha de los bits M0.0–M1.7: M1.0 es el bit 0 de MW0 y M0.7 es el signo. Si usas una palabra para números, no uses sus bytes como bits sueltos; el simulador te avisa si lo haces.

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.

ElementoFuncionamiento
-| |- NAConduce si su bit vale 1.
-|/|- NCConduce 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.

BloqueQué haceUso típico
TONQ se activa cuando la entrada lleva PT encendida; se reinicia al apagarse.Retardo de arranque, tiempo de una fase de semáforo.
TOFQ 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.
TPUn flanco de entrada da un pulso de duración PT.Timbrazo, pulso de una válvula.
TONRAcumula 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.

BloqueQué hace
CTUSuma 1 en cada flanco; Q = 1 cuando CV ≥ PV. La entrada R pone CV en 0.
CTDEmpieza en PV y resta; Q = 1 cuando CV llega a 0. LD recarga PV.
CTUDCU 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).

BloqueResultado
MOVEOUT = IN
ADD · SUB · MUL · DIV · MODOUT = IN1 + − × ÷ IN2; DIV da el cociente entero y MOD el resto.
SCLLleva una entrada analógica 0–27648 al rango MIN…MAX (por ejemplo 0–1000 décimas de %).
NORMHace lo contrario: lleva un valor de MIN…MAX a 0–27648 para una salida AQ.
LIMITRecorta 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.

  1. 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).
  2. Renglón 1. Toca la primera celda, pulsa 1 y escribe Arranque en el operando. En la celda siguiente pulsa 2 (Paro) y en la tercera otra vez 2 con C0: el contador lleno también detiene la banda. En cualquier celda de la fila pulsa 5 y escribe Motor_banda; la bobina se va a la columna de salida.
  3. Pulsa + Rama, pon en la primera celda de la fila nueva un contacto NA Q0.0 y toca el borde derecho de esa celda para unirla con un enlace vertical. Ya tienes la autorretención.
  4. Renglón 2. Pulsa N. Primera celda: NA Sensor_pieza. Segunda celda: C coloca un CTU C0 con PV = 5. En el inspector escribe Reinicio en R · reinicio.
  5. Renglón 3. NA C0 y bobina Lote_completo. Renglón 4. 9 coloca un comparador: IN1 C0, operador ==, IN2 4; bobina Falta_una.
  6. 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.
Forzar una salida que se retiene a sí misma (como Motor_banda) a 0 rompe su autorretención: al liberar, el motor sigue apagado. Pasa lo mismo en un PLC real; por eso se fuerza con cuidado y nunca con personas cerca de la máquina.

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