 Utilización del editor SFC

El lenguaje SFC se utiliza para describir las operaciones de un proceso secuencial. Utiliza una representación gráfica sencilla para exponer los diferentes pasos de un proceso, junto con condiciones que permiten la modificación de pasos activos. Se entra en un programa SFC por medio del editor gráfico SFC de ISaGRAF. SFC es el núcleo de la norma IEC 1131-3. Los restantes lenguajes suelen describir las acciones que tienen lugar dentro de los pasos y las condiciones lógicas de las transiciones. El editor gráfico SFC de ISaGRAF permite al usuario introducir programas SFC completos. Combina la capacidad de editar gráficos y texto, lo que permite la incorporación tanto del diagrama SFC como de las acciones y condiciones correspondientes.

Aspectos principales del lenguaje SFC

Introducción de un diagrama SFC

Trabajar con diagramas SFC existentes

Introducción de la programación de Nivel 2

Insertar de nombres de variable

Insertar un bloque de acción pulsante en un paso

Insertar un bloque de acción no almacenada en un paso

Nuevos calificadores de acciones P0 y P1

Acciones Booleanas

Acciones SFC

Transiciones escritas en ST

Transiciones escritas en Quick Ladder

Comandos del menú "Herramientas"

Utilización de la galería SFC

Llamadas a otras herramientas ISaGRAF

Otros comandos del menú "Fichero"

Actualización del diario del programa

Selección de una variable del diccionario


Aspectos principales del lenguaje SFC

Se utiliza el lenguaje SFC para representar procesos secuenciales. Divide el ciclo de proceso en un número de pasos (situaciones independientes) sucesivos y bien definidos, que se separan mediante transiciones.  Para mayor información acerca del lenguaje SFC, véase el Manual de Referencia de Lenguajes ISaGRAF.

Divergencias y convergencias

Salto a un paso

Macropasos

Los componentes SFC están unidos por líneas orientadas. La orientación por defecto de una línea es de arriba hacia abajo. A continuación de muestran los componentes gráficos básicos que se utilizan para elaborar un diagrama SFC:

Paso inicial

Paso

Transición

Salto a un paso

Macropaso

Paso inicial de Macropaso

Paso final de Macropaso

Generalmente, la programación SFC se divide en dos niveles diferentes: el Nivel 1 muestra el diagrama gráfico, los números de referencia de los pasos y las transiciones, y los comentarios asociados a los pasos y las transiciones. El Nivel 2 es la programación ST o IL de las acciones contenidas en cada paso, o las condiciones que afectan a las transiciones. Las acciones o condiciones pueden hacer referencia a subprogramas escritos en otros lenguajes (FBD, LD, ST o IL). A continuación aparece un ejemplo de programación de niveles 1 y 2 :

La programación de Nivel 2 de un paso se introduce con un editor de textos. Puede incluir bloques de acciones programados en los lenguajes ST o IL. La programación de Nivel 2 de una transición puede realizarse bien en IL o bien en ST, o con el editor Quick LD.


Divergencias y convergencias

Se utilizan las divergencias y las convergencias para representar enlaces múltiples entre pasos y transiciones. Las divergencias o convergencias simples representan diferentes posibilidades inclusivas entre las distintas subpartes del proceso.

Las divergencias dobles representan procesos paralelos.


Salto a un paso

El editor SFC sólo le permite al usuario dibujar enlaces en dirección ascendente (Arriba) o descendente (Abajo). Se puede utilizar un salto a un paso para representar un enlace con una parte superior del diagrama. Los siguientes diagramas son equivalentes :

Los saltos a una transición están prohibidos, y deben representarse explícitamente como convergencias dobles (AND).


Macropasos

Un macropaso es una representación única de un grupo autónomo de pasos y transiciones. Un macropaso comienza con un paso inicial y finaliza con un paso final.

La representación detallada de un macropaso tiene que estar descrita con el mismo lenguaje SFC. El símbolo de macropaso debe tener el mismo número de referencia que el paso inicial de la macro. La descripción del macropaso puede contener a su vez otro macropaso.


Introducción de un diagrama SFC

Para dibujar un diagrama SFC, el usuario sólo tiene que introducir los componentes significantes del diagrama. El editor SFC dibuja todas las líneas simples que unen dos elementos (horizontal o verticalmente) automáticamente. Para colocar un componente SFC en el diagrama el usuario tiene que llevar la selección al lugar apropiado y seleccionar el tipo de componente en la barra de herramientas del editor. El símbolo se inserta en la posición actual. También se pueden usar las siguientes secuencias de teclado.

Inserción de un paso inicial

Inserción de un paso

Inserción de una transición

Inserción de un salto a un paso

 	Inserción de una divergencia o convergencia OR / Adición de ramas

 	Inserción de una divergencia o convergencia AND / Adición de ramas

Inserción de macropasos

 	Insertar pasos inicial o final para el cuerpo de un macropaso

(El símbolo " [image] " indica una combinación con la tecla de mayúsculas SHIFT)

La rejilla de edición muestra celdas de matriz. Una opción del editor le permite al usuario mostrar u ocultar la rejilla durante la introducción de datos en el diagrama. La rejilla es muy útil para el diseño inicial del diagrama SFC, o para seleccionar subpartes del diagrama. Utilizar el comando "Opciones / Distribución" para mostrar u ocultar la rejilla.

El editor gráfico SFC de ISaGRAF  siempre muestra la posición actual en la matriz.  La celda seleccionada se marca en gris. El pequeño cuadrado en la esquina inferior izquierda se puede utilizar para cambiar el tamaño de las celdas. La relación X/Y de las celdas se puede cambiar también de esta forma..


 	Creación de divergencias o convergencias

Las divergencias y las convergencias siempre se dibujan de izquierda a derecha. Para dibujar una divergencia o una convergencia, sus ramas izquierda tienen que situarse dentro del área del diagrama. Se determina el tipo de dibujo (simple o doble) seleccionando el botón correspondiente en la barra de herramientas.


 	Adición de ramas a divergencias

Las posiciones de start (inicio) y stop (fin) de cada rama auxiliar se sitúan sobre la línea de divergencia o convergencia utilizando estos botones en la barra de herramientas. La esquina izquierda de la divergencia o convergencia debe estar presente antes de insertar ramas nuevas. Las esquinas de la derecha no se pueden colocar si no se ha añadido previamente la principal esquina izquierda.


Inserción de macropasos

Se utiliza este botón para insertar un macropaso en el diagrama principal. Se tiene que introducir el cuerpo del macropaso en otra parte del mismo programa SFC.


 	Cuerpo de un macropaso

Los macropasos tienen que ser descritos en el mismo programa SFC que el diagrama principal. Un macropaso empieza con un paso inicial y finaliza con un paso final. El subdiagrama que se describe como la implementación de la macro tiene que ser autocontenido. El paso inicial del macropaso debe tener la misma referencia que el símbolo de macropaso de la rama principal.


Trabajar con diagramas SFC existentes

Se puede utilizar tanto el ratón como las flechas del teclado para seleccionar un área rectangular en el diagrama. Todo el área seleccionada se marca en gris. Se pueden utilizar los comandos del menú de edición.

  	Comandos Cortar / Copiar / Borrar / Pegar

Mover elementos

Renumeración de pasos y transiciones

Acceso directo a un paso o una transición

Encontrar y sustituir textos


  Comandos Cortar / Copiar / Borrar / Pegar

Los siguientes comandos están disponibles en el menú "Edición" cuando está seleccionada el botón de "flecha" en la barra de herramientas del editor:

Cortar	Mover el rectángulo seleccionado de la pantalla al portapapeles SFC

Copiar	Copiar el rectángulo seleccionado de la pantalla al portapapeles SFC

Borrar	Borrar el rectángulo seleccionado

Pegar	Inserta el contenido del portapapeles SFC en la posición actual

El comando "Edición / Pegar" copia el contenido del portapapeles SFC a la pantalla. Estos comandos funcionan tanto en los diagramas SFC como en la programación de Nivel 2 de pasos y transiciones. También es posible copiar un diagrama de un programa y pegarlo en otro programa SFC. Los elementos se insertan antes de la posición actualmente seleccionada.


Mover elementos

Cuando se seleccionan elementos SFC de un diagrama SFC, se pueden mover a otra posición del diagrama arrastrando la selección con el ratón. Cuando se arrastra la selección, la posición inicial de los elementos seleccionados se marca con un rayado.

El área a la que se mueven los objetos debe de estar vacía. No es posible insertar mientras se mueve símbolos SFC.


Renumeración de pasos y transiciones

Cada paso o transición está identificado por un número lógico en el diagrama SFC. El comando "Edición / Renumerar" permite al usuario el establecimiento automático de números de referencia numéricamente secuenciales para cualquiera de los pasos o las transiciones del programa SFC que en ese momento se está editando. Cuando se cambia un número de paso, todos los saltos a ese paso se actualizan automáticamente con el nuevo número de referencia. Lo mismo ocurre con los macropasos y los pasos iniciales.


Acceso directo a un paso o una transición

El comando "Edición / Ir a" le permite al usuario acceder a un paso o una transición existente. Se adapta automáticamente la posición de scrolling para que el paso o la transición esté visible.


Encontrar y sustituir textos

Se puede utilizar el comando "Edición / Buscar Reemplazar" para encontrar o sustituir cadenas de texto en el conjunto del programa (en todos los pasos y transiciones). La ventana de diálogo se utiliza para introducir un texto determinado y abrir directamente la sección de la programación de nivel 2 donde aparece el texto.


Introducción de la programación de Nivel 2

Para introducir el texto de Nivel 2, el usuario debe hacer doble click sobre el rectángulo de Nivel 2 de un paso o una transición. La programación de nivel 2 se muestra a la derecha de la ventana SFC. La línea de separación entre el diagrama SFC y la programación de nivel 2 se puede mover libremente.

Se pueden abrir simultáneamente dos áreas de nivel 2 al mismo tiempo. Los siguientes comandos están disponibles desde el teclado, el ratón o el menú de "Edición".

Teclado	Ratón	Menú "Edición"

Abre la última ventana por defecto 	Intro	Doble Click	Edita el nivel 2

Lo abre en otra ventana	Ctrl+Intro	Ctrl + Doble Click	Edita el nivel 2 en otra ventana

Cuando se tienen abiertas dos ventanas de nivel 2, la separación entre ellas se puede mover libremente. El botón de la derecha de la barra de título de nivel 2 se utiliza para cerrar una ventana de nivel 2.

El lenguaje por defecto para la programación del nivel 2 es ST (Texto Estructurado). En el caso de las transiciones, la programación del nivel 2 se puede hacer también con el editor Quick LD. Usar el botón "ST/LD" en la barra de título del nivel 2 para cambiar el lenguaje activo. Este comando sólo es valido si la ventana de programación de nivel 2 se encuentra vacía.

Una única línea aparece en la parte superior de la ventana de nivel 2. Se utiliza para introducir un pequeño texto de descripción. Este texto se ve como un comentario IEC al dibujar los símbolos SFC. Es muy útil al utilizarse por otros comandos tales como "Ir a..." y también en la impresión SFC para documentar pasos y transiciones SFC.

El comando "Opciones / Refresco" se puede utilizar en cualquier instante cuando hay abiertas ventanas de nivel 2 para refrescar el diagrama SFC principal

Mientras se trabaja con una ventana de programación de Nivel 2, el usuario puede acceder a los comandos del menú "Edición", en la ventana principal, para trabajar en el texto o el diagrama activos de Nivel 2.

Insertar un nombre de variable

Insertar un bloque de acción pulsante en un paso

Insertar en un paso un bloque de acciones no almacenado

 	Nuevos calificadores de acciones P0 y P1

Acciones booleanas

Acciones SFC

Transiciones escritas en ST

Transiciones escritas en Quick Ladder


Insertar un nombre de variable

Al programar en lenguaje de texto, pulsar este botón para seleccionar una variable registrada en el diccionario del proyecto e insertar su nombre en la posición actual del cursor. Cuando se programa en Quick LD, pulsar este botón para seleccionar la variable que se va a asociar al contacto o parámetro de bloque de E/S seleccionado.


Insertar un bloque de acción pulsante en un paso

Al programar el Nivel 2 de un paso, pulsar este botón para insertar la plantilla de un bloque de acciones pulsante en la posición actual del cursor. A continuación se muestra el formato de un bloque de acciones de alteración:

Action (P) :

sentencia ST;

...

End_Action;

Las acciones pulsantes son instrucciones que sólo se ejecutan una vez, cuando el paso se vuelve activo. Para mayor información sobre la programación SFC, véase el documento de referencia de lenguajes ISaGRAF.


Insertar un paso en un bloque de acciones no almacenado
Insertar en un paso un bloque de acciones no almacenado

Cuando se está programando el Nivel 2 de un paso, pulsar este botón para insertar la plantilla de un bloque de acciones no almacenado en la posición actual del cursor. A continuación se muestra el formato de un bloque de acciones no almacenado:

Action (N) :

sentencia ST;

...

End_Action;

Las acciones no almacenadas son instrucciones que se ejecutan en cada ciclo de PLC, estando activo el paso. Para mayor información sobre la programación SFC, véase el documento de referencia de lenguajes ISaGRAF.


 	Nuevos calificadores de acciones P0 y P1

ISaGRAF soporta los nuevos calificadores de acciones P0 y P1. Al realizar la programación de Nivel 2 de un paso, pulsar estos botones para insertar la plantilla de un bloque de acciones P0 ó P1 en la posición actual del cursor. A continuación se muestra el formato de estos bloques:

Action (P0) :	Action (P1) :

sentencia ST;	sentencia ST;

...	...

End_Action;	End_Action;

Las acciones P1 son instrucciones que sólo se ejecutan una vez cuando el paso se vuelve activo (como sucede con las acciones pulsantes). Las acciones P0 son instrucciones que sólo se ejecutan una vez cuando el paso se vuelve inactivo. Para mayor información sobre la programación SFC, véase el documento de referencia de lenguajes ISaGRAF.


Acciones booleanas

Se dispone de otras semánticas de texto para actuar directamente sobre una variable booleana, de acuerdo con la actividad del paso. Las acciones de este tipo consisten en asociar una señal de actividad del paso a una variable booleana interna o de salida. A continuación se muestra la sintaxis de las acciones booleanas básicas:

<variable_booleana> (N);	asigna la señal de actividad del paso a la variable

<variable_booleana>;	mismo efecto (el atributo N es opcional)

/ <variable_booleana>;	asigna la negación de la señal de actividad del paso a la variable

Se dispone de otras funciones para establecer o restablecer una variable booleana cuando el paso se activa. Esta es la sintaxis de las acciones booleanas de establecer o restablecer:

<variable_booleana> (S);	fija la variable en VERDADERO cuando la señal de actividad del paso se convierte en VERDADERO

<variable_booleana> (R);	restablece la variable en FALSO cuando la señal de actividad del paso se convierte en VERDADERO


Acciones SFC

Se dispone de otras semánticas de texto para controlar la ejecución de un programa SFC hijo. Una acción SFC es una secuencia SFC hijo que se inicia o se finaliza según el estado de la señal de actividad del paso. Una acción SFC puede tener un calificador N (No almacenado), S (Establecer) o R (Restablecer). A continuación se muestra la sintaxis de las acciones SFC básicas:

<programa_hijo> (N);	inicia la secuencia hijo cuando se activa el paso, y finaliza la secuencia hijo cuando el paso se vuelve inactivo

<programa_hijo>;	mismo efecto que la sintaxis precedente (el atributo N es opcional)

<programa_hijo> (S);	inicia la secuencia hijo cuando el paso se activa; no se hace nada cuando el paso de vuelve inactivo

<programa_hijo> (R);	finaliza la secuencia hijo cuando el paso se activa; no se hace nada cuando el paso de vuelve inactivo

La secuencia SFC que se especifique como una acción tiene que ser un programa SFC hijo perteneciente al programa que se esté editando en ese momento, creado con el Gestor de Programas SFC.


Transiciones escritas en ST

El Nivel 2 de una transición es una expresión booleana. Para programarlo en el lenguaje ST, sólo hay que introducir la condición booleana de acuerdo con la sintaxis ST. Opcionalmente, puede añadirse un punto y coma ';' al final de la expresión.


Transiciones escritas en Quick Ladder

El editor Quick LD está disponible para la programación de la condición de Nivel 2 de una transición. En este caso, el diagrama se compone de un único escalón (línea), con una sola bobina (salida) en representación de la transición. No se repite el nombre de la transición con el símbolo de la bobina (salida). A continuación se muestra un ejemplo de una condición de transición programada en Quick LD:

Cuando se programa en Quick LD, utilizar las flechas del teclado para desplazar la selección dentro de la rejilla lógica de programación y después utilizar los siguientes aceleradores de teclado para insertar símbolos:

F2:	insertar un contacto después del símbolo seleccionado / iniciar el escalón (línea)

F3:	insertar un contacto antes del símbolo seleccionado

F4:	insertar un contacto en paralelo con el símbolo seleccionado

F6:	insertar un bloque después del símbolo seleccionado

F7:	insertar un bloque antes del símbolo seleccionado

F8:	insertar un bloque en paralelo con el símbolo seleccionado

También se puede hacer click sobre la barra de botones de funciones, localizada en la parte inferior de la ventana de Nivel 2, en lugar de pulsar los botones de funciones.

Cuando está seleccionado un contacto o un parámetro de bloque de E/S, pulsar 'Intro' para seleccionar una variable o introducir un valor constante. Cuando está seleccionado un bloque de función, pulsar 'Intro' para seleccionar el tipo de bloque de función. También se puede hacer doble click sobre un símbolo para lograr el mismo efecto.

Cuando está seleccionado un contacto, pulsar la barra espaciadora para cambiar el tipo de contacto (directo, negado o con detección de impulsos). Para más información sobre las capacidades de Quick LD, véase el apartado titulado "Utilización del editor Quick LD".


Llamadas a otras herramientas ISaGRAF

Verificar (compilar) el programa

 	Simular o depurar la aplicación

Editar el diccionario de variables


Verificar (compilar) el programa

El comando "Fichero / Verificar" ejecuta el generador de código ISaGRAF para verificar la sintaxis de programación del programa que se está editando en ese momento. En el caso del lenguaje SFC, se comprueban los niveles 1 y 2. Cuando se completa la verificación de sintaxis, la ventana del generador de código se tiene que cerrar para que puede continuar el trabajo con el programa. Si sólo hay un programa en la aplicación (la que se está editando) se genera el código de la aplicación siempre que no se haya detectado un error de sintaxis. Se utiliza el comando "Opciones / Opciones de compilador" para fijar los parámetros de compilación y optimización. Para más información sobre compilación y generación de código, véase el apartado titulado "Cómo utilizar el generador de código".


 	Simular o depurar la aplicación

Los comandos "Fichero / Simular" y "Fichero / Depurar" ejecutan el depurador gráfico de ISaGRAF bien en modo simulado o bien en modo de conexión real y vuelve a abrir el programa SFC editado en modo depuración. Cuando se utiliza en modo depuración, no se puede introducir modificación alguna en el programa.


Editar el diccionario de variables

Se utiliza el comando "Fichero / Diccionario" para editar el diccionario de variables de la aplicación actual y el programa  actual. También contiene los puntos de entrada necesarios para editar las palabras definidas por el usuario. Las declaraciones o palabras definidas  locales están relacionadas con el programa que se está editando.


Otros comandos del menú "Fichero"

Los siguientes comandos están disponibles en el menú "Fichero" de todos los editores de programas:

Abrir otro programa

Imprimir el programa


Abrir otro programa

El comando "Fichero / Abrir" le permite al usuario cerrar el programa que está editando en ese momento y empezar a editar otro programa perteneciente al proyecto actual, con el mismo lenguaje. No se puede utilizar esta función para editar un programa escrito en otro lenguaje. El nuevo programa sustituye al programa actual en la ventana de edición.


Imprimir el programa

El comando "Fichero / Imprimir" da salida al programa editado por impresora. Este comando ejecuta el generador de documentos de proyecto para producir el documento SFC.

En el caso de los programas gráficos (SFC, FBD y Quick LD), también se puede utilizar el comando "Edición / Copiar dibujo (metafile)" para copiar el dibujo del diagrama al portapapeles en formato metafile, para que pueda pegarse en otras aplicaciones tales como procesadores de texto. Para los programas SFC, sólo la información de Nivel 1 (diagrama, numeración y comentarios de Nivel 1) aparece en el metafile copiado.


Actualización del diario del programa

El fichero diario asociado al programa editado puede introducirse manualmente por medio del comando "Fichero / Diario". Si se selecciona el modo "Actualizar diario" en el menú "Opciones" del editor de programas, se abre la siguiente ventana de diálogo cada vez que se guarda el programa en el disco.

Si se pulsa el botón Aceptar, la anotación introducida se guarda al final del fichero diario con el sello de fecha / hora actual. Esta función es muy útil para el mantenimiento de programas completos, ya que proporciona una eficaz ayuda sobre el ciclo de vida del programa.


Selección de una variable del diccionario

 Cuando se edita un programa de texto (ST o IL), el comando "Edición / Insertar identificador" permite seleccionar el nombre de la variable declarada que se desea insertar en la posición actual del cursor. Cuando se editan programas LD o FBD, es necesaria la selección de variables para la descripción de contactos, bobinas (salidas), parámetros de bloques de E/S o ventana variables FBD. En ambos casos, se abre la siguiente ventana de diálogo "Selecciónar variable" para seleccionar la variable declarada.

Se utiliza el campo de selección "Rango" para elegir entre variables globales y locales. El campo de selección situado a la derecha permite elegir el tipo de datos. Los iconos pequeños dispuestos al lado del campo de selección de tipos son botones que pueden utilizarse como aceleradores para seleccionar los tipos de datos más usuales:

Booleanos

Enteros / Reales

Temporizador

Mensaje

Para seleccionar una variable, hacer click sobre su nombre en la lista. El nombre y el comentario asociado aparecerán en la parte superior de la lista. Pulsar el botón "Aceptar" para confirmar la selección. También se puede introducir el nombre de una variable directamente en el campo de control de edición, sin necesidad de utilizar la lista.


Comandos del menú "Herramientas"

Los siguientes comandos están disponibles en el menú de herramientas. Se utilizan para mostrar información en una pequeña lista de texto en ña parte inferior de la ventana SFC:

Mostrar salida del compilador	muestra en la ventana de salida los mensajes de error de la ultima compilación

Buscar en pasos y transiciones	encuentra un texto en todos los pasos y transiciones

Ocultar ventana de salida	oculta la ventana de salida

Cuando se muestran los mensajes de salida en la ventana de salida, haciendo doble click en una línea se abre directamente la ventana de programación de segundo nivel en la posición correspondiente.


Utilización de la galería SFC

El editor SFC de ISaGRAF maneja una galería SFC: es una colección de estructuras SFC que se pueden insertar en cualquier diagrama SFC. Los elementos de la galería SFC se pueden incluir opcionalmente la programación de nivel 2 de pasos y transiciones. Utilizar los siguientes comandos del menú "Herramientas":

Copiar a galería SFC	copia los elementos seleccionados a la galería SFC

Pegar de galería SFC	pega un elemento de la galería SFC a la posición actual

Cuando se copia a la galería SFC (i.e. se crea un nuevo elemento de la galería SFC), se puede incluir adicionalmente la programación de nivel 2 de los símbolos seleccionados.