El FBD representa el programa como bloques con entradas a la izquierda y salidas a la derecha, unidos por líneas de señal. Es natural para procesamiento analógico y lazos de regulación, y permite crear bloques propios con memoria que se reutilizan por equipo, como un motor o una válvula.
Respuesta corta
El diagrama de bloques de función (Function Block Diagram, FBD) dibuja el programa como una red de bloques. Cada bloque realiza una operación (comparar, sumar, temporizar, regular) y se une a otros con líneas que transportan señales de izquierda a derecha. Es uno de los cinco lenguajes de la IEC 61131-3 y se parece a un diagrama de lazo de instrumentación. Por eso resulta natural para quien viene del control de procesos.
Anatomía de un bloque
Un bloque tiene un nombre de tipo (por ejemplo, TON), un nombre de instancia (por ejemplo, retardo_arranque), entradas a la izquierda y salidas a la derecha.
| Parte | Descripción |
|---|---|
| Tipo | La función del bloque: comparador, temporizador, escalado, regulador |
| Instancia | El nombre propio de esa copia, con sus datos internos |
| Entradas | Valores o señales que recibe; pueden ser constantes o variables |
| Salidas | Resultados; pueden conectarse a otros bloques o a variables de salida |
| Negación | Un pequeño círculo en una entrada o salida invierte el valor booleano |
Las operaciones lógicas básicas (AND, OR, NOT, XOR) también se dibujan como bloques, con la misma forma rectangular. Los símbolos gráficos de compuertas de las normas de esquemas eléctricos pueden verse distintos, pero la función es idéntica.
Funciones y bloques de función
La norma separa dos clases de elementos:
- Funciones: sin memoria.
ABS,MAX,LIMITo una conversión de tipo son ejemplos. Con las mismas entradas dan siempre la misma salida. - Bloques de función: con memoria. Cada uno que se usa crea una instancia con sus datos. Los temporizadores, contadores, flip-flops (biestables) y reguladores PID son bloques de función.
Un bloque de función propio se define una vez y se usa tantas veces como equipos haya: un bloque MOTOR con entradas de marcha, paro, térmico y realimentación, y salidas de orden al contactor, estado y alarma. Cada motor de la planta es una instancia. Se trata de la forma básica de aplicar buenas prácticas de programación de PLC.
Ejecución: el flujo de datos
En FBD, el orden de ejecución sigue el flujo de las señales: un bloque se calcula cuando sus entradas están disponibles. Dentro de un mismo programa, los entornos muestran o permiten editar ese orden. Los lazos de realimentación (la salida de un bloque entra a uno anterior) requieren cuidado: la señal realimentada llega con un ciclo de retraso, o con el orden que fije el programador. Un lazo de regulación bien diseñado ya contempla ese retardo.
Dónde brilla el FBD
- Procesamiento analógico: escalado de 4-20 mA a unidad de ingeniería, filtro, límite superior e inferior.
- Regulación: el bloque PID recibe valor de proceso, consigna y límites, y entrega la salida al actuador. Es la forma natural de representar el lazo de control de una bomba con variador.
- Lógica combinatoria visible: una tabla de condiciones que habilitan una orden, como un conjunto de permisivos.
- Lógica de transferencia: selección de una fuente según prioridad.
Ejemplo ilustrativo: control de velocidad de una bomba
Datos supuestos: una bomba accionada por un motor de 15 kW, 400 V, con variador. El PLC lee la presión del sistema con un transmisor 4-20 mA (rango supuesto de 0 a 10 bar), y debe mantener una presión de consigna de 6 bar.
| Bloque | Entrada | Salida |
|---|---|---|
| Escalado | cuentas del módulo analógico | presión en bar |
| Filtro | presión en bar | presión filtrada |
| PID | presión filtrada, consigna 6 bar, límites | referencia de velocidad (porcentaje) |
| Límite | referencia de velocidad | velocidad entre el mínimo y el máximo permitidos |
| Salida analógica | velocidad limitada | señal al variador |
La cadena se lee de izquierda a derecha, igual que un diagrama de lazo. Los valores de ganancia del PID no se dan aquí: se sintonizan con el proceso real. Tampoco aparece la protección contra falta de agua, que va aparte con sus propios permisivos. Vea leyes de afinidad y ahorro de energía en bombas para entender por qué variar la velocidad ahorra energía.
Ventajas y límites
Ventajas: es visual, deja ver el flujo de la señal y reutiliza bloques con facilidad. Limitaciones: los diagramas grandes ocupan muchas pantallas, los lazos de realimentación pueden confundir, y la lógica con muchas ramas condicionales es más clara en texto. Algunas herramientas permiten exportar a otros lenguajes, con resultados variables.
Elementos de biblioteca que conviene conocer
Los entornos traen bloques estándar que cubren la mayor parte del procesamiento de señal:
| Familia | Ejemplos | Uso |
|---|---|---|
| Lógicos | AND, OR, XOR, NOT | Combinar condiciones |
| Biestables | SR, RS | Memorizar un estado con dominancia de set o de reset |
| Detección de flancos | R_TRIG, F_TRIG | Disparar una acción una sola vez |
| Temporizadores y contadores | TON, TOF, TP, CTU, CTD | Ver temporizadores y contadores |
| Comparación y selección | GT, LT, EQ, SEL, MUX | Elegir entre valores |
| Aritméticos y de límite | ADD, MUL, LIMIT, MAX, MIN | Escalado y saturación |
| Regulación | PID y variantes del fabricante | Lazos de control |
El biestable de dominancia de reset es la versión en bloques del enclavamiento marcha-paro: si llegan a la vez la orden de marcha y la de paro, domina el paro. En un proceso donde lo seguro es detener, esa es la dominancia correcta.
Organizar un diagrama grande
Un diagrama de bloques crece rápido. Para mantenerlo legible: una función por página, líneas de señal cortas y sin cruces, nombres de señal visibles en cada conexión, y bloques propios que encapsulen subsistemas (un bloque BOMBA en lugar de quince bloques sueltos). Al revisar, siga la señal de salida hacia atrás hasta las entradas físicas. Si el recorrido salta de una página a otra más de dos veces, la estructura necesita un rediseño.
Prueba y depuración de un diagrama
En línea, cada conexión muestra su valor, de modo que el diagrama se convierte en una herramienta de diagnóstico: se sigue la señal desde la salida que no responde hacia atrás, hasta el primer bloque cuya salida no coincide con lo que sus entradas justifican. Para probar un bloque propio, se arma una tabla de casos con entradas y salidas esperadas, se ejecutan en simulación y se registra el resultado. Un regulador se prueba primero en modo manual: se comprueba que la salida sigue al valor impuesto y que los límites actúan. Solo después se prueba en automático con el proceso real. La transferencia entre manual y automático debe ser sin saltos: el regulador inicia con el valor de salida que tenía el modo manual.
Errores frecuentes
- Dibujar un diagrama monolítico en vez de bloques por equipo.
- No nombrar las instancias, de modo que el diagrama se vuelve una red de «TON_1», «TON_2».
- Cruzar líneas de forma que no se entiende el flujo.
- Realimentaciones sin tratar el retardo de un ciclo.
- Escalados con límites erróneos que provocan lecturas fuera de rango sin alarma.
- Reguladores sin límite de salida ni protección ante saturación.
- Dejar entradas sin conectar con valores por defecto no previstos.
- Mezclar unidades (porcentaje y unidades de ingeniería) en el mismo cálculo.
Lista de verificación
- Cada equipo con instancia propia de su bloque de función.
- Nombres de instancia y de señal descriptivos.
- Rango y unidades de cada entrada analógica documentados.
- Detección de cable roto o señal fuera de rango.
- Orden de ejecución revisado en los lazos de realimentación.
- Reguladores con límites de salida y modo manual.
- Entradas sin conectar eliminadas o fijadas a propósito.
- El diagrama cabe en páginas legibles, con una función por página.
Dudas técnicas frecuentes
- ¿FBD es lo mismo que el diagrama de lazo de instrumentación?: no, aunque se parecen. El FBD es código que se ejecuta; el diagrama de lazo documenta la instrumentación.
- ¿Se pueden crear bloques propios en FBD?: sí, y es el mayor valor del lenguaje; se pueden escribir en FBD, ladder o texto.
- ¿El PID de cada marca es igual?: no. Los parámetros, las unidades y los modos varían por fabricante; se revisa en el manual.
- ¿Cómo se comunica el PLC con el variador?: por señales analógicas o por red, como se explica en Modbus RTU y TCP.
Cómo le ayudamos
Diseñar los lazos de regulación y los bloques por equipo exige conocer el proceso, no solo el lenguaje. En Tiza Group hacemos la ingeniería del control y la verificamos con pruebas, y luego ponemos el sistema en servicio. Vea diseño de ingeniería y estudios y pruebas y puesta en servicio, o escríbanos por contacto.
Guías relacionadas
- Variador de frecuencia se dispara
- Armónicos de variadores de frecuencia
- CCM inteligente
- PLC y automatización de subestaciones
- Modbus RTU y TCP
- Motor de inducción y sus protecciones
- Controlador PID: qué hace cada acción
- Leyes de afinidad: ahorro en bombas y ventiladores
- Structured Text (ST) en PLC: fundamentos y ejemplos
- GRAFCET y SFC: programar secuencias en PLC
Referencias
- IEC 61131-3, diagrama de bloques de función (norma de pago).
- PLC Academy, material introductorio sobre FBD.
- Hugh Jack, Automating Manufacturing Systems with PLCs (CC BY-NC-SA 3.0 US).
Preguntas frecuentes
¿Cuándo conviene FBD en lugar de ladder?
Cuando el programa es un flujo de señales: escalado, comparación, filtrado, regulación PID. Para lógica discreta de enclavamientos y mantenimiento por electricistas, ladder suele ser más claro.
¿Qué diferencia hay entre función y bloque de función?
La función no guarda estado: las mismas entradas dan siempre el mismo resultado. El bloque de función tiene memoria propia en cada instancia, como un temporizador, un contador o un regulador.
¿En qué orden se ejecutan los bloques?
Según el flujo de datos: un bloque se ejecuta cuando sus entradas ya están calculadas. Cuando hay lazos de realimentación, el entorno impone un orden explícito, que se consulta en el manual del fabricante.
¿Se puede mezclar FBD con ladder en un mismo proyecto?
Sí, como programas o bloques distintos dentro del mismo proyecto. Un bloque escrito en un lenguaje puede llamarse desde otro, según lo que permita el entorno del fabricante.