You are on page 1of 153

1

Contenido

El lenguaje de programacin
Win FST 4.10 para PLCs

Programando con Win FST


Festo Didactic Win FST

2
Tabla de contenido

Edicin: Autor: Traduccin: 2002

01/2004 Edward Gasper Cristbal Jimnez, Festo Mxico by Festo Didactic GmbH & Co.,

Rechbergstrae 3, D-73770 Denkendorf


Todos los derechos reservados, incluyendo los derechos de traduccin. Ninguna parte de esta publicacin puede ser reproducida o transmitida de ninguna manera o por cualquiera de los medios, electrnico, mecnico, fotocopiado, o de alguna otra manera, sin el consentimiento previo escrito por parte de Festo Didactic.

Partes de esta publicacin pueden ser copiadas por los usuarios autorizados con el nico propsito de entrenamiento.
Win FST Festo Didactic

3
Contenido

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

Primeros pasos
1
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13

Primeros pasos

Iniciando el software Win FST .............................................. 9 Creacin de un nuevo proyecto............................................ 9 Creacin de un programa .....................................................11 Configuracin de las Entradas/Salidas ................................12 Declaracin de las variables.................................................14 Escritura de un programa.....................................................16 Verificacin de un programa ................................................17 Compilacin y construccin de un programa........................18 Configuracin del Controlador .............................................20 Transferencia del Programa al PLC .......................................22 Monitoreo en lnea...............................................................22 Respaldo y restauracin de proyectos .................................24 1.12.1 Respaldo .................................................................24 1.12.2 Restauracin ...........................................................25 Salida del programa.............................................................26

Programacin en Lista de Instrucciones


2
2.1 2.2 2.3 2.4 2.5 2.6 2.7

Programacin en Lista de Instrucciones...................... 29


Introduccin.........................................................................29 Elementos del STL................................................................29 2.2.1 Paso ........................................................................29 2.2.2 Instrucciones ...........................................................29 La instruccin STEP..............................................................30 Una frase dentro de un paso ................................................30 Varias frases dentro de un paso...........................................31 Ejecucin de un paso con la instruccin OTHRW ..................32 Utilizacin del comando ELSE en lugar del OTHRW ..............32

Comandos estndar utilizados en STL


3
3.1 3.2

Comandos estndar utilizados en STL ........................ 35


Introduccin.........................................................................35 Lista de palabras clave.........................................................35 3.2.1 Transferencia de Instrucciones en STL .....................35 3.2.2 Instrucciones lgicas en STL ....................................36

Festo Didactic Win FST

4
Tabla de contenido

Inicio del proyecto Dispositivo de elevacin


4
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10

Inicio del proyecto Dispositivo de elevacin ........... 39


Introduccin.........................................................................39 Creacin del proyecto y del programa en WinFST .................40 Configuracin de E/S ...........................................................40 Declaracin de los programas ..............................................41 Escritura del programa.........................................................41 Verificacin del proyecto......................................................43 Elaboracin y construccin del proyecto ..............................43 Ajustes del controlador ........................................................44 Carga del programa al PLC ...................................................45 Monitoreo en lnea ...............................................................46

Utilizacin de temporizadores
5
5.1 5.2 5.3

Utilizacin de temporizadores .................................... 51


Introduccin.........................................................................51 Utilizacin de la funcin de ayuda........................................51 Aplicacin de un temporizador en el proyecto......................52

Utilizacin de contadores
6
6.1 6.2 6.3

Utilizacin de contadores............................................ 57
Introduccin.........................................................................57 Utilizacin de la funcin de conteo.......................................57 Aplicacin del contador en nuestro proyecto .......................58

Multitarea
7
7.1 7.2

Multitarea.................................................................... 63
Introduccin.........................................................................63 Trminos asociados con la Multitarea ..................................63 7.2.1 CFM Llamada a mdulo de funcin........................64 7.2.2 CMP Llamada a mdulo de programa ....................64 7.2.3 Llamado de un mdulo ............................................65 7.2.4 Llamado de programas ............................................66 Utilizacin de banderas........................................................66 Utilizacin del mdulo de seal intermitente (Blink) ............66 Tarea de control inicial .........................................................69 7.5.1 Lista de asignaciones...............................................69 Estructura de los proyectos y de los programas ...................70 7.6.1 Arbol del proyecto ...................................................70 7.6.2 Programa de organizacin principal.........................70 7.6.3 Programa de secuencia............................................71
Win FST Festo Didactic

7.3 7.4 7.5 7.6

5
Contenido
7.7 7.8 Requerimientos adicionales de control ................................71 7.7.1 Lista de asignaciones ..............................................72 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 generacin de seal intermitente........76

Redes de Comunicacin
8
8.1 8.2 8.3 8.4

Redes de Comunicacin............................................... 81
Introduccin.........................................................................83 Verificacin de la direccin de su PC ....................................83 Localizacin de una direccin IP libre para sus PLCs...........84 Modificacin de la direccin IP de sus PLCs ........................84 8.4.1 Configuracin de E/S ...............................................87 8.4.2 Configuracin del Controlador .................................88 8.4.3 Carga del proyecto y de los Drivers al PLC ...............89 Conexin de par de cables trenzados...................................90 Verificacin de la Comunicacin...........................................90 Comunicacin con el Controlador.........................................91

8.5 8.6 8.7

Utilizacin de Ethernet
9
9.1 9.2

Utilizacin de Ethernet ................................................ 93


Introduccin.........................................................................91 Programacin va Ethernet...................................................95 9.2.1 Importacin de Mdulos..........................................95 9.2.2 Mdulo IP_TABLE ....................................................97 9.2.3 Mdulo EASY_R .......................................................98 9.2.4 Mdulo EASY_S .......................................................99 Programacin simple utilizando Ethernet.............................99 9.3.1 Tarea de control.......................................................100 9.3.2 Componentes de la Estacin A.................................100 9.3.3 Componentes de la Estacin B.................................100 9.3.4 Transferencia de datos ............................................101 9.3.5 Lista de asignaciones ..............................................101 9.3.6 Elaboracin del programa para le Estacin A ...........102 9.3.7 Programa principal para la Estacin A......................104 9.3.8 Programa de secuencia para la Estacin A...............106 9.3.9 Programa de seal intermitente para Estacin A......108 9.3.10 Elaboracin del programa para Estacin B...............108 9.3.11 Programa principal para Estacin B .........................110 9.3.12 Programa de secuencia para Estacin B ..................111 9.3.13 Programa de seal intermitente para Estacin B .....113

9.3

9.3.14 Carga y prueba del programa............................ 113


Festo Didactic Win FST

6
Tabla de contenido

Utilizacin del Servidor para WEB


10
10.1 10.2 10.3

Utilizacin del Servidor para WEB .............................. 115


Introduccin.........................................................................117 Configuracin para Acceso Remoto......................................117 Diseo de pginas Web con HTML .......................................120 10.3.1 Comandos HTML......................................................120 10.3.2 Comandos bsicos HTML .........................................120 10.3.3 Estructura bsica de una pgina HTML ....................121 Creacin de un Documento HTML ........................................122 10.4.1 Creacin de una Pgina Web Simple ........................122 10.4.2 Guardado del archivo HTLM .....................................123 10.4.3 Visualizacin de un Documento HTML .....................123 Pgina Web Simple con comandos CI embebidos ................126 10.5.1 Pgina Web Bsica con comandos CI embebidos.....126 10.5.2 Consultas Repetidas al Servidor Web.......................128 Pgina Web Avanzada con comandos CI embebidos ............129 10.6.1 Diseo de una pgina Web avanzada.......................130 10.6.2 Creacin, carga y visualizacin de la pgina ............132

10.4

10.5 10.6

Utilizacin del Desarrollo de HMI


11
11.1 11.2

Desarrollo de HMI ....................................................... 133


Formas HTML .......................................................................135 Etiqueta HTML <Form> y Elementos de Forma .....................129 11.2.1 Elemento Botn .......................................................130 11.2.2 Elemento Caja de prueba (Checkbox).......................131 11.2.3 Elemento caja de Texto ............................................131 Control Remoto de Dispositivos con un HMI.........................131 11.3.1 Funciones Javascript CISend y CISend2....................132 11.3.2 Creacin de un archivo Javascript ............................132 Operacin remota del Dispositivo de Elevacin....................135 11.4.1 Creacin de Botones ................................................136 11.4.2 El archivo completo HTML........................................138

11.3 11.4

Diagrama de flujo del Proyecto


12
12.1

Diagrama de flujo del Proyecto ................................... 143


Diagrama de flujo del Proyecto ............................................143

Win FST Festo Didactic

7
Primeros Pasos

Captulo1

Primeros Pasos

Festo Didactic Win FST

8
Primeros Pasos

Win FST Festo Didactic

9
Primeros Pasos

Win FST
Este manual est elaborado para quienes inician la programacin 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

Creacin de un nuevo proyecto

De un Click en [File],[New Project].

Festo Didactic Win FST

10
Primeros Pasos

La ventana de dilogo aparecer con el signo ? en el campo para la introduccin del nombre. Introduzca el nombre de su proyecto. De un Click en [OK] Una nueva ventana de dilogo aparecer para que introduzca los ajustes del proyecto.

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


Win FST Festo Didactic

11
Primeros Pasos
Tal vez desee aadir 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 navegacin por todo el proyecto.

1.3

Creacin 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 botn derecho del ratn en Program y dar un click en Insert Program Una ventana de dilogo aparecer.

Festo Didactic Win FST

12
Primeros Pasos

El nuevo programa que ha creado aparecer bajo la carpeta Program en el rbol del proyecto.

Win FST Festo Didactic

13
Primeros Pasos

1.4

Configuracin 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 dilogo. La pantalla estar en blanco.

Mueva al ratn a la pantalla y de un click derecho. De un Click en Insert IO Module Una nueva ventana de dilogo aparecer

Festo Didactic Win FST

14
Primeros Pasos
Escoja el PLC que est empleando.

Escoja 0 tanto para OW como para IW. ste es el nmero de palabra tanto para las entradas como para las salidas de la cual comenzaremos a direccionar. De un Click en OK Cierre la ventana.

Win FST Festo Didactic

15
Primeros Pasos

1.5

