153
Festo Didactic • Win FST 1 Contenido El lenguaje de programación Win FST 4.10 para PLC´s Programando con Win FST

Programación con FST4

Embed Size (px)

Citation preview

Page 1: Programación con FST4

Festo Didactic • Win FST

1 Contenido

El lenguaje de programación

Win FST 4.10 para PLC´s

Programando con Win FST

Page 2: Programación con FST4

Win FST • Festo Didactic

2 Tabla de contenido

Edición: 01/2004 Autor: Edward Gasper Traducción: Cristóbal Jiménez, Festo México © 2002 by Festo Didactic GmbH & Co., Rechbergstraße 3, D-73770 Denkendorf Todos los derechos reservados, incluyendo los derechos de traducción. Ninguna parte de esta publicación puede ser reproducida o transmitida de ninguna manera o por cualquiera de los medios, electrónico, mecánico, fotocopiado, o de alguna otra manera, sin el consentimiento previo escrito por parte de Festo Didactic. Partes de esta publicación pueden ser copiadas por los usuarios autorizados con el único propósito de entrenamiento.

Page 3: Programación con FST4

Festo Didactic • Win FST

3 Contenido

Contenido Contenido ........................................................................................ 3

Primeros pasos 1 Primeros pasos 7 1.1 Iniciando el software Win FST .............................................. 9 1.2 Creación de un nuevo proyecto............................................ 9 1.3 Creación de un programa.....................................................11 1.4 Configuración de las Entradas/Salidas ................................12 1.5 Declaración de las variables.................................................14 1.6 Escritura de un programa.....................................................16 1.7 Verificación de un programa ................................................17 1.8 Compilación y construcción de un programa........................18 1.9 Configuración del Controlador .............................................20 1.10 Transferencia del Programa al PLC.......................................22 1.11 Monitoreo en línea...............................................................22 1.12 Respaldo y restauración de proyectos .................................24 1.12.1 Respaldo .................................................................24 1.12.2 Restauración ...........................................................25 1.13 Salida del programa.............................................................26

Programación en Lista de Instrucciones 2 Programación en Lista de Instrucciones...................... 29 2.1 Introducción.........................................................................29 2.2 Elementos del STL................................................................29 2.2.1 Paso ........................................................................29 2.2.2 Instrucciones ...........................................................29 2.3 La instrucción STEP..............................................................30 2.4 Una frase dentro de un paso ................................................30 2.5 Varias frases dentro de un paso...........................................31 2.6 Ejecución de un paso con la instrucción OTHRW ..................32 2.7 Utilización del comando ELSE en lugar del OTHRW ..............32

Comandos estándar utilizados en STL 3 Comandos estándar utilizados en STL ........................ 35 3.1 Introducción.........................................................................35 3.2 Lista de palabras clave.........................................................35 3.2.1 Transferencia de Instrucciones en STL .....................35 3.2.2 Instrucciones lógicas en STL ....................................36

Page 4: Programación con FST4

Win FST • Festo Didactic

4 Tabla de contenido

Inicio del proyecto “Dispositivo de elevación” 4 Inicio del proyecto “Dispositivo de elevación” ........... 39 4.1 Introducción.........................................................................39 4.2 Creación del proyecto y del programa en WinFST.................40 4.3 Configuración de E/S ...........................................................40 4.4 Declaración de los programas ..............................................41 4.5 Escritura del programa.........................................................41 4.6 Verificación del proyecto......................................................43 4.7 Elaboración y construcción del proyecto ..............................43 4.8 Ajustes del controlador ........................................................44 4.9 Carga del programa al PLC ...................................................45 4.10 Monitoreo en línea ...............................................................46

Utilización de temporizadores 5 Utilización de temporizadores .................................... 51 5.1 Introducción.........................................................................51 5.2 Utilización de la función de ayuda........................................51 5.3 Aplicación de un temporizador en el proyecto......................52

Utilización de contadores 6 Utilización de contadores............................................ 57 6.1 Introducción.........................................................................57 6.2 Utilización de la función de conteo.......................................57 6.3 Aplicación del contador en nuestro proyecto .......................58 Multitarea 7 Multitarea.................................................................... 63 7.1 Introducción.........................................................................63 7.2 Términos asociados con la Multitarea ..................................63 7.2.1 CFM – Llamada a módulo de función........................64 7.2.2 CMP – Llamada a módulo de programa ....................64 7.2.3 Llamado de un módulo ............................................65 7.2.4 Llamado de programas ............................................66 7.3 Utilización de banderas........................................................66 7.4 Utilización del módulo de señal intermitente (Blink) ............66 7.5 Tarea de control inicial .........................................................69 7.5.1 Lista de asignaciones...............................................69 7.6 Estructura de los proyectos y de los programas ...................70 7.6.1 Arbol del proyecto ...................................................70 7.6.2 Programa de organización principal.........................70 7.6.3 Programa de secuencia............................................71

Page 5: Programación con FST4

Festo Didactic • Win FST

5 Contenido

7.7 Requerimientos adicionales de control ................................71 7.7.1 Lista de asignaciones ..............................................72 7.8 Estructura de los proyectos y de los programas...................73 7.8.1 Arbol de proyecto ....................................................73 7.8.2 Programa principal ..................................................74 7.8.3 Programa de secuencia............................................75 7.8.4 Programa de generación de señal intermitente........76

Redes de Comunicación 8 Redes de Comunicación............................................... 81 8.1 Introducción.........................................................................83 8.2 Verificación de la dirección de su PC ....................................83 8.3 Localización de una dirección IP libre para sus PLC´s...........84 8.4 Modificación de la dirección IP de sus PLC´s ........................84 8.4.1 Configuración de E/S...............................................87 8.4.2 Configuración del Controlador .................................88 8.4.3 Carga del proyecto y de los Drivers al PLC ...............89 8.5 Conexión de par de cables trenzados...................................90 8.6 Verificación de la Comunicación...........................................90 8.7 Comunicación con el Controlador.........................................91

Utilización de Ethernet 9 Utilización de Ethernet ................................................ 93 9.1 Introducción.........................................................................91 9.2 Programación vía Ethernet...................................................95 9.2.1 Importación de Módulos..........................................95 9.2.2 Módulo IP_TABLE ....................................................97 9.2.3 Módulo EASY_R .......................................................98 9.2.4 Módulo EASY_S .......................................................99 9.3 Programación simple utilizando Ethernet.............................99 9.3.1 Tarea de control.......................................................100 9.3.2 Componentes de la Estación A.................................100 9.3.3 Componentes de la Estación B.................................100 9.3.4 Transferencia de datos ............................................101 9.3.5 Lista de asignaciones ..............................................101 9.3.6 Elaboración del programa para le Estación A ...........102 9.3.7 Programa principal para la Estación A......................104 9.3.8 Programa de secuencia para la Estación A...............106 9.3.9 Programa de señal intermitente para Estación A......108 9.3.10 Elaboración del programa para Estación B...............108 9.3.11 Programa principal para Estación B .........................110 9.3.12 Programa de secuencia para Estación B ..................111 9.3.13 Programa de señal intermitente para Estación B .....113 9.3.14 Carga y prueba del programa............................ 113

Page 6: Programación con FST4

Win FST • Festo Didactic

6 Tabla de contenido

Utilización del Servidor para WEB 10 Utilización del Servidor para WEB .............................. 115 10.1 Introducción.........................................................................117 10.2 Configuración para Acceso Remoto......................................117 10.3 Diseño de páginas Web con HTML .......................................120 10.3.1 Comandos HTML......................................................120 10.3.2 Comandos básicos HTML .........................................120 10.3.3 Estructura básica de una página HTML ....................121 10.4 Creación de un Documento HTML ........................................122 10.4.1 Creación de una Página Web Simple ........................122 10.4.2 Guardado del archivo HTLM.....................................123 10.4.3 Visualización de un Documento HTML .....................123 10.5 Página Web Simple con comandos CI embebidos ................126 10.5.1 Página Web Básica con comandos CI embebidos.....126 10.5.2 Consultas Repetidas al Servidor Web.......................128 10.6 Página Web Avanzada con comandos CI embebidos ............129 10.6.1 Diseño de una página Web avanzada.......................130 10.6.2 Creación, carga y visualización de la página ............132

Utilización del Desarrollo de HMI 11 Desarrollo de HMI ....................................................... 133 11.1 Formas HTML .......................................................................135 11.2 Etiqueta HTML <Form> y Elementos de Forma .....................129 11.2.1 Elemento Botón .......................................................130 11.2.2 Elemento Caja de prueba (Checkbox).......................131 11.2.3 Elemento caja de Texto ............................................131 11.3 Control Remoto de Dispositivos con un HMI.........................131 11.3.1 Funciones Javascript CISend y CISend2....................132 11.3.2 Creación de un archivo Javascript ............................132 11.4 Operación remota del Dispositivo de Elevación....................135 11.4.1 Creación de Botones................................................136 11.4.2 El archivo completo HTML........................................138 Diagrama de flujo del Proyecto 12 Diagrama de flujo del Proyecto ................................... 143 12.1 Diagrama de flujo del Proyecto ............................................143

Page 7: Programación con FST4

Festo Didactic • Win FST

7 Primeros Pasos

Capítulo1 Primeros Pasos

Page 8: Programación con FST4

Win FST • Festo Didactic

8 Primeros Pasos

Page 9: Programación con FST4

Festo Didactic • Win FST

9 Primeros Pasos

Win FST Este manual está elaborado para quienes inician la programación con el software Win FST. Este manual contiene algunos ejemplos.

1 Primeros pasos 1.1 Inicio del software Win FST Al iniciar el software Win FST observará la siguiente pantalla:

1.2 Creación de un nuevo proyecto • De un Click en [File],[New Project].

Page 10: Programación con FST4

Win FST • Festo Didactic

10 Primeros Pasos

• La ventana de diálogo aparecerá con el signo “?” en el campo para la

introducción del nombre. • Introduzca el nombre de su proyecto. • De un Click en [OK] • Una nueva ventana de diálogo aparecerá para que introduzca los ajustes

del proyecto.

• Escoja el tipo de controlador en base al que esté utilizando.

Page 11: Programación con FST4

Festo Didactic • Win FST

11 Primeros Pasos

• Tal vez desee añadir un comentario para el proyecto. Sin embargo, no es necesario.

• De un Click en [OK] • Será llevado a la ventana principal con una nueva ventana (“Project

Tree”) en la parte superior izquierda. • Es allí donde se lleva a cabo la navegación por todo el proyecto.

1.3 Creación de un programa • Hay varias formas de crear un programa. • De un Click en [Insert], [New Program] o [Program], [New]. • O puede dar un click en el botón derecho del ratón en “Program” y dar

un click en “Insert Program” • Una ventana de diálogo aparecerá.

Page 12: Programación con FST4

Win FST • Festo Didactic

12 Primeros Pasos

• El nuevo programa que ha creado aparecerá bajo la carpeta “Program”

en el árbol del proyecto.

Page 13: Programación con FST4

Festo Didactic • Win FST

13 Primeros Pasos

1.4 Configuración de Entradas/Salidas • Antes de declarar las variables, necesita configurar las E/S. • De un doble click en “IO Configuration” en la lista del árbol del proyecto.

• Aparecerá una ventana de diálogo. • La pantalla estará en blanco.

• Mueva al ratón a la pantalla y de un click derecho. • De un Click en “Insert IO Module” • Una nueva ventana de diálogo aparecerá

Page 14: Programación con FST4

Win FST • Festo Didactic

14 Primeros Pasos

• Escoja el PLC que esté empleando.

• Escoja “0” tanto para “OW” como para “IW”. • Éste es el número de palabra tanto para las entradas como para las

salidas de la cual comenzaremos a direccionar. • De un Click en “OK” • Cierre la ventana.

Page 15: Programación con FST4

Festo Didactic • Win FST

15 Primeros Pasos

1.5 Declaración de las variables • Necesita declarar las variables que utilizará en su programa. • Esto se hace en “Lista de Asignaciones” (“Allocation List”). • De un doble click en la opción “Allocation List” del árbol del proyecto. • Aparecerá una nueva pantalla con tres encabezados:

• Operando • Símbolo • Comentario

• “Operand” es la dirección absoluta que reconoce el PLC de las entradas y la salidas.

• “Symbol” es el operando simbólico el cual le es familiar al programador. • “Comment” son los comentarios acerca del operando en cuestión. • Los operandos simbólicos y los comentarios son opcionales; sin

embargo se aconseja definirlos con el fin de documentar al proyecto. • Para insertar una variable de un click derecho, y de un click en [Insert

Operand] • Otra manera es presionando la tecla [Insert].

Page 16: Programación con FST4

Win FST • Festo Didactic

16 Primeros Pasos

1.6 Escritura del Programa • De un doble click en el programa que creó. • Se abrirá una ventana de programación. • Si tiene abierta más de una ventana, ésta se sobreposicionará.

Page 17: Programación con FST4

Festo Didactic • Win FST

17 Primeros Pasos

• Junto con la ventana de programación, la ventana “STL Shortcuts” aparecerá para auxiliarle.

• Escriba su programa en Lista de Instrucciones. • Puede introducir los comandos por el teclado o bien utilizar el menú de

comandos. • Puede introducir los operandos por el teclado o por el botón derecho del

ratón y utilizar la opción “insert Operand”. La ventana de la lista de asignaciones aparecerá.

1.7 Verificación del Programa Después de escribir el programa, puede verificarlo con el fin de detectar y corregir los posibles errors de sintaxis y de direccionamiento. Con esta función, es possible eliminar dichos errores antes de cargar el programa. • De un Click en su programa en el navegador del proyecto. • Su programa debe estar abierto y con la ventana del editor activa. • De un Click en el ícono “Compile Active Module” o pulse [Ctrl] + [F7]

Page 18: Programación con FST4

Win FST • Festo Didactic

18 Primeros Pasos

• Entonces el programa es verificado. Los resultados de la verificación

aparecerán en una nueva ventana de diálogo. • Si el programa está libre de errores, entonces puede proceder con la

siguiente tarea; de otra manera necesita corregir el error. • La lista de errores le permite saber dónde se encuentra el error, al

indicarle en qué línea se encuentra dicho error. • Para dirigirse al error en la línea del programa correspondiente, de un

doble clic en la línea donde se listó el error. • Si ocurriesen varios errores, siempre corrija el primero y vuelva a

compilar debido a que los demás errores pueden serconsecuencia del primero.

• Sin embargo, tome en cuenta que solo se verifica la sintaxis, lo cual no significa que el programa funcionará. Es similar a la verificación que hacen los procesadores de texto, pueden no haber errores de escritura pero el párrafo podría no tener sentido.

Compila el Módulo activo

De doble clic aquí

Page 19: Programación con FST4

Festo Didactic • Win FST

19 Primeros Pasos

1.8 Compilación y construcción de un programa Antes de cargar su programa al PLC, tiene que compilar y construir su programa. Recuerde que esto es diferente que compilar el programa, ya que esta segunda opción le construye todo el proyecto con todos los drivers, etc. • De un Clic en la ícono “Make Project” o pulse la tecla [F7] • Este ícono se utiliza para compilar cualquier cambio efectuado. • Cuando de un clic en el ícono “Build Project”, se reconstruirá todo el

proyecto. • Se recomienda construir su proyecto al menos una vez antes de realizar

la carga.

Hacer proyecto

Línea donde hay error

Page 20: Programación con FST4

Win FST • Festo Didactic

20 Primeros Pasos

1.9 Configuración del controlador • Antes de cargar el programa, requiere configurar a su controlador • De un doble clic en la opción “Controller Settings” en la ventana del

árbol del proyecto.

Construir proyecto

Page 21: Programación con FST4

Festo Didactic • Win FST

21 Primeros Pasos

• De un clic en la caja marcada como “Autostart”. • Esto le asegura no reiniciar al PLC para iniciar el proyecto. • De un clic en la pestaña “Download” y seleccione la opción “Download

Source File”

Page 22: Programación con FST4

Win FST • Festo Didactic

22 Primeros Pasos

• De un Clic en “OK” • A continuación abra la ventana “Preferences” del menú [Extra] ,

[Preferences] • Elija la pestaña “Communications Port” • Elija el puerto COM y ajuste la velocidad de comunicación “Baudrate” a

9600 bauds.

De un Click en “OK”

Page 23: Programación con FST4

Festo Didactic • Win FST

23 Primeros Pasos

