Skip to main content
Busque en

Visión de conjunto

El editor CFC es un editor gráfico para programar objetos en el lenguaje Continuous Function Chart (CFC). El gráfico de funciones continuas no es un lenguaje definido en IEC 61131-3, sino una extensión generalmente aceptada en los entornos de desarrollo de IEC.

Después CODESYS CFC está instalado, los dos idiomas de implementación están disponibles: Gráfico de funciones continuas (CFC) y Diagrama de funciones continuas (CFC) - orientado a páginas. En el Añadir POU cuadro de diálogo, puede seleccionar los idiomas CFC en el Idioma de implementación lista.

Cada idioma tiene su propio editor, pero los elementos y funcionalidades son muy similares. Allí programa el código fuente gráficamente colocando cuadros libremente u orientados a páginas e interconectándolos con líneas de conexión para formar diagramas de flujo de señales (diagramas de flujo de datos).

Una POU puede contener varios flujos de datos independientes, que se representan gráficamente como elementos no conectados. Además, se permite la retroalimentación. El orden de ejecución en una POU de CFC se basa en el flujo de datos.

Nota

Usted se compromete con el lenguaje de implementación al crear la POU. Posteriormente, no es posible cambiar entre los Gráfico de funciones continuas (CFC) y Diagrama de funciones continuas (CFC) - orientado a páginas lenguajes de implementación.

Funcionalidad

  • Programación gráfica de código con elementos y líneas de conexión.

  • Arrastrar instancias y variables al área de edición

  • Enrutamiento automático de líneas de conexión

  • Enlace automático

  • Fijación de líneas de conexión por puntos de control.

  • Detección de colisiones

  • Asistencia de entrada para marcas de conexión

  • Forzado y escritura de valores en modo online

  • Movimiento de selección mediante teclas de flecha

  • Visualización reducida de una POU sin pines desconectados

Orden de ejecución automática por flujo de datos

El orden de ejecución en las POU se determina de forma única en los editores basados en texto y en red. En el editor CFC, sin embargo, puede colocar los elementos libremente, por lo que el orden de ejecución inicialmente no es único. Por esta razón, CODESYS utiliza el flujo de datos para determinar el orden de ejecución y, en el caso de redes múltiples, mediante la posición topológica de los elementos. Los elementos superiores y las redes se ordenan de arriba a abajo y de izquierda a derecha. De esta forma, el orden de ejecución es único y asegura que el POU se procesa optimizado por tiempo y por ciclo.

Puede mostrar temporalmente el orden de ejecución actual en el gráfico. Cuando programa redes con retroalimentación, puede definir un elemento como punto de partida en el ciclo de retroalimentación.

También puede editar explícitamente el orden de procesamiento en un objeto CFC. Para hacer esto, cambie el Modo de flujo de datos automático propiedad del objeto CFC a Modo de orden de ejecución explícito. En este modo, tiene la opción de editar el orden de ejecución mediante comandos de menú.

Antes CODESYS V3.5 SP15, tenía que definir el orden de ejecución de forma explícita para cada POU. No hubo cambio de modo.

Flujo de datos

El flujo de datos es la secuencia de tiempo en la que se leen o escriben los datos en qué objetos de programación. Una POU puede procesar cualquier cantidad de flujos de datos, que también se pueden ejecutar de forma independiente entre sí.

Visualización de la orden de ejecución

Por defecto, el orden de ejecución de un objeto CFC se determina automáticamente. los Modo de flujo de datos automático la propiedad es seleccionada para esto. Puede visualizar temporalmente el orden de ejecución determinado automáticamente en el editor CFC.

  1. Cree un nuevo proyecto usando el Proyecto estándar plantilla y especifique el nombre Minimal por ejemplo.

  2. Amplíe la aplicación con el bloque de funciones FB_DOIt en el S T lenguaje de implementación con entradas y salidas de la siguiente manera.

    FUNCTION_BLOCK FB_DoIt
    VAR_INPUT
        iAlfa : INT;
        iBravo: INT;
        sCharlie : STRING := 'Charlie';
        xItem : BOOL;
    END_VAR
    VAR_OUTPUT
        iResult : INT;
        sResult : STRING;
        xResult : BOOL;
    END_VAR
    VAR
    END_VAR
    iResult := iAlfa + iBravo;
    IF xItem = TRUE THEN
        xResult := TRUE;
    END_IF
  3. Crear el bloque de funciones ExecuteCFC en el CFC lenguaje de implementación de la siguiente manera.

    PROGRAM ExecuteCFC
    VAR
        fb_DoIt_0: FB_DoIt;
        fb_DoIt_1: FB_DoIt;
        iFinal_1: INT;
        iFinal_0: INT;
        xFinal: BOOL;
    END_VAR

    Los objetos de programación creados recientemente en CFC tienen seleccionado el modo de flujo de datos automático. El orden de ejecución del objeto de programación se define internamente de forma óptima.

    cfc_img_fb_executecfc.png
  4. Hacer clic CFC → Orden de ejecución → Mostrar orden de ejecución.

    Se muestra el orden de ejecución del objeto. Las casillas y las entradas están numeradas en consecuencia y reflejan el orden de procesamiento cronológico. La numeración se oculta en cuanto vuelve a hacer clic en el editor CFC.

    cfc_img_displaying_execution_order.png

Determinación del orden de ejecución en redes de realimentación

  1. Cree un programa CFC con comentarios.

    El POU PrgPositiveFeedback cuenta

    PROGRAM PrgPositiveFeedback
    VAR
        iResult: INT;
    END_VAR
    cfc_img_prg_positive_feedback.png
  2. Seleccione un elemento dentro de los comentarios.

    El elemento seleccionado se resalta en rojo.

  3. Hacer clic CFC → Orden de ejecución → Establecer inicio de retroalimentación.

    cfc_img_prg_positive_feedback_with_start.png

    En tiempo de ejecución, esta POU se procesa primero. La POU de inicio de la retroalimentación se define y se decora con el cfc_icon_start_of_feedback.png símbolo. Se recurre al orden de ejecución y el elemento seleccionado obtiene el número 0. (Este es el número más bajo de la retroalimentación).

  4. Seleccione de nuevo la POU de inicio.

  5. Hacer clic CFC → Orden de ejecución → Establecer inicio de retroalimentación.

    La POU no está seleccionada como la POU de inicio.

    cfc_img_prg_positive_feedback.png

    El orden de ejecución se define internamente.

  6. Hacer clic CFC → Orden de ejecución → Mostrar orden de ejecución.

    cfc_img_positive_feedback_numbered.png

    Se muestra el orden de ejecución por flujo de datos.

Definición explícita del orden de ejecución

Puede cambiar el orden de ejecución definido automáticamente de un objeto CFC explícitamente cuando selecciona el Modo de orden de ejecución explícito opción para el objeto.

  1. En el Dispositivos o POU vista, abra el menú contextual de un objeto CFC y haga clic en Propiedades. En el Propiedades cuadro de diálogo, seleccione el Orden de ejecución CFC pestaña.

    los Orden de ejecución El cuadro de lista muestra el modo seleccionado actualmente.

  2. En el Orden de ejecución cuadro de lista, seleccione Modo de orden de ejecución explícito y haga clic OK para confirmar el diálogo.

    Se selecciona el "Modo de orden de ejecución explícito". Las redes están numeradas en el editor CFC, y los siguientes comandos se proporcionan en el CFC → Orden de Ejecución menú para editar el orden de ejecución.

  3. Abra un objeto CFC.

  4. Seleccione un elemento numerado y haga clic en CFC → Orden de ejecución → Enviar al frente.

    Se recurre al orden de ejecución y el elemento seleccionado tiene el número 0.

Sugerencia

El orden de ejecución definido automáticamente por el flujo de datos da como resultado una ejecución optimizada en tiempo y ciclo de la POU. No necesita ninguna información sobre el orden de ejecución administrado internamente durante el proceso de desarrollo.

En Modo de orden de ejecución explícito, es su responsabilidad adaptar el orden de ejecución y evaluar las consecuencias e impactos. Esta es otra razón por la que siempre se muestra el orden de ejecución.