Declaracin 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 opcin Allocation List del rbol del proyecto. Aparecer una nueva pantalla con tres encabezados: Operando Smbolo Comentario Operand es la direccin absoluta que reconoce el PLC de las entradas y la salidas. Symbol es el operando simblico el cual le es familiar al programador. Comment son los comentarios acerca del operando en cuestin. Los operandos simblicos 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].

Festo Didactic Win FST

16
Primeros Pasos

1.6

Escritura del Programa

De un doble click en el programa que cre. Se abrir una ventana de programacin. Si tiene abierta ms de una ventana, sta se sobreposicionar.
Win FST Festo Didactic

17
Primeros Pasos
Junto con la ventana de programacin, 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 botn derecho del ratn y utilizar la opcin insert Operand. La ventana de la lista de asignaciones aparecer.

1.7

Verificacin del Programa

Despus de escribir el programa, puede verificarlo con el fin de detectar y corregir los posibles errors de sintaxis y de direccionamiento. Con esta funcin, 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]

Festo Didactic Win FST

18
Primeros Pasos

Compila el Mdulo activo

Entonces el programa es verificado. Los resultados de la verificacin aparecern en una nueva ventana de dilogo. 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 dnde se encuentra el error, al indicarle en qu lnea se encuentra dicho error. Para dirigirse al error en la lnea del programa correspondiente, de un doble clic en la lnea donde se list el error. Si ocurriesen varios errores, siempre corrija el primero y vuelva a compilar debido a que los dems 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 verificacin que hacen los procesadores de texto, pueden no haber errores de escritura pero el prrafo podra no tener sentido.

De doble clic aqu

Win FST Festo Didactic

19
Primeros Pasos

Lnea donde hay error

1.8

Compilacin y construccin 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 opcin 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

Festo Didactic Win FST

20
Primeros Pasos
Construir proyecto

1.9

Configuracin del controlador

Antes de cargar el programa, requiere configurar a su controlador De un doble clic en la opcin Controller Settings en la ventana del rbol del proyecto.

Win FST Festo Didactic

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 pestaa Download y seleccione la opcin Download Source File

Festo Didactic Win FST

22
Primeros Pasos

De un Clic en OK A continuacin abra la ventana Preferences del men [Extra] , [Preferences] Elija la pestaa Communications Port Elija el puerto COM y ajuste la velocidad de comunicacin Baudrate a 9600 bauds.

De un Click en OK
Win FST Festo Didactic

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). Despus 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]

Carga del proyecto

Aparecer una ventana de dilogo una vez que la carga se haya completado y si no existe algn error. Ejecute el programa moviendo el interruptor de Stop a Run.

1.11 Monitoreo en lnea


Puede ir a la opcin Online para monitorear al programa que se est ejecutando o para monitorear los operandos. De un clic derecho en la opcin Program en el rbol del proyecto y de un clic en la opcin Online, la ventana de su programa se abrir y estar en condiciones de ver cmo se ejecuta su programa. Puede conmutar entre el modo Editor y el modo Online en cualquier momento.

Festo Didactic Win FST

24
Primeros Pasos

Para ir a modo en lnea y ver los operandos, de un clic en el cono Online Display.

Monitoreo en lnea

Win FST Festo Didactic

25
Primeros Pasos
Note que puede forzar las salidas dando un clic a los bits respectivos . Sin embargo, sea cuidadoso cuando force dichas variables, asegrese de no ocasionar que su equipo afecte a otro equipo. Tambin recuerde desactivar todas las salidas una vez que haya terminado.

1.12 Respaldo y recuperacin de proyectos


Durante su trabajo de programacin, 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

Festo Didactic Win FST

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 Recuperacin (Restore)


Para respaldar un proyecto: De un Clic en Project De un Clic en Restore

Win FST Festo Didactic

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.

Festo Didactic Win FST

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.

Win FST Festo Didactic

29
Programacin en lista de insrucciones

Captulo 2

Programacin en Lista de Instrucciones

Festo Didactic Win FST

30
Programacin en lista de instrucciones

Win FST Festo Didactic

31
Programacin en lista de insrucciones

2 Programacin en Lista de Instrucciones


2.1 Introduccin

El lenguaje STL (Statement List) le permite al programador resolver tareas de control utilizando instrucciones simples en ingls para describir la operacin 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.
Parte condicional Parte ejecutiva

Step (Paso) Frase 2.2.1

Step (Paso)

A pesar de que el uso de la instruccin STEP es opcional, la mayora de los programadores la utiliza. La instruccin STEP se utiliza para marcar el comienzo de un bloque lgico de cdigo 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. Slo se require una etiqueta de paso cuando algn otro paso haga referencia al primero por medio de una instruccin de salto. Frases

2.2.2

La frase forma el nivel ms bsico dentro de la organizacin del programa. Cada frase est compuesta de una parte condicional y una parte ejecutiva

a. Parte condicional
La parte condicional para listar una o ms condiciones que tienen que ser evaluadas al momento de la ejecucin ya sea como verdaderas o falsas. Esta parte comienza regularmente con la instruccin IF (si condicional) y contina con una o varias frases las cuales describen las condiciones que sern evaluadas. Si las condiciones resultan verdaderas, entonces se llevarn a cabo todas las acciones programadas en la parte ejecutiva. Algunos ejemplos:

Festo Didactic Win FST

32
Programacin en lista de instrucciones
o o IF I0.1 IF I0.2 AND I0.3

b. Parte Ejecutiva
Esta es la seccin 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 instruccin STEP

En su forma ms simple, una instruccin STEP incluye al menos una Frase.

STEP (Etiqueta)

- La etiqueta puede ser de hasta 8 caracteres


I0.0 O0.3

alfanumricos
IF THEN SET

- Si la I0.0 est activa - Entonces enciende a la salida O0.3 y contina con el

siguiente paso

Es importante entender que el programa esperar en este paso hasta que las condiciones sean verdaderas y hasta entonces se llevarn a cabo las acciones. Slo hasta entonces el programa avanzar al siguiente paso.

2.4

Una frase dentro de un paso


- Etiqueta de hasta 8 caracteres alfanumricos
I0.0 O0.0

STEP Start IF THEN SET

- Parte condicional - Parte ejecutiva

STEP Stop IF THEN RESET I0.1 O0.0

El programa ejecutar el primer paso, STEP Start. Si la condicin I0.0 es verdadera, entonces efectuar la parte ejecutiva (Set O0.0) y proceder con el siguinete paso, STEP Stop. Si la condicin es falsa, esxperar en el paso Start.
Win FST Festo Didactic

33
Programacin en lista de insrucciones

2.5

Varias frases dentro de un paso

STEP Start IF THEN IF THEN IF THEN STEP Stop IF THEN RESET RESET RESET I0.1 O0.0 O0.1 O0.2 SET SET O0.1 SET I0.2 O0.2 I0.0 O0.0 I0.1

Primera frase Segunda frase Tercera frase

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 ejecucin 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 ejecucin 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, slo cuando la ltima frase del paso es verdadera, se proceder con el siguiente paso.

Festo Didactic Win FST

34
Programacin en lista de instrucciones

2.6

Ejecucin de un paso con la instruccin OTHRW (Otherwise)


- Etiqueta del paso de hasta 8 caracteres
I0.0 O0.0

STEP Start IF THEN SET OTHRW RESET O0.0 STEP Stop IF THEN I0.1 RESET O0.0

- Parte Condicional - Parte Ejecutiva - Parte Ejecutiva

El programa ejecutar el primer paso, STEP Start. Si la condicin 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 instruccin 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 accin SET O0.0 o RESET O0.0 y proceder con el siguiente paso.

2.7

Utilizacin 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 estn ms familiarizados con el comando ELSE por ser utilizado ms comnmente por los lenguajes de programacin de computadoras. Para utilizar el comando ELSE, necesita cambiar las preferencias. Vaya a la ventana Extras, Preferences y elija la opcin STL Editor Marque el cuadro Use ELSE instead of OTHRW. De un clic en OK

Win FST Festo Didactic

35
Comandos estndar utilizados en STL

Captulo 3

Comandos estndar utilizados en STL

Festo Didactic Win FST

36
Comandos estndar utilizados en STL

Win FST Festo Didactic

37
Comandos estndar utilizados en STL

3 Comandos estndar utilizados en STL


3.1 Introduccin

Los siguientes commandos son algunos de los ms utilizados en el lenguaje de Lista de Instrucciones.

3.2

Lista de comandos

3.2.1 Instrucciones de transferencia


Instruccin STEP IF THEN SET RESET JMP TO (Etiqueta de paso) NOP Descripcin La instruccin STEP se utiliza para marcar el comienzo de un bloque lgico de un cdigo de programa. Instruccin que marca el comienzo de la Parte Condicional de la frase. Instruccin que marca el inicio de la Parte Ejecutiva de la frase. La instruccin Set se utiliza para cambiar al estado lgico 1 de operandos mono bit. La instruccin Reset se utiliza para cambiar al estado lgico 0 de operandos mono bit. Hace que la ejecucin del programa contine al paso cuya etiqueta se ha especificado. Una instruccin especial la cual siempre es verdadera en la Parte Condicional de la frase. En la Parte Ejecutiva es equivalenete a No hagas nada

Festo Didactic Win FST

38
Comandos estndar utilizados en STL
OTHRW Permite continuar con la ejecucin del programa an cuando la parte condicional de la frase sea falsa.

3.2.2 Instrucciones lgicas en STL


Instruccin AND AND N OR OR N Descripcin Efecta la funcin lgica AND entre operandos mono bit, multi bit y constantes. Efecta la funcinn lgica AND NOT entre operandos mono bit, multi bit y constantes. Efecta la function lgica OR entre operandos mono bit, multi bit y constantes. Efecta la function lgica OR NOT entre operandos mono bit, multi bit y constantes. Permite la asignacin de operandos (mono bit o multi bit) y constantes hacia el acumulador mono bit o al acumulador multi bit. Decrementa a un operando multi bit/al acumulador

LOAD

DEC

INC

Incrementa a un operando multi bit/al acumulador Es la function negacin. Le permite invertir una condicin de entrada.

Win FST Festo Didactic

39
Inicio del proyecto Dispositivo de Elevacin

Captulo 4

Comenzando con el Dispositivo de Elevacin

proyecto

Festo Didactic Win FST

40
Comenzando el proyecto Dispositivo de Elevacin

Win FST Festo Didactic

41
Inicio del proyecto Dispositivo de Elevacin

4 Comenzando con el Proyecto Dispositivo de Elevacin


4.1 Introduccin

En este manual comenzaremos con el proyecto del dispositivo de elevacin 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 vstago y acto seguido se retraer el vstago del cilindro 1A.

A continuacin se muestra la lista de asignaciones:

Simblico
SB B1 B2 B3 B4 Y1 Y2

Absoluto
I0.0 I0.1 I0.2 I0.3 I0.4 O0.0 O0.1

Comentarios
Botn de marcha Cilindro 1A retrado Cilindro 1A extendido Cilindro 2A retrtado Cilindro 2A extendido Solenoide para el cilindro 1A Solenoide para el cilindro 2A

Festo Didactic Win FST

42
Comenzando el proyecto Dispositivo de Elevacin

4.2

Inicio de Win FST y creacin de un Proyecto y de un Programa

Crear un Nuevo proyecto de la misma manera en que fue descrito en el captulo Primeros pasos. Despus de crear el proyecto, crear el programa.

Inseertar el programa

4.3

Estableciendo la configuracin de E/S

Antes de declarar las variables, necesitamos establecer la configuracin de E/S. Como en este proyecto utilizaremos un FEC 34, elija FEC como el mdulo de E/S correcto.

Win FST Festo Didactic

43
Inicio del proyecto Dispositivo de Elevacin

4.4

Declaracin de las variables

Declare las variables en la opcin Lista de asignaciones (Allocation List)

4.5

Escritura del programa

Comiennce con la escritura del cdigo del programa. Recuerde la secuencia y qu entradas activarn la siguiente secuencia. Dado a que es una programacin a pasos, cada paso esperar al paso anterior antes de comenzar el siguiente. No habr problemas de sincrona siempre que el programa se haya escrito correctamente.

Festo Didactic Win FST

44
Comenzando el proyecto Dispositivo de Elevacin

Note que puede escribir todo en una sola lnea y automticamente tomar el formato, como se muestra a continuacin.
STEP 10 IF THEN STEP 20 IF THEN STEP 30 IF THEN STEP 40 IF THEN B3 RESET Y1 JMP TO 10 Cilindro 2A retrado Solenoide para cilindro 1A B4 RESET Y2 Cilindro 2A extendido Solenoide para cilindro 2A SET B2 Y2 Cilindro 1A extendido Solenoide para cilindro 2A AND AND SET SB B1 B3 Y1 Botn de marcha Cilindro 1A retrado Cilindro 2A retrado Solenoide para cilindro 1A

Win FST Festo Didactic

45
Inicio del proyecto Dispositivo de Elevacin

4.6

Verificacin del proyecto

Despus 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

Creacin y construccin 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.

Festo Didactic Win FST

46
Comenzando el proyecto Dispositivo de Elevacin

4.8

Configuracin del controlador

Antes de cargar el programa, debemos asegurar que la configuracin para establecer la comunicacin entre el control FEC y la PC sea la correcta.

A continuacin abra la ventana Preferences de la opcin [Extras], [Preferences] Elija la opcin Communications Port Elija el puerto COM correcto y establezca la velocidad de 9600 Bauds.

Win FST Festo Didactic

47
Inicio del proyecto Dispositivo de Elevacin

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. Despus 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]

Carga del proyecto

Aparecer una ventana de dilogo una vez que se haya completado la carga o si existiera algn error. Ejecute el programa en el PLC.

Festo Didactic Win FST

48
Comenzando el proyecto Dispositivo de Elevacin

4.10 Monitoreo en lnea


Puede estar en modo en lnea (Online) para ver la ejecucin del programa o para monitorear a los operandos. Abra el programa desde el rbol del proyecto y en en la opcin Online de la barra de mens, elija la opcin Online. Es posible conmutar entre el modo Editor y el modo Online en cualquier momento mientras se ejecuta el programa.

Win FST Festo Didactic

49
Inicio del proyecto Dispositivo de Elevacin
Para monitorerar en lnea a los operandos, de un clic en el cono Online Display.

Monitoreo en lnea

Ha completado su primer programa bsico con el software Win FST.

Festo Didactic Win FST

50
Utilizacin de temporizadores

Win FST Festo Didactic

51
Utilizacin de temporizadores

Captulo 5

Utilizacin de temporizadores

Festo Didactic Win FST

52
Utilizacin de temporizadores

Win FST Festo Didactic

53
Utilizacin de temporizadores

5 Utilizacin de temporizadores
5.1 Introduccin

Hasta ahora, hemos escrito el programa utilizando solamente entradas y salidas del FEC. Ahora utilizaremos los temporizadores que estn incorporados en el PLC. Modificaremos el proyecto Dispositivo de elevacin para aadir un temporizador. Despus de que el cilindro 2A se haya retrado, por rezones de seguridad, el Cilindro 1A deber esperar un tiempo de 5 segundos antes de retraer su vstago.

5.2

Utilizacin de la function de Ayuda

Antes de utilizar el temporizador, echemos un vistazo a la funcin de Ayuda en el programa. De un clic en Help Despus 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 informacin necesaria acerca de los temporizadores.

Festo Didactic Win FST

54
Utilizacin de temporizadores
Hay algunos trminos asociados con los temporizadores: o T0 Temporizador 0 o TP0 Preselector para el temporizador 0 La forma ms comn de escribirlo se muestra a continuacin.

STEP 10 IF THEN SET SET with I0.1 O0.2 T1 5s Input 0.1 Lamp Timer 1

STEP 20 IF THEN N T1 RESET O0.2 JMP TO 10 Timer 1 Lamp

El control FEC permite programar hasta 256 temporizadores del T0 al T255.

5.3

Introduccin 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 THEN STEP 20 IF THEN STEP 30 IF THEN STEP 40 IF THEN B3 RESET Y1 JMP TO 10 Cilindro 2A retrado Solenoide para el cilindro 1A B4 RESET Y2 Cilindro 2A extendido Solenoide para el cilindro 2A SET B2 Y2 Cilindro 1A extendido Soenoide para el cilindro 2A AND AND SET SB B1 B3 Y1 Botn de marcha Cilindro 1A retrado Cilindro 2A retrado Solenoide para el cilindro 1A

Win FST Festo Didactic

55
Utilizacin de temporizadores
Despus de que el cilindro 2A se retrae, el temporizador inicia un tiempo de 5 segundos antes de que el vstago 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 smbolo y un comentario para dicha variable, con el fin de documentar al proyecto.

T1 se actualizar automticamente en la lista de asignaciones A continuacin se muestra el programa modificado:


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

Festo Didactic Win FST

56
Utilizacin de temporizadores

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

Win FST Festo Didactic

57
Utilizacin de contadores

Captulo 6

Utilizacin de contadores

Festo Didactic Win FST

58
Utilizacin de contadores

Win FST Festo Didactic

59
Utilizacin de contadores

6 Utilizacin de contadores
6.1 Introduccin

En este captulo, introduciremos la funcin del contador. Por lo que modificaremos el programa, para que una vez que el proceso haya completado 10 ciclos, se detenga automticamente. Para llevar a cabo dicha tarea se debe de pulsar una vez el botn de marcha.

6.2

Utilizacin de la funcin del contador

Los siguientes trminos estn 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 continuacin se muestra el primer mtodo:

STEP 10 IF THEN LOAD TO SET RESET NOP V10 CP0 C0 Y1

Contador 0 Solenoide 1

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

Festo Didactic Win FST

60
Utilizacin de contadores
Y a continuacin se muestra el segundo mtodo:

STEP 10 IF THEN NOP LOAD V0 TO CW0 RESET Y1

Solenoide 1

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

El control FEC permite programar 256 contadores, del C0 to C255.

6.3

Aplicacin de un contador en nuestro proyecto

Modifcaremos el programa que utiliza el temporizador para aadirle la funcin del contador. El proceso debe realizar lo siguiente: Al pulsar el botn de marcha deber comenzar el ciclo. El ciclo solo se detendr despus de haber transportado 10 cajas. Habr que considerer un retardo para que el vstago del cilindro 1A se retraiga.

Tambin debern de aadirse a la lista de asignaciones los siguientes operandos: C0 CP0 CW0 Contador 0 Preselector del contador 0 Valor acumulado de eventos registrados

Win FST Festo Didactic

61
Utilizacin de contadores
A continuacin se muestran dos diferentes mtodos para la programacin con contadores:

Mtodo A
STEP 10 IF THEN AND AND SET LOAD TO SET SB B1 B3 Y1 V10 CPO C0 Botn de marcha Cilindro 1A retrado Cilindro 2A retrado Solenoide para el cilindro 1A Valor acumulado de eventos registrados Contador 0

STEP 20 IF THEN STEP 30 IF THEN STEP 40 IF THEN STEP 50 IF THEN STEP 60 IF N CO THEN JMP TO 10 OTHRW NOP STEP 70 IF THEN B1 AND B3 SET Y1 JMP TO 20 Cilindro 1A retrado Cilindro 2A retrado Solenoide para el cilindro 1A Contador 0 N T1 RESET Y1 INC C0 Timer 1 Solenoide para el cilindro 1A Contador 0 SET with B3 T1 5s Cilindro 2A retrado Timer 1 B4 RESET Y2 Cilindro 2A extendido Solenoide para el cilindro 2A SET B2 Y2 Cilindro 1A extendido Solenoide para el cilindro 2A

Festo Didactic Win FST

62
Utilizacin de contadores
Mtodo B
STEP 10 IF THEN AND AND SET LOAD TO SB B1 B3 Y1 V0 CWO Botn de marcha Cilindro 1A retrado Cilindro 2A retrado Solenoide para el cilindro 1A Valor acumulado de eventos registrados

STEP 20 IF THEN STEP 30 IF THEN STEP 40 IF THEN STEP 50 IF THEN STEP 60 IF CWO = V10 THEN JMP TO 10 OTHRW NOP STEP 70 IF THEN B1 AND B3 SET Y1 JMP TO 20 Cilindro 1A retrado Cilindro 2A retrado Solenoide para el cilindro 1A Valor acumulado de eventos registrados N T1 RESET Y1 INC CW0 Timer 1 Solenoide para el cilindro 1A Valor acumulado de eventos registrados SET with B3 T1 5s Cilindro 2A retrado Timer 1 B4 RESET Y2 Cilindro 2A extendido Solenoide para el cilindro 2A SET B2 Y2 Cilindro 1A extendido Solenoide para el cilindro 2A

Asegrese de reconstruir el proyecto, y de cargarlo con el fin de comprobar su funcionalidad.

Win FST Festo Didactic

63
Multitarea

Captulo 7

Multitarea

Festo Didactic Win FST

64
Multitarea

Win FST Festo Didactic

65
Multitarea

7 Multitarea
7.1 Introduccin

En este captulo, introduciremos el concepto de multitarea. Multitarea es el trmino utilizado para una ejecucin Simultnea de un nmero de tareas distintas. La multitarea le permite organizar el proyecto en secciones de programas utilizando Tcnicas de Programacin 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 mtodo de trabajo es que se incluyen estructuras ms claras de programa y adems, los tiempos de ciclo son ms cortos. Con la multitarea es fcil programar diferentes modos de operacin y adems es posible llamarlos en cualquier momento y ejecutarlos de manera paralela con el programa principal .

7.2

Trminos asociados con la Multitarea

Con la multitarea, podemos utilizar varios programas en el proyecto. Estos programas se ejecutarn en paralelo con el programa principal cuando sean llamados. stos se numeran como: P1, P2, etc. Adems de los programas, tambin se utilizan los mdulos. Generalmente utilizados como subrutinas. Existen dos tipos de mdulos:

CFM CMP
P0 Main Programa Principal Control Program P0 is se Activa de activated Manera automatic automtica ally when power on Al aplicar Energa al control

Llamada a Mdulo de Funcin (Call Function Module) Llamada a Mdulo de Programa (Call Module Program)
P1 CMP 0 CFM 0

P2

CMP 49

CFM 49

P63 Programa Program (Multi Tarea) ( Multi - Tasking )

CMP 99

CFM 99

Festo Didactic Win FST

Mdulo de programa Module Program (Subrutina ) ( Subroutine )

Mdulos de funcin Function modules (Definidos por Festo) ) ( Predefined by Festo

66
Multitarea 7.2.1 CFM Llamada a Mdulo de Funcin (Call Function Module)
La instruccin de Llamada al Mdulo de Funcin se utiliza para solicitar la ejecucin de una rutina externa. Los mdulos de funcin se pueden considerar como llamadas a funciones especiales. Cuando se invoca un CFM, la funcin se activar y se ejecutar junto con el programa principal, el cual seguir ejecutndose. La funcin se ejecuta en paralelo. Estos CFM estn disponibles desde el programa, y para tener una mejor referencia abra el archivo de Ayuda para obtener informacin del mtodo de llamada del CFM. Para insertar un mdulo: De un clic derecho en CFM en el rbol del proyecto (Project Tree) De un clic en Import Aparecer una ventana de dilogo con los mdulos predefinidos.

Elija el mdulo que desee emplear. De un clic en OK El mdulo elegido estar en el proyecto.

7.2.2 CMP Llamada a un Mdulo de Programa (Call Module Program)


La instruccin de llamada a un Mdulo de Programa se utiliza para solicitar la ejecucin de una rutina externa. Los mdulos de programa pueden considerarse como subrutinas.

Win FST Festo Didactic

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. Slo 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 mdulos


Para llamar a los mdulos, solo aada al paso las instrucciones THEN CFM x o THEN CMP x donde x es el nmero del mdulo. Por ejemplo, cree un programa para encendido intermitente (Blinking). ste puede ser un CFM o un CMP.
STEP Blink THEN CFM 0 LOAD FU32 TO FW10 JMP TO Blink Blink Module

Puede utilizar la palabra de banderas 10 (FW10).


STEP Initial THEN SET P2 Blinking Program

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

Festo Didactic Win FST

68
Multitarea
STEP Initial THEN SET P2 Blinking Program

STEP Start THEN IF THEN LOAD TO SET SET FBlink1 Lamp Start P1 Lamp 0.25s Blinks Lamp Start Button Sequence Program Lamp

7.2.4 Llamada de los programas


Cuando se escribe el programa principal, se recomienda escribirlo como Programa 0, todo los dems subprogramas se nombrarn, por ejemplo como: Programa 1, Programa 2, etc. En su programa principal, puede llamar a un programa activando el nmero 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

Utilizacin de banderas

Hasta este momento, hemos escrito programas utilizando las entradas y salidas del FEC. Ahora es tiempo de utilizar banderas, tambin 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 simblicos los cuales le ayudarn a relacionarlos con la tarea de control. Algunos ejemplos son Start_Flag, Stop_Flag, etc.

Win FST Festo Didactic

69
Multitarea

7.4

Utilizacin del mdulo BLINK

En la mayora de los programas, existe la necesidad de encender lmparas de manera intermitente. Para lograr esto, se utiliza el modulo blink. Se utilize para crear una seal intermitente. Por ejemplo, si necesitamos que la lmpara del botn de marcha encienda de manera intermitente antes de comenzar el ciclo. Para obtener esta funcin, 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 dilogo.

Elija Blink Entonces se insertar dicho mdulo en el CFM.

Una vez importado el modulo, reuqerimos escribir un programa con el fin de asignar las seales intermitentes a banderas. De un clic derecho en Programs De un clic en Insert Program Escriba el nombre del programa Defina el nmero de programa Defina la versin Escriba los comentarios correspondientes

Festo Didactic Win FST

70
Multitarea

Escriba un programa breve.


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

Compile y guarde el programa. Este programa cargar las seales intermitentes a la palabra 10 de banderas. Slo necesita declarar estas seales en la lista de asiganciones

Absoluto
F10.1 F10.2 F10.3 F10.4 FW10

Simblico
FBlink1 FBlink2 FBlink3 FBlink4

Comentario
0.25s Blink 0.5s Blink 1s Blink 2s Blink Banderas del blink

Ahora puede usar estas banderas en su programa. Por ejemplo, si desea que la lmpara del botn de inicio se encienda en intervalos de 0.5 segundos, puede aadir el paso correspondiente a su programa.

Win FST Festo Didactic

71
Multitarea
STEP Initial THEN SET P2 Blinking Program

STEP Start IF FBlink2 THEN SET oStart OTHRW RESET oStart IF THEN .. AND SET SET iStart B1 P1 oStart 0.5s Blinks Lmpara de inicio Lmpara de inicio Botn de inicio Cilindro elevador retraido Programa de la secuencia Lmpara de inicio

En el paso anterior la lmpara de inicio encender de manera intermitente cuando se inicia el programa. Cuando el botn de inicio se pulsa, la lmpara 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 botn. Este no es el caso en la mayora de las mquinas, en las cuales existen botones para ciclo nico y para ciclo continuo, para restablecimiento del programa y botn 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

Festo Didactic Win FST

72
Multitarea 7.5.1 Lista de asignaciones Absoluto
I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 O0.0 O0.1 F11.0 P1

Simblico
iStart B1 B2 B3 B4 AutoMan iStop Y1 Y2 FCStop

Comentario
Botn de inicio Cilindro 1A retrado Cilindro 1A extendido Cilindro 2A retrado Cilindro 2A extendido Selector Auto/Manual Botn de paro Solenide para cilindro 1A Solenoide para cilindro 2A Paro de ciclo 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 estacin se tendrn dos programas.

Como el proyecto requiere tareas diferentes, entonces aplicaremos multitarea. Por lo que el proyecto consistir de: Programa principal de organizacin Programa de secuencia
Win FST Festo Didactic

73
Multitarea
El programa principal de organizacin es donde se lleva a cabo la administracin del proyecto. En este programa, se activan y desactivan los dems programas y mdulos de programa. El programa de la secuencia es donde el programa del dispositivo de elevacin se ejecutar de manera continua hasta que se oprima el botn de paro.

7.6.2 Programa principal de organizacin


STEP Start IF THEN AND AND SET iStart B1 B3 P1 Botn de inicio Cilindro 1A retrado Cilindro 2A retrado Programa de la secuencia

STEP Stop IF THEN IF THEN SET iStop FCStop Botn de paro Paro de ciclo Programa de la secuencia Paro de ciclo

N P1 RESET FCStop

7.6.3 Programa de la secuencia


Este es el programa para la operacinde la secuencia del dispositivo de elevacin. Para el ciclo continuo, solo se detendr cuando se pulse el botn de paro. Para ciclo nico, la secuencia se ejecutar solo una vez. Esto se controla desde el programa principal de oraganizacin.

Festo Didactic Win FST

74
Multitarea

STEP Aplus IF THEN SET B1 Y1 Cilindro 1A retrado Solenoide para el cilindro 1A

STEP BPlus IF THEN SET B2 Y2 Cilindro 1A extendido Soenoide para el cilindro 2A

STEP BMinus IF THEN B4 RESET Y2 Cilindro 2A extendido Solenoide para el cilindro 2A

STEP AMinus IF THEN B3 RESET Y1 Cilindro 2A retrado Solenoide para el cilindro 1A

STEP Check IF THEN FCStop JMP TO End Paro de ciclo Automatic/Manual Switch

IF AutoMan THEN JMP TO Aplus OTHRW NOP STEP End

7.7

Requerimientos extras del control

Esta es una modificacin 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. Tambin se incluir un botn de paro de emergencia y otro de restablecimiento. Tambin se incluirn inidicadores visuales para los botones de inicio, paro y de restablecimiento. Tambin se incluir el encendido intermitente para estas lmparas. El programa incluir lo siguiente:
Win FST Festo Didactic

75
Multitarea
Interruptor selector de ciclo nico/continuo. La lmpara 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 lmpara. Cuando se est ejecutando la secuencia, la lmpara del botn de paro encender de manera inetrmitente. Cuando se pulse el botn de paro de emegencia, la secuencia se detendr independientemente que se encuentre en ciclo nico o en ciclo continuo. Los vstagos de los cilindros regresrn a su posicin de reposo y la lmpara del botn de restablecimiento encender de manera retentiva. Cuando se pulse el botn de restablecimiento, la lmpara se deber de apagar.

El proyecto ahora tendr los siguientes programas: Programa principal de organizacin Programa de la secuencia Programa de encendido intermitente

7.7.1 Lista de asignaciones Absoluto


I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7 I1.0 O0.0 O0.1 O0.2 O0.3 O0.4 F10.0 F10.1 F10.2 F10.3 F11.0 FU32 P1 P2
Festo Didactic Win FST

Simblico
iStart B1 B2 B3 B4 AutoMan iStop iReset iEStop Y1 Y2 oStart oStop oReset FBlink1 FBlink2 FBlink3 FBlink4 FCStop

Comentario
Botn de inicio Cilindror 1A retrado Cilindro 1A extendido Cilindro 2A retrado Cilindro 2A extendido Selector nico/continuo Botn de paro Botn de restablecimiento Botn de paro de emergencia Solenoide para el cilindro 1A Solenoide para el cilindro 2A Lmpara de inicio Lmpara de paro Lmpara de restablecimiento 0.25s Blinks 0.5s Blinks 1s Blinks 2s Blinks Paro de ciclo Programa de la secuencia Programa de encendido intermitente

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 estacin tendremos tres programas y un mdulo.

Como el proyecto requiere realizar diferentes tareas, necesitamos programar con multgitarea. El proyecto consistir de: Programa principal de organizacin Programa de la secuencia Programa para el encendido intermitente Mdulo de encendido intermitente

El programa principal de organizacin es el que administra al proyecto. En este programa, se activan o desactivan los dems programas y subprogramas. El programa de la secuencia es donde se controla la secuencia del dispositivo de elevacin. El programa de encendido intermitente llama al modulo de programa correspondiente para utilizarlo en el proyecto.

Win FST Festo Didactic

77
Multitarea 7.8.2 Programa principal de organizacin

STEP Initial THEN SET P2 Programa de encendido intermitente

STEP Start IF THEN iEStop JMP TO Emergency Botn de paro de emergencia 0.25s Blinks Lmpara de inicio Lmpara de inicio Botn de inicio Cilindro1A retrado Cilindro 2A retrado Programa de la secuencia Lmpara de inicio

IF FBlink1 THEN SET oStart OTHRW RESET oStart IF THEN AND AND SET RESET iStart B1 B3 P1 oStart

STEP Stop IF THEN iEStop JMP TO Emergency Botn de paro de emergencia 0.5s Blinks Lmpara de paro Lmpara de paro Botn de paro Paro de ciclo Programa de la secuencia Paro de ciclo Lmpara de paro

IF FBlink2 THEN SET oStop OTHRW RESET oStop IF THEN IF THEN SET N RESET RESET JMP TO iStop FCStop P1 FCStop oStop Start

STEP Emergency IF THEN RESET RESET RESET RESET RESET N NOP Y1 Y2 P1 oStart oStop iEStop NOP Solenoide para el cilindro 1A Solenoide para el cilindro 2A Programa de la secuencia Lmpara de inicio Lmpara de paro Botn de paro de emergencia

IF THEN

Festo Didactic Win FST

78
Multitarea

STEP Reset IF THEN iEStop JMP TO Emergency Botn de paro de emergencia 1s Blinks Lmpara de restablecimiento Lmpara de restablecimiento Botn de restablecimiento Lmpara de restablecimiento

IF FBlink3 THEN SET oReset OTHRW RESET oReset IF THEN iReset RESET oReset JMP TO Start

7.8.3 Programa de la secuencia


Este es el programa que controla la operacin del dispositivo de elevacin. Para ciclo conntinuo, solo se detendr cuando se pulse el botn de Paro. En el caso del ciclo nico, la secuencia se ejecutar una vez. Esto es controlado por el programa principal de oraganizacin.

Win FST Festo Didactic

79
Multitarea

STEP Aplus IF THEN SET B1 Y1 Cilindro 1A retrado Solenoide para el cilindro 1A

STEP BPlus IF THEN SET B2 Y2 Cilindro 1A extendido Solenoide para el cilindro 2A

STEP BMinus IF THEN B4 RESET Y2 Cilindro 2A extendido Solenoide para el cilindro 2A

STEP AMinus IF THEN B3 RESET Y1 Cilindro 2A retrado Solenoide para el cilindro 1A

STEP Check IF THEN FCStop JMP TO End Paro de ciclo Selector ciclo nico/continuo

IF AutoMan THEN JMP TO Aplus OTHRW NOP STEP End THEN NOP

7.8.4 Programa de encendido intermitente


Este programa llama al mdulo de encendido intermitente.

STEP Blink THEN CFM 0 LOAD FU32 TO FW10 JMP TO Blink Mdulo de encendido intermitente

Festo Didactic Win FST

80
Multitarea

Win FST Festo Didactic

81
Utilizacin de Ethernet

Captulo 8

Redes de Comunicacin

Festo Didactic Win FST

82
Utilizacin de Ethernet

Win FST Festo Didactic

83
Utilizacin de Ethernet

8 Redes de Comunicacin
8.1 Introduccin

El software Win FST nos permite utilizar Ethernet (TCP/IP) para establecer la comunicacin entre diferentes controladores y la PC. Utilizaremos TCPIP por las siguientes razones: Programacin va Ethernet significa UNA PC para la programacin y VARIOS controladores. La comunicacin entre varios controladores va Ethernet.

Antes de utilizar Ethernet, necesitamos preparar nuestra red.

8.2

Verificacin de la direccin IP de su PC

Su PC que utilizar para la programacin necesita tener una direccin IP. Si no conoce la direccin IP de su PC, entonces necesita investigar esta direccin. Por medio de Windows, puede obtener su IP como a continuacin se indica: De un clic en Start. De un clic Run

Festo Didactic Win FST

84
Utilizacin 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 informacin referente a la direccin IP de su PC ser desplegada. Esto ocurrir slo si tienen un adaptador de Ethernet en su PC. Podr obtener la siguiente informacin:

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

Requiere conocer la direccin IP y la mascara IP de su PC.

8.3

Verificacin de una direccin 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 programacin. Entonces simplemente utilice cualquier direccin 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 direccin IP dos veces.

8.4

Modificacin de la direccin IP de sus controladores

Despus de haber decidido acerca de las direcciones IP de sus controladores, necesitamos modificar la direccin IP. Siga los siguientes pasos para asignar la direccin IP a su controlador. Adems, cuando por primera vez configure los parmetros de la red y los drivers para su controlador, necesita utilizar la comunicacin serial RS232
Win FST Festo Didactic

85
Utilizacin de Ethernet
para cargar los parmetros y los drivers al controlador. Despus de hacer esto, el controlador podr ser programado por la red y por lo tanto, el cable RS232 podr desconectarse. Para configurar los parmetros y drivers de la red: Conecte su controlador a la fuente de alimentacin. Conecte el cable de programacin 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 opcin 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 seleccin de drivers.

Festo Didactic Win FST

86
Utilizacin 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 nmero de IP que utilizar el controlador, la mscara de red IP y la direccin 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.

Win FST Festo Didactic

87
Utilizacin de Ethernet

8.4.1 Configuracin de Entradas / Salidas


Despus de configurar el driver en la ventana Driver Configuration necesitamos configurar las Entradas/Salidas (IO Configuration) y la configuracin del controlador (Controller Setting). De un clic en IO Configuration para identificar el tipo de controlador que est utilizando. Enseguida ver la siguiente pantalla:

Festo Didactic Win FST

88
Utilizacin 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 / Ss estn organizadas en 16 bits y no en 8 bits.

8.4.2 Configuracin del controlador


De un clic en Controller Settings. A continuacin aparecer la ventana:

Asegrese de que no est marcada la opcin Delete project before download.

Win FST Festo Didactic

89
Utilizacin 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 opcin Save All de la barra de herramientas. Verifique que la opcin RS232 sea el modo actual de comunicacin al seleccionar la opcin Preferences del men Extras al elegir la opcin Communication Port. Asegrese que est seleccionada la opcin 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 continuacin:

Festo Didactic Win FST

90
Utilizacin de Ethernet

8.5

Conexin de los cables de par trenzado

Despus de la configuracin 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 programacin a su Hub o Switch. Verifique el LED de Link en el Hub o Switch y en el FEC y en su PC.

LED Link: TP

8.6

Verificacin de la Comunicacin

Despus de conectar los controladores y la PC, necesitamos verificar si es posible establecer la comunicacin. Windows ofrece el comando Ping para verificar si existe comunicacin TCPIP. De un clic en Start, Run y pulse la tecla Enter. Algo similar a lo que hizo antes con IPCconfig. Digite PING <direccin IP de su CPU> El comando PING enva paquetes de prueba para el controlador y trata de recibirlos de ste. Si los parmetros de la red del controlador son correctos obtendr una rplica del controlador, como lo que se muestra a continuacin:

Win FST Festo Didactic

91
Utilizacin de Ethernet
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:\>

Si la comunicacin es correcta para todos los controladores, entonces ya est listo. Si no hay respuesta (indicado por el mensaje Request timeout), entonces existe algn error con la configuracin de la red del controlador. Verifique la configuracin retornando al driver TCP/IP en el software Win FST (opcin Driver Configuration en la ventana de Proyecto) o contacte con su administrador de sistema.

8.7

Comunicacin con el controlador

Si la prueba anterior fue exitosa, entonces el controlador est listo para establecer la comunicacin en red. El ltimo paso para la puesta a punto de un proyecto para la comunicacin en red es elegir la opcin de modo de comunicacin por red en el software Win FST. Seleccione la opcin Preferences del men Extras del software Win FST y de un clic en la pestaa Communication Port. Introduzca la direccin IP del controlador (por ejemplo 199.237.83.68) y seleccione el uso de TCP/IP:

Festo Didactic Win FST

92
Utilizacin de Ethernet

Si elige la opcin Save in Project, todos los ajustes sern grabados dentro de este proyecto. De otra manera, los ajustes sern tomados de manera general por el software Win FST. Marque la opcin Save in Project y de un clic en OK.

Ahora est listo para comunicarse con su controlador a travs de la red y por lo tanto, podr desconectar el cable RS232.

Win FST Festo Didactic

93
Utilizacin de Ethernet

Captulo 9

Utilizacin de Ethernet

Festo Didactic Win FST

94
Utilizacin de Ethernet

Win FST Festo Didactic

95
Utilizacin de Ethernet

9 Utilizacin de Ethernet
9.1 Introduccin

Una vez completada la puesta a punto y la conexin de los controladores y la PC, estamos en condiciones de programar utilizando la red Ethernet.

9.2

Programacin por medio de Ethernet

Cuando se programa va Ethernet, podemos conectar varios controladores a una sola PC para la programacin sin necesidad de conectar y desconectar el cable de interfaz.

Para utilizar Ethernet en la programacin, deber haber puesto a punto la red como se describi anteriormente.

9.2.1 Importacin de Mdulos


Abra el software Win FST. Abra o cree un nuevo proyecto. De un clic derecho en la carpeta CMPs. De un clic en al opcin Import CMP Elija las tablas relevantes. Puede encontrar ayuda en al utilizacin de los mdulos en la seccin de Ayuda. Busque la opcin FST Drivers Reference De un clic TCP/IP Driver Aparecer la siguiente pantalla:

Festo Didactic Win FST

96
Utilizacin de Ethernet

La siguiente tabla muestra los mdulos utilizados de manera general:

Mdulo EASY_R EASY_S IP_ALIVE IP_IP IP_MASK IP_TABLE


Descripcin Solicita un bloque de operandos de otro controlador Enva un bloque de operandos hacia otro controlador Verifica si se conoce una direccin IP Obtiene/Define nuestra direccin IP Obtiene/Define nuestra mscara de red IP Obtiene/Define la direccin IP desde/hacia una tabla

Importaremos los mdulos IP_TABLE, EASY_R and EASY_S. As mismo, importaremos Special Modules. La funcin Special modules tambin se puede encontrar en el archivo de ayuda. Una vez importados dichos mdulos, el rbol del Proyecto (Project Tree) deber mostrarse como se indica a continuacin:

Win FST Festo Didactic

97
Utilizacin de Ethernet

9.2.2 Mdulo IP_TABLE


Este mdulo se utiliza para asignar u obtener una direccin desde o hacia una tabla.

Parmetros de entrada
Parmetro FU32 FU33 FU34 FU35 FU36 FU37 Descripcin 1 para asignar direccin IP 2 para obtener dirteccin IP Nmero de ndice en la tabla IP Direccin IP Direccin IP Direccin IP Direccin IP Ejemplo V1 V3 V140 V131 V170 V3

Parmetros de salida
Parmetro FU32 FU33 FU34 FU35 FU36 FU37 Descripcin 0 - Si fue exitoso De otra manera hubo error Nmero de ndice en la tabla IP Direccin IP Direccin IP Direccin IP Direccin IP

Festo Didactic Win FST

98
Utilizacin de Ethernet

9.2.3 Mdulo EASY_R


Este mdulo solicita un bloque de operandos de otro controlador.

Parmetros de entrada
Parmetro FU32 Descripcin Nmero de ndice en la tabla IP Tipo de Operando: 1 - Banderas 2 - Entradas 3 - Salidas 4 - Registros 11 - Caracteres Nmero de operandos requeridos (mximo 256) Nmero del primer operando local para almacenar respuesta Nmero del primer operando en el controlador remoto Nmero de la palabra de banderas para el estatus Ejemplo V3

FU33

V1

FU34 FU35 FU36 FU37

V2 V12 V0 V99

Parmetros de salida
Parmetro FU32 Descripcin 0 - Si solicita lectura De otra manera hubo un error

Win FST Festo Didactic

99
Utilizacin de Ethernet

9.2.4 Mdulo EASY_S


Este mdulo enva un bloque de operandos a otro controlador.

Parmetros de entrada
Parmetro FU32 Descripcin Nmero de ndice en tabla IP Tipo de operando: 1 - Banderas 2 - Entradas 3 - Salidas 4 - Registros 11 - Caracteres Nmero de operandos a enviar (mximo 256) Nmero del primer operando a enviar Nmero del primer operando en el controlador remoto Nmero de la palabra de bandera para el estatus (-1 si no desea reconocimiento) Ejemplo V3

FU33

V1

FU34 FU35 FU36 FU37

V2 V12 V0 V99

Parmetros de salida
Parmetro FU32 Descripcin 0 - Si enva requisicin De otra manera hubo error

9.3

Un programa simple utilizando Ethernet

En este simple programa, utilizaremos el control FEC34 para leer y enviar informacin a un control FEC440. Los siguientes pasos le mostrarn cmo el dato se lee de un FEC440 y tambin se enva dato al FEC440. Una vez recibido el dato, los controladores lo utilizarn al igual que cualquier seal de entrada.

Festo Didactic Win FST

100
Utilizacin de Ethernet 9.3.1 Ejercicio
Se trata de dos estaciones: La primera estacin identifica si la pieza de trabajo es roja o metlica. Elevar al porta pieza y expulsar la pieza a la siguiente estacin La segunda estacin recibir la pieza de trabajo en su porta pieza. Utilizar el dato recibido de la primera mquina, elevar el porta pieza y expulsar a la pieza de trabajo roja por el deslizador A y la pieza metlica por el deslizador B. Al inicio del proceso, la lmpara del botn de marcha encender de manera intermitente. Cuando el proceso se inicie, la lmpara deber de permanecer encendida. Cuando se pulse el botn de paro en modo continuo, la lmpara del botn de paro se encender de manera intermitente y la lmpara del botn de marcha se deber de apagar. Cuando se active el botn de paro de emergencia, el proceso se detendr y la lmpara del botn de reset se deber de encender de manera intermitente. Cuando el botn de reset se oprima, el sistema se restablecer y la lmpara del botn de marcha encender de manera intermitente.

9.3.2 Componentes de la estacin A


Utilizaremos el control FEC34 (FEC660) para controlar la estacin A. El porta pieza cuenta con dos sensores: un inductivo y un ptico. Cuando slo el sensor ptico detecte, significa que la pieza de trabajo es roja. Cuando ambos sensores detecten, significa que la pieza de trabajo es metlica. Un cilindro de doble efecto eleva al porta piezas. La estacin A verificar si la estacin B est lista para aceptar la pieza de trabajo. Cuando al estacin B est lista, la pieza de trabajo ser expulsada a la estacin B por medio de otro cilindro de doble efecto. Los cilindros se activan con electrovlvulas 5/2 monoestables.

9.3.3 Componentes de la estacin B


Utilizaremos un FEC440 (FEC660) para controlar la estacin B. El porta pieza recibir a la pieza de trabajo de la estacin previa. Un sensor ptico est colocado en el porta piezas para detectar la presencia de la pieza. La estacin B no puede recibir la pieza si el porta pieza est en su posicin inicial. Una vez confirmada la presencia de la pieza de trabajo y el dato acerca del tipo de pieza de trabajo recibida de la estacin previa, el proceso variar.
Win FST Festo Didactic

101
Utilizacin 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 metlica, el porta pieza se elevar y ser expulsada hacia el deslizador B por un tercer cilindro de doble efecto. Los cilindro sern actuados por electrovlvulas 5/2 monoestables.

9.3.4 Transferencia de datos


La direccin IP para la computadora es 140.131.170.1 La direccin IP para la estacin A es 140.131.170.2 La direccin IP para la estacin B es 140.131.170.3 La estacin A debe leer datos de la estacin B para verificar si est lista para recibir la pieza de trabajo. La estacin A debe enviar datos a la estacin B para informar a la estacin B el tipo de pieza de trabajo. La estacin A tambin debe informar a la estacin B que se ha enviado la pieza de trabajo. Para esta tarea de control utilizaremos los mdulos IP_TABLE, EASY_R and EASY_S solo en el programa de la estacin A. No hay necesidad de utilizarlos en la estacin B. Sin embargo, para propsitos de entrenamiento, estos mdulos sern importados.

9.3.5 Lista de asiganciones

Estacin A
Absoluto
I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7 I1.0 I1.1 I1.2 O0.0 O0.1 O0.2 O0.3 O0.4 F1.0 F10.1 F10.2 F10.3
Festo Didactic Win FST

Simblico
iStart B1 B2 B3 B4 S1 S2 AutoMan iStop iReset iEStop Y1 Y2 oStart oStop oReset FCStop FBlink1 FBlink2 FBlink3

Comentario
Start Button Lifting Cylinder Back Lifting Cylinder Forward Pushing Cylinder Back Pushing Cylinder Forward Inductive Sensor Optical Sensor Auto/Manual Switch Stop Button Reset Button Emergency Stop Button Solenoid for Lifting Cylinder Solenoid for Pushing Cylinder Start Lamp Stop Lamp Reset Lamp Cycle Stop Flag 0.25s Blink 0.5s Blink 1s Blink

102
Utilizacin de Ethernet
F10.4 F12.0 F14.0 F14.1 F14.2 FW10 FU32 P1 P2 FBlink4 ReadyFlag Red Metal FSent 2s Blink Next Station Ready Red Workpiece Metal Workpiece Workpiece has been Sent Flagword or Blinks Sequence Program Blinking Program

Estacin B Absoluto
I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7 I1.0 I1.1 I1.2 I1.3 O0.0 O0.1 O0.2 O0.3 O0.4 O0.5 F0.0 F1.0 F10.1 F10.2 F10.3 F10.4 FW10 F11.0 F11.1 F11.2 FU32 P1 P2

Simblico
iStart B1 B2 B3 B4 B5 B6 S1 AutoMan iStop iReset iEStop Y1 Y2 Y3 oStart oStop oReset ReadyFlag FCStop FBlink1 FBlink2 FBlink3 FBlink4 Red Metal FReceived

Comentario
Start Button Lifting Cylinder Back Lifting Cylinder Forward Red Cylinder Back Red Cylinder Forward Metal Cylinder Back Metal Cylinder Forward Workpiece Present Auto/Manual Switch Stop Button Reset Button Emergency Stop Button Solenoid for Lifting Cylinder Solenoid for Red Cylinder Solenoid for Metal Cylinder Start Lamp Stop Lamp Reset Lamp Station Ready Cycle Stop Flag 0.25s Blink 0.5s Blink 1s Blink 2s Blink Flagword or Blinks Workpiece Red Workpiece Metal Workpiece Received Sequence Program Blinking Program

9.3.6 Elaboracin del programa para la estacin A


Utilizaremos un control FEC34 (FEC660) para la estacin A. Abra un nuevo programa en el control a utilizar.
Win FST Festo Didactic

103
Utilizacin de Ethernet
Inicie Win FST. Elija la opcin Driver Configuration Seleccione el driver TCPIPFEC driver. Configure la direccin IP 141.131.170.2 Realice la configuracin de Entradas y Salidas en IO Configuration Configure al Controlador en Controller Setting Importe ; los siguientes mdulos CMP: o IP_TABLE o EASY_R o EASY_S Inserte el mdulo de funcin CFM Blinking Module Introduzca un nuevo programa. Tendremos entonces 3 programas: o El programa principal de organizacin o El programa de la secuencia o El programa de generacin de pulsos (seal 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 elevacin est arriba, la estacin A leer el dato de la estacin B si ya se encuentra lista para recibir la pieza de trabajo. Si la estacin 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 metlica y que la pieza ha sido enviada. Cuando se introduzcan los mdulos, puede teclearlos directamente o utilizar la tabla preestablecida. Cualquiera de los dos mtodos da lo mismo. Por ejemplo, para teclear directamente un mdulo IP_TABLE
STEP IP_TABLE THEN CMP 0 WITH WITH WITH WITH WITH WITH V1 V3 V140 V131 V170 V3 IP_TABLE 1:SET, 2:GET Index Number in Table IP Address (1) IP Address (2) IP Address (3) IP Address (4)

O puede utilizar la tabla preestablecida. o De un clic en Insert o De un clic en Module Call o Seleccione el mdulo IP_TABLE o Introduzca la informacin en los espacios provistos o De un clic en OK

Festo Didactic Win FST

104
Utilizacin de Ethernet

9.3.7 Programa principal para la estacin A


Recuerde que tenemos que registrar al controlador en la IP_TABLE. Como solo estaremos leyendo y enviando datos a la estacin B, solo registraremos a la estacin B.

Win FST Festo Didactic

105
Utilizacin de Ethernet

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

STEP Initial THEN SET P2 Blinking Program

STEP Start IF THEN iEStop JMP TO Emergency Emergency Stop Button 0.25s Blinks Start Lamp Start Lamp Start Button Lifting Cylinder Back Pushing Cylinder Back Sequence Program Start Lamp

IF FBlink1 THEN SET oStart OTHRW RESET oStart IF THEN AND AND SET SET iStart B1 B3 P1 oStart

STEP Stop1 IF THEN IF THEN OR N SET iEStop JMP TO Emergency iStop AutoMan FCStop Emergency Stop Button Stop Button Auto/Manual Switch Cycle Stop Flag

STEP Stop2 IF THEN iEStop JMP TO Emergency Emergency Stop Button 0.5s Blinks Stop Lamp Stop Lamp Sequence Program Cycle Stop Flag Stop Lamp

IF FBlink2 THEN SET oStop OTHRW RESET oStop IF THEN N RESET RESET JMP TO P1 FCStop oStop Start

Festo Didactic Win FST

106
Utilizacin de Ethernet

STEP Emergency IF THEN RESET RESET RESET RESET NOP Y1 Y2 oStart oStop Solenoid for Lifting Cylinder Solenoid for Pushing Cylinder Start Lamp Stop Lamp 1s Blinks Reset Lamp Reset Lamp Emergency Stop Button Reset Button Reset Lamp Sequence Program

IF FBlink3 THEN SET oReset OTHRW RESET oReset IF THEN N AND RESET RESET JMP TO iEStop iReset oReset P1 Initial

9.3.8 Programa de la secuencia para la estacin A


Este es el programa de la secuencia para la estacin A. Para ciclo continuo, solo se detendr cuando se pulse el botn de paro. Para ciclo nico, realizar la secuencia solo una vez. Esto se controla por medio del programa de organizacin.

STEP Sort IF THEN AND SET RESET JMP TO N AND SET RESET S1 S2 Metal Red Up S1 S2 Red Metal Inductive Sensor Optical Sensor Metal Workpiece Red Workpiece Inductive Sensor Optical Sensor Red Workpiece Metal Workpiece

IF THEN STEP Up IF THEN

SET

B1 Y1

Lifting Cylinder Back Solenoid for Lifting Cylinder

Win FST Festo Didactic

107
Utilizacin de Ethernet
STEP ReadyPush1 IF THEN B2 NOP Lifting Cylinder Forward

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

IF

STEP SendData THEN CMP WITH WITH WITH WITH WITH WITH = THEN STEP Down IF THEN B3 RESET Y1 RESET ReadyFlag RESET FSent Pushing Cylinder Back Solenoid for Pushing Cylinder Next Station Ready Workpiece has been Sent 2 V3 V1 V3 V14 V11 V99 FU32 V0 NOP Easy IP send data Index number in IP table Type (1:F 2:I 3:O 4:R 11:Str) Number of operands to send Number of first local operand Number of first remote operand Number of flagword for status

IF

Festo Didactic Win FST

108
Utilizacin de Ethernet

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

STEP End THEN NOP

9.3.9 Programa de seal intermitente para la estacin A


Este programa llama al mdulo de seal intermitente

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

9.3.10 Elaboracin del programa para la estacin B


Utilizaremos el control FEC660 para la estacin B. Abra un nuevo programa en el FEC660. Inicie Win FST. Elija la opcin Driver Configuration Selecciones el driver TCPIPFEC driver. Configure la direccin IP 141.131.170.3 Configure Entradas y Salidas en IO Configuration Configure al controlador en Controller Setting Importe los siguientes mdulos CMP: o IP_TABLE o EASY_R o EASY_S Inserte el mdulo de funcin CFM Blinking Module Introduzca un nuevo programa
Win FST Festo Didactic

109
Utilizacin de Ethernet
Tendremos 3 programas: o El programa principal de organizacin o El programa de secuencia o El programa de generacin de seal intermitente En los programas tanto principal como de secuencia, tendremos que encender una bandera siempre y cuando la estacin est lista para recibir la pieza de trabajo proveniente de la estacin A. Una vez que la estacin B recibe la pieza de trabajo y el dato referente al tipo de pieza, llevar a cabo la secuencia correspondiente. Como la estacin B solo utiliza los datos enviados por la estacin A, no necesitamos utilizar mdulos TCP/IP

Festo Didactic Win FST

110
Utilizacin de Ethernet 9.3.11 Programa principal para la estacin B
STEP Initial THEN SET P2 Blinking Program

STEP Start IF THEN iEStop JMP TO Emergency Emergency Stop Button 0.25s Blinks Start Lamp Start Lamp Start Button Lifting Cylinder Back Red Cylinder Back Metal Cylinder Back Sequence Program Start Lamp Station Ready

IF FBlink1 THEN SET oStart OTHRW RESET oStart IF AND AND AND SET SET SET iStart B1 B3 B5 P1 oStart ReadyFlag

THEN

STEP Stop1 IF THEN IF THEN OR N SET iEStop JMP TO Emergency iStop AutoMan FCStop Emergency Stop Button Stop Button Auto/Manual Switch Cycle Stop Flag

STEP Stop2 IF THEN iEStop JMP TO Emergency Emergency Stop Button 0.5s Blinks Stop Lamp Stop Lamp Sequence Program Cycle Stop Flag Stop Lamp

IF FBlink2 THEN SET oStop OTHRW RESET oStop IF THEN N RESET RESET JMP TO P1 FCStop oStop Start

Win FST Festo Didactic

111
Utilizacin de Ethernet

STEP Emergency IF THEN RESET RESET RESET RESET RESET NOP Y1 Y2 P1 oStart oStop Solenoid for Lifting Cylinder Solenoid for Pushing Cylinder Sequence Program Start Lamp Stop Lamp 1s Blinks Reset Lamp Reset Lamp Emergency Stop Button Reset Button Reset Lamp Sequence Program

IF FBlink3 THEN SET oReset OTHRW RESET oReset IF THEN N AND RESET RESET JMP TO iEStop iReset oReset P1 Initial

9.3.12 Programa de la secuencia para la estacin B


Este es el programa para la operacin de la secuencia de la estacin B. Para ciclo continuo, solo se detendr cuando se pulse el botn de paro. Para ciclo nico, realizar la secuencia solo una vez. Esto se controla por emdio del programa de organizacin.

STEP Initial IF S1 THEN RESET ReadyFlag OTHRW SET ReadyFlag IF THEN AND AND SET RESET RESET S1 B1 FReceived Y1 Ready Flag FReceived Workpiece Present Station Ready Station Ready Workpiece Present Lifting Cylinder Back Workpiece Received Solenoid for Lifting Cylinder Station Ready Workpiece Received

Festo Didactic Win FST

112
Utilizacin de Ethernet

STEP Push IF THEN IF THEN AND SET B2 Red Y2 Lifting Cylinder Forward Workpiece Red Solenoid for Red Cylinder Red Cylinder Forward Solenoid for Red Cylinder Workpiece Red Lifting Cylinder Forward Workpiece Metal Solenoid for Metal Cylinder Metal Cylinder Forward Solenoid for Metal Cylinder Workpiece Metal

B4 RESET Y2 RESET Red JMP TO Down AND SET B2 Metal Y3

IF THEN IF THEN

B6 RESET Y3 RESET Metal

STEP Down IF THEN B3 OR B5 RESET Y1 Red Cylinder Back Metal Cylinder Back Solenoid for Pushing Cylinder

STEP Confirm Back IF THEN STEP Check IF THEN IF THEN FCStop OR N AutoMan JMP TO End AutoMan SET ReadyFlag JMP TO Initial Cycle Stop Auto/Manual Switch Automatic/Manual Switch Station Ready B1 NOP Lifting Cylinder Back

STEP End THEN NOP

Win FST Festo Didactic

113
Utilizacin de Ethernet 9.3.13 Programa de seal intermitente para la estacin B
Este programa llama al mdulo de programa de seal intermitente.

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

9.3.14 Carga y prueba del programa


Despus de completar los programas, podr cargarlos a ambos controladores. Recuerde cambiar la direccin TCP/IP cuando realice el proceso de carga a los diferentes controladores.

Festo Didactic Win FST

114
HMI Development

Win FST Festo Didactic

115
HMI Development

Captulo 10

Utilizacin del servidor para Web

Festo Didactic Win FST

116
HMI Development

Win FST Festo Didactic

117
HMI Development

10

Utilizacin del servidor para Web

10.1 Introduccin
Como se vio en el captulo 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. Adems, el controlador puede actuar como un servidor de la red Internet proporcionando pginas web que pueden visualizarse utilizando exploradores estndares como el Explorador de Internet de Microsoft o el navegador Netscape. Al utilizar esta pgina 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 Configuracin 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 captulo 8. La nica diferencia ahora es la adicin del driver Web server dentro de la opcin driver configuration De un doble clic en la opcin Driver Configuration en la ventana Project View window. Esto abrir la ventana Driver Configuration.

Festo Didactic Win FST

118
HMI Development

De un doble clic en cualquier parte dentro de dicha ventana para abrir la ventana de seleccin 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.

Win FST Festo Didactic

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 configuracin 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 comunicacin serial RS232 para llevar a cabo la transferencia de los drivers. Una vez realizado esto, ya se puede tener acceso a travs de la red.

Festo Didactic Win FST

120
HMI Development
Hemos completado la configuracin del controlador. Con el fin de utilizar el servidor web, necesitamos comprender conceptos bsicos acerca del diseo de pginas web.

10.3 Diseo de pginas Web con HTML


HTML (HyperText MarkUp Language) es lenguaje estndar de programacin utilizado para desarrollar pginas web bsicas. El lenguaje tiene varios comandos que le permien al diseador utilizar varios elementos de diseo tales como diferentes tipos de letra, texto, colores de pantalla, grficos, etc. Aqu solo se abordarn los commandos ms utilizados HTML (tags) con el fin de facilitar el desarrollo de pginas Web sencillas para comunicarnos con el controlador a travs de internet. Para mayor informacin 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 aadir ligas a otras pginas web. Los comandos no son visibles para quien mira la pgina. Le indican al navegador cmo mostrar la pgina como se carga del servidor web. Los comandos se pueden considerar como comandos para el navegador web. Se encierran entre parntesis angulares. Por ejemplo: <B> Festo FC34</B> Utiliza el comando <B> para desplegar el texto Festo FC34 en negritas. Note que la mayora de los comandos se deben utilizar en pares. El comando <B> en el ejemplo anterior le dice al navegador dnde comenzar a utilizar negritas en cuanto se presente la pgina. El comando </B> le indica al navegador dnde dejar de utilizar las negritas.

10.3.2 Comandos bsicos HTML


Comando <B> <I> <H1> <H3> <A> Descripcin Negritas Itlica Ejemplo <B>Festo FC34</B> <I>Festo FC34</I>

Estilo de letra en <H1>Festo</H1> encabezado 1 Estilo de letra en <H3>Festo</H3> encabezado 3 <A HREF=www.festo.com>Festo Hiperliga site</A>

web

Win FST Festo Didactic

121
HMI Development
<IMG> <PRE> <HR> <BR> Imagen Texto preformateado <IMG SRC=Festo.jpg> <PRE>Hello World</PRE>

Lnea horizontal con medida <HR> (Inserta una lnea) Interrupcin (Fin de <BR> lnea)

10.3.3 Estructura bsica de una pgina HTML


Un documento HTML consiste de dos secciones principales: Cabecera y Cuerpo

La seccin de la cabecera se define con los comandos <HEAD> y </HEAD>. Contiene la informacin acerca del documento como su ttulo (comando <TITLE> ), teclas clave, etc. La seccin del cuerpo se define con los commandos <BODY> y </BODY>. Contiene el texto de la pgina y todos los comandos embebidos. Por ejemplo, a continuacin se muestra un documento HTML simple: <HTML> <HEAD> <TITLE> Pgina Web del Controlador Festo FC34 </TITLE> </HEAD> <BODY> Controlador Festo FC34 </BODY> </HTML>

Note que todo el contenido del documento se encuentra encerrado entre los comandos <HTML> y </HTML> lo cual indica que esta es una pgina Web. Los espacios en blanco son ignorados por el navegador en cuanto se presenta la pgina. Por lo que, la pgina mostrada arriba puede ser tambin como sigue:

Festo Didactic Win FST

122
HMI Development

<HTML> <HEAD><TITLE>Pgina Web del Controlador FC34</TITLE></HEAD> <BODY>Controlador Festo FC34</BODY></HTML> Sin embargo, la primer version es ms fcil de leer.

Festo

10.4 Creacin de un documento HTML


Los documentos HTML se pueden crear utilizando: Un editor HTML o bien, Un editor de texto simple.

Los editores HTML estn diseados para crear documentos HTML utilizando una interfase grfica 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 imgenes, 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 traduccin a HTML no siempre resulta perfecta en la versin HTML del documento que se mira diferente que la versin original. Aqu utilizaremos un editor de textos simple, llamado Notepad. Este editor est incluido en el sistema operativo Windows.

10.4.1 Creacin de una pgina Web simple

Inicie Notepad dando clic en el botn de INICIO de Windows Navegue a Programas, Accesorios y Notepad Digite lo siguiente: <HTML> <HEAD> <TITLE> Festo FC34 Controller Web Page </TITLE> </HEAD> <BODY> Festo FC34 Controller </BODY> </HTML>
Win FST Festo Didactic

123
HMI Development

Note que los comandos pueden digitarse tambin con letras minsculas. Sin embargo, de manera convencional se teclean en maysculas para hacer ms fcil 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 despus del nombre del archivo. Notepad aadir automticamente la extensin txt a cualquier nombre de archivo utilizado. Para evitar esto, encierre el nombre del archivo y la extensin 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 Visualizacin 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 pgina Web Localizada en el disco duro de la PC o, Localizada en otra computadora a travs de una red con un servidor Web.

Festo Didactic Win FST

124
HMI Development
Actualmente, la pgina 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 pgina al control servidor de la Web y lo veremos desde ah.

a.

Vista de una pgina desde el disco duro local


Ejecute el explorador de Internet dando un clic en el botn de Inicio de Windows Navegue a la opcin 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 pgina se mirar como se indica a continuacin:

Esta pgina no luce tan interesante pero nos muestra los conceptos bsicos de la creacin y vista de una pgina HTML.

b.

Vista de una pgina desde el servidor Web FC34

Ahora enviaremos esta pgina Web al controlador FC34. Ahora, utilizando el explorador le pediremos al servidor Web FC34 que nos entregue la pgina a travs de la red. En este ejemplo, la pgina Web estar localizda en el controlador FC34. Para enviar la pgina al controlador FC34:

Inicie el programa WinFST. Seleccione File Transfer del men Online. Esto iniciar la opcin 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.
Win FST Festo Didactic

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.

Festo Didactic Win FST

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.


Win FST Festo Didactic

127
HMI Development

Modify the file as follows: <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>

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)

Festo Didactic Win FST

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

Win FST Festo Didactic

129
HMI Development
<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>

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 controllers 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.

Festo Didactic Win FST

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>

Win FST Festo Didactic

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>

Festo Didactic Win FST

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.
Win FST Festo Didactic

133
HMI Development

Chapter 11

HMI Development

Festo Didactic Win FST

134
HMI Development

Win FST Festo Didactic

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 (dropdown 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.

Festo Didactic Win FST

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 Type Name Value onClick Definition Specifies that this will be a button Assigns a name to the button object. Later this name can be used in a script (program) to refer to the button object Label displayed on the button Click event generated by the button to call the action or event handler when the user clicks the button

Win FST Festo Didactic

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 Type Name Value Definition Specifies that this will be a checkbox Assigns a name to the checkbox object. Later this name can be used in a script (program) to refer to the checkbox object 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 Type Name Maxlength Definition Specifies that this will be a text box 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 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.
Festo Didactic Win FST

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
Win FST Festo Didactic

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; Festo Didactic Win FST }

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; }

Win FST Festo Didactic

141
HMI Development

// 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; }

11.4 Remote Operation of the Lifting Device


Lets 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.

Festo Didactic Win FST

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>

Win FST Festo Didactic

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:
<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>

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.

Festo Didactic Win FST

144
HMI Development
Main Organisation Program of the Lifting Device

STEP Initial THEN SET P2 Blinking Program

STEP Start IF THEN iEStop JMP TO Emergency Emergency Stop Button 0.25s Blinks Start Lamp Start Lamp Start Button Start Flag Cylinder 1A Back Cylinder 2A Back Sequence Program Start Lamp

IF FBlink1 THEN SET oStart OTHRW RESET oStart IF OR AND AND SET RESET iStart Fstart B1 B3 P1 oStart

THEN

STEP Stop IF THEN iEStop JMP TO Emergency Emergency Stop Button 0.5s Blinks Stop Lamp Stop Lamp Stop Button Stop Flag Cycle Stop Start Flag Stop Flag Sequence Program Cycle Stop Stop Lamp

IF FBlink2 THEN SET oStop OTHRW RESET oStop IF THEN OR SET RESET RESET N RESET RESET JMP TO iStop Fstop FCStop FStart Fstop P1 FCStop oStop Start

IF THEN

Win FST Festo Didactic

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>
Festo Didactic Win FST

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>

Win FST Festo Didactic

147
HMI Development

<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>

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

Festo Didactic Win FST

148
Project Flow Chart

Win FST Festo Didactic

149
Project Flow Chart

Chapter 12

Project Flow Chart

Festo Didactic Win FST

150
Project Flow Chart

Win FST Festo Didactic

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 Double-Click on Icon or New Project from File Menu Type in Your Project Name and Click OK In the New Dialog Box, Choose Your Controller and Click OK Type in Your Comments if You Wish and Click OK Click Insert, New Program or Program, New Create Program Or Right-Click on Program and Click on Insert Program Type Number, Version and Comments Number Program Number Version Program Version Number Comments Program Name 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 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

Create New Project

Type In Project Name

Choose Controller Type in Your Comments (Optional)

Set IO Configuration

Declare Variables

Festo Didactic Win FST

152
Project Flow Chart

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 Your Program Must be Open Click Compile Active Module Icon or Press [Ctrl] + [F7] If there is an Error, it Will be Displayed. Remove All Errors Click Make Project Icon or Press [F7] Click Build Project Icon Double-Click on Controller Settings in Project Tree Window Tick Autostart box Click Download Tab Tick Download Source File Click OK Click on Extra and Preferences from the Menu Bar Choose Communications Port Select Correct COM Port Set Baud Rate t 9600 Click OK Click on Download Project icon or Press [F5] Switch On PLC and Run Program Right-Click on Program and Click Online You Can Switch Between Online and Editor Anytime
Win FST Festo Didactic

Check Program

Check for Errors

Compile the Project Build the Project

Set Controller Settings

Set Preferences

Download the Program Run Program

OnLine Display for Program

153
Project Flow Chart

OnLine Display for Operands

Click on Online Display Icon You Can Force the Operands by Clicking the Respective Bits Click on Project Click on Backup Choose Project Choose Location Click Save Click on Project Click on Restore Choose File Click Open Click OK Click on Project Click Exit If Project has Not been Saved, You Will be Prompted

Backup Project

Restore Project

Quit

Festo Didactic Win FST

You might also like