Manual de Programación
⌂ Inicio ⬡ Editor

Introducción al entorno

El PLC-CORE-MDE se programa con el editor FBD (Function Block Diagram), uno de los 5 lenguajes definidos por la norma IEC 61131-3. Cada "bloque" representa una función: entradas físicas, operaciones lógicas, temporizadores, contadores y salidas.

Conexión: conectar el computador a la red WiFi PLC_CORE_MDE (clave: 12345678), abrir el navegador en 192.168.4.1

Ejemplos de programación

EJEMPLO 01
Control básico de motor — Arranque/Paro

Situación

Una bomba de agua en una instalación rural debe activarse con un pulsador de arranque y detenerse con un pulsador de paro.

Tags a configurar

CanalTagComentario
IN1PULSAR_ARRANQUEPulsador NA (normalmente abierto)
IN2PULSAR_PAROPulsador NC (normalmente cerrado)
OUT1BOMBA_AGUAContactor K1 — bomba 220V

Lógica FBD

[IN1: PULSAR_ARRANQUE] ──┐ ├─► [SR: MEMORIA_MOTOR] ──► [OUT1: BOMBA_AGUA] [IN2: PULSAR_PARO] ──┘
Concepto clave: El bloque SR es un biestable con Set dominante. Cuando S=1, la salida queda en 1 aunque S vuelva a 0. Solo se apaga cuando R=1. Replica el circuito de automantenimiento del contactor.

EJEMPLO 02
Semáforo peatonal con temporizador

Situación

El peatón presiona un botón, el semáforo vehicular pasa a rojo por 15 segundos, luego vuelve a verde automáticamente.

Tags

CanalTagComentario
IN1BOTON_PEATONALPulsador en columna semáforo
OUT1LUZ_ROJA_AUTOSeñal roja para vehículos
OUT2LUZ_VERDE_PEATONVerde para peatón

Lógica

[IN1] ──► [TP: PT=15000ms] ──► [OUT1: LUZ_ROJA_AUTO] └──► [NOT] ──► [OUT2: LUZ_VERDE_PEATON]
Concepto clave: El bloque TP genera exactamente un pulso de duración fija al detectar el flanco ascendente de IN. No puede re-dispararse mientras está activo.

EJEMPLO 03
Control de temperatura con histéresis

Un invernadero mantiene temperatura entre 18°C y 25°C. Sensor NTC en AI1: 0-4095 ADC = 0-50°C.

Tags

CanalTagComentario
AI1SENSOR_TEMPSensor NTC, 0-5V = 0-50°C
OUT1ESTUFA_CALEFRelé estufa eléctrica 220V

Lógica

[AI1]──[SCALE 0-4095→0-50°C]──[CMP < 18]──S─┐ ├──[SR]──[OUT1] [AI1]──[SCALE]──[CMP > 25]───────────────R─┘
Concepto clave: La histéresis evita el ciclo rápido (chattering). Sin SCALE: 18°C = 1474 ADC, 25°C = 2048 ADC.

EJEMPLO 04
Contador de piezas en línea de producción

Al llegar a 100 piezas detectadas por sensor óptico, suena alarma y la cinta se detiene.

[IN1]──[R_TRIG]──CU─┐ ├──[CTU: PV=100]──Q──[OUT1: ALARMA] [IN2: RESET]────── R─┘ └──[NOT]──[OUT2: MOTOR]
Concepto clave: R_TRIG convierte la señal del sensor en un pulso de 1 ciclo. Sin él, el CTU podría contar múltiples veces por pieza.

EJEMPLO 05
Arranque estrella-triángulo

Motor arranca en estrella 8 segundos, luego conmuta a triángulo para reducir corriente de arranque.

[IN1]──[SR]──[OUT1: K_PRINCIPAL] ├──[TON: 8000ms]──Q──[OUT3: K_TRIANGULO] └──[TON Q]──[NOT]──[OUT2: K_ESTRELLA]
Importante: K2 y K3 deben tener enclavamiento eléctrico físico. El PLC maneja la lógica; el enclavamiento físico es obligatorio.

EJEMPLO 06
Sistema de nivel con alarma

