Categorías: Domótica, Controladores programables
Cantidad de vistas: 28074
Comentarios sobre el artículo: 0

Lenguaje de diagrama de bloques funcional (FBD) y su aplicación

 

Uno de los lenguajes de programación más populares de los PLC (controladores lógicos programables) es el lenguaje gráfico de los diagramas de bloques funcionales FBD: diagrama de bloques de funciones. Este lenguaje, junto con otros idiomas de IEC 61131-3, como por ejemplo lenguaje de lógica de escalera (LD), utiliza en su arquitectura una especie de circuito electrónico.

Un programa escrito en este lenguaje para un controlador consiste en una cierta lista de circuitos que se ejecutan uno tras otro de arriba a abajo. Además, existe la posibilidad de asignar etiquetas a cadenas individuales, en este caso, el uso de instrucciones para ir a la etiqueta estará disponible para cambiar la secuencia de ejecución de cadenas y crear condiciones y ciclos.

Lenguaje de diagrama de bloque de funciones (FBD)

Por lo tanto, un programa escrito en el lenguaje gráfico FBD es un conjunto de bloques funcionales conectados entre sí, cuyas salidas y entradas están conectadas por líneas de comunicación. Las líneas de comunicación reflejan ciertas variables del programa a través de las cuales se intercambian datos de bloque a bloque.

Un bloque separado lleva una función específica (lógica "y", "no", contador, etc.), mientras que un bloque puede tener varias salidas y entradas. Inicialmente, los valores de las variables se establecen por constantes o por entradas especiales, y sus salidas se conectan aún más con otras variables del programa o con las salidas del PLC.

La figura muestra un programa de ejemplo escrito en el lenguaje de diagrama de bloques funcional FBD. Como puede ver, dicha imagen de programa refleja muy claramente el algoritmo, lo que hace que este lenguaje sea bastante simple y conveniente para desarrollar software para PLC.

En el proceso de programación en el lenguaje FBD, se utilizan tanto bloques estándar de bibliotecas como bloques escritos en FBD o en otros lenguajes del estándar IEC 61131-3. Un bloque es un elemento de programa, una especie de subprograma, un bloque de función o función (lógica "NO", "OR", "Y", temporizador, contador, disparador, operación matemática, procesamiento de una señal analógica, etc.).

De estos bloques, las expresiones que forman las cadenas se compilan gráficamente: el siguiente bloque se conecta a la salida de un bloque, luego otro bloque, y así se forman las cadenas. En el curso del circuito, el orden de ejecución de los bloques corresponde al orden de su conexión, y el resultado de la ejecución del circuito se alimenta a la salida del PLC o se escribe en alguna variable interna.

Bloques de funciones

Considere una parte del programa escrita en el lenguaje FBD: multiplique por 4, luego divida por A y escriba el resultado en el resultado variable. En pseudocódigo, se verá así: resultado: = B * 4 / A. También es posible agregar entradas de control especiales EN y salidas ENO a los bloques para controlar las llamadas de bloques individuales: un cero lógico aplicado a la entrada EN prohibirá la llamada de este bloque, y la salida ENO lo informará en caso de error y, por lo tanto, interrumpirá la ejecución del circuito hasta el final .


Como puede ver, el lenguaje FBD es extremadamente visual, conveniente y, por lo tanto, fácil de aprender incluso para especialistas en aplicaciones que no tienen capacitación especial en informática. El código se ejecuta secuencialmente, la estructura de los comandos dentro del código es simple, por lo tanto, el programa se transmite muy rápidamente y la tarea se ejecuta de manera confiable.

Lenguaje de programación FBD

Hay varias modificaciones del lenguaje de programación FBD, caracterizadas por la presencia de ciertas restricciones o extensiones.

Por ejemplo, hay una variante de FBC que permite el uso de funciones puras con solo una salida sin variables intermedias: una modificación para la programación funcional.

O una modificación de CFC (Continuous Function Chart), que le permite establecer el orden de ejecución del gráfico no solo por una cadena secuencial, sino a discreción del desarrollador del software. Con CFC, el desarrollador obtiene más libertad, aunque el código es más largo.

Ver también sobre este tema:Lenguajes de programación PLC y plataforma de software de automatización CoDeSys

Ver también en electro-es.tomathouse.com:

  • LD Ladder Language y su aplicación
  • Lenguajes de programación PLC y plataforma de software de automatización CoDeSys
  • Diagramas de arranque del motor en lenguaje de diagrama de escalera LD para PLC
  • Un ejemplo de la modernización del circuito eléctrico de un elevador de carga utilizando ...
  • Video curso sobre cómo trabajar con el controlador Aries PLC110 en el entorno CODESYS2.3

  •