Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
El lenguaje de programacin
Win FST 4.10 para PLCs
Festo Didactic
01/2004 Edward Gasper Cristbal Jimnez, Festo Mxico by Festo Didactic GmbH & Co.,
Partes de esta publicacin pueden ser copiadas por los usuarios autorizados con el nico propsito de entrenamiento.
Win FST Festo Didactic
Festo Didactic
4
Tabla de 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
5
Contenido
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
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
6
Tabla de 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............................................... 79
Introduccin.......................................................................... 79 Verificacin de la direccin de su PC..................................... 79 Localizacin de una direccin IP libre para sus PLCs........... 80 Modificacin de la direccin IP de sus PLCs ........................ 80 8.4.1 Configuracin de E/S................................................ 82 8.4.2 Ajustes del Controlador ............................................ 83 8.4.3 Carga del proyecto y de los Drivers al PLC................ 84 Conexin de par de cables trenzados ................................... 85 Verificacin de la Comunicacin ........................................... 86 Comunicacin con el Controlador ......................................... 86
Utilizacin de Ethernet
9
9.1 9.2
Utilizacin de Ethernet................................................ 91
Introduccin.......................................................................... 91 Programacin va Ethernet.................................................... 91 9.2.1 Importacin de Mdulos .......................................... 91 9.2.2 Mdulo IP_TABLE ..................................................... 93 9.2.3 Mdulo EASY_R ........................................................ 94 9.2.4 Mdulo EASY_S ........................................................ 95 Programacin simple utilizando Ethernet ............................. 95 9.3.1 Tarea de control........................................................ 96 9.3.2 Componentes de la Estacin A ................................. 96 9.3.3 Componentes de la Estacin B ................................. 96 9.3.4 Transferencia de datos ............................................. 97 9.3.5 Lista de asignaciones ............................................... 97 9.3.6 Escritura del programa para le Estacin A................ 98 9.3.7 Programa principal para la Estacin A...................... 100 9.3.8 Programa de secuencia para la Estacin A ............... 101 9.3.9 Programa de seal intermitente para Estacin A...... 103 9.3.10 Escritura de programa para Estacin B .................... 103 9.3.11 Programa principal para Estacin B.......................... 104 9.3.12 Programa de secuencia para Estacin B................... 105 9.3.13 Programa de seal intermitente para Estacin B ..... 106
9.3
7
Contenido
10.4
10.5 10.6
11.3 11.4
8
Primeros Pasos
Captulo1
Primeros Pasos
9
Primeros Pasos
10
Primeros Pasos
Win FST
Este manual est elaborado para quienes inician la programacin con el software Win FST. Este manual contiene algunos ejemplos.
1.2
11
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.
12
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
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.
13
Primeros Pasos
El nuevo programa que ha creado aparecer bajo la carpeta Program en el rbol del proyecto.
14
Primeros Pasos
1.4
Configuracin de E/S
Antes de declarar las variables, necesita configurar las E/S. De un doble click en IO Configuration en la lista del rbol del proyecto.
Mueva al ratn a la pantalla y de un click derecho. De un Click en Insert IO Module Una nueva ventana de dilogo aparecer
Win FST Festo Didactic
15
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.
16
Primeros Pasos
1.5
Declaracin de 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].
17
Primeros Pasos
1.6
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.
18
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
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]
19
Primeros Pasos
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.
20
Primeros Pasos
1.8
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
21
Primeros Pasos
Construir proyecto
1.9
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.
22
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
23
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
Festo Didactic Win FST
24
Primeros Pasos
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.
25
Primeros Pasos
Para ir a modo en lnea y ver los operandos, de un clic en el cono Online Display.
Monitoreo en lnea
26
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.
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
27
Primeros Pasos
28
Primeros Pasos
De un Clic en OK Una vez que ha sido recuperado, aparecer la ventana Message Window.
29
Primeros Pasos
El proyecto se recueprar en la carpeta de Proyectos.
30
Programacin en lista de instrucciones
31
Programacin en lista de insrucciones
Captulo 2
32
Programacin en lista de instrucciones
33
Programacin en lista de insrucciones
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)
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:
34
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
STEP (Etiqueta)
alfanumricos
IF THEN SET
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
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
35
Programacin en lista de insrucciones
2.5
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
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.
36
Programacin en lista de instrucciones
2.6
STEP Start IF THEN SET OTHRW RESET O0.0 STEP Stop IF THEN I0.1 RESET O0.0
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
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
37
Programacin en lista de insrucciones
38
Comandos estndar utilizados en STL
39
Comandos estndar utilizados en STL
Captulo 3
40
Comandos estndar utilizados en STL
41
Comandos estndar utilizados en STL
Los siguientes commandos son algunos de los ms utilizados en el lenguaje de Lista de Instrucciones.
3.2
Lista de comandos
42
Comandos estndar utilizados en STL
OTHRW Permite continuar con la ejecucin del programa an cuando la parte condicional de la frase sea falsa.
LOAD
DEC
INC
Incrementa a un operando multi bit/al acumulador Es la function negacin. Le permite invertir una condicin de entrada.
43
Comenzando el proyecto Dispositivo de Elevacin
Captulo 4
proyecto
44
Comenzando el proyecto Dispositivo de Elevacin
45
Comenzando el proyecto Dispositivo de Elevacin
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.
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
46
Comenzando el proyecto Dispositivo de Elevacin
4.2
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
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.
47
Comenzando el proyecto Dispositivo de Elevacin
4.4
4.5
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.
48
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
49
Comenzando el proyecto Dispositivo de Elevacin
4.6
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
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.
50
Comenzando el proyecto Dispositivo de Elevacin
4.8
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.
51
Comenzando el proyecto Dispositivo de Elevacin
De un clic OK
4.9
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]
Aparecer una ventana de dilogo una vez que se haya completado la carga o si existiera algn error. Ejecute el programa en el PLC.
52
Comenzando el proyecto Dispositivo de Elevacin
53
Comenzando el proyecto Dispositivo de Elevacin
Para monitorerar en lnea a los operandos, de un clic en el cono Online Display.
Monitoreo en lnea
54
Utilizacin de temporizadores
55
Utilizacin de temporizadores
Captulo 5
Utilizacin de temporizadores
56
Utilizacin de temporizadores
57
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
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.
58
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
5.3
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
59
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.
60
Utilizacin de temporizadores
61
Utilizacin de contadores
Captulo 6
Utilizacin de contadores
62
Utilizacin de contadores
63
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
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:
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
64
Utilizacin de contadores
Y a continuacin se muestra el segundo mtodo:
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
6.3
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
65
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
66
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
67
Multitarea
Captulo 7
Multitarea
68
Multitarea
69
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
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
CMP 99
CFM 99
70
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.
71
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.
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
72
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.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.
73
Multitarea
7.4
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.
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
74
Multitarea
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.
75
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
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
76
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
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
77
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.
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
78
Multitarea
STEP Check IF THEN FCStop JMP TO End Paro de ciclo Automatic/Manual Switch
7.7
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
79
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
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
80
Multitarea
7.8
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.
81
Multitarea 7.8.2 Programa principal de organizacin
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
82
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
83
Multitarea
STEP Check IF THEN FCStop JMP TO End Paro de ciclo Selector ciclo nico/continuo
STEP Blink THEN CFM 0 LOAD FU32 TO FW10 JMP TO Blink Mdulo de encendido intermitente
84
Multitarea
85
Utilizacin de Ethernet
Captulo 8
Redes de Comunicacin
86
Utilizacin de Ethernet
87
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.
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
88
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
8.3
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.
8.4
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
89
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.
90
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.
91
Utilizacin de Ethernet
92
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.
93
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:
94
Utilizacin de Ethernet
8.5
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:
95
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
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:
96
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.
97
Utilizacin de Ethernet
Captulo 9
Utilizacin de Ethernet
98
Utilizacin de Ethernet
99
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
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.
100
Utilizacin de Ethernet
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:
101
Utilizacin de Ethernet
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
102
Utilizacin de Ethernet
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
V2 V12 V0 V99
Parmetros de salida
Parmetro FU32 Descripcin 0 - Si solicita lectura De otra manera hubo u error
103
Utilizacin de Ethernet
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
V2 V12 V0 V99
Parmetros de salida
Parmetro FU32 Descripcin 0 - Si enva requisicin De otra manera hubo error
9.3
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.
104
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.
105
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.
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
106
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
107
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
108
Utilizacin de Ethernet
109
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 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
110
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
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
SET
B1 Y1
111
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
112
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 Blink THEN CFM 0 LOAD FU32 TO FW10 JMP TO Blink Blink Module Flagword for Blinks
113
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
114
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
115
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
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
116
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
IF THEN IF THEN
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
117
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
118
Utilizacin del servidor WEB
119
Using Web Server
Chapter 10
120
Utilizacin del servidor WEB
121
Using Web Server
10
10.1 Introduction
As can be seen in the previous chapter, the controllers can be connected to a network using TCP/IP driver making it possible to access it by other computers using the TCP/IP protocol. In addition, the controller can act as a World Wide Web server delivering web pages that can be viewed using a standard browser such as Microsoft Internet Explorer or Netscape Navigator. Using these web pages, it is possible to display and modify contents of the controller registers. As a result, the process can be remotely operated, the process can be remotely monitored and it can be remotely configured.
Con formato: Ingls (Estados Unidos)
122
Utilizacin del servidor WEB
Double click somewhere inside the Driver Configuration window to open the Select Driver window.
Select WEB_SRVR and click OK to include the web server driver in the project. This will open the Driver Options window.
123
Using Web Server
This window will ask for the virtual drive where the web server will be installed. Choose B and click OK. The Driver Configuration window will now list both drivers. Close the Driver Configuration window.
At this point the TCP/IP and Web server drivers are configured and the project is ready to be downloaded to the controller. As mentioned before,
Festo Didactic Win FST
124
Utilizacin del servidor WEB
when downloading the network drivers to the controller for the first time you need to use RS232 serial communication with the controller to transfer the network drivers to it. Once a project with the network drivers are downloaded, the controller can be accessed over the network. Now we have completed the setup of the controller. In order to use the web server, we need to have some basic understanding of web page designs.
Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos)
125
Using Web Server
<A HREF=www.festo.com>Festo site</A> <IMG SRC=Festo.jpg> <PRE>Hello World</PRE> <HR> <BR> web
Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos)
Hyperlink Image Preformatted text Horizontal ruled line (Inserts a line) Break (End of line)
The head section is defined by the <HEAD> and </HEAD> tags. It contains information about the document such as its title (<TITLE> tag), keywords, etc. The body section is defined by the <BODY> and </BODY> tags. It contains the page text and all embedded tags.
For example, the following is a minimal HTML document: <HTML> <HEAD> <TITLE> Festo FC34 Controller Web Page </TITLE> </HEAD> <BODY> Festo FC34 Controller </BODY> </HTML>
Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos)
Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos)
Notice that the entire document content is enclosed between <HTML> and </HTML> tags indicating that this is a Web page. The white spaces are ignored by the browser as it renders the page.
Festo Didactic Win FST
126
Utilizacin del servidor WEB
Therefore, the above page is the same as the following: <HTML> <HEAD><TITLE>Festo FC34 Controller Web Page</TITLE></HEAD> <BODY>Festo FC34 Controller</BODY></HTML>
Con formato: Ingls (Estados Unidos)
HTML editors are designed to create HTML documents using a graphical user interface. In other words, you can create a document much like in Microsoft Word by typing the text, selecting different fonts and inserting images, etc. When the document is saved, it is converted into HTML tags and saved as an HTML document. There are many such editors available. However, it must be pointed out that the translation to HTML is not always a perfect one resulting in the HTML version of the document looking different than the original version. Here we will use a simple text editor, namely, Notepad. This editor comes with the Windows operating system.
Start Notepad by clicking START button of Windows Navigate to Programs, Accessories and Notepad Type the following: <HTML> <HEAD> <TITLE> Festo FC34 Controller Web Page </TITLE> </HEAD> <BODY> Festo FC34 Controller </BODY> </HTML>
Win FST Festo Didactic
127
Using Web Server
Note that the tags can also be typed in lowercase letters. However, conventionally they are typed in uppercase letters to make it easier to separate them from the rest of the text in the document.
Save the file as an HTML file. This requires using htm or html as an extension after the filename. Notepad will automatically add a txt extension to any filename used. To avoid this, enclose the filename and the extension in double quotes. To save the file click File and select Save As. Navigate to a directory where you want to save the file. Type main1.htm (including the double quote marks) for filename and click OK.
Currently, the Web page you just created is located on the hard drive of the PC (local copy). Therefore, we will first view it from the hard drive. Later, we will send the page to the controller Web server and view it from there.
Festo Didactic Win FST
128
Utilizacin del servidor WEB
a.
This page is not very interesting but it shows the basic concepts of creating and viewing an HTML page.
b.
Now we will send this Web page to the FC34 controller. Then, using the browser we will ask the FC34 Web server to deliver the page to us over the network. In this example, the Web page will be located on the FC34 controller. To send the page to the FC34 controller:
Start FST program. Select File Transfer from the Online menu. This will start the file transfer utility and will show you the current files on virtual drive A of FC34. Change to drive B where the Web Server files are kept.
129
Using Web Server
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.
130
Utilizacin del servidor WEB
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.
131
Using Web Server
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)
132
Utilizacin del servidor WEB 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
133
Using Web Server
<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.
134
Utilizacin del servidor WEB
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> Win FST Festo Didactic <HR width="80%" align="center"> <BR>
135
Using Web Server
<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> Festo Didactic Win FST </BODY> </HTML>
Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos) Con formato: Ingls (Estados Unidos)
136
Utilizacin del servidor WEB
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).
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.
Win FST Festo Didactic
137
Using Web Server
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.
138
Utilizacin del servidor WEB
139
HMI Development
Chapter 11
HMI Development
140
HMI Development
141
HMI Development
11
HMI Development
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.
142
HMI Development
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.
143
HMI Development
Value onClick Label displayed on the button Click event generated by the button to call the action or event handler when the user clicks the button
144
HMI Development
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 )
Win FST Festo Didactic
145
HMI Development 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 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; }
146
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 Win FST Festo Didactic this.location.href = href + "?ci:" + "!3M" + Operand + "=" + Value; } // CISendStr sends a modify string command to the web server // Parameters:
147
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; }
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
148
HMI Development
149
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.
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
Festo Didactic Win FST
IF THEN
150
HMI Development
151
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> Festo Didactic Win FST <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>
152
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>
Win FST Festo Didactic
153
HMI Development
Save the file and download it to the controller. When downloading the file to the controller remember to also download the Fst.js file.
154
Project Flow Chart
Chapter 12
155
Project Flow Chart
156
Project Flow Chart
12
Set IO Configuration
Declare Variables
157
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
Check Program
Set Preferences
158
Project Flow Chart
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