1.10 Transferencia del programa al PLC • Conecte su PC al PLC con el cable de interfaz • Conecte su PLC a la PC introduciendo un conector al puerto COM del PLC

y el otro extremo del cable al Puerto serial de la PC (RS 232C). • Después de construir su proyecto y de configurar su controlador

entonces podrá descargar su prgrama. • De un Clic en el ícono “Download Project” o presione la tecla [F5]

• Aparecerá una ventana de diálogo una vez que la carga se haya

completado y si no existe algún error. • Ejecute el programa moviendo el interruptor de Stop a Run.

1.11 Monitoreo en línea • Puede ir a la opción “Online” para monitorear al programa que se esté

ejecutando o para monitorear los operandos. • De un clic derecho en la opción “Program” en el árbol del proyecto y de

un clic en la opción “Online”, la ventana de su programa se abrirá y estará en condiciones de ver cómo se ejecuta su programa.

• Puede conmutar entre el modo “Editor” y el modo “Online” en cualquier momento.

Carga del proyecto

Page 24: Programación con FST4

Win FST • Festo Didactic

24 Primeros Pasos

• Para ir a modo en línea y ver los operandos, de un clic en el ícono “Online

Display”.

Monitoreo en línea

Page 25: Programación con FST4

Festo Didactic • Win FST

25 Primeros Pasos

• Note que puede forzar las salidas dando un clic a los bits respectivos . • Sin embargo, sea cuidadoso cuando force dichas variables, asegúrese de

no ocasionar que su equipo afecte a otro equipo. • También recuerde desactivar todas las salidas una vez que haya

terminado.

1.12 Respaldo y recuperación de proyectos Durante su trabajo de programación, seguramente requerirá respaldar y recuperar sus proyectos. 1.12.1 Respaldo (Backup) Para respaldar un proyecto: • De un Clic “Project”

• De un Clic en “Backup”

• Elija el Proyecto que require respaldar. • De un Clic en “OK” • Elija el lugar en donde desee respaldar al proyecto, regularmente es la

unidad de discos de 3 ½. • De un Clic en “Save”

Page 26: Programación con FST4

Win FST • Festo Didactic

26 Primeros Pasos

• Una vez completado el proceso aparecerá la ventana “Message Window”

• Su proyecto ya habrá sido respaldado. • Su proyecto se respalda como un archivo ZIP, 1.12.2 Recuperación (Restore) Para respaldar un proyecto: • De un Clic en “Project”

• De un Clic en “Restore”

Page 27: Programación con FST4

Festo Didactic • Win FST

27 Primeros Pasos

• Elija el archivo que desee recuperar. • De un Clic en “Open”

• De un Clic en “OK” • Una vez que ha sido recuperado, aparecerá la ventana “Message

Window”.

Page 28: Programación con FST4

Win FST • Festo Didactic

28 Primeros Pasos

• El proyecto se recueprará en la carpeta de Proyectos.

1.13 Salida del programa • De un Clic en “Project”

• De un Clic en “Exit” • Si el proyecto no ha sido guardado, se le solicitará.

Page 29: Programación con FST4

Festo Didactic • Win FST

29 Programación en lista de insrucciones

Capítulo 2 Programación en Lista de Instrucciones

Page 30: Programación con FST4

Win FST • Festo Didactic

30 Programación en lista de instrucciones

Page 31: Programación con FST4

Festo Didactic • Win FST

31 Programación en lista de insrucciones

2 Programación en Lista de Instrucciones 2.1 Introducción El lenguaje STL (Statement List) le permite al programador resolver tareas de control utilizando instrucciones simples en inglés para describir la operación deseada del controlador. La naturaleza modular del lenguaje le permite al programador resolver tareas complejas de una manera eficiente y de manera documentada.

2.2 Elementos de STL.

• Step (Paso) • Frase - Parte condicional

- Parte ejecutiva

2.2.1 Step (Paso)

• A pesar de que el uso de la instrucción STEP es opcional, la mayoría de los programadores la utiliza.

• La instrucción STEP se utiliza para marcar el comienzo de un bloque lógico de código de programa.

• Cada programa en STL puede contener 255 pasos. • Cada paso puede contener una o varias frases. • Se le puede asignar a cada paso de manera opcional una

etiqueta o nombre. • Sólo se require una etiqueta de paso cuando algún otro paso

haga referencia al primero por medio de una instrucción de salto.

2.2.2 Frases

• La frase forma el nivel más básico dentro de la organización del programa.

• Cada frase está compuesta de una parte condicional y una parte ejecutiva

a. Parte condicional • La parte condicional para listar una o más condiciones que

tienen que ser evaluadas al momento de la ejecución ya sea como verdaderas o falsas.

• Esta parte comienza regularmente con la instrucción IF (si condicional) y continúa con una o varias frases las cuales describen las condiciones que serán evaluadas.

• Si las condiciones resultan verdaderas, entonces se llevarán a cabo todas las acciones programadas en la parte ejecutiva.

• Algunos ejemplos:

Page 32: Programación con FST4

Win FST • Festo Didactic

32 Programación en lista de instrucciones

o IF I0.1 o IF I0.2 AND I0.3

b. Parte Ejecutiva

• Esta es la sección de la Frase donde se acivan las salidas siempre

que la parte Condicional haya sido evaluada como verdadera. • Algunos ejemplos son:

o THEN SET Y1 o THEN RESET Y2 o THEN JMP TO START

2.3 La instrucción STEP En su forma más simple, una instrucción STEP incluye al menos una Frase.

STEP (Etiqueta) - La etiqueta puede ser de hasta 8 caracteres alfanuméricos IF I0.0 - Si la I0.0 está activa THEN SET O0.3 - Entonces enciende a la salida O0.3 y continúa con el siguiente paso

• Es importante entender que el programa esperará en este paso

hasta que las condiciones sean verdaderas y hasta entonces se llevarán a cabo las acciones.

• Sólo hasta entonces el programa avanzará al siguiente paso.

2.4 Una frase dentro de un paso STEP Start - Etiqueta de hasta 8 caracteres alfanuméricos IF I0.0 - Parte condicional THEN SET O0.0 - Parte ejecutiva STEP Stop IF I0.1 THEN RESET O0.0

• El programa ejecutará el primer paso, STEP Start. • Si la condición I0.0 es verdadera, entonces efectuará la parte ejecutiva

(Set O0.0) y procederá con el siguinete paso, STEP Stop. • Si la condición es falsa, esxperará en el paso Start.

Page 33: Programación con FST4

Festo Didactic • Win FST

33 Programación en lista de insrucciones

2.5 Varias frases dentro de un paso

STEP Start IF I0.0 Primera frase THEN SET O0.0 IF I0.1 Segunda frase THEN SET O0.1 IF I0.2 Tercera frase THEN SET O0.2 STEP Stop IF I0.1 THEN RESET O0.0 RESET O0.1 RESET O0.2

• Si la parte condicional de la primera frase es verdadera, entonces se

realizará la parte ejecutiva y continuará con la segunda frase. Si no es verdadera, procederá con la segunda frase sin realizar ejecución alguna. No se espera en la primera frase.

• Si la parte condicional de la segunda frase es verdadera, entonces se llevará a cabo la parte ejecutiva y procederá con la tercre frase. Si no es verdadera, entonces procederá con la tercera frase sin hacer ejecución alguna. No se espera en la segunda frase.

• Si la parte condicional de la tercera frase es verdadera, entonces se realizará la parte ejecutiva y procederá con el siguiente paso. Si no es verdadera, procederá con la primera frase, la segunda frase y la tercera frase y quedará encerrado en el mismo paso.

• Generalmente, sólo cuando la última frase del paso es verdadera, se procederá con el siguiente paso.

Page 34: Programación con FST4

Win FST • Festo Didactic

34 Programación en lista de instrucciones

2.6 Ejecución de un paso con la instrucción OTHRW (Otherwise)

STEP Start - Etiqueta del paso de hasta 8 caracteres IF I0.0 - Parte Condicional THEN SET O0.0 - Parte Ejecutiva OTHRW RESET O0.0 - Parte Ejecutiva STEP Stop IF I0.1 THEN RESET O0.0 • El programa ejecutará el primer paso, STEP Start. • Si la condición I0.0 es verdadera, entonces se realizará la parte ejecutiva

(Set O0.0) y se procederá con el siguiente paso, STEP Stop. De otra manera (si no es verdadera), efectuará la instrucción RESET O0.0 y se procederá con el siguiente paso, STEP Stop.

• En este caso, no habrá espera en el paso STEP Start, y se ejecutará ya sea la acción SET O0.0 o RESET O0.0 y procederá con el siguiente paso.

2.7 Utilización del comando ELSE en lugar del comando OTHRW

• El software WinFST ofrece la facilidad de utilizar el comando “ELSE” en

lugar del commando “OTHRW”. • Algunos programadores están más familiarizados con el comando

“ELSE” por ser utilizado más comúnmente por los lenguajes de programación de computadoras.

• Para utilizar el comando “ELSE”, necesita cambiar las preferencias. • Vaya a la ventana “Extras”, “Preferences” y elija la opción “STL Editor” • Marque el cuadro “Use ELSE instead of OTHRW”. De un clic en “OK”

Page 35: Programación con FST4

Festo Didactic • Win FST

35 Comandos estándar utilizados en STL

Capítulo 3 Comandos estándar utilizados en STL

Page 36: Programación con FST4

Win FST • Festo Didactic

36 Comandos estándar utilizados en STL

Page 37: Programación con FST4

Festo Didactic • Win FST

37 Comandos estándar utilizados en STL

3 Comandos estándar utilizados en STL 3.1 Introducción Los siguientes commandos son algunos de los más utilizados en el lenguaje de Lista de Instrucciones.

3.2 Lista de comandos 3.2.1 Instrucciones de transferencia

Instrucción Descripción

STEP La instrucción STEP se utiliza para marcar el comienzo de un bloque lógico de un código de programa.

IF Instrucción que marca el comienzo de la Parte Condicional de la frase.

THEN Instrucción que marca el inicio de la Parte Ejecutiva de la frase.

SET La instrucción Set se utiliza para cambiar al estado lógico “1” de operandos mono bit.

RESET La instrucción Reset se utiliza para cambiar al estado lógico “0” de operandos mono bit.

JMP TO (Etiqueta de

paso)

Hace que la ejecución del programa continúe al paso cuya etiqueta se ha especificado.

NOP Una instrucción especial la cual siempre es verdadera en la Parte Condicional de la frase. En la Parte Ejecutiva es equivalenete a “No hagas nada”

Page 38: Programación con FST4

Win FST • Festo Didactic

38 Comandos estándar utilizados en STL

OTHRW Permite continuar con la ejecución del programa aún cuando la parte condicional de la frase sea falsa.

3.2.2 Instrucciones lógicas en STL

Instrucción Descripción

AND Efectúa la función lógica AND entre operandos mono bit, multi bit y constantes.

AND N Efectúa la funciónn lógica AND NOT entre operandos mono bit, multi bit y constantes.

OR Efectúa la function lógica OR entre operandos mono bit, multi bit y constantes.

OR N Efectúa la function lógica OR NOT entre operandos mono bit, multi bit y constantes.

LOAD Permite la asignación de operandos (mono bit o multi bit) y constantes hacia el acumulador mono bit o al acumulador multi bit.

DEC Decrementa a un operando multi bit/al acumulador

INC Incrementa a un operando multi bit/al acumulador

N Es la function negación. Le permite invertir una condición de entrada.

Page 39: Programación con FST4

Festo Didactic • Win FST

39 Inicio del proyecto Dispositivo de Elevación

Capítulo 4 Comenzando con el proyecto “Dispositivo de Elevación”

Page 40: Programación con FST4

Win FST • Festo Didactic

40 Comenzando el proyecto Dispositivo de Elevación

Page 41: Programación con FST4

Festo Didactic • Win FST

41 Inicio del proyecto Dispositivo de Elevación

4 Comenzando con el Proyecto “Dispositivo de Elevación”

4.1 Introducción En este manual comenzaremos con el proyecto del dispositivo de elevación y lo iremos construyendo. Para este dispositivo, el Cilindro 1A elevará la plataforma y entonces el cilindro 2A empujará al paquete hacia la segunda banda transportadora. Entonces el cilindro 2A retraerá su vástago y acto seguido se retraerá el vástago del cilindro 1A.

A continuación se muestra la lista de asignaciones:

Simbólico Absoluto Comentarios

SB I0.0 Botón de marcha

B1 I0.1 Cilindro 1A retraído

B2 I0.2 Cilindro 1A extendido

B3 I0.3 Cilindro 2A retrtaído

B4 I0.4 Cilindro 2A extendido

Y1 O0.0 Solenoide para el cilindro 1A

Y2 O0.1 Solenoide para el cilindro 2A

Page 42: Programación con FST4

Win FST • Festo Didactic

42 Comenzando el proyecto Dispositivo de Elevación

4.2 Inicio de Win FST y creación de un Proyecto y de un Programa

Crear un Nuevo proyecto de la misma manera en que fue descrito en el capítulo “Primeros pasos”. Después de crear el proyecto, crear el programa.

4.3 Estableciendo la configuración de E/S Antes de declarar las variables, necesitamos establecer la configuración de E/S. Como en este proyecto utilizaremos un FEC 34, elija “FEC” como el módulo de E/S correcto.

Inseertar el programa

Page 43: Programación con FST4

Festo Didactic • Win FST

43 Inicio del proyecto Dispositivo de Elevación

4.4 Declaración de las variables Declare las variables en la opción “Lista de asignaciones” (“Allocation List”)

4.5 Escritura del programa Comiennce con la escritura del código del programa. Recuerde la secuencia y qué entradas activarán la siguiente secuencia. Dado a que es una programación a pasos, cada paso esperará al paso anterior antes de comenzar el siguiente. No habrá problemas de sincronía siempre que el programa se haya escrito correctamente.

Page 44: Programación con FST4

Win FST • Festo Didactic

44 Comenzando el proyecto Dispositivo de Elevación

Note que puede escribir todo en una sola línea y automáticamente tomará el formato, como se muestra a continuación.

STEP 10 IF SB ‘Botón de marcha AND B1 ‘Cilindro 1A retraído AND B3 ‘Cilindro 2A retraído THEN SET Y1 ‘Solenoide para cilindro 1A STEP 20 IF B2 ‘Cilindro 1A extendido THEN SET Y2 ‘Solenoide para cilindro 2A STEP 30 IF B4 ‘Cilindro 2A extendido THEN RESET Y2 ‘Solenoide para cilindro 2A STEP 40 IF B3 ‘Cilindro 2A retraído THEN RESET Y1 ‘Solenoide para cilindro 1A JMP TO 10

Page 45: Programación con FST4

Festo Didactic • Win FST

45 Inicio del proyecto Dispositivo de Elevación

4.6 Verificación del proyecto Después de haber escrito el proyecto, requiere verificarlo. Este se puede realizar en cualquier momento mientras esté escribiendo el programa. • De un clic en el ícono “Compile Active Module” y con el fin de detectar

los errores. 4.7 Creación y construcción del proyecto • De un clic en el ícono “Make Project” • Este ícono se utiliza para compilar cualquier cambio realizado. • Cuando da un clic en el ícono “Rebuild Project”, se reconstruye todo el

proyecto. • Se recomienda contruir el proyecto al menos una vez antes de cargarlo al

PLC.

Page 46: Programación con FST4

Win FST • Festo Didactic

46 Comenzando el proyecto Dispositivo de Elevación

4.8 Configuración del controlador Antes de cargar el programa, debemos asegurar que la configuración para establecer la comunicación entre el control “FEC” y la PC sea la correcta.

• A continuación abra la ventana “Preferences” de la opción [Extras],

[Preferences] • Elija la opción “Communications Port” • Elija el puerto COM correcto y establezca la velocidad de 9600 Bauds.

Page 47: Programación con FST4

Festo Didactic • Win FST

47 Inicio del proyecto Dispositivo de Elevación

• De un clic “OK” 4.9 Carga del programa • Conecte su PLC a su PLC con el cable de interfaz, introduciendo el

conector tipo RJ al conector COM de su PLC, y el otro extremo con conector tipo DB9 al puerto serial de la PC.

• Después de construer su proyecto y de configurar al controlador, es posible cargar su programa.

• De un clic en el ícocno “Download Project” o pulse la tecla [F5]

• Aparecerá una ventana de diálogo una vez que se haya completado la

carga o si existiera algún error. • Ejecute el programa en el PLC.

Carga del proyecto

Page 48: Programación con FST4

Win FST • Festo Didactic

48 Comenzando el proyecto Dispositivo de Elevación

4.10 Monitoreo en línea • Puede estar en modo en línea (“Online”) para ver la ejecución del

programa o para monitorear a los operandos. • Abra el programa desde el árbol del proyecto y en en la opción “Online”

de la barra de menús, elija la opción “Online”. • Es posible conmutar entre el modo “Editor” y el modo “Online” en

cualquier momento mientras se ejecuta el programa.

Page 49: Programación con FST4

Festo Didactic • Win FST

49 Inicio del proyecto Dispositivo de Elevación

• Para monitorerar en línea a los operandos, de un clic en el ícono “Online

Display”.

Ha completado su primer programa básico con el software Win FST.

Monitoreo en línea

Page 50: Programación con FST4

Win FST • Festo Didactic

50 Utilización de temporizadores

Page 51: Programación con FST4

Festo Didactic • Win FST

51 Utilización de temporizadores

Capítulo 5 Utilización de temporizadores

Page 52: Programación con FST4

Win FST • Festo Didactic

52 Utilización de temporizadores

Page 53: Programación con FST4

Festo Didactic • Win FST

53 Utilización de temporizadores

5 Utilización de temporizadores 5.1 Introducción Hasta ahora, hemos escrito el programa utilizando solamente entradas y salidas del FEC. Ahora utilizaremos los temporizadores que están incorporados en el PLC. Modificaremos el proyecto “Dispositivo de elevación” para añadir un temporizador. Después de que el cilindro 2A se haya retraído, por rezones de seguridad, el Cilindro 1A deberá esperar un tiempo de 5 segundos antes de retraer su vástago. 5.2 Utilización de la function de Ayuda Antes de utilizar el temporizador, echemos un vistazo a la función de Ayuda en el programa. • De un clic en “Help” • Después de un clic en “Help Topics” • De un clic en el tabulador “Index” y digite “Timers” • El tema referente a los temporizadores aparecerá en la ventana derecha. • Encontrará toda la información necesaria acerca de los temporizadores.

Page 54: Programación con FST4

Win FST • Festo Didactic

54 Utilización de temporizadores

• Hay algunos términos asociados con los temporizadores: o T0 - Temporizador 0 o TP0 - Preselector para el temporizador 0

• La forma más común de escribirlo se muestra a continuación. • El control FEC permite programar hasta 256 temporizadores del T0 al

T255. 5.3 Introducción de un temporizador en nuestro proyecto En nuestro programa original, no es necesario cambiar todo el programa solo es necesario modificar el último paso (STEP 40).

STEP 10 IF SB ‘Botón de marcha AND B1 ‘Cilindro 1A retraído AND B3 ‘Cilindro 2A retraído THEN SET Y1 ‘Solenoide para el cilindro 1A STEP 20 IF B2 ‘Cilindro 1A extendido THEN SET Y2 ‘Soenoide para el cilindro 2A STEP 30 IF B4 ‘Cilindro 2A extendido THEN RESET Y2 ‘Solenoide para el cilindro 2A STEP 40 IF B3 ‘Cilindro 2A retraído THEN RESET Y1 ‘Solenoide para el cilindro 1A JMP TO 10

STEP 10 IF I0.1 ‘Input 0.1 THEN SET O0.2 ‘Lamp

SET T1 ‘Timer 1 with 5s STEP 20 IF N T1 ‘Timer 1 THEN RESET O0.2 ‘Lamp JMP TO 10

Page 55: Programación con FST4

Festo Didactic • Win FST

55 Utilización de temporizadores

Después de que el cilindro 2A se retrae, el temporizador inicia un tiempo de 5 segundos antes de que el vástago del cilindro 1A se retraiga. • En cuanto se introduce la variable “T1” aparece la ventana de entrada de

la lista de asignaciones con el fin de declarar al temporizador. Se recomienda definir un símbolo y un comentario para dicha variable, con el fin de documentar al proyecto.

• T1 se actualizará automáticamente en la lista de asignaciones A continuación se muestra el programa modificado:

STEP 10 IF SB ‘Botón de marcha AND B1 ‘Cilindro 1A retraído AND B3 ‘Cilindro 2A retraído THEN SET Y1 ‘Solenoide para el cilindro 1A STEP 20 IF B2 ‘Cilindro 1A extendido THEN SET Y2 ‘Solenoide para el cilindro 2A STEP 30 IF B4 ‘Cilindro 2A extendido THEN RESET Y2 ‘Solenoide para el cilindro 2A STEP 40 IF B3 ‘Cilindro 2A retraído THEN SET T1 ‘Timer 1 with 5s STEP 50 IF N T1 ‘Timer 1 THEN RESET Y1 ‘Solenoide para el cilindro 1A JMP TO 10

Page 56: Programación con FST4

Win FST • Festo Didactic

56 Utilización de temporizadores

Realice y reconstruya el proyecto y cargue el programa con el fin de probar su funcionalidad.

Page 57: Programación con FST4

Festo Didactic • Win FST

57 Utilización de contadores

Capítulo 6 Utilización de contadores

Page 58: Programación con FST4

Win FST • Festo Didactic

58 Utilización de contadores

Page 59: Programación con FST4

Festo Didactic • Win FST

59 Utilización de contadores

6 Utilización de contadores 6.1 Introducción En este capítulo, introduciremos la función del contador. Por lo que modificaremos el programa, para que una vez que el proceso haya completado 10 ciclos, se detenga automáticamente. Para llevar a cabo dicha tarea se debe de pulsar una vez el botón de marcha. 6.2 Utilización de la función del contador • Los siguientes términos están asociados con los contadores:

o C0 - Contador 0 o CP0 - Preselector para el contador 0 o CW0 - Valor acumulado de eventos del contador 0

• Existen dos formas de utilizar al contador en nuestro programa. • A continuación se muestra el primer método:

STEP 10 IF NOP THEN LOAD V10 TO CP0 SET C0 ‘Contador 0 RESET Y1 ‘Solenoide 1 STEP 20 IF B1 ‘Sensor 1 THEN INC C0 ‘Contador 0 STEP 30 IF N B1 ‘Sensor 1 THEN NOP STEP 40 IF N C0 ‘Contador 0 THEN JMP TO 50 OTHRW JMP TO 20 STEP 50 THEN SET Y1 ‘Solenoide 1 JMP TO 10

Page 60: Programación con FST4

Win FST • Festo Didactic

60 Utilización de contadores

• Y a continuación se muestra el segundo método: • El control FEC permite programar 256 contadores, del C0 to C255. 6.3 Aplicación de un contador en nuestro proyecto Modifcaremos el programa que utiliza el temporizador para añadirle la función del contador. El proceso debe realizar lo siguiente: • Al pulsar el botón de marcha deberá comenzar el ciclo. • El ciclo solo se detendrá después de haber transportado 10 cajas. • Habrá que considerer un retardo para que el vástago del cilindro 1A se

retraiga. También deberán de añadirse a la lista de asignaciones los siguientes operandos: • C0 - Contador 0 • CP0 - Preselector del contador 0 • CW0 - Valor acumulado de eventos registrados

STEP 10 IF NOP THEN LOAD V0 TO CW0 RESET Y1 ‘Solenoide 1 STEP 20 IF B1 ‘Sensor 1 THEN INC CW0 ‘Contador 0 STEP 30 IF CW0 ‘Contador 0 = V10 THEN JMP TO 40 OTHRW JMP TO 20 STEP 40 THEN SET Y1 ‘Solenoide 1 JMP TO 10

Page 61: Programación con FST4

Festo Didactic • Win FST

61 Utilización de contadores

A continuación se muestran dos diferentes métodos para la programación con contadores: Método A

STEP 10 IF SB ‘Botón de marcha AND B1 ‘Cilindro 1A retraído AND B3 ‘Cilindro 2A retraído THEN SET Y1 ‘Solenoide para el cilindro 1A LOAD V10 TO CPO ‘Valor acumulado de eventos registrados SET C0 ‘Contador 0 STEP 20 IF B2 ‘Cilindro 1A extendido THEN SET Y2 ‘Solenoide para el cilindro 2A STEP 30 IF B4 ‘Cilindro 2A extendido THEN RESET Y2 ‘Solenoide para el cilindro 2A STEP 40 IF B3 ‘Cilindro 2A retraído THEN SET T1 ‘Timer 1 with 5s STEP 50 IF N T1 ‘Timer 1 THEN RESET Y1 ‘Solenoide para el cilindro 1A INC C0 ‘Contador 0 STEP 60 IF N CO ‘Contador 0 THEN JMP TO 10 OTHRW NOP STEP 70 IF B1 ‘Cilindro 1A retraído AND B3 ‘Cilindro 2A retraído THEN SET Y1 ‘Solenoide para el cilindro 1A JMP TO 20

Page 62: Programación con FST4

Win FST • Festo Didactic

62 Utilización de contadores

Método B Asegúrese de reconstruir el proyecto, y de cargarlo con el fin de comprobar su funcionalidad.

STEP 10 IF SB ‘Botón de marcha AND B1 ‘Cilindro 1A retraído AND B3 ‘Cilindro 2A retraído THEN SET Y1 ‘Solenoide para el cilindro 1A LOAD V0 TO CWO ‘Valor acumulado de eventos registrados STEP 20 IF B2 ‘Cilindro 1A extendido THEN SET Y2 ‘Solenoide para el cilindro 2A STEP 30 IF B4 ‘Cilindro 2A extendido THEN RESET Y2 ‘Solenoide para el cilindro 2A STEP 40 IF B3 ‘Cilindro 2A retraído THEN SET T1 ‘Timer 1 with 5s STEP 50 IF N T1 ‘Timer 1 THEN RESET Y1 ‘Solenoide para el cilindro 1A

INC CW0 ‘Valor acumulado de eventos registrados STEP 60 IF CWO ‘Valor acumulado de eventos registrados = V10 THEN JMP TO 10 OTHRW NOP STEP 70 IF B1 ‘Cilindro 1A retraído AND B3 ‘Cilindro 2A retraído THEN SET Y1 ‘Solenoide para el cilindro 1A JMP TO 20

Page 63: Programación con FST4

Festo Didactic • Win FST

63 Multitarea

Capítulo 7 Multitarea

Page 64: Programación con FST4

Win FST • Festo Didactic

64 Multitarea

Page 65: Programación con FST4

Festo Didactic • Win FST

65 Multitarea

7 Multitarea 7.1 Introducción En este capítulo, introduciremos el concepto de multitarea. Multitarea es el término utilizado para una ejecución “Simultánea” de un número de tareas distintas. La multitarea le permite organizar el proyecto en secciones de programas utilizando Técnicas de Programación Modular. El programa del PLC puede estar compuesto por varias partes, cada una de las cuales es, de hecho, un programa. Estos programas tienen varias funciones. La ventaja de este método de trabajo es que se incluyen estructuras más claras de programa y además, los tiempos de ciclo son más cortos. Con la multitarea es fácil programar diferentes modos de operación y además es posible llamarlos en cualquier momento y ejecutarlos de manera paralela con el programa principal . 7.2 Términos asociados con la Multitarea Con la multitarea, podemos utilizar varios programas en el proyecto. Estos programas se ejecutarán en paralelo con el programa principal cuando sean llamados. Éstos se numeran como: P1, P2, etc. Además de los programas, también se utilizan los módulos. Generalmente utilizados como subrutinas. Existen dos tipos de módulos: • CFM - Llamada a Módulo de Función (Call Function Module) • CMP - Llamada a Módulo de Programa (Call Module Program)

P0 Main

ControlProgram

P0 isactivatedautomatic ally whenpower on

P1

P2

P63

CMP 0

CMP 49

CMP 99

CFM 0

CFM 49

CFM 99

Program ( Multi - Tasking )

Module Program( Subroutine )

Function modules( Predefined by Festo )

P0 Programa Principal

P0 seActiva deManera automáticaAl aplicar Energía alcontrol

P1

P2

P63

CMP 0

CMP 49

CMP 99

CFM 0

CFM 49

CFM 99

Programa (Multi - Tarea)

Módulo de programa(Subrutina )

Módulos de función (Definidos por Festo)

Page 66: Programación con FST4

Win FST • Festo Didactic

66 Multitarea

7.2.1 CFM – Llamada a Módulo de Función (Call Function Module) La instrucción de Llamada al Módulo de Función se utiliza para solicitar la ejecución de una rutina externa. Los módulos de función se pueden considerar como llamadas a funciones especiales. Cuando se invoca un CFM, la función se activará y se ejecutará junto con el programa principal, el cual seguirá ejecutándose. La función se ejecuta en paralelo. Estos CFM están disponibles desde el programa, y para tener una mejor referencia abra el archivo de Ayuda para obtener información del método de llamada del CFM. Para insertar un módulo: • De un clic derecho en CFM en el árbol del proyecto (“Project Tree”) • De un clic en “Import” • Aparecerá una ventana de diálogo con los módulos predefinidos.

• Elija el módulo que desee emplear. • De un clic en “OK” • El módulo elegido estará en el proyecto. 7.2.2 CMP – Llamada a un Módulo de Programa (Call Module

Program) La instrucción de llamada a un Módulo de Programa se utiliza para solicitar la ejecución de una rutina externa. Los módulos de programa pueden considerarse como subrutinas.

Page 67: Programación con FST4

Festo Didactic • Win FST

67 Multitarea

Cuando se invoca a un CMP, el programa principal se detiene y permanecerá en el paso en que fue invocado el CMP y la subrutina se activará. Sólo cuando la subrutina se haya completado, regresará el control al programa principal en el punto en el que se quedó. 7.2.3 Llamada de módulos Para llamar a los módulos, solo añada al paso las instrucciones “THEN CFM x” o “THEN CMP x” donde “x” es el número del módulo. Por ejemplo, cree un programa para encendido intermitente (“Blinking”). Éste puede ser un CFM o un CMP. Puede utilizar la palabra de banderas 10 (FW10). Ó

STEP Blink THEN CFM 0 ‘Blink Module LOAD FU32 TO FW10 JMP TO Blink

STEP Initial THEN SET P2 ‘Blinking Program STEP Start IF FBlink1 ‘0.25s Blinks THEN SET Lamp ‘Lamp OTHRW RESET Lamp ‘Lamp IF Start ‘Start Button THEN SET P1 ‘Sequence Program SET Lamp ‘Lamp

Page 68: Programación con FST4

Win FST • Festo Didactic

68 Multitarea

7.2.4 Llamada de los programas Cuando se escribe el programa principal, se recomienda escribirlo como “Programa 0”, todo los demás subprogramas se nombrarán, por ejemplo como: “Programa 1, Programa 2, etc”. En su programa principal, puede llamar a un programa activando el número de programa, por ejemplo P1, P2, etc. y cuando desee detener el programa lo desactiva. Cuando se llama a un subprograma, corre en paralelo con el programa principal. 7.3 Utilización de banderas Hasta este momento, hemos escrito programas utilizando las entradas y salidas del FEC. Ahora es tiempo de utilizar banderas, también llamadas memorias, recordadores, marcas o relevadores internos. Las banderas son esenciales sobretodo cuando deseamos ligar diferentes programas cuando utilizamos la multitarea. El operando absoluto para las banderas depende del hardware que esté utilizando. Por ejemplo: F0.0 … F0.15 a F999.0 … F999.15 Es conveniente utilizar operandos simbólicos los cuales le ayudarán a relacionarlos con la tarea de control. Algunos ejemplos son “Start_Flag”, “Stop_Flag”, etc.

STEP Initial THEN SET P2 ‘Blinking Program STEP Start THEN LOAD FBlink1 ‘0.25s Blinks

TO Lamp ‘Lamp IF Start ‘Start Button THEN SET P1 ‘Sequence Program SET Lamp ‘Lamp

Page 69: Programación con FST4

Festo Didactic • Win FST

69 Multitarea

7.4 Utilización del módulo “BLINK” En la mayoría de los programas, existe la necesidad de encender lámparas de manera intermitente. Para lograr esto, se utiliza el modulo “blink”. Se utilize para crear una señal intermitente. Por ejemplo, si necesitamos que la lámpara del botón de marcha encienda de manera intermitente antes de comenzar el ciclo. Para obtener esta función, se necesita importar el modulo “Blink” en nuestro CFM. • De un clic derecho en “CFM” • De un clic en “Import” • Aparecerá la siguiente ventana de diálogo.

• Elija “Blink” • Entonces se insertará dicho módulo en el CFM. Una vez importado el modulo, reuqerimos escribir un programa con el fin de asignar las señales intermitentes a banderas. • De un clic derecho en “Programs” • De un clic en “Insert Program” • Escriba el nombre del programa • Defina el número de programa • Defina la versión • Escriba los comentarios correspondientes

Page 70: Programación con FST4

Win FST • Festo Didactic

70 Multitarea

• Escriba un programa breve. • Compile y guarde el programa. • Este programa cargará las señales intermitentes a la palabra 10 de

banderas. • Sólo necesita declarar estas señales en la lista de asiganciones

Absoluto Simbólico Comentario F10.1 FBlink1 0.25s Blink F10.2 FBlink2 0.5s Blink F10.3 FBlink3 1s Blink F10.4 FBlink4 2s Blink FW10 Banderas del blink

• Ahora puede usar estas banderas en su programa. • Por ejemplo, si desea que la lámpara del botón de inicio se encienda en

intervalos de 0.5 segundos, puede añadir el paso correspondiente a su programa.

STEP Blink THEN CFM 0 ‘Blink Module LOAD FU32 TO FW10 ‘Flagword for Blinks JMP TO Blink

Page 71: Programación con FST4

Festo Didactic • Win FST

71 Multitarea

• En el paso anterior la lámpara de inicio encenderá de manera

intermitente cuando se inicia el programa. • Cuando el botón de inicio se pulsa, la lámpara detiene su encendido

intermitente para mantenersa encendida. 7.5 Requerimientos iniciales de la tarea de control En los programas anteriores, el ciclo comienza solo cada vez que se pulsa el botón. Este no es el caso en la mayoría de las máquinas, en las cuales existen botones para ciclo único y para ciclo continuo, para restablecimiento del programa y botón para paro de emergencia. Esto requerirá de multitarea. La tarea inicial de control requiere que el programa permita al operador elegir entre ciclo único y ciclo continuo. El proyecto que escribiremos estará compuesto por los siguientes programas: • Programa de secuencia principal • Programa de secuencia

STEP Initial THEN SET P2 ‘Blinking Program STEP Start IF FBlink2 ‘0.5s Blinks THEN SET oStart ‘Lámpara de inicio OTHRW RESET oStart ‘Lámpara de inicio IF iStart ‘Botón de inicio AND B1 ‘Cilindro elevador retraido THEN SET P1 ‘Programa de la secuencia SET oStart ‘Lámpara de inicio ……..

Page 72: Programación con FST4

Win FST • Festo Didactic

72 Multitarea

7.5.1 Lista de asignaciones

Absoluto Simbólico Comentario I0.0 iStart Botón de inicio I0.1 B1 Cilindro 1A retraído I0.2 B2 Cilindro 1A extendido I0.3 B3 Cilindro 2A retraído I0.4 B4 Cilindro 2A extendido I0.5 AutoMan Selector Auto/Manual I0.6 iStop Botón de paro O0.0 Y1 Solenide para cilindro 1A O0.1 Y2 Solenoide para cilindro 2A F11.0 FCStop Paro de ciclo

P1 Programa de secuencia

7.6 Estructura del proyecto y de los programas 7.6.1 Árbol del proyecto El árbol del proyecto es el lugar donde se insertan los programas y subprogramas. Para esta estación se tendrán dos programas.

Como el proyecto requiere tareas diferentes, entonces aplicaremos multitarea. Por lo que el proyecto consistirá de: • Programa principal de organización • Programa de secuencia

Page 73: Programación con FST4

Festo Didactic • Win FST

73 Multitarea

El programa principal de organización es donde se lleva a cabo la administración del proyecto. En este programa, se activan y desactivan los demás programas y módulos de programa. El programa de la secuencia es donde el programa del dispositivo de elevación se ejecutará de manera continua hasta que se oprima el botón de paro. 7.6.2 Programa principal de organización 7.6.3 Programa de la secuencia Este es el programa para la operaciónde la secuencia del dispositivo de elevación. Para el ciclo continuo, solo se detendrá cuando se pulse el “botón de paro”. Para ciclo único, la secuencia se ejecutará solo una vez. Esto se controla desde el programa principal de oraganización.

STEP Start IF iStart ‘Botón de inicio AND B1 ‘Cilindro 1A retraído AND B3 ‘Cilindro 2A retraído THEN SET P1 ‘Programa de la secuencia STEP Stop IF iStop ‘Botón de paro THEN SET FCStop ‘Paro de ciclo IF N P1 ‘Programa de la secuencia THEN RESET FCStop ‘Paro de ciclo

Page 74: Programación con FST4

Win FST • Festo Didactic

74 Multitarea

7.7 Requerimientos extras del control Esta es una modificación del programa el cual fue escrito paralos requerimientos iniciales. El programa inicial se desarrolló con el fin de activar los subprogramas. Pero ahora nos enfocaremos en los requerimientos iniciales. La nueva tarea de control va a requerir que se le permita al operador elegir entre ciclo único o ciclo continuo. También se incluirá un botón de paro de emergencia y otro de restablecimiento. También se incluirán inidicadores visuales para los botones de inicio, paro y de restablecimiento. También se incluirá el encendido intermitente para estas lámparas. El programa incluirá lo siguiente:

STEP Aplus IF B1 ‘Cilindro 1A retraído THEN SET Y1 ‘Solenoide para el cilindro 1A STEP BPlus IF B2 ‘Cilindro 1A extendido THEN SET Y2 ‘Soenoide para el cilindro 2A STEP BMinus IF B4 ‘Cilindro 2A extendido THEN RESET Y2 ‘Solenoide para el cilindro 2A STEP AMinus IF B3 ‘Cilindro 2A retraído THEN RESET Y1 ‘Solenoide para el cilindro 1A STEP Check IF FCStop ‘Paro de ciclo THEN JMP TO End IF AutoMan ‘Automatic/Manual Switch THEN JMP TO Aplus OTHRW NOP STEP End

Page 75: Programación con FST4

Festo Didactic • Win FST

75 Multitarea

• Interruptor selector de ciclo único/continuo. • La lámpara de inicio encenderá de manera intermitente para indicar que

el dispositivo está listo. • Una vez que la secuencia haya iniciado, deberá detenerse la

intermitencia en la lámpara. • Cuando se esté ejecutando la secuencia, la lámpara del botón de paro

encenderá de manera inetrmitente. • Cuando se pulse el botón de paro de emegencia, la secuencia se

detendrá independientemente que se encuentre en ciclo único o en ciclo continuo.

• Los vástagos de los cilindros regresrán a su posición de reposo y la lámpara del botón de restablecimiento encenderá de manera retentiva.

• Cuando se pulse el botón de restablecimiento, la lámpara se deberá de apagar.

El proyecto ahora tendrá los siguientes programas: • Programa principal de organización • Programa de la secuencia • Programa de encendido intermitente 7.7.1 Lista de asignaciones

Absoluto Simbólico Comentario I0.0 iStart Botón de inicio I0.1 B1 Cilindror 1A retraído I0.2 B2 Cilindro 1A extendido I0.3 B3 Cilindro 2A retraído I0.4 B4 Cilindro 2A extendido I0.5 AutoMan Selector único/continuo I0.6 iStop Botón de paro I0.7 iReset Botón de restablecimiento I1.0 iEStop Botón de paro de emergencia O0.0 Y1 Solenoide para el cilindro 1A O0.1 Y2 Solenoide para el cilindro 2A O0.2 oStart Lámpara de inicio O0.3 oStop Lámpara de paro O0.4 oReset Lámpara de restablecimiento F10.0 FBlink1 0.25s Blinks F10.1 FBlink2 0.5s Blinks F10.2 FBlink3 1s Blinks F10.3 FBlink4 2s Blinks F11.0 FCStop Paro de ciclo FU32

P1 Programa de la secuencia P2 Programa de encendido intermitente

Page 76: Programación con FST4

Win FST • Festo Didactic

76 Multitarea

7.8 Estructura del proyecto y de los programas 7.8.1 Árbol del proyecto El árbol del proyecto es donde se insertan los programas y subprogramas. Para esta estación tendremos tres programas y un módulo.

Como el proyecto requiere realizar diferentes tareas, necesitamos programar con multgitarea. El proyecto consistirá de: • Programa principal de organización • Programa de la secuencia • Programa para el encendido intermitente • Módulo de encendido intermitente El programa principal de organización es el que administra al proyecto. En este programa, se activan o desactivan los demás programas y subprogramas. El programa de la secuencia es donde se controla la secuencia del dispositivo de elevación. El programa de encendido intermitente llama al modulo de programa correspondiente para utilizarlo en el proyecto.

Page 77: Programación con FST4

Festo Didactic • Win FST

77 Multitarea

7.8.2 Programa principal de organización

STEP Initial THEN SET P2 ‘Programa de encendido intermitente STEP Start IF iEStop ‘Botón de paro de emergencia THEN JMP TO Emergency IF FBlink1 ‘0.25s Blinks THEN SET oStart ‘Lámpara de inicio OTHRW RESET oStart ‘Lámpara de inicio IF iStart ‘Botón de inicio AND B1 ‘Cilindro1A retraído AND B3 ‘Cilindro 2A retraído THEN SET P1 ‘Programa de la secuencia RESET oStart ‘Lámpara de inicio STEP Stop IF iEStop ‘Botón de paro de emergencia THEN JMP TO Emergency IF FBlink2 ‘0.5s Blinks THEN SET oStop ‘Lámpara de paro OTHRW RESET oStop ‘Lámpara de paro IF iStop ‘Botón de paro THEN SET FCStop ‘Paro de ciclo IF N P1 ‘Programa de la secuencia THEN RESET FCStop ‘Paro de ciclo RESET oStop ‘Lámpara de paro JMP TO Start STEP Emergency IF NOP THEN RESET Y1 ‘Solenoide para el cilindro 1A RESET Y2 ‘Solenoide para el cilindro 2A RESET P1 ‘Programa de la secuencia RESET oStart ‘Lámpara de inicio RESET oStop ‘Lámpara de paro IF N iEStop ‘Botón de paro de emergencia THEN NOP

Page 78: Programación con FST4

Win FST • Festo Didactic

78 Multitarea

7.8.3 Programa de la secuencia Este es el programa que controla la operación del dispositivo de elevación. Para ciclo conntinuo, solo se detendrá cuando se pulse el botón de “Paro”. En el caso del ciclo único, la secuencia se ejecutará una vez. Esto es controlado por el programa principal de oraganización.

STEP Reset IF iEStop ‘Botón de paro de emergencia THEN JMP TO Emergency IF FBlink3 ‘1s Blinks THEN SET oReset ‘Lámpara de restablecimiento OTHRW RESET oReset ‘Lámpara de restablecimiento IF iReset ‘Botón de restablecimiento THEN RESET oReset ‘Lámpara de restablecimiento JMP TO Start

Page 79: Programación con FST4

Festo Didactic • Win FST

79 Multitarea

7.8.4 Programa de encendido intermitente Este programa llama al módulo de encendido intermitente.

STEP Aplus IF B1 ‘Cilindro 1A retraído THEN SET Y1 ‘Solenoide para el cilindro 1A STEP BPlus IF B2 ‘Cilindro 1A extendido THEN SET Y2 ‘Solenoide para el cilindro 2A STEP BMinus IF B4 ‘Cilindro 2A extendido THEN RESET Y2 ‘Solenoide para el cilindro 2A STEP AMinus IF B3 ‘Cilindro 2A retraído THEN RESET Y1 ‘Solenoide para el cilindro 1A STEP Check IF FCStop ‘Paro de ciclo THEN JMP TO End IF AutoMan ‘Selector ciclo único/continuo THEN JMP TO Aplus OTHRW NOP STEP End THEN NOP

STEP Blink THEN CFM 0 ‘Módulo de encendido intermitente LOAD FU32 TO FW10 JMP TO Blink

Page 80: Programación con FST4

Win FST • Festo Didactic

80 Multitarea

Page 81: Programación con FST4

Festo Didactic • Win FST

81 Utilización de Ethernet

Capítulo 8 Redes de Comunicación

Page 82: Programación con FST4

Win FST • Festo Didactic

82 Utilización de Ethernet

Page 83: Programación con FST4

Festo Didactic • Win FST

83 Utilización de Ethernet

8 Redes de Comunicación 8.1 Introducción El software Win FST nos permite utilizar Ethernet (TCP/IP) para establecer la comunicación entre diferentes controladores y la PC. Utilizaremos TCPIP por las siguientes razones: • Programación vía Ethernet significa UNA PC para la programación y

VARIOS controladores. • La comunicación entre varios controladores vía Ethernet. Antes de utilizar Ethernet, necesitamos preparar nuestra red. 8.2 Verificación de la dirección IP de su PC Su PC que utilizará para la programación necesita tener una dirección IP. Si no conoce la dirección IP de su PC, entonces necesita investigar esta dirección. Por medio de Windows, puede obtener su IP como a continuación se indica: • De un clic en “Start”. • De un clic “Run”

Page 84: Programación con FST4

Win FST • Festo Didactic

84 Utilización de Ethernet

• Digite “Command” en su ventana abierta. • De un clic en “OK” • La ventana tradicional de MS-DOS se abrirá. • Digite “IPConfig” • Pulse la tecla [Enter] • La información referente a la dirección IP de su PC será desplegada. • Esto ocurrirá sólo si tienen un adaptador de Ethernet en su PC. • Podrá obtener la siguiente información: • Requiere conocer la dirección IP y la mascara IP de su PC. 8.3 Verificación de una dirección IP libre para sus

controladores Para hacer funcionar sus controladores con Ethernet, necesitamos configurar nuestra propia red. Existen dos formas para hacer esto: • Teniendo su propia red para sus controladores y su PC de programación.

Entonces simplemente utilice cualquier dirección comprendida entre 1 y 254.

• Utilizando su PC y sus controladores en una red de área local (LAN) y entonces debe solicitar a su administrador de la red las direcciones IP libres.

Recuerde no utilizar una misma dirección IP dos veces. 8.4 Modificación de la dirección IP de sus controladores Después de haber decidido acerca de las direcciones IP de sus controladores, necesitamos modificar la dirección IP. Siga los siguientes pasos para asignar la dirección IP a su controlador. Además, cuando por primera vez configure los parámetros de la red y los drivers para su controlador, necesita utilizar la comunicación serial RS232

C:\>ipconfig Windows 2000 IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . . . . . : sg.festo.net IP Address . . . . . . . . . . . . . . . . . . . . . . : 10.10.24.163 Subnet Mask . . . . . . . . . . . . . . . . . . . . : 255.255.255.248 Default Gateway . . . . . . . . . . . . . . . . . : 10.10.24.161 C:\>

Page 85: Programación con FST4

Festo Didactic • Win FST

85 Utilización de Ethernet

para cargar los parámetros y los drivers al controlador. Después de hacer esto, el controlador podrá ser programado por la red y por lo tanto, el cable RS232 podrá desconectarse. Para configurar los parámetros y drivers de la red: • Conecte su controlador a la fuente de alimentación. • Conecte el cable de programación SM14 al controlador (puerto COM) y a

su PC. • Ejecute el software Win FST y abra un nuevo proyecto. • De un doble clic en la opción “Driver Configuration” en la ventana

“Project View”. • Esto abrirá la ventana “Driver Configuration”.

• De doble clic dentro de la ventana “Driver Configuration” para abrir la

ventana de selección de drivers.

Page 86: Programación con FST4

Win FST • Festo Didactic

86 Utilización de Ethernet

• Seleccione “TCPIPFEC” o “TCPIPFC2” dependiendo del controlador

elegido y de un clic en OK para incluir el driver TCP/IP en el proyecto. • Esto abrirá la ventana “Driver Options”. • Introduzca el número de IP que utilizará el controlador, la máscara de red

IP y la dirección de compuerta IP que obtuvo de su administrador del sistema de red.

• De un clic en OK. • La ventana “Driver Configuration” listará el driver TCP/IP.

Page 87: Programación con FST4

Festo Didactic • Win FST

87 Utilización de Ethernet

8.4.1 Configuración de Entradas / Salidas Después de configurar el driver en la ventana “Driver Configuration” necesitamos configurar las Entradas/Salidas (“IO Configuration”) y la configuración del controlador (“Controller Setting”). • De un clic en “IO Configuration” para identificar el tipo de controlador

que está utilizando. • Enseguida verá la siguiente pantalla:

Page 88: Programación con FST4

Win FST • Festo Didactic

88 Utilización de Ethernet

• De un doble clic dentro de la ventana “IO Configuration” para abrir “IO Module Entry”.

• Elija el controlador apropiado.

• Note que cuando un controlador está indicado en la lista como “Palabra”

(Word) se refiere a que las E / S´s están organizadas en 16 bits y no en 8 bits.

8.4.2 Configuración del controlador • De un clic en “Controller Settings”. • A continuación aparecerá la ventana:

• Asegúrese de que no esté marcada la opción “Delete project before

download”.

Page 89: Programación con FST4

Festo Didactic • Win FST

89 Utilización de Ethernet

8.4.3 Carga del proyecto y de los drivers al controlador Hasta este punto los drivers TCP/IP se han configurado y el proyecto está listo para cargarse en el controlador. Como se mencionó antes, cuando se cargan los drivers de la red a los controladores por vez primera, necesita utilizar el cable serial RS232 con el controlador para llevar a cabo dicha transferencia. Una vez que se ha cargado el proyecto con los drivers de la red, el controlador puede ser accesado desde la red. Para cargar el proyecto que contiene los drivers de la red: • Guarde todos los archivos al dar clic en la opción “Save All” de la barra

de herramientas. • Verifique que la opción RS232 sea el modo actual de comunicación al

seleccionar la opción “Preferences” del menú “Extras” al elegir la opción “Communication Port”.

• Asegúrese que esté seleccionada la opción “Use RS232”. • Pulse la tecla [F5] o de un clic en el ícono de carga de proyecto. • El software Win FST detectará los cambios en el proyecto y le solicitará

hacer (“Make”) el proyecto nuevamente. • De un clic en “Yes” para recompilar el proyecto. Cuando se haya

completado la carga la ventana de estado aparecerá de manera similar a como se muestra a continuación:

Page 90: Programación con FST4

Win FST • Festo Didactic

90 Utilización de Ethernet

8.5 Conexión de los cables de par trenzado Después de la configuración de las direcciones de su PC y de los controladores, necesitamos conectarlos. • Usualmente utilizaremos un HUB o SWITCH. • Conecte el cable TP de cualquier controlador y de cualquier PC de

programación a su Hub o Switch. • Verifique el LED de Link en el Hub o Switch y en el FEC y en su PC. 8.6 Verificación de la Comunicación Después de conectar los controladores y la PC, necesitamos verificar si es posible establecer la comunicación. • Windows ofrece el comando “Ping” para verificar si existe comunicación

TCPIP. • De un clic en “Start”, “Run” y pulse la tecla Enter. Algo similar a lo que

hizo antes con IPCconfig. • Digite “PING <dirección IP de su CPU> • El comando PING envía paquetes de prueba para el controlador y trata

de recibirlos de éste. • Si los parámetros de la red del controlador son correctos obtendrá una

réplica del controlador, como lo que se muestra a continuación:

LED Link: TP

Page 91: Programación con FST4

Festo Didactic • Win FST

91 Utilización de Ethernet

• Si la comunicación es correcta para todos los controladores, entonces ya

está listo. • Si no hay respuesta (indicado por el mensaje “Request timeout”),

entonces existe algún error con la configuración de la red del controlador.

• Verifique la configuración retornando al driver TCP/IP en el software Win FST (opción “Driver Configuration” en la ventana de Proyecto) o contacte con su administrador de sistema.

8.7 Comunicación con el controlador Si la prueba anterior fue exitosa, entonces el controlador está listo para establecer la comunicación en red. El último paso para la puesta a punto de un proyecto para la comunicación en red es elegir la opción de modo de comunicación por red en el software Win FST. • Seleccione la opción “Preferences” del menú “Extras” del software Win

FST y de un clic en la pestaña “Communication Port”. • Introduzca la dirección IP del controlador (por ejemplo 199.237.83.68) y

seleccione el uso de TCP/IP:

C:\>ping 10.10.24.162 Pinging 10.10.24.162 with 32 bytes of data: Reply from 10.10.24.162: Bytes=32 time=10ms TTL=128 Reply from 10.10.24.162: Bytes=32 time<10ms TTL=128 Reply from 10.10.24.162: Bytes=32 time<10ms TTL=128 Reply from 10.10.24.162: Bytes=32 time<10ms TTL=128 Ping-Statistics for 10.10.24.162: Packets: Sent = 4, Received = 4, Lost = 0 <0% loss>, Approximate round trip time in milli-seconds: Minimum = 0ms, Maximum = 10ms, Average = 2ms C:\>

Page 92: Programación con FST4

Win FST • Festo Didactic

92 Utilización de Ethernet

• Si elige la opción “Save in Project”, todos los ajustes serán grabados

dentro de este proyecto. • De otra manera, los ajustes serán tomados de manera general por el

software Win FST. • Marque la opción “Save in Project” y de un clic en OK. Ahora está listo para comunicarse con su controlador a través de la red y por lo tanto, podrá desconectar el cable RS232.

Page 93: Programación con FST4

Festo Didactic • Win FST

93 Utilización de Ethernet

Capítulo 9 Utilización de Ethernet

Page 94: Programación con FST4

Win FST • Festo Didactic

94 Utilización de Ethernet

Page 95: Programación con FST4

Festo Didactic • Win FST

95 Utilización de Ethernet

9 Utilización de Ethernet 9.1 Introducción Una vez completada la puesta a punto y la conexión de los controladores y la PC, estamos en condiciones de programar utilizando la red Ethernet. 9.2 Programación por medio de Ethernet Cuando se programa vía Ethernet, podemos conectar varios controladores a una sola PC para la programación sin necesidad de conectar y desconectar el cable de interfaz. • Para utilizar Ethernet en la programación, deberá haber puesto a punto

la red como se describió anteriormente. 9.2.1 Importación de Módulos • Abra el software Win FST. • Abra o cree un nuevo proyecto. • De un clic derecho en la carpeta “CMPs”. • De un clic en al opción “Import CMP” • Elija las tablas relevantes. Puede encontrar ayuda en al utilización de los

módulos en la sección de Ayuda. • Busque la opción “FST Drivers Reference” • De un clic “TCP/IP Driver” • Aparecerá la siguiente pantalla:

Page 96: Programación con FST4

Win FST • Festo Didactic

96 Utilización de Ethernet

• La siguiente tabla muestra los módulos utilizados de manera general:

Módulo Descripción

EASY_R Solicita un bloque de operandos de otro controlador

EASY_S Envía un bloque de operandos hacia otro controlador

IP_ALIVE Verifica si se conoce una dirección IP

IP_IP Obtiene/Define nuestra dirección IP

IP_MASK Obtiene/Define nuestra máscara de red IP

IP_TABLE Obtiene/Define la dirección IP desde/hacia una tabla • Importaremos los módulos “IP_TABLE”, “EASY_R” and “EASY_S”. • Así mismo, importaremos “Special Modules”. • La función “Special modules” también se puede encontrar en el archivo

de ayuda. • Una vez importados dichos módulos, el Árbol del Proyecto (Project Tree)

deberá mostrarse como se indica a continuación:

Page 97: Programación con FST4

Festo Didactic • Win FST

97 Utilización de Ethernet

9.2.2 Módulo IP_TABLE Este módulo se utiliza para asignar u obtener una dirección desde o hacia una tabla. Parámetros de entrada

Parámetro Descripción Ejemplo

FU32 1 para asignar dirección IP 2 para obtener dirtección IP

V1

FU33 Número de índice en la tabla IP V3 FU34 Dirección IP V140 FU35 Dirección IP V131 FU36 Dirección IP V170 FU37 Dirección IP V3

Parámetros de salida

Parámetro Descripción

FU32 0 - Si fue exitoso De otra manera hubo error

FU33 Número de índice en la tabla IP FU34 Dirección IP FU35 Dirección IP FU36 Dirección IP FU37 Dirección IP

Page 98: Programación con FST4

Win FST • Festo Didactic

98 Utilización de Ethernet

9.2.3 Módulo EASY_R Este módulo solicita un bloque de operandos de otro controlador. Parámetros de entrada

Parámetro Descripción Ejemplo

FU32 Número de índice en la tabla IP V3

FU33

Tipo de Operando: 1 - Banderas 2 - Entradas 3 - Salidas 4 - Registros 11 - Caracteres

V1

FU34 Número de operandos requeridos (máximo 256)

V2

FU35 Número del primer operando local para almacenar respuesta

V12

FU36 Número del primer operando en el controlador remoto

V0

FU37 Número de la palabra de banderas para el estatus

V99

Parámetros de salida

Parámetro Descripción

FU32 0 - Si solicita lectura De otra manera hubo un error

Page 99: Programación con FST4

Festo Didactic • Win FST

99 Utilización de Ethernet

9.2.4 Módulo EASY_S Este módulo envía un bloque de operandos a otro controlador. Parámetros de entrada

Parámetro Descripción Ejemplo

FU32 Número de índice en tabla IP V3

FU33

Tipo de operando: 1 - Banderas 2 - Entradas 3 - Salidas 4 - Registros 11 - Caracteres

V1

FU34 Número de operandos a enviar (máximo 256)

V2

FU35 Número del primer operando a enviar

V12

FU36 Número del primer operando en el controlador remoto

V0

FU37 Número de la palabra de bandera para el estatus (-1 si no desea reconocimiento)

V99

Parámetros de salida

Parámetro Descripción

FU32 0 - Si envía requisición De otra manera hubo error

9.3 Un programa simple utilizando Ethernet En este simple programa, utilizaremos el control FEC34 para leer y enviar información a un control FEC440. Los siguientes pasos le mostrarán cómo el dato se lee de un FEC440 y también se envía dato al FEC440. Una vez recibido el dato, los controladores lo utilizarán al igual que cualquier señal de entrada.

Page 100: Programación con FST4

Win FST • Festo Didactic

100 Utilización de Ethernet

9.3.1 Ejercicio Se trata de dos estaciones: • La primera estación identifica si la pieza de trabajo es roja o metálica.

Elevará al porta pieza y expulsará la pieza a la siguiente estación • La segunda estación recibirá la pieza de trabajo en su porta pieza.

Utilizará el dato recibido de la primera máquina, elevará el porta pieza y expulsará a la pieza de trabajo roja por el deslizador A y la pieza metálica por el deslizador B.

• Al inicio del proceso, la lámpara del botón de marcha encenderá de manera intermitente. Cuando el proceso se inicie, la lámpara deberá de permanecer encendida. Cuando se pulse el botón de paro en modo continuo, la lámpara del botón de paro se encenderá de manera intermitente y la lámpara del botón de marcha se deberá de apagar.

• Cuando se active el botón de paro de emergencia, el proceso se detendrá y la lámpara del botón de reset se deberá de encender de manera intermitente. Cuando el botón de reset se oprima, el sistema se restablecerá y la lámpara del botón de marcha encenderá de manera intermitente.

9.3.2 Componentes de la estación A • Utilizaremos el control FEC34 (FEC660) para controlar la estación A. • El porta pieza cuenta con dos sensores: un inductivo y un óptico. • Cuando sólo el sensor óptico detecte, significa que la pieza de trabajo es

roja. • Cuando ambos sensores detecten, significa que la pieza de trabajo es

metálica. • Un cilindro de doble efecto eleva al porta piezas. • La estación A verificará si la estación B está lista para aceptar la pieza de

trabajo. • Cuando al estación B esté lista, la pieza de trabajo será expulsada a la

estación B por medio de otro cilindro de doble efecto. • Los cilindros se activan con electroválvulas 5/2 monoestables. 9.3.3 Componentes de la estación B • Utilizaremos un FEC440 (FEC660) para controlar la estación B. • El porta pieza recibirá a la pieza de trabajo de la estación previa. • Un sensor óptico está colocado en el porta piezas para detectar la

presencia de la pieza. • La estación B no puede recibir la pieza si el porta pieza está en su

posición inicial. • Una vez confirmada la presencia de la pieza de trabajo y el dato acerca

del tipo de pieza de trabajo recibida de la estación previa, el proceso variará.

Page 101: Programación con FST4

Festo Didactic • Win FST

101 Utilización de Ethernet

• Si la pieza de trabajo es roja, el porta pieza se elevará por emdio de un cilindro de doble efecto y será expulsada por el deslizador A por medio de otro cilindro de doble efecto.

• Si es metálica, el porta pieza se elevará y será expulsada hacia el deslizador B por un tercer cilindro de doble efecto.

• Los cilindro serán actuados por electroválvulas 5/2 monoestables. 9.3.4 Transferencia de datos • La dirección IP para la computadora es “140.131.170.1” • La dirección IP para la estación A es “140.131.170.2” • La dirección IP para la estación B es “140.131.170.3” • La estación A debe leer datos de la estación B para verificar si está lista

para recibir la pieza de trabajo. • La estación A debe enviar datos a la estación B para informar a la

estación B el tipo de pieza de trabajo. • La estación A también debe informar a la estación B que se ha enviado la

pieza de trabajo. • Para esta tarea de control utilizaremos los módulos “IP_TABLE”,

“EASY_R” and “EASY_S” solo en el programa de la estación A. • No hay necesidad de utilizarlos en la estación B. Sin embargo, para

propósitos de entrenamiento, estos módulos serán importados. 9.3.5 Lista de asiganciones Estación A

Absoluto Simbólico Comentario I0.0 iStart Start Button I0.1 B1 Lifting Cylinder Back I0.2 B2 Lifting Cylinder Forward I0.3 B3 Pushing Cylinder Back I0.4 B4 Pushing Cylinder Forward I0.5 S1 Inductive Sensor I0.6 S2 Optical Sensor I0.7 AutoMan Auto/Manual Switch I1.0 iStop Stop Button I1.1 iReset Reset Button I1.2 iEStop Emergency Stop Button O0.0 Y1 Solenoid for Lifting Cylinder O0.1 Y2 Solenoid for Pushing Cylinder O0.2 oStart Start Lamp O0.3 oStop Stop Lamp O0.4 oReset Reset Lamp F1.0 FCStop Cycle Stop Flag

F10.1 FBlink1 0.25s Blink F10.2 FBlink2 0.5s Blink F10.3 FBlink3 1s Blink

Page 102: Programación con FST4

Win FST • Festo Didactic

102 Utilización de Ethernet

F10.4 FBlink4 2s Blink F12.0 ReadyFlag Next Station Ready F14.0 Red Red Workpiece F14.1 Metal Metal Workpiece F14.2 FSent Workpiece has been Sent FW10 Flagword or Blinks FU32

P1 Sequence Program P2 Blinking Program

Estación B

Absoluto Simbólico Comentario I0.0 iStart Start Button I0.1 B1 Lifting Cylinder Back I0.2 B2 Lifting Cylinder Forward I0.3 B3 Red Cylinder Back I0.4 B4 Red Cylinder Forward I0.5 B5 Metal Cylinder Back I0.6 B6 Metal Cylinder Forward I0.7 S1 Workpiece Present I1.0 AutoMan Auto/Manual Switch I1.1 iStop Stop Button I1.2 iReset Reset Button I1.3 iEStop Emergency Stop Button O0.0 Y1 Solenoid for Lifting Cylinder O0.1 Y2 Solenoid for Red Cylinder O0.2 Y3 Solenoid for Metal Cylinder O0.3 oStart Start Lamp O0.4 oStop Stop Lamp O0.5 oReset Reset Lamp F0.0 ReadyFlag Station Ready F1.0 FCStop Cycle Stop Flag

F10.1 FBlink1 0.25s Blink F10.2 FBlink2 0.5s Blink F10.3 FBlink3 1s Blink F10.4 FBlink4 2s Blink FW10 Flagword or Blinks F11.0 Red Workpiece Red F11.1 Metal Workpiece Metal F11.2 FReceived Workpiece Received FU32

P1 Sequence Program P2 Blinking Program

9.3.6 Elaboración del programa para la estación A Utilizaremos un control FEC34 (FEC660) para la estación A. Abra un nuevo programa en el control a utilizar.

Page 103: Programación con FST4

Festo Didactic • Win FST

103 Utilización de Ethernet

• Inicie Win FST. • Elija la opción “Driver Configuration” • Seleccione el driver “TCPIPFEC” driver. • Configure la dirección IP “141.131.170.2” • Realice la configuración de Entradas y Salidas en “IO Configuration” • Configure al Controlador en “Controller Setting” • Importe ; los siguientes módulos CMP:

o “IP_TABLE” o “EASY_R” o “EASY_S”

• Inserte el módulo de función CFM “Blinking Module” • Introduzca un nuevo programa. • Tendremos entonces 3 programas:

o El programa principal de organización o El programa de la secuencia o El programa de generación de pulsos (señal intermitente)

• En el programa de la secuencia, verificaremos el tipo de pieza de trabajo al inicio y lo almacenaremos en una palabra de banderas.

• Cuando el cilindro de elevación esté arriba, la estación A leerá el dato de la estación B si ya se encuentra lista para recibir la pieza de trabajo.

• Si la estación B está lista, la pieza de trabajo será expulsada. • Cuando la pieza es expulsada, enviará el dato del tipo de pieza de

trabajo: roja o metálica y que la pieza ha sido enviada. • Cuando se introduzcan los módulos, puede teclearlos directamente o

utilizar la tabla preestablecida. Cualquiera de los dos métodos da lo mismo.

• Por ejemplo, para teclear directamente un módulo “IP_TABLE”

• O puede utilizar la tabla preestablecida.

o De un clic en “Insert” o De un clic en “Module Call” o Seleccione el módulo “IP_TABLE” o Introduzca la información en los espacios provistos o De un clic en “OK”

STEP IP_TABLE THEN CMP 0 ‘IP_TABLE WITH V1 “1:SET, 2:GET WITH V3 “Index Number in Table WITH V140 “IP Address (1) WITH V131 “IP Address (2) WITH V170 “IP Address (3) WITH V3 “IP Address (4)

Page 104: Programación con FST4

Win FST • Festo Didactic

104 Utilización de Ethernet

9.3.7 Programa principal para la estación A • Recuerde que tenemos que registrar al controlador en la IP_TABLE. • Como solo estaremos leyendo y enviando datos a la estación B, solo

registraremos a la estación B.

Page 105: Programación con FST4

Festo Didactic • Win FST

105 Utilización de Ethernet

STEP IPTable THEN CMP 0 ‘IP_TABLE WITH V1 “1:SET, 2:GET WITH V3 “Index Number in Table WITH V140 “IP Address (1) WITH V131 “IP Address (2) WITH V170 “IP Address (3) WITH V3 “IP Address (4) STEP Initial THEN SET P2 ‘Blinking Program STEP Start IF iEStop ‘Emergency Stop Button THEN JMP TO Emergency IF FBlink1 ‘0.25s Blinks THEN SET oStart ‘Start Lamp OTHRW RESET oStart ‘Start Lamp IF iStart ‘Start Button AND B1 ‘Lifting Cylinder Back AND B3 ‘Pushing Cylinder Back THEN SET P1 ‘Sequence Program SET oStart ‘Start Lamp STEP Stop1 IF iEStop ‘Emergency Stop Button THEN JMP TO Emergency IF iStop ‘Stop Button OR N AutoMan ‘Auto/Manual Switch THEN SET FCStop ‘Cycle Stop Flag STEP Stop2 IF iEStop ‘Emergency Stop Button THEN JMP TO Emergency IF FBlink2 ‘0.5s Blinks THEN SET oStop ‘Stop Lamp OTHRW RESET oStop ‘Stop Lamp IF N P1 ‘Sequence Program THEN RESET FCStop ‘Cycle Stop Flag RESET oStop ‘Stop Lamp JMP TO Start

Page 106: Programación con FST4

Win FST • Festo Didactic

106 Utilización de Ethernet

9.3.8 Programa de la secuencia para la estación A Este es el programa de la secuencia para la estación A. Para ciclo continuo, solo se detendrá cuando se pulse el botón de paro. Para ciclo único, realizará la secuencia solo una vez. Esto se controla por medio del programa de organización.

STEP Emergency IF NOP THEN RESET Y1 ‘Solenoid for Lifting Cylinder RESET Y2 ‘Solenoid for Pushing Cylinder RESET oStart ‘Start Lamp RESET oStop ‘Stop Lamp IF FBlink3 ‘1s Blinks THEN SET oReset ‘Reset Lamp OTHRW RESET oReset ‘Reset Lamp IF N iEStop ‘Emergency Stop Button AND iReset ‘Reset Button THEN RESET oReset ‘Reset Lamp RESET P1 ‘Sequence Program JMP TO Initial

STEP Sort IF S1 ‘Inductive Sensor AND S2 ‘Optical Sensor THEN SET Metal ‘Metal Workpiece RESET Red ‘Red Workpiece JMP TO Up IF N S1 ‘Inductive Sensor AND S2 ‘Optical Sensor THEN SET Red ‘Red Workpiece RESET Metal ‘Metal Workpiece STEP Up IF B1 ‘Lifting Cylinder Back THEN SET Y1 ‘Solenoid for Lifting Cylinder

Page 107: Programación con FST4

Festo Didactic • Win FST

107 Utilización de Ethernet

STEP ReadyPush1 IF B2 ‘Lifting Cylinder Forward THEN NOP STEP ReadyPush2 THEN CMP 1 “Easy IP request data WITH V3 “Index number in IP table WITH V1 “Type (1:F 2:I 3:O 4:R 11:Str) WITH V2 “Number of operands wanted WITH V12 “Number of first local operand WITH V0 “Number of first remote operand WITH V99 “Number of flagword for status IF FU32 = V0 THEN NOP STEP Push IF ReadyFlag ‘Next Station Ready THEN SET Y2 ‘Solenoid for Pushing Cylinder OTHRW JMP TO ReadyPush STEP Retract IF B4 ‘Pushing Cylinder Forward THEN RESET Y2 ‘Solenoid for Pushing Cylinder RESET ReadyFlag ‘Next Station Ready SET FSent ‘Workpiece has been Sent STEP SendData THEN CMP 2 “Easy IP send data WITH V3 “Index number in IP table WITH V1 “Type (1:F 2:I 3:O 4:R 11:Str) WITH V3 “Number of operands to send WITH V14 “Number of first local operand WITH V11 “Number of first remote operand WITH V99 “Number of flagword for status IF FU32 = V0 THEN NOP STEP Down IF B3 ‘Pushing Cylinder Back THEN RESET Y1 ‘Solenoid for Pushing Cylinder RESET ReadyFlag ‘Next Station Ready RESET FSent ‘Workpiece has been Sent

Page 108: Programación con FST4

Win FST • Festo Didactic

108 Utilización de Ethernet

9.3.9 Programa de señal intermitente para la estación A Este programa llama al módulo de señal intermitente 9.3.10 Elaboración del programa para la estación B Utilizaremos el control FEC660 para la estación B. Abra un nuevo programa en el FEC660. • Inicie Win FST. • Elija la opción “Driver Configuration” • Selecciones el driver “TCPIPFEC” driver. • Configure la dirección IP “141.131.170.3” • Configure Entradas y Salidas en “IO Configuration” • Configure al controlador en “Controller Setting” • Importe los siguientes módulos CMP:

o “IP_TABLE” o “EASY_R” o “EASY_S”

• Inserte el módulo de función CFM “Blinking Module” • Introduzca un nuevo programa

STEP Blink THEN CFM 0 ‘Blink Module LOAD FU32 TO FW10 ‘Flagword for Blinks JMP TO Blink

STEP Check IF FCStop ‘Cycle Stop Flag OR N AutoMan ‘Automatic/Manual Switch THEN JMP TO End IF AutoMan ‘Automatic/Manual Switch THEN JMP TO Sort STEP End THEN NOP

Page 109: Programación con FST4

Festo Didactic • Win FST

109 Utilización de Ethernet

• Tendremos 3 programas: o El programa principal de organización o El programa de secuencia o El programa de generación de señal intermitente

• En los programas tanto principal como de secuencia, tendremos que encender una bandera siempre y cuando la estación esté lista para recibir la pieza de trabajo proveniente de la estación A.

• Una vez que la estación B recibe la pieza de trabajo y el dato referente al tipo de pieza, llevará a cabo la secuencia correspondiente.

• Como la estación B solo utiliza los datos enviados por la estación A, no necesitamos utilizar módulos TCP/IP

Page 110: Programación con FST4

Win FST • Festo Didactic

110 Utilización de Ethernet

9.3.11 Programa principal para la estación B

STEP Initial THEN SET P2 ‘Blinking Program STEP Start IF iEStop ‘Emergency Stop Button THEN JMP TO Emergency IF FBlink1 ‘0.25s Blinks THEN SET oStart ‘Start Lamp OTHRW RESET oStart ‘Start Lamp IF iStart ‘Start Button AND B1 ‘Lifting Cylinder Back AND B3 ‘Red Cylinder Back AND B5 ‘Metal Cylinder Back THEN SET P1 ‘Sequence Program SET oStart ‘Start Lamp SET ReadyFlag ‘Station Ready STEP Stop1 IF iEStop ‘Emergency Stop Button THEN JMP TO Emergency IF iStop ‘Stop Button OR N AutoMan ‘Auto/Manual Switch THEN SET FCStop ‘Cycle Stop Flag STEP Stop2 IF iEStop ‘Emergency Stop Button THEN JMP TO Emergency IF FBlink2 ‘0.5s Blinks THEN SET oStop ‘Stop Lamp OTHRW RESET oStop ‘Stop Lamp IF N P1 ‘Sequence Program THEN RESET FCStop ‘Cycle Stop Flag RESET oStop ‘Stop Lamp JMP TO Start

Page 111: Programación con FST4

Festo Didactic • Win FST

111 Utilización de Ethernet

9.3.12 Programa de la secuencia para la estación B Este es el programa para la operación de la secuencia de la estación B. Para ciclo continuo, solo se detendrá cuando se pulse el botón de paro. Para ciclo único, realizará la secuencia solo una vez. Esto se controla por emdio del programa de organización.

STEP Emergency IF NOP THEN RESET Y1 ‘Solenoid for Lifting Cylinder RESET Y2 ‘Solenoid for Pushing Cylinder RESET P1 ‘Sequence Program RESET oStart ‘Start Lamp RESET oStop ‘Stop Lamp IF FBlink3 ‘1s Blinks THEN SET oReset ‘Reset Lamp OTHRW RESET oReset ‘Reset Lamp IF N iEStop ‘Emergency Stop Button

AND iReset ‘Reset Button THEN RESET oReset ‘Reset Lamp RESET P1 ‘Sequence Program JMP TO Initial

STEP Initial IF S1 ‘Workpiece Present THEN RESET ReadyFlag ‘Station Ready OTHRW SET ReadyFlag ‘Station Ready IF S1 ‘Workpiece Present

AND B1 ‘Lifting Cylinder Back AND FReceived ‘Workpiece Received

THEN SET Y1 ‘Solenoid for Lifting Cylinder RESET Ready Flag ‘Station Ready RESET FReceived ‘Workpiece Received

Page 112: Programación con FST4

Win FST • Festo Didactic

112 Utilización de Ethernet

STEP Push IF B2 ‘Lifting Cylinder Forward AND Red ‘Workpiece Red THEN SET Y2 ‘Solenoid for Red Cylinder IF B4 ‘Red Cylinder Forward THEN RESET Y2 ‘Solenoid for Red Cylinder RESET Red ‘Workpiece Red JMP TO Down IF B2 ‘Lifting Cylinder Forward AND Metal ‘Workpiece Metal THEN SET Y3 ‘Solenoid for Metal Cylinder IF B6 ‘Metal Cylinder Forward THEN RESET Y3 ‘Solenoid for Metal Cylinder RESET Metal ‘Workpiece Metal STEP Down IF B3 ‘Red Cylinder Back OR B5 ‘Metal Cylinder Back THEN RESET Y1 ‘Solenoid for Pushing Cylinder STEP Confirm Back IF B1 ‘Lifting Cylinder Back THEN NOP STEP Check IF FCStop ‘Cycle Stop OR N AutoMan ‘Auto/Manual Switch THEN JMP TO End IF AutoMan ‘Automatic/Manual Switch THEN SET ReadyFlag ‘Station Ready

JMP TO Initial STEP End THEN NOP

Page 113: Programación con FST4

Festo Didactic • Win FST

113 Utilización de Ethernet

9.3.13 Programa de señal intermitente para la estación B Este programa llama al módulo de programa de señal intermitente. 9.3.14 Carga y prueba del programa Después de completar los programas, podrá cargarlos a ambos controladores. Recuerde cambiar la dirección TCP/IP cuando realice el proceso de carga a los diferentes controladores.

STEP Blink THEN CFM 0 ‘Blink Module LOAD FU32 TO FW10 ‘Flagword for Blinks JMP TO Blink

Page 114: Programación con FST4

Win FST • Festo Didactic

114 HMI Development

Page 115: Programación con FST4

Festo Didactic • Win FST

115 HMI Development

Capítulo 10 Utilización del servidor para Web

Page 116: Programación con FST4

Win FST • Festo Didactic

116 HMI Development

Page 117: Programación con FST4

Festo Didactic • Win FST

117 HMI Development

10 Utilización del servidor para Web 10.1 Introducción Como se vio en el capítulo anterior, los controladores se pueden conectar a una red utilizando el driver TCP/IP hacienda con esto possible que otras computadoras tengan acceso a él utilizando el protocolo TCP/IP. Además, el controlador puede actuar como un servidor de la red Internet proporcionando páginas web que pueden visualizarse utilizando exploradores estándares como el Explorador de Internet de Microsoft o el navegador Netscape. Al utilizar esta página web es posible desplegar y modificar los contenidos de los registros del controlador. Como resultado obtenido es posible monitorear y configurar de manera remota. 10.2 Configuración para el acceso remoto Con el fin de acceder al controlador desde una red y utilizarlo como un servidor Web, necesitamos configurar y cargar los drivers TCP/IP y Web Server para que formen parte del proyecto. Configure al controlador como se describió en el capítulo 8. La única diferencia ahora es la adición del driver “Web server” dentro de la opción “driver configuration” • De un doble clic en la opción “Driver Configuration” en la ventana

“Project View” window. • Esto abrirá la ventana “Driver Configuration”.

Page 118: Programación con FST4

Win FST • Festo Didactic

118 HMI Development

• De un doble clic en cualquier parte dentro de dicha ventana para abrir la

ventana de selección de los drivers.

• Seleccione “WEB_SRVR” y de un clic en OK para incluir a dicho driver en

el proyecto. • Esto abrirá la ventana “Driver Options”.

Page 119: Programación con FST4

Festo Didactic • Win FST

119 HMI Development

• Esta ventana le solicitará la unidad de discos virtual en la que instalará el

servidor web. • Escoja “B” y de un clic en OK. • La ventana de configuración del driver listará ahora a ambos drivers. • Cierre dicha ventana.

Hasta este punto los drivers TCP/IP y servidor web se han configurado y el proyecto está listo para cargarse al controlador. Como se mencionó antes, cuando se cargan por primera vez los drivers al controlador necesita utilizar la comunicación serial RS232 para llevar a cabo la transferencia de los drivers. Una vez realizado esto, ya se puede tener acceso a través de la red.

Page 120: Programación con FST4

Win FST • Festo Didactic

120 HMI Development

Hemos completado la configuración del controlador. Con el fin de utilizar el servidor web, necesitamos comprender conceptos básicos acerca del diseño de páginas web.

10.3 Diseño de páginas Web con HTML HTML (HyperText MarkUp Language) es lenguaje estándar de programación utilizado para desarrollar páginas web básicas. El lenguaje tiene varios comandos que le permien al diseñador utilizar varios elementos de diseño tales como diferentes tipos de letra, texto, colores de pantalla, gráficos, etc. Aquí solo se abordarán los commandos más utilizados HTML (tags) con el fin de facilitar el desarrollo de páginas Web sencillas para comunicarnos con el controlador a través de internet. Para mayor información acerca de HTML es conveniente consultar un libro dedicado al estudio de dicho tema. 10.3.1 Comandos HTML HTML es un lenguaje de alto nivel en donde los comandos se insertan en un texto regular para lograr un documento de tal manera que se pueda modificar los tipos de letra, colores de letra, o añadir ligas a otras páginas web. Los comandos no son visibles para quien mira la página. Le indican al navegador cómo mostrar la página como se carga del servidor web. Los comandos se pueden considerar como comandos para el navegador web. Se encierran entre paréntesis angulares. Por ejemplo: <B> Festo FC34</B> Utiliza el comando <B> para desplegar el texto “Festo FC34” en negritas. Note que la mayoría de los comandos se deben utilizar en pares. El comando <B> en el ejemplo anterior le dice al navegador dónde comenzar a utilizar negritas en cuanto se presente la página. El comando </B> le indica al navegador dónde dejar de utilizar las negritas. 10.3.2 Comandos básicos HTML

Comando Descripción Ejemplo

<B> Negritas <B>Festo FC34</B>

<I> Itálica <I>Festo FC34</I>

<H1> Estilo de letra en encabezado 1

<H1>Festo</H1>

<H3> Estilo de letra en encabezado 3

<H3>Festo</H3>

<A> Hiperliga <A HREF=www.festo.com>Festo web site</A>

Page 121: Programación con FST4

Festo Didactic • Win FST

121 HMI Development

<IMG> Imagen <IMG SRC=”Festo.jpg”>

<PRE> Texto preformateado <PRE>Hello World</PRE>

<HR> Línea horizontal con medida (Inserta una línea)

<HR>

<BR> Interrupción (Fin de línea)

<BR>

10.3.3 Estructura básica de una página HTML Un documento HTML consiste de dos secciones principales: • Cabecera y • Cuerpo La sección de la cabecera se define con los comandos <HEAD> y </HEAD>. Contiene la información acerca del documento como su título (comando <TITLE> ), teclas clave, etc. La sección del cuerpo se define con los commandos <BODY> y </BODY>. Contiene el texto de la página y todos los comandos embebidos. Por ejemplo, a continuación se muestra un documento HTML simple: Note que todo el contenido del documento se encuentra encerrado entre los comandos <HTML> y </HTML> lo cual indica que esta es una página Web. Los espacios en blanco son ignorados por el navegador en cuanto se presenta la página. Por lo que, la página mostrada arriba puede ser también como sigue:

<HTML> <HEAD>

<TITLE> Página Web del Controlador Festo FC34

</TITLE> </HEAD>

<BODY>

Controlador Festo FC34 </BODY>

</HTML>

Page 122: Programación con FST4

Win FST • Festo Didactic

122 HMI Development

Sin embargo, la primer version es más fácil de leer.

10.4 Creación de un documento HTML Los documentos HTML se pueden crear utilizando: • Un editor HTML o bien, • Un editor de texto simple. Los editores HTML están diseñados para crear documentos HTML utilizando una interfase gráfica de usuario. En otras palabras, puede crear un documento como si lo hiciera en Microsoft Word al teclear el texto, seleccionando diferentes tipos de letra e insertando imágenes, etc. Cuando se salva el documento, se convierte a comandos HTML y se graba como un documento HTML. Se encuentran disponibles varios editores. Sin embargo, debe puntualizarse que la traducción a HTML no siempre resulta perfecta en la versión HTML del documento que se mira diferente que la versión original. Aquí utilizaremos un editor de textos simple, llamado Notepad. Este editor está incluido en el sistema operativo Windows. 10.4.1 Creación de una página Web simple • Inicie Notepad dando clic en el botón de “INICIO” de Windows • Navegue a “Programas”, “Accesorios” y “Notepad” • Digite lo siguiente:

<HTML> <HEAD><TITLE>Página Web del Controlador Festo FC34</TITLE></HEAD> <BODY>Controlador Festo FC34</BODY></HTML>

<HTML> <HEAD>

<TITLE> Festo FC34 Controller Web Page

</TITLE> </HEAD>

<BODY>

Festo FC34 Controller </BODY>

</HTML>

Page 123: Programación con FST4

Festo Didactic • Win FST

123 HMI Development

• Note que los comandos pueden digitarse también con letras minúsculas. • Sin embargo, de manera convencional se teclean en mayúsculas para

hacer más fácil la diferencia con el resto del texto del documento. 10.4.2 Guardando el archivo HTML • Guarde el archivo como archivo HTML. • Esto requiere indicar la extension “htm” o “html” después del nombre

del archivo. • Notepad añadirá automáticamente la extensión “txt” a cualquier nombre

de archivo utilizado. Para evitar esto, encierre el nombre del archivo y la extensión en dobles comillas.

• Para guardar el archivo de un clic en “Archivo” y seleccione “Guardar como”.

• Navegue al directorio donde desee guardar el archivo. • Teclee “main1.htm” (incluyendo las dobles comillas) como nombre del

archivo y de clic en OK.

10.4.3 Visualización del documento HTML Puede visualizar un documento HTML utilizando un navegador como el Explorador para Internet de Microsoft o el navegador Netscape. Un navegador Web puede abrir una página Web • Localizada en el disco duro de la PC o, • Localizada en otra computadora a través de una red con un servidor

Web.

Page 124: Programación con FST4

Win FST • Festo Didactic

124 HMI Development

Actualmente, la página Web que acaba de crear se localiza en el disco duro de la PC (copia local). Por lo tanto, primeramente lo veremos desde el disco duro. Posteriormente, enviaremos la página al control servidor de la Web y lo veremos desde ahí. a. Vista de una página desde el disco duro local • Ejecute el explorador de Internet dando un clic en el botón de “Inicio” de

Windows • Navegue a la opción “Programas” y a “Internet Explorer”. • De un clic en el menu “Archivo” del explorador de Internet y seleccione

“Abrir”. • De un clic en “Examinar” para localizar el archivo y de un clic en OK. • La página se mirará como se indica a continuación:

• Esta página no luce tan interesante pero nos muestra los conceptos

básicos de la creación y vista de una página HTML. b. Vista de una página desde el servidor Web FC34 Ahora enviaremos esta página Web al controlador FC34. Ahora, utilizando el explorador le pediremos al servidor Web FC34 que nos entregue la página a través de la red. En este ejemplo, la página Web estará localizda en el controlador FC34. Para enviar la página al controlador FC34: • Inicie el programa WinFST. • Seleccione “File Transfer” del menú “Online”. • Esto iniciará la opción de transferencia de archivo y le mostrará los

archivos que actualmente se encuentran en el disco virtual A del control FC34.

• Cambie al drive B que es donde los archivos del servidor Web se almacenan.

Page 125: Programación con FST4

Festo Didactic • Win FST

125 HMI Development

• The default display mode of the utility is “List”. • Change it to “Details” by clicking the last button on its toolbar. • This will show the file extensions, size and date information. • Click the download button (the one with blue arrow pointing down). • Navigate to the “main1.htm” Web page file on the hard drive of the PC. • Select the file and click “Open”. • This will download the file to the FC34. You should see the file in the

listing of virtual drive B of the FC34.

To view the Web page on the FC34 controller: • Start Internet Explorer.

Page 126: Programación con FST4

Win FST • Festo Didactic

126 HMI Development

• Enter the IP number of your FC34 controller followed by the name of the Web page at the URL address.

• For example,

http://140.131.170.2/main1.htm (substitute your own IP number)

• The page will be delivered to your browser over the network by the FC34

Web server. Please note: • The Explorer has to be configured in a way that it allows to search for

WEB pages within the network not necessarily via a modem or similar.

10.5 Simple Web Page with Embedded CI Commands The Web server can interpret CI commands embedded as tags in an HTML document. As a result, when you are designing a Web page, you can use the CI commands as if they were HTML tags. When the Web server delivers the Web page, it first goes through the document and replaces all the embedded CI tags with the current values of the registers. Then, it delivers the page to the browser requesting it. This mechanism allows us to develop web pages that can be used to remotely monitor the station. 10.5.1 Basic Web Page with Embedded CI Commands We will modify the “main1.htm” file that was created in the previous section of this chapter to use an embedded CI command to view an input register: • Open the “main1.htm” file with Notepad.

Page 127: Programación con FST4

Festo Didactic • Win FST

127 HMI Development

• Modify the file as follows: • The <BR><BR> tags insert two blank lines in the page after the “Festo

FC34 Controller” text. • The embedded CI command <FSTCI DEW0> will be replaced by the

current value of the input word zero when the page is requested from the controller Web server by the browser.

• Save the file as “main2.htm” (with the quotation marks !). • Download it to the FC34 using the “File Transfer” utility of FST (as

explained in the previous section). • Run the Internet Explorer and enter your FC34 IP number followed by the

main2.htm filename as the URL:

• Notice how the embedded <FSTCI DEW0> tag is replaced by number 5

(the current value of the input register)

<HTML> <HEAD>

<TITLE> Festo FC34 Controller Web Page

</TITLE> </HEAD>

<BODY>

Festo FC34 Controller <BR><BR> This is Input Word 0: <FSTCI DEW0>

</BODY> </HTML>

Page 128: Programación con FST4

Win FST • Festo Didactic

128 HMI Development

10.5.2 Repeated Inquiries to the Web Server A Web server delivers a Web page to the requesting browser and the browser renders the page formatting it with the embedded tags. This is a static mechanism of content delivery. After the page is delivered to the browser, if the state of the station changes the change will not be reflected in the Web page currently being viewed unless the user hits the refresh button of the browser. Even then, it is not guaranteed that the content will be updated because, by default, the browser will make a copy of the Web page (cache the page) on the local hard drive when it is first delivered. Later, if the refresh button is pressed, it will get the cached copy and display it instead of requesting the Web server to deliver the document over the network again. This mechanism was developed to help reduce network traffic. Remember that the controller Web server goes through the requested Web page and replaces the embedded CI commands with the current values of registers. Therefore, unless we force the browser to request a copy of the same page from the Web server again, we will not get an updated page reflecting the current state of the register. A simple way of requesting the Web server to deliver the page repeatedly is to use the Refresh HTML meta tag. This tag has the following format and must be placed in the head section of an HTML document: <META http-equiv=”refresh” content=”3”> This tag tells the browser to request the current file from the Web server every 3 seconds. • Open the “main2.htm” file and place the above meta tag into the head

section of the HTML document

Page 129: Programación con FST4

Festo Didactic • Win FST

129 HMI Development

• Save the file and download it to the FC34 using the “File Transfer” utility

of FST. • Run the Internet Explorer and enter your FC34 IP number followed by the

main2.htm filename as the URL. • You should see the Web page being refreshed every 3 seconds and

therefore, the input word being updated. • However, sometimes it is hard to correlate the input word to the current

state of the station since the station may change its state faster than the Web page can be updated.

10.6 Advance Web Page with Embedded CI Commands The Web server in the controllers can serve relatively advanced Web pages with embedded graphics and other design elements in them. However, the controller’s CPU and memory limitations have to be kept in mind while designing pages with embedded graphics. In this section you will learn how to design an advanced Web page with embedded graphics for FC34. The page will display the status of all FC34 input and output registers.

<HTML> <HEAD>

<TITLE> Festo FC34 Controller Web Page

</TITLE> <META http-equiv=”refresh” content=”3”> </HEAD>

<BODY>

Festo FC34 Controller <BR><BR> This is Input Word 0: <FSTCI DEW0>

</BODY> </HTML>

Page 130: Programación con FST4

Win FST • Festo Didactic

130 HMI Development

10.6.1 Design of an Advanced Web Page The advanced Web page you will design in this section will have the following layout. We will be designing a web page based on our earlier project of the Lifting Device.

The design will have a title and a table that displays all input and output registers of the Lifting Device. Using such a page it is possible to monitor the station remotely over a network such as the Internet. The HTML code is as follows:

<HTML> <HEAD> <TITLE> Lifting Device Remote Monitor </TITLE> <META http-equiv="Content-Type"content="text/html;charset=iso-8859-1"> <META http-equiv="refresh"content="3"> </HEAD> <BODY bgcolor="#CCCCCC"> <DIV align="center"> <H2><FONT color="#0000CC">Lifting Device Remote Monitor</FONT></H2> <HR width="80%" align="center"> <BR>

Page 131: Programación con FST4

Festo Didactic • Win FST

131 HMI Development

<TABLE width="80%" border="1"align="center"> <TR> <TD width="50% bgcolor="#CCCC99"valign="middle"> <H3 align="center"><FONT color="336633">Inputs</FONT></H3> </TD> <TD width="50% bgcolor="#CCCC99"valign="middle"> <H3 align="center"><FONT color="336633">Outputs</FONT></H3> </TD> </TR> <TR> <TD width="50% valign="top" height="222" bgcolor="#DDDDDD"align="center"> <PRE><FONT color="#000000"> Start Button (E0.0):<FSTCI DE0.0> Cylinder 1A Back (E0.1):<FSTCI DE0.1> Cylinder 1A Forward (E0.2):<FSTCI DE0.2> Cylinder 2A Back (E0.3):<FSTCI DE0.3> Cylinder 2A Forward (E0.4):<FSTCI DE0.4> AutoMan Switch (E0.5):<FSTCI DE0.5> Stop Button (E0.6):<FSTCI DE0.6> Reset Button (E0.7):<FSTCI DE0.7> Emergency Stop Button (E1.0):<FSTCI DE1.0> (E1.1):<FSTCI DE1.1> (E1.2):<FSTCI DE1.2> (E1.3):<FSTCI DE1.3> </FONT></PRE> </TD> <TD width="50% valign="top" height="222" bgcolor="#DDDDDD"align="center"> <PRE><FONT color="#000000"> Cylinder 1A Solenoid (A0.0):<FSTCI DA0.0> Cylinder 2A Solenoid (A0.1):<FSTCI DA0.1> Start Lamp (A0.2):<FSTCI DA0.2> Stop Lamp (A0.3):<FSTCI DA0.3> Reset Lamp (A0.4):<FSTCI DA0.4> (A0.5):<FSTCI DA0.5> (A0.6):<FSTCI DA0.6> (A0.7):<FSTCI DA0.7> </FONT></PRE> </TD> </TR> </TABLE> </DIV> </BODY> </HTML>

Page 132: Programación con FST4

Win FST • Festo Didactic

132 HMI Development

10.6.2 Creating, Downloading and Viewing the Page To create this page: • Start the Notepad editor by clicking the “START” button of Windows and

by selecting Programs, Accessories, Notepad. • Type the HTML code for the page exactly as shown in the listing. • Save the file as “main3.htm” (do not forget to use the quotes when

saving). To download the page to the FC34: • Start the FST software and select File Transfer from the Online menu. • This will start the file transfer utility to send the files to the FC34. • Make sure that the virtual drive B is selected. This is where the Web

server looks for files.

• Click on the download button (with the downward blue arrow) and

navigate to the “main3.htm” file on your hard drive. • Click OK to download to the FC34. To view the page, • Start the Internet Explorer browser. • Type the IP address of your FC34 controller followed by the “main3.htm”

file name. • In this chapter, we used:

http://140.131.170.2/main3.htm (Use your own IP address) Press the “START” button of the Lifting Device and observe the changing states of its inputs and outputs on the Web page.

Page 133: Programación con FST4

Festo Didactic • Win FST

133 HMI Development

Chapter 11 HMI Development

Page 134: Programación con FST4

Win FST • Festo Didactic

134 HMI Development

Page 135: Programación con FST4

Festo Didactic • Win FST

135 HMI Development

11 HMI Development 11.1 HTML Forms HTML is the standard language used to design Web pages. Earlier Web pages displayed static information that was coded into the page by its designer using HTML tags. However, as the technology advanced, Web pages started to have dynamic content that changed based on the browser used, interactions of the user with various features of the page, etc. One design element used in making a Web page dynamic is a FORM. Forms allow users to enter information into a Web page. Forms can contain various other types of elements such as buttons, drop-down lists, areas to enter text, etc. that are all associated with receiving information from the user. Design of a Web page with a functioning form requires two components to work together: • A Web page with a form and associated elements to collect input data

from the user; and • A program that can receive the collected data and process it. A typical Web page with a form can process the user input data by either sending it to a program running on a server (typically called a CGI program) or can process the data on the client machine that the user is using with the help of a scripting language such as JavaScript or VBScript. In this chapter, we will use client-side processing with JavaScript. Specifically, we will explore the relationship between HTML forms and JavaScript to implement dynamic Web pages. Using this technology, we will implement human-machine interfaces (HMI) for the Lifting Device.

11.2 HTML <Form> Tag and Form Elements The <FORM> tag in a Web page signals the beginning of a form in the page. A typical form contains various elements such as buttons, combo boxes (drop-down lists), radio buttons, areas for text entry, etc. Some form elements have a set of “events” that they can generate. For example, the button element has an “onClick” event that it generates when the user clicks on it. The Web page can react to the user clicking the button through a so called “event handler.” An event handler is a script (program) that is run when the button is clicked. In this chapter we will look at some of these elements. For more detailed coverage, please refer to a book on HTML or JavaScript.

Page 136: Programación con FST4

Win FST • Festo Didactic

136 HMI Development

11.2.1 Button Element When creating buttons, an event or action is activated. The text is written within the <FORM> and </FORM> tags. This is placed within the Web page where the user input will be received through the button element. Use the following tag: <INPUT type=”button” name = “Cylinder 1A Out” value=”Cylinder 1A Out” onClick=””CISend (‘A0.0’,’1’)”> The <INPUT> tag specifies that this is an input field. The tag has various attributes:

Attribute Definition

Type Specifies that this will be a button

Name Assigns a name to the button object. Later this name can be used in a script (program) to refer to the button object

Value Label displayed on the button

onClick Click event generated by the button to call the action or event handler when the user clicks the button

Page 137: Programación con FST4

Festo Didactic • Win FST

137 HMI Development

11.2.2 Checkbox Element Checkbox is designed for the user to check it. When the checkbox is checked, its value is set to “1”. This value can later be examined by a script to determine whether the checkbox was checked or not. Use the following tag: <INPUT type=”button” name = “Cylinder 1A Out” value=”Cylinder 1A Out” onClick=””CISend (‘A0.0’,’1’)”> Attributes of the tag are:

Attribute Definition

Type Specifies that this will be a checkbox

Name Assigns a name to the checkbox object. Later this name can be used in a script (program) to refer to the checkbox object

Value Is the value that will be sent to the processing program when the checkbox is checked.

11.2.3 Textbox Element For the textbox, the user can enter details. The text entered by the user, can later be examined by a script. Attributes of the tag are:

Attribute Definition

Type Specifies that this will be a text box

Name Assigns a name to the text box object. Later this name can be used in a script (program) to refer to the text box object

Maxlength Determines the width of the text box. It also limits the maximum number of characters that can be typed into the text box by the user.

11.3 Remote Device Control with an HMI With the understanding of the HMI forms, we will now look at how to send commands from a Web page to the lifting device to control the device remotely over the Internet.

Page 138: Programación con FST4

Win FST • Festo Didactic

138 HMI Development

11.3.1 CISend and CISend2 Javascript Function Remote control of the station can be accomplished by sending appropriate CI commands to the station as a result of user interactions with a Web page. This requires development of a JavaScript function that can parse a string to form the necessary CI command for the controller. Here we will use two CI commands a. CISend The “CISend()” function has two arguments. The “Operand” is the CI command to be sent to the controller. The “Value” is the parameter value for the command. For example, if we want to send MAW0 with a parameter value of “0” (turning all outputs OFF), we could use the following function call:

CISend(‘AW0’, ‘0’) The function then takes these arguments and first checks the “value” that was passed to it to make sure that it is acceptable. Then, it forms a query string to the controller Web server to deliver the CI command to the station. b. CISend2 In many situations it is necessary or suitable to send more than just one CI command. The following example combines two CI commands into one function call so that we have 4 arguments: 2 operands and 2 parameters. To use this function it is very simple to modify the 2 coils of a valve in one call. Both functions are saved in a single file so that each function can be added to any HTML document by simply referring to this file from the HTML document (as shown in the next section). For this book, the functions are saved into “Fst.js” file. Note that this file must be in the same directory as the Web page that is referring to it.

CISend2(‘Operand1’, ‘Value1’, ‘Operand2’, ‘Value2’ ) 11.3.2 Creating a Javascript File Here we will create a javascript file called Fst.js. This file will be placed into the same web page directory. The CISend and CISend2 scripts will be placed in this file. Create the file in the same way as you created the html file, using Notepad. • Open Notepad and create the file as shown. • Save the file as “fst.js”

Page 139: Programación con FST4

Festo Didactic • Win FST

139 HMI Development

• You need to download this file to the controller if you intend to use the CISend and CISend2 functions in your HTML file.

// CISend sends a modify command to the web server // Parameters: // Operand: for example MW0 // Value function CISend(Operand,Value) { var found; var href; if ( Value == "NaN" ) { alert("Value is not a number"); return; } // Verify variable value if ( (Value < -65535) || (Value > 65535) ) { alert("Allowed range for value is -65535 to 65535"); return; } // Strip previous modify command from URL href = this.location.href; found = href.indexOf("?"); if ( found > 0 ) { href = href.substring(0, found); } // Now add modify command to URL and reload this.location.href = href + "?ci:" + "M" + Operand + "=" + Value; } // CISend2 sends 2 modify command to the web server // Parameters: // Operand1: for example MW0 // Value1 // Operand2: for example MW1 // Value2 function CISend2(Operand1,Value1,Operand2,Value2) { var found; var href; if ( Value1 == "NaN" ) { alert("Value1 is not a number"); return; } // Verify variable value1 if ( (Value1 < -65535) || (Value1 > 65535) ) { alert("Allowed range for value1 is -65535 to 65535"); return; } if ( Value2 == "NaN" ) { alert("Value2 is not a number"); return; }

Page 140: Programación con FST4

Win FST • Festo Didactic

140 HMI Development

// Verify variable value2 if ( (Value2 < -65535) || (Value2 > 65535) ) { alert("Allowed range for value2 is -65535 to 65535"); return; } // Strip previous modify command from URL href = this.location.href; found = href.indexOf("?"); if ( found > 0 ) { href = href.substring(0, found); } // Now add modify command to URL and reload this.location.href = href + "?ci:" + "M" + Operand1 + "=" + Value1 + ";M" + Operand2 + "=" + Value2; } // CISendStr sends a modify string command to the web server // Parameters: // Operand: for example 3 // Value function CISendStr(Operand,Value) { var found; var href; // Strip previous modify command from URL href = this.location.href; found = href.indexOf("?"); if ( found > 0 ) { href = href.substring(0, found); } // Now add modify command to URL and reload this.location.href = href + "?ci:" + "!3M" + Operand + "=" + Value; } // CISendStr sends a modify string command to the web server // Parameters: // Operand: for example 3 // Value function CISetAndSendStr(Operand,Value,StringNumber,StringText) { var found; var href; if ( Value == "NaN" ) { alert("Value is not a number"); return; } // Verify variable value if ( (Value < -65535) || (Value > 65535) ) { alert("Allowed range for value is -65535 to 65535"); return; }

Page 141: Programación con FST4

Festo Didactic • Win FST

141 HMI Development

11.4 Remote Operation of the Lifting Device Let’s develop a Web page with the following features: • Starting the Lifting Device • Stopping the Lifting Device • Extend Cylinder 1A • Retract Cylinder 1A • Extend Cylinder 2A • Retract Cylinder 2A To control the functions we will use the function CISend( ). The web page should look like this. After writing the script, remember to download the file and the fst.js file to the controller.

// Strip previous modify command from URL href = this.location.href; found = href.indexOf("?"); if ( found > 0 ) { href = href.substring(0, found); } // Now add modify command to URL and reload this.location.href = href + "?ci:" + "M" + Operand + "=" + Value + ";!3M" + StringNumber + "=" + Stringtext; }

Page 142: Programación con FST4

Win FST • Festo Didactic

142 HMI Development

11.4.1 Creating the Buttons We have to create six buttons; four for the cylinder activation and two for the start and stop function. For the activation of the cylinders it is quite straight forward as we need to activate the output only. We can use the CISend function to activate the relevant output (A0.0 and A0.1). We will have these two lines in the javascript:

<td bgcolor="#e0e0e0"> <form> <DIV align="center"> <input type="button" value="Cylinder 1A Forward" onclick="CISend('A0.0', '1')"> <input type="button" value=" Cylinder 1A Return " onclick="CISend('A0.0', '0')"> </DIV> </form> </td> <td bgcolor="#e0e0e0"> <form> <DIV align="center"> <input type="button" value="Cylinder 2A Forward" onclick="CISend('A0.1', '1')"> <input type="button" value=" Cylinder 2A Return " onclick="CISend('A0.1', '0')"> </DIV> </form> </td>

Page 143: Programación con FST4

Festo Didactic • Win FST

143 HMI Development

For the start and stop buttons it is different, we need to use flags to activate the inputs. It is not possible to activate the inputs directly as the signal might not be going in at the right time as the page refreshes. It is usual to set a flag and use this flag to start and stop your program. The javascript is as follows: We also need to modify our Win FST program to include the two flags. The modification is made in the “Main Organisation Program”. This means that the process can be started by pressing the actual buttons or the buttons on the web page. Remember to declare them in the Allocation List.

<td bgcolor="#e0e0e0"> <form> <DIV align="center"> <input type="button" value=" Start Button " onclick="CISend('MW30', '1')"> <input type="button" value=" Stop Button " onclick="CISend('MW30', '2')"> </DIV> </form> </td>

Page 144: Programación con FST4

Win FST • Festo Didactic

144 HMI Development

Main Organisation Program of the Lifting Device

STEP Initial THEN SET P2 ‘Blinking Program STEP Start IF iEStop ‘Emergency Stop Button THEN JMP TO Emergency IF FBlink1 ‘0.25s Blinks THEN SET oStart ‘Start Lamp OTHRW RESET oStart ‘Start Lamp IF iStart ‘Start Button OR Fstart ‘Start Flag AND B1 ‘Cylinder 1A Back AND B3 ‘Cylinder 2A Back THEN SET P1 ‘Sequence Program RESET oStart ‘Start Lamp STEP Stop IF iEStop ‘Emergency Stop Button THEN JMP TO Emergency IF FBlink2 ‘0.5s Blinks THEN SET oStop ‘Stop Lamp OTHRW RESET oStop ‘Stop Lamp IF iStop ‘Stop Button OR Fstop ‘Stop Flag THEN SET FCStop ‘Cycle Stop RESET FStart ‘Start Flag RESET Fstop ‘Stop Flag IF N P1 ‘Sequence Program THEN RESET FCStop ‘Cycle Stop RESET oStop ‘Stop Lamp JMP TO Start

Page 145: Programación con FST4

Festo Didactic • Win FST

145 HMI Development

11.4.2 The Complete HTML File

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title> FST Web Server </title> <meta name="Author" content="Edward Gasper"> <script language="JavaScript" src="fst.js"> </script> </head> <body> <table width="100%"> <tr> <td align=center> <b><H2> Lifting Device Remote Monitor </b></H2> </td> <td align=right width="25%"> <a href="http://www.festo.com" target="_Blank"><img src = "http_in_logof.gif"

alt="Festo" border=0 height=15 width=83></a> </td> </tr> </table> <br> <table width="50%" border="0" cellspacing="0" cellpadding = "0" align = "center"> </tr> <tr> <td width="15%" bgcolor="#CCCCCC"> <div align="center"><B><font face="Vendana, Arial, Helvetica, sans-serif" size="2" color="#0000CC">Cylinder 1A</font></B></div> </td> <td width="15%" bgcolor="#CCCCCC"> <div align="center"><B><font face="Vendana, Arial, Helvetica, sans-serif" size="2" color="#0000CC">Cylinder 2A</font></B></div> </td> <td width="15%" bgcolor="#CCCCCC"> <div align="center"><B><font face="Vendana, Arial, Helvetica, sans-serif" size="2" color="#0000CC">Switches</font></B></div> </td> </tr> <br> <tr> <td bgcolor="#e0e0e0"> <form>

<DIV align="center"> <input type="button" value="Cylinder 1A Forward" onclick = "CISend('A0.0', '1')"> <input type="button" value=" Cylinder 1A Return " onclick = "CISend('A0.0', '0')"> </DIV> </form> </td>

Page 146: Programación con FST4

Win FST • Festo Didactic

146 HMI Development

<td bgcolor="#e0e0e0"> <form> <DIV align="center"> <input type="button" value="Cylinder 2A Forward" onclick = "CISend('A0.1', '1')"> <input type="button" value=" Cylinder 2A Return " onclick= "CISend('A0.1', '0')"> </DIV> </form> </td> <td bgcolor="#e0e0e0"> <form> <DIV align="center"> <input type="button" value=" Start Button " onclick= "CISend('MW30', '1')"> <input type="button" value=" Stop Button " onclick= "CISend('MW30', '2')"> </DIV> </form> </td> </tr> </table> <br> <table width="70%" border="1"align="center"> <tr> <td width="35% bgcolor="#CCCC99"valign="middle"> <H3 align="center"><font color="336633">Inputs</font></H3> </td> <td width="35% bgcolor="#CCCC99"valign="middle"> <H3 align="center"><FONT color="336633">Outputs</font></H3> </td> </tr> <tr> <td width="35% valign="top" height="222" bgcolor="#DDDDDD"align="center">

<pre><font color="#000000"> Start Button (E0.0):<FSTCI DE0.0> Cylinder 1A Back (E0.1):<FSTCI DE0.1> Cylinder 1A Forward (E0.2):<FSTCI DE0.2> Cylinder 2A Back (E0.3):<FSTCI DE0.3> Cylinder 2A Forward (E0.4):<FSTCI DE0.4> AutoMan Switch (E0.5):<FSTCI DE0.5> Stop Button (E0.6):<FSTCI DE0.6> Reset Button (E0.7):<FSTCI DE0.7> Emergency Stop Button (E1.0):<FSTCI DE1.0> </font></pre> </td>

Page 147: Programación con FST4

Festo Didactic • Win FST

147 HMI Development

Save the file and download it to the controller. When downloading the file to the controller remember to also download the Fst.js file.

<td width="35% valign="top" height="222" bgcolor="#DDDDDD"align="center"> <pre><font color="#000000"> Cylinder 1A Solenoid (A0.0):<FSTCI DA0.0> Cylinder 2A Solenoid (A0.1):<FSTCI DA0.1> Start Lamp (A0.2):<FSTCI DA0.2> Stop Lamp (A0.3):<FSTCI DA0.3> Reset Lamp (A0.4):<FSTCI DA0.4> </font></pre> </td> </tr> </table> </body> </html>

Page 148: Programación con FST4

Win FST • Festo Didactic

148 Project Flow Chart

Page 149: Programación con FST4

Festo Didactic • Win FST

149 Project Flow Chart

Chapter 12 Project Flow Chart

Page 150: Programación con FST4

Win FST • Festo Didactic

150 Project Flow Chart

Page 151: Programación con FST4

Festo Didactic • Win FST

151 Project Flow Chart

12 Project Flow Chart 12.1 Project Flow Chart

Start Up Win FST Double-Click on Icon or Start from Program Menu

Create New Project Double-Click on Icon or “New Project” from File Menu

Type In Project Name Type in Your Project Name and Click “OK”

Type in Your Comments (Optional)

Type in Your Comments if You Wish and Click “OK”

Choose Controller In the New Dialog Box, Choose Your Controller and Click “OK”

Create Program

Click “Insert”, “New Program” or “Program”, “New”

Type “Number”, “Version” and “Comments”

Number – Program Number Version – Program Version Number

Comments – Program Name

Set IO Configuration

Double-Click on “IO Configuration” Right-Click in the Screen Click “Insert IO Module”

Choose PLC Identify “OW” and “IW”, usually “0”

Click “OK” Close Window

Or Right-Click on “Program” and Click on “Insert Program”

Declare Variables

Double-Click on “IO Configuration” Right-Click and Click “Insert

Operand” or Press “Insert Key” Type in “Absolute”. “Symbolic”

Operands and “Comment” “Absolute Operand” is Compulsory

Page 152: Programación con FST4

Win FST • Festo Didactic

152 Project Flow Chart

Check Program

Your Program Must be Open Click “Compile Active Module” Icon

or Press [Ctrl] + [F7]

Check for Errors If there is an Error, it Will be Displayed. Remove All Errors

Download the Program Click on “Download Project” icon or Press [F5]

Run Program Switch On PLC and Run Program

Compile the Project Click “Make Project” Icon or Press [F7]

Write Program

Double-Click on the Program You Created

Write Your Program in STL You Can Type in the Operand or

Right-Click and “Insert Operand”

Build the Project Click “Build Project” Icon

Set Controller Settings

Double-Click on “Controller Settings” in Project Tree Window

Tick “Autostart” box Click “Download” Tab

Tick “Download Source File” Click “OK”

Set Preferences

Click on “Extra” and “Preferences” from the Menu Bar

Choose “Communications Port” Select Correct COM Port Set Baud Rate t “9600”

Click “OK”

OnLine Display for

Program

Right-Click on “Program” and Click “Online”

You Can Switch Between “Online” and “Editor” Anytime

Page 153: Programación con FST4

Festo Didactic • Win FST

153 Project Flow Chart

Backup Project

Click on “Project” Click on “Backup”

Choose Project Choose Location

Click “Save”

OnLine Display for Operands

Click on “Online Display” Icon You Can Force the Operands by

Clicking the Respective Bits

Restore Project

Click on “Project” Click on “Restore”

Choose File Click “Open”

Click “OK”

Quit

Click on “Project” Click “Exit”

If Project has Not been Saved, You Will be Prompted