Bomba arranca con nivel bajo, para con nivel alto, alarma si 5 min con nivel bajo sin llenarse.

[NIVEL_BAJO]──S─┐ ├──[RS]──[OUT1: BOMBA] [NIVEL_ALTO]──R─┘ [BOMBA]+[NOT NIVEL_BAJO]──[AND]──[TON: 300000ms]──[OUT2: ALARMA]
Concepto clave: El bloque RS (Reset dominante) garantiza fallo en modo seguro si el sensor de alto falla en 1.

EJEMPLO 07
Señalización intermitente

Luz parpadea a 1Hz cuando hay alarma, fija cuando el sistema está normal.

[SEÑAL_ALARMA]──[AND]──[OUT1] (parpadeo) [BLINK: 500ms]──┘ [NOT SEÑAL]──[OR]──[OUT1] (fijo o parpadeo) [AND arriba]──┘

EJEMPLO 08
Puerta automática con retardo de cierre

Puerta se abre al detectar vehículo, permanece abierta 10 segundos, luego cierra automáticamente.

[SENSOR_VEHICULO]──[TOF: 10000ms]──[OUT1: MOTOR_APERTURA] └──[OUT2: LUZ_PASO]
Concepto clave: TOF (Timer OFF-Delay) activa la salida instantáneamente y la desactiva 10s después de que el vehículo deja de ser detectado.

Referencia rápida de bloques

BloqueTipoEntradasSalidaUso típico
ANDLógica2 BOOLBOOLDos condiciones simultáneas
ORLógica2 BOOLBOOLCualquiera de dos condiciones
NOTLógica1 BOOLBOOLNegar señal, contacto NC
XORLógica2 BOOLBOOLDiferencia exclusiva
CMPLógica1 INT + umbralBOOLComparar valor analógico
TONTimerEN + PT msQ BOOLRetardo al encendido
TOFTimerEN + PT msQ BOOLRetardo al apagado
TPTimerEN + PT msQ BOOLPulso de duración fija
BLINKTimerEN + T msQ BOOLOscilador periódico
CTUContadorCU + R + PVQ BOOLContar eventos ascendentes
CTDContadorCD + LD + PVQ BOOLContar regresivo
SRMemoriaS + RQ BOOLLatch, automantenimiento
RSMemoriaS + RQ BOOLLatch reset dominante
R_TRIGFlancoIN BOOLQ BOOLDetectar flanco ascendente
F_TRIGFlancoIN BOOLQ BOOLDetectar flanco descendente
SCALEAnalógicoIN INTOUT INTEscalar ADC a unidades físicas
PWMAnalógicoIN 0-4095Pin físicoControl velocidad, intensidad

Resolución de problemas

El programa se guarda pero el PLC no responde

Verificar que el estado sea RUN. El PLC arranca en RUN automáticamente al encender.

Un temporizador se activa instantáneamente

El valor de tiempo (PT) no se guardó. Verificar que el campo tenga valor numérico (ej: 5000 para 5s). Guardar y hacer RELOAD.

La salida OUT no responde

Ir al Monitor y verificar el estado del nodo output. Si el nodo está correcto pero el hardware no responde, verificar cableado.

El contador no cuenta

Agregar R_TRIG entre la señal y el CU del contador. Sin R_TRIG el CTU puede incrementar múltiples veces por ciclo de scan.

PWM no genera señal

Un pin no puede funcionar en modo digital y PWM simultáneamente.


Ciclo de scan del PLC

El PLC ejecuta un ciclo continuo de 10ms (100 Hz):

1Leer entradas físicas (IN1, IN2, AI1)
2Lógica combinacional (AND, OR, NOT, CMP)
3Timers (TON, TOF, TP, BLINK)
4Contadores (CTU, CTD)
5Memorias (SR, RS)
6Flancos (R_TRIG, F_TRIG)
7Escalar analógicos (SCALE)
8Escribir PWM
9Escribir salidas digitales (OUT1..4) → volver a 1
La latencia máxima es de 10ms, completamente aceptable para aplicaciones industriales de control de proceso y movimiento lento.

PLC-CORE-MDE v5 · IEC 61131-3 · RS485/Modbus RTU