Skip to main content

Programación en el editor CFC

Nota

Al crear el POU, se compromete con el lenguaje de implementación. Posteriormente, no es posible cambiar entre Diagrama de función continua (CFC) y Diagrama de función continua (CFC) - orientado a páginas lenguajes de implementación.

Inserción de elementos y cableado con líneas de conexión

  1. Arrastre un Módulo elemento y un Salida elemento en el editor.

  2. Haga clic en la salida del Módulo elemento.

    La salida está marcada con un módulo rojo.

  3. Arrastre una línea de conexión desde el pin de salida del Módulo elemento al pin de entrada del Salida elemento.

    El símbolo del cursor cambia cuando llega al pin de entrada .

  4. Suelte el botón izquierdo del ratón.

    El pin de salida de la módulo está conectado al pin de entrada de la salida.

    _cds_img_prg_simple.png

También puedes mantener presionada la tecla Control tecla, seleccione cada pin y luego haga clic derecho Pins seleccionados conectados.

Llamada de instancias

  1. Cree un nuevo proyecto utilizando la plantilla estándar y especifique el nombre First Por ejemplo.

    El proyecto First.project se crea.

  2. Amplíe la aplicación con el bloque de funciones FB_DoIt en el ST Lenguaje de implementación con entradas y salidas.

    Ejemplo:

    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. Seleccione la aplicación y haga clic Agregar objeto → POU Seleccione el Diagrama de función continua (CFC) lenguaje de implementación y el tipo Program. Especifique el nombre PrgFirst Por ejemplo.

    Hacer clic DE ACUERDO para confirmar el diálogo.

    El PrgFirst Se crea el programa y se abre en el editor. Sigue vacío.

  4. Crear instancias de bloques de funciones y declarar variables.

    PROGRAM PrgFirst
    VAR
        iCounter: INT;
        fbDoIt_1 : FB_DoIt;
        fbDoIt_2 : FB_DoIt;
        iOut : INT;
        sOut: STRING;
        xOut: BOOL;
    END_VAR
  5. Arrastre un Módulo elemento de la Caja de instrumento Ver en el editor.

  6. Haga clic en el ??? campo y tipo en ADD como el nombre de la módulo .

    El tipo de módulo es ADD La módulo actúa como un sumador.

  7. Haga clic en la línea 3 en el editor de declaraciones.

    La línea de declaración de iCounter está seleccionado

  8. Haga clic en la selección y arrastre la variable seleccionada a la implementación. Allí, enfoque una entrada de la ADD módulo.

    Se ha creado, declarado y conectado una entrada al módulo.

  9. Haga clic nuevamente en la selección y arrastre la variable a la salida del ADD módulo.

    Se ha creado, declarado y conectado una salida al módulo.

  10. Arrastre un Entrada elemento de la Caja de instrumento Vista de la implementación. Haga clic en su ??? campo y tipo en 1.

  11. Conectar el 1 entrada a una entrada del ADD módulo.

    Se programa una red. En tiempo de ejecución, la red cuenta los ciclos del bus y almacena el resultado en iCounter.

    cfc_img_first_network_add.png
  12. Haga clic en la línea 5 en el editor de declaraciones.

    La línea está seleccionada.

  13. Haga clic en la selección y arrastre la instancia seleccionada a la implementación.

    La instancia aparece como un módulo en el editor. El tipo, el nombre y los pines del módulo se muestran como corresponde.

    cfc_img_first_network_doit.png
  14. Arrastre el fbDoIt_2 Instancia al editor. Interconectar las instancias entre sí y con las entradas y salidas.

    Ejemplo:

    cfc_img_first_network_add_doit1_doit2.png

    Un programa en ST con la misma funcionalidad podría verse así:

    PROGRAM PrgFirstInSt
    VAR
        iCounter: INT;
    
        fbDoIt_1 : FB_DoIt;
        fbDoIt_2 : FB_DoIt;
    
        iOut : INT;
        sOut: STRING;
        xOut: BOOL;
    END_VAR
    iCounter := iCounter + 1;
    fbDoIt_1(iAlfa := 16, iBravo := 32, sCharlie := 'First', xItem := TRUE, iDelta := 2, iResult => fbDoIt_2.iAlfa, xResult => fbDoIt_2.xItem);
    fbDoIt_2(iBravo := fbDoIt_1.iResult, sCharlie := 'Second', iDelta := 2, iResult => iOut , sResult=> sOut, xResult => xOut);

Creación de marcas de conexión

Requisito: Una POU CFC tiene elementos conectados.

  1. Seleccione una línea de conexión entre dos elementos.

    La línea de conexión se muestra como seleccionada. Los extremos de la línea de conexión están marcados con cfc_icon_selected_input.png cajas rojas.

  2. Hacer clic CFC → Marca de conexión.

    La conexión se separa en una Marca de conexión – Fuente y un Marca de conexión – Fregadero El nombre de la marca se genera automáticamente.

    cfc_img_prg_simple_with_connection_mark.png
  3. Haga clic en las marcas de conexión de fuente .

    Puedes editar el nombre.

  4. Especifique el nombre SimpleMark Para la marca de conexión de fuente .

    La marca de conexión de fuente y la marca de conexión de sink tienen el mismo nombre.

    cfc_img_prg_simple_with_named_connection_mark.png

Resolución de colisiones y fijación de líneas de conexión mediante puntos de control

El siguiente ejemplo muestra cómo utilizar el Enrutar todas las conexiones Comando con puntos de control.

  1. Posicione el Entrada y Salida Elementos. Conecta los elementos.

    cfc_img_prg_simple2_control_point.png
  2. Posición dos Módulo elementos en la línea.

    La línea de conexión y las cajas están marcadas en rojo debido a la colisión.

    cfc_img_prg_simple2_red_linie.png
  3. Hacer clic CFC → Enrutamiento → Enrutar todas las conexiones.

    La colisión está resuelta.

    cfc_img_prg_simple2_routed_line.png
  4. Cambie las líneas de conexión gradualmente.

    cfc_img_prg_simple2_manual_routed_line.png

    La línea de conexión se ha modificado manualmente y ahora está bloqueada para el enrutamiento automático. Esto se indica con un símbolo de candado al final de la conexión.

    _cds_img_prg_simple2_locked_routed_line.png
  5. Seleccione la línea de conexión y haga clic CFC → Enrutamiento → Crear punto de control.

    Se crea un punto de control en la línea de conexión. Esta se fija al punto de control.

    cfc_img_prg_simple2_locked_routed_line_with_control.png

    También puede arrastrar un punto de control desde el Caja de instrumento vista a una línea.

  6. Cambie la línea de conexión como se ve en el siguiente ejemplo.

    cfc_img_prg_simple2_changed_line_with_control.png

    Utilice el punto de control para cambiar la línea de conexión según sus necesidades. Puede configurar cualquier número de puntos de control.

  7. En el menú contextual, haga clic en CFC → Enrutamiento → Eliminar punto de control para eliminar el punto de control.

  8. Hacer clic Soltar conexión o haga clic en el símbolo de candado para desbloquear la conexión.

  9. Seleccione la línea de conexión y haga clic Enrutar todas las conexiones.

    La línea de conexión se enruta automáticamente como se ve en el paso 3.

    _cds_img_prg_simple2_locked_routed_line.png

Importante

Las conexiones en un grupo no se enrutan automáticamente.

Reducir la visualización de un módulo

Requisito: Hay una POU de CFC abierta. En el editor, se muestran sus cuadros con todos los pines declarados.

  1. Seleccione una módulo cuyos pines estén parcialmente desconectados.

    Ejemplo: fb_DoIt_1

    cfc_img_box_with_unconnected_pins.png

    La módulo necesita espacio para todos los pines.

  2. Hacer clic CFC → Pins → Eliminar las conexiones sin enlace.

    Ahora la módulo necesita menos espacio y se muestra solo con los pines funcionalmente relevantes.

    cfc_img_box_without_unconnected_pins.png