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.
Cree un nuevo proyecto usando el Proyecto estándar plantilla y especifique el nombre
Minimal
por ejemplo.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
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.
Hacer clic
.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.
Determinación del orden de ejecución en redes de realimentación
Cree un programa CFC con comentarios.
El POU
PrgPositiveFeedback
cuentaPROGRAM PrgPositiveFeedback VAR iResult: INT; END_VAR
Seleccione un elemento dentro de los comentarios.
El elemento seleccionado se resalta en rojo.
Hacer clic
.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
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).
Seleccione de nuevo la POU de inicio.
Hacer clic CFC → Orden de ejecución → Establecer inicio de retroalimentación.
La POU no está seleccionada como la POU de inicio.
El orden de ejecución se define internamente.
Hacer clic CFC → Orden de ejecución → Mostrar orden de ejecución.
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.
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.
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.
Abra un objeto CFC.
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.