Descripción general
La unidad básica de la programación FBD y LD es una red. Cada red contiene una estructura que puede representar 1) una expresión lógica o aritmética, 2) la llamada a una POU (función, bloque de función, programa o biblioteca), o 3) una instrucción de salto o retorno.
En realidad, IL no requiere redes. Sin embargo, en CODESYS Un programa IL también consta de al menos una red para permitir la conversión a FBD o LD. Por ello, también se recomienda dividir un programa IL en redes de forma significativa.
Diagrama de bloques funcionales (FBD)
El diagrama de bloques de función es un lenguaje de programación IEC 61131 con orientación gráfica. Trabaja con una lista de redes. De esta forma, cada red contiene una estructura que puede incluir expresiones lógicas y aritméticas, llamadas a bloques de función, un salto o una instrucción de retorno.
Aquí se utilizan cajas, conocidas del álgebra booleana. Las cajas y las variables se conectan mediante líneas de conexión. El flujo de señales en la red se ejecuta de izquierda a derecha. En el editor, el flujo de señales se ejecuta de arriba a abajo, comenzando por la red 1.

Sugerencia
CFC también es un lenguaje de programación basado en el mismo principio que FBD, pero con las siguientes diferencias:
El editor CFC no está orientado a la red.
Puede colocar libremente los elementos en el editor CFC.
Es posible la inserción directa de rutas de retroalimentación.
El orden de ejecución está determinado por una lista de elementos insertados actualmente, que puedes cambiar.
Para obtener más información, consulte lo siguiente: Programación en el Diagrama de bloques funcionales (FBD)
Diagrama de contactos (LD)
El diagrama de contactos (LD) es un lenguaje de programación orientado gráficamente que es similar a un diagrama de circuito eléctrico.
Por un lado, el diagrama de contactos es adecuado para diseñar unidades de conmutación lógica, pero también permite crear redes como en FBD. Por ello, el diagrama de contactos resulta muy útil para controlar llamadas a otros bloques de programa.
El diagrama de contactos consta de una serie de redes. Cada red está delimitada a la izquierda por una línea vertical (barra colectora). Cada red contiene un diagrama de circuito de contactos, bobinas, módulos opcionales (POU) y líneas de conexión.
En el lado izquierdo de una red, hay un contacto o una serie de contactos que retransmiten la ON
o OFF
estado, que corresponde a los valores booleanos TRUE
y FALSE
De izquierda a derecha. Cada contacto tiene una variable booleana asociada. Cuando esta variable es... TRUE
El estado se transmite de izquierda a derecha a través de la línea de conexión. De lo contrario OFF
se retransmite. Como resultado, la(s) bobina(s) en la parte derecha de la red recibe(n) el valor ON
o OFF
viniendo de la izquierda y el valor TRUE
o FALSE
se escribe en consecuencia en la variable booleana que se les asigna.
Cuando los elementos están conectados en serie, se produce una operación AND. Cuando están conectados en paralelo, se produce una operación OR. Una línea que atraviesa un elemento implica su negación.
La negación de una entrada o una salida se indica mediante un símbolo de círculo.

La norma IEC 61131-3 define un conjunto completo de comandos LD, compuesto por diferentes tipos de contactos y bobinas. Los contactos conducen la corriente (según su tipo) de izquierda a derecha. Las bobinas almacenan el valor entrante. Los contactos y las bobinas se asignan a variables booleanas. Se puede complementar una red LD con saltos, retornos, etiquetas y comentarios.
Lista de instrucciones (IL)
La lista de instrucciones es un lenguaje de programación similar al ensamblador compatible con IEC 61131.
Admite programación basada en acumuladores.
Una lista de instrucciones (IL) consta de una serie de instrucciones. Cada instrucción comienza en una nueva línea y contiene un operador y uno o más operandos separados por comas, según el tipo de operación.
Se puede colocar una etiqueta seguida de dos puntos antes de una instrucción. Sirve para identificar la instrucción y puede usarse como destino de salto.
Un comentario debe ser el último elemento de una línea. Se pueden insertar líneas vacías entre las instrucciones.
Se admiten todos los operadores IEC 61131-3, así como múltiples entradas, múltiples salidas, negaciones, comentarios, establecimiento/reinicio de salidas y saltos condicionales/incondicionales.
Cada instrucción se basa principalmente en la carga de valores en el acumulador (LD
Después, se ejecuta la operación correspondiente con el parámetro del acumulador. El resultado de la operación se escribe de nuevo en el acumulador, desde donde debe almacenarse específicamente con la ayuda de un ST
instrucción.
La lista de instrucciones admite operadores de comparación (EQ, GT, LT, GE, LE, NE
) y saltos para la programación de ejecuciones condicionales o bucles. Los saltos pueden ser incondicionales (JMP
) o condicional (JMPC
/ JMPCN
). En el caso de saltos condicionales, se realiza una comprobación para comprobar si el valor en el acumulador es TRUE
o FALSE
.
