Skip to main content

Visió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 de una POU (función, bloque de funciones, programa o biblioteca POU), 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 soportar la conversión a FBD o LD. En vista de esto, un programa de AI también debería dividirse de manera significativa en redes.

Diagrama de bloques de funciones (FBD)

El diagrama de bloques de funciones es un lenguaje de programación IEC 61131 orientado gráficamente. Funciona con una lista de redes. De esta manera, cada red contiene una estructura que puede contener expresiones lógicas y aritméticas, llamadas de bloques de funciones, un salto o una declaración de retorno.

Aquí se utilizan cajas, que son familiares del álgebra booleana. Los cuadros y las variables están conectados mediante líneas de conexión. El flujo de señal en la red va de izquierda a derecha. El flujo de señal en el editor va de arriba a abajo, comenzando con la red 1.

ejemplo 1. Ejemplo
_cds_img_fbd_example.png


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 actualmente insertados, que puede cambiar.

Para más información, ver: Programación en el diagrama de bloques de funciones (FBD)

Diagrama de escalera (LD)

El diagrama de escalera (LD) es un lenguaje de programación orientado gráficamente que es similar a un diagrama de circuito eléctrico.

El diagrama de escalera es adecuado, por un lado, para diseñar unidades de conmutación lógicas, pero, por otro, también permite crear redes como en FUP. Por este motivo, LD se puede utilizar muy bien para controlar llamadas de otros bloques de programa.

El diagrama de escalera consta de una serie de redes. Una red está delimitada en el lado izquierdo por una línea vertical (barra colectora). Una red contiene un diagrama de circuito de contactos, bobinas, cajas opcionales (POU) y líneas de conexión.

En el lado izquierdo de una red, hay un contacto o una serie de contactos que transmiten el estado ON u OFF, que corresponde a los valores booleanos. TRUE y FALSE, de izquierda a derecha. A cada contacto se le asocia una variable booleana. 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 se retransmite OFF. Como resultado, las bobinas en la parte derecha de la red reciben el valor ON y OFF proveniente de la izquierda y el valor VERDADERO o FALSO se escribe en consecuencia en la variable booleana asignada a ellas.

Cuando los elementos están conectados en serie, esto significa una operación Y. Cuando están conectados en paralelo, esto significa una operación OR. Una línea que pasa por un elemento significa una negación del elemento.

La negación de una entrada o una salida se indica mediante un símbolo de círculo.

ejemplo 2. Ejemplo
_cds_img_ld_example.png


IEC 61131-3 define un conjunto de comandos LD completo, que consta de 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 bobinas se asignan a variables booleanas. 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 compatible con IEC 61131 similar a un ensamblador.

Admite programación basada en acumulador.

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 delante de una instrucción. Se utiliza para la identificación de la instrucción y puede utilizar la etiqueta como destino de salto.

Un comentario debe ser el último elemento de una línea. Se pueden insertar líneas vacías entre instrucciones.

Se admiten todos los operadores IEC 61131-3, al igual que múltiples entradas, múltiples salidas, negaciones, comentarios, configuración/reinicio de salidas y saltos condicionales/incondicionales.

Cada instrucción se basa principalmente en la carga de valores en el acumulador (LD instrucción). Posteriormente se ejecuta la operación correspondiente con el parámetro del acumulador. El resultado de la operación se vuelve a escribir en el acumulador, desde donde deberás almacenarlo 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 programación de ejecuciones condicionales o bucles. Los saltos pueden ser incondicionales (JMP) o condicionales (JMPC/JMPCN). En el caso de saltos condicionales se comprueba si el valor en el acumulador es TRUE o FALSE.

ejemplo 3. Ejemplo
_cds_img_il_example1.png