Win FST 4.10 para PLC´s Programación PLC
Comments
Description
Sistema de Enseñanza para la Técnica de Automatización y ComunicacionesEl lenguaje de programación Win FST 4.10 para PLC´s Programando con Win FST Festo Didactic Edición: Autor: Traducción: © 2002 01/2004 Edward Gasper Cristóbal Jiménez, Festo México by Festo Didactic GmbH & Co., Rechbergstraße 3, D-73770 Denkendorf Todos los derechos reservados, incluyendo los derechos de traducción. Ninguna parte de esta publicación puede ser reproducida o transmitida de ninguna manera o por cualquiera de los medios, electrónico, mecánico, fotocopiado, o de alguna otra manera , sin el consentimiento previo escrito por parte de Festo Didactic. Partes de esta publicación pueden ser copiadas por los usuarios autorizados con el único propósito de entrenamiento. Win FST • Festo Didactic Sistema de Enseñanza para la Técnica de Automatización y Comunicaciones Festo Didactic ...............................1 Paso....................................... 12 Declaración de las variables . 9 Creación de un nuevo proyecto ................................ 29 Elementos del STL............. 24 1...... 3 Primeros pasos 1 1...........3 2........... 32 Comandos estándar utilizados en STL 3 3................ 9 Creación de un programa..3 1............................................1 3.. 29 Introducción......................... 36 Win FST • Festo Didactic ..2 1..........1 Transferencia de Instrucciones en STL .......................8 1.... 24 1.......................... 29 2...........................................4 1.............12 1..................................... 35 Introducción.....................................................................7 1..........................................5 1... 17 Compilación y construcción de un programa ..........................................................................4 2.................... 16 Verificación de un programa ........ 22 Respaldo y restauración de proyectos...................... 30 Una frase dentro de un paso.............4 Tabla de contenido Contenido Contenido ................................................ 32 Utilización del comando ELSE en lugar del OTHRW ....2 Instrucciones lógicas en STL .......1 Respaldo.6 1.....2 Instrucciones ..... 31 Ejecución de un paso con la instrucción OTHRW .................. 14 Escritura de un programa..........................2 2.........10 1................................................................................................... 35 Lista de palabras clave..................................................2 Restauración ................ 25 Salida del programa................................ 18 Configuración del Controlador ........................ 29 2...................2........................................................ 20 Transferencia del Programa al PLC.............. 26 Programación en Lista de Instrucciones 2 2......................... 35 3.11 1............................................................ 29 La instrucción STEP......2........1 2.............. 22 Monitoreo en línea.......................................................................9 1..........2......... 30 Varias frases dentro de un paso ........ 35 3.................................................12...2 Comandos estándar utilizados en STL ........2........7 Programación en Lista de Instrucciones .......................................................................................... 11 Configuración de las Entradas/Salidas ....................................6 2..13 Primeros pasos 9 Iniciando el software Win FST .............................12...............5 2..........1 1......... ............................6 4.........2..70 7...........................9 4...............................................8 4..................58 Multitarea 7 7..................................40 Configuración de E/S.............63 7........1 5............7 4....52 Utilización de contadores 6 6.....................3 Utilización de contadores .................57 Utilización de la función de conteo.............................................................. 57 Introducción .......2 5.43 Ajustes del controlador .....................40 Declaración de los programas ..5 4.3 Llamado de un módulo ..........................................10 Inicio del proyecto “Dispositivo de elevación” .........................2.............41 Verificación del proyecto ..................................5 7...................................................6.............2 Programa de organización principal ..................1 CFM – Llamada a módulo de función ........63 Términos asociados con la Multitarea..............1 Arbol del proyecto..............70 7..1 4............................3 Utilización de temporizadores........51 Aplicación de un temporizador en el proyecto ........................................................................51 Utilización de la función de ayuda..................................................3 4...66 Utilización de banderas ........................66 Utilización del módulo de señal intermitente (Blink)..2....39 Creación del proyecto y del programa en WinFST ......................................... 39 Introducción .....................................................6..... 63 Introducción ........... 51 Introducción .....................64 7...........................................1 6.................................................69 Estructura de los proyectos y de los programas.............................................................................................................64 7....6 Festo Didactic • Win FST ..............................................70 7.......71 7..........2 Multitarea ...2 CMP – Llamada a módulo de programa ..........66 Tarea de control inicial ...............57 Aplicación del contador en nuestro proyecto .3 Programa de secuencia.................................................6..4 4..................41 Escritura del programa ...1 Lista de asignaciones......................................................4 7.......................2 6..............44 Carga del programa al PLC.............................5 Contenido Inicio del proyecto “Dispositivo de elevación” 4 4.....2 4.....................2............45 Monitoreo en línea ................1 7....46 Utilización de temporizadores 5 5..............3 7.5...........................................43 Elaboración y construcción del proyecto.....4 Llamado de programas ........................65 7.......................69 7...... ........................................7............ 91 9................................ 85 Verificación de la Comunicación .. 86 Comunicación con el Controlador .1 Lista de asignaciones ..3...............3.........3...............................................4 Programa de generación de señal intermitente......8................... 106 9...................1 9................3..........................4 Transferencia de datos ...... 103 9..................13 Programa de señal intermitente para Estación B ........3......2.................................9 Programa de señal intermitente para Estación A........ 86 8...................................7 Programa principal para la Estación A.... 94 9......................................2 Módulo IP_TABLE .... 96 9........ 73 7..... 96 9..................8. 101 9.......................................... 79 Introducción.. 71 7.................... 79 Verificación de la dirección de su PC.... 97 9.......... 79 Localización de una dirección IP libre para sus PLC´s................................3.. 98 9........6 Escritura del programa para le Estación A.... 83 8....... 91 Introducción................2 Programa principal ........5 8.. 106 Win FST • Festo Didactic ................ 96 9.......................1 Tarea de control..........2 8............... 105 9..............12 Programa de secuencia para Estación B................2 Utilización de Ethernet..........1 Importación de Módulos .......................... 91 9.......................... 72 Estructura de los proyectos y de los programas ...2..... 80 Modificación de la dirección IP de sus PLC´s ...2 Ajustes del Controlador .................................8............10 Escritura de programa para Estación B .3........ 73 7....3 Programa de secuencia ....3..............2..4...........3..8 Requerimientos adicionales de control............................................. 97 9...............3..3 Carga del proyecto y de los Drivers al PLC..11 Programa principal para Estación B....................... 95 9........1 8..... 103 9..3............................7 Utilización de Ethernet 9 9.............................2 Componentes de la Estación A .....7 7...............4........ 93 9...........3......4 Módulo EASY_S .................... 80 8....................... 76 Redes de Comunicación 8 8....................................... 100 9.........................3...............................6 8.........14 Carga y prueba del programa.............................4.........................3..................................................... 75 7..........6 Tabla de contenido 7..1 Arbol de proyecto .................3 Componentes de la Estación B . 91 Programación vía Ethernet..5 Lista de asignaciones ....... 104 9.....3 Módulo EASY_R ........3 8. 95 Programación simple utilizando Ethernet .....3 9.....................................8...8 Programa de secuencia para la Estación A ........................ 82 8........................... 74 7.................. 84 Conexión de par de cables trenzados .............................4 Redes de Comunicación..2..1 Configuración de E/S.......... ..........................1 11.....................3...........................1 10..131 11..130 11......129 11..2............3......138 11................5...3 Elemento caja de Texto ........6.......132 11..............................2.7 Contenido Utilización del Servidor para WEB 10 10........5 10......................................................1 Funciones Javascript CISend y CISend2 ..4 Diagrama de flujo del Proyecto 12 12...2 10........ carga y visualización de la página...........................1 Elemento Botón .....1 Diseño de una página Web avanzada ...........115 10.................2 Creación............................111 Diseño de la página Web con HTML ...........3..........136 11....................................2 Consultas Repetidas al Servidor Web ......3 Estructura de la página Básica HTML......3...............................5........2.......................................4....2 Desarrollo de HMI . 111 Introducción ......................125 10......1 Creación de una Página Web Simple...........................113 10..111 Ajustes para Acceso Remoto ......135 11.121 Página Web Avanzada con comandos CI embebidos ...........6 Utilización del Desarrollo de HMI 11 11..122 10............119 10........... 143 Diagrama de flujo del Proyecto ..........................................2 Etiquetas Básicas HTML.........114 Creación de un Documento HTML ............132 Operación remota del Dispositivo de Elevación ..123 10.........3........114 10. 129 Formas HTML.............131 Control Remoto de Dispositivos con un HMI ...................4....................117 Página Web Simple con comandos CI embebidos ....2 Guardado del archivo HTLM..1 Página Web Básica con comandos CI embebidos ..............116 10....4.................................................3 Visualización de un Documento HTML........................................4 10..........................1 Diagrama de flujo del Proyecto ..............116 10...................4...........113 10.......................3 Utilización del Servidor para WEB.............................1 Etiquetas HTML ............2 Elemento Caja de prueba (Checkbox) .......131 11....................6...............2 El archivo completo HTML............129 Etiqueta HTML <Form> y Elementos de Forma .............119 10................................2 Creación de un archivo Javascript ...........4..........1 Creación de Botones ......143 Festo Didactic • Win FST ..3 11........................... 8 Primeros Pasos Capítulo1 Primeros Pasos Win FST • Festo Didactic . 9 Primeros Pasos Festo Didactic • Win FST . 10 Primeros Pasos Win FST Este manual está elaborado para quienes inician la programación con el software Win FST.[New Project]. Este manual contiene algunos ejemplos. Win FST • Festo Didactic . 1 Primeros pasos 1.1 Inicio del software Win FST Al iniciar el software Win FST observará la siguiente pantalla: 1.2 • Creación de un nuevo proyecto De un Click en [File]. Festo Didactic • Win FST . Introduzca el nombre de su proyecto.11 Primeros Pasos • • • • La ventana de diálogo aparecerá con el signo “?” en el campo para la introducción del nombre. De un Click en [OK] Una nueva ventana de diálogo aparecerá para que introduzca los ajustes del proyecto. • Escoja el tipo de controlador en base al que esté utilizando. Sin embargo.3 • • • • Creación del Programa Hay varias formas de crear un programa. Es allí donde se lleva a cabo la navegación por todo el proyecto. [New]. no es necesario.12 Primeros Pasos • • • • Tal vez desee añadir un comentario para el proyecto. De un Click en [OK] Será llevado a la ventana principal con una nueva ventana (“Project Tree”) en la parte superior izquierda. 1. De un Click en [Insert]. O puede dar un click en el botón derecho del ratón en “Program” y dar un click en “Insert Program” Una ventana de diálogo aparecerá. Win FST • Festo Didactic . [New Program] o [Program]. Festo Didactic • Win FST .13 Primeros Pasos • El nuevo programa que ha creado aparecerá bajo la carpeta “Program” en el árbol del proyecto. 14 Primeros Pasos 1. necesita configurar las E/S.4 • • Configuración de E/S Antes de declarar las variables. De un Click en “Insert IO Module” Una nueva ventana de diálogo aparecerá Win FST • Festo Didactic . • • • Mueva al ratón a la pantalla y de un click derecho. La pantalla estará en blanco. • • Aparecerá una ventana de diálogo. De un doble click en “IO Configuration” en la lista del árbol del proyecto. • • • • Escoja “0” tanto para “OW” como para “IW”. Éste es el número de palabra tanto para las entradas como para las salidas de la cual comenzaremos a direccionar. De un Click en “OK” Cierre la ventana. Festo Didactic • Win FST .15 Primeros Pasos • Escoja el PLC que esté empleando. Para insertar una variable de un click derecho. Aparecerá una nueva pantalla con tres encabezados: • Operando • Símbolo • Comentario “Operand” es la dirección absoluta que reconoce el PLC de las entradas y la salidas. “Comment” son los comentarios acerca del operando en cuestión. Esto se hace en “Lista de Asignaciones” (“Allocation List”).5 • • • • Declaración de variables • • • • • • Necesita declarar las variables que utilizará en su programa.16 Primeros Pasos 1. De un doble click en la opción “Allocation List” del árbol del proyecto. “Symbol” es el operando simbólico el cual le es familiar al programador. sin embargo se aconseja definirlos con el fin de documentar al proyecto. y de un click en [Insert Operand] Otra manera es presionando la tecla [Insert]. Los operandos simbólicos y los comentarios son opcionales. Win FST • Festo Didactic . Festo Didactic • Win FST .17 Primeros Pasos 1. Se abrirá una ventana de programación.6 • • • Escritura del Programa De un doble click en el programa que creó. ésta se sobreposicionará. Si tiene abierta más de una ventana. 18 Primeros Pasos • • • • Junto con la ventana de programación, la ventana “STL Shortcuts” aparecerá para auxiliarle. Escriba su programa en Lista de Instrucciones. Puede introducir los comandos por el teclado o bien utilizar el menú de comandos. Puede introducir los operandos por el teclado o por el botón derecho del ratón y utilizar la opción “insert Operand”. La ventana de la lista de asignaciones aparecerá. 1.7 Verificación del Programa Después de escribir el programa, puede verificarlo con el fin de detectar y corregir los posibles errors de sintaxis y de direccionamiento. Con esta función, es possible eliminar dichos errores antes de cargar el programa. • • • De un Click en su programa en el navegador del proyecto. Su programa debe estar abierto y con la ventana del editor activa. De un Click en el ícono “Compile Active Module” o pulse [Ctrl] + [F7] Win FST • Festo Didactic 19 Primeros Pasos Compila el Módulo activo • • • • • • Entonces el programa es verificado. Los resultados de la verificación aparecerán en una nueva ventana de diálogo. Si el programa está libre de errores, entonces puede proceder con la siguiente tarea; de otra manera necesita corregir el error. La lista de errores le permite saber dónde se encuentra el error, al indicarle en qué línea se encuentra dicho error. Para dirigirse al error en la línea del programa correspondiente, de un doble clic en la línea donde se listó el error. Si ocurriesen varios errores, siempre corrija el primero y vuelva a compilar debido a que los demás errores pueden serconsecuencia del primero. Sin embargo, tome en cuenta que solo se verifica la sintaxis, lo cual no significa que el programa funcionará. Es similar a la verificación que hacen los procesadores de texto, pueden no haber errores de escritura pero el párrafo podría no tener sentido. De doble clic aquí Festo Didactic • Win FST 20 Primeros Pasos Línea donde hay error 1.8 Compilación y construcción del programa Antes de cargar su programa al PLC, tiene que compilar y construir su programa. Recuerde que esto es diferente que compilar el programa, ya que esta segunda opción le construye todo el proyecto con todos los drivers, etc. • • • • De un Clic en la ícono “Make Project” o pulse la tecla [F7] Este ícono se utiliza para compilar cualquier cambio efectuado. Cuando de un clic en el ícono “Build Project”, se reconstruirá todo el proyecto. Se recomienda construir su proyecto al menos una vez antes de realizar la carga. Hacer proyecto Win FST • Festo Didactic Festo Didactic • Win FST .9 • • Configuración del controlador Antes de cargar el programa.21 Primeros Pasos Construir proyecto 1. requiere configurar a su controlador De un doble clic en la opción “Controller Settings” en la ventana del árbol del proyecto. Esto le asegura no reiniciar al PLC para iniciar el proyecto. De un clic en la pestaña “Download” y seleccione la opción “Download Source File” Win FST • Festo Didactic .22 Primeros Pasos • • • De un clic en la caja marcada como “Autostart”. 23 Primeros Pasos • • • • De un Clic en “OK” A continuación abra la ventana “Preferences” del menú [Extra] . [Preferences] Elija la pestaña “Communications Port” Elija el puerto COM y ajuste la velocidad de comunicación “Baudrate” a 9600 bauds. De un Click en “OK” Festo Didactic • Win FST . De un Clic en el ícono “Download Project” o presione la tecla [F5] Carga del proyecto • • Aparecerá una ventana de diálogo una vez que la carga se haya completado y si no existe algún error. 1. Puede conmutar entre el modo “Editor” y el modo “Online” en cualquier momento. De un clic derecho en la opción “Program” en el árbol del proyecto y de un clic en la opción “Online”. la ventana de su programa se abrirá y estará en condiciones de ver cómo se ejecuta su programa. Ejecute el programa moviendo el interruptor de Stop a Run.24 Primeros Pasos 1. Win FST • Festo Didactic . Después de construir su proyecto y de configurar su controlador entonces podrá descargar su prgrama.10 Carga del programa • • • • 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).11 Monitoreo en línea • • • Puede ir a la opción “Online” para monitorear al programa que se esté ejecutando o para monitorear los operandos. Monitoreo en línea Festo Didactic • Win FST . de un clic en el ícono “Online Display”.25 Primeros Pasos • Para ir a modo en línea y ver los operandos. seguramente requerirá respaldar y recuperar sus proyectos.26 Primeros Pasos • • • Note que puede forzar las salidas dando un clic a los bits respectivos . 1. Sin embargo. asegúrese de no ocasionar que su equipo afecte a otro equipo. De un Clic en “OK” Elija el lugar en donde desee respaldar al proyecto. 1. sea cuidadoso cuando force dichas variables. También recuerde desactivar todas las salidas una vez que haya terminado.12.12 Respaldo y recuperación de Proyectos Durante su trabajo de programación. De un Clic en “Save” Win FST • Festo Didactic . regularmente es la unidad de discos de 3 ½.1 Respaldo (Backup) Para respaldar un proyecto: • De un Clic “Project” • De un Clic en “Backup” • • • • Elija el Proyecto que require respaldar. Su proyecto se respalda como un archivo ZIP. 1.12.2 Recuperación (Restore) Para respaldar un proyecto: • De un Clic en “Project” • De un Clic en “Restore” Festo Didactic • Win FST .27 Primeros Pasos • Una vez completado el proceso aparecerá la ventana “Message Window” • • Su proyecto ya habrá sido respaldado. Win FST • Festo Didactic .28 Primeros Pasos • • Elija el archivo que desee recuperar. aparecerá la ventana “Message Window”. De un Clic en “Open” • • De un Clic en “OK” Una vez que ha sido recuperado. 13 Para salir del programa • • De un Clic en “Project” • De un Clic en “Exit” Si el proyecto no ha sido guardado. se le solicitará.29 Primeros Pasos • El proyecto se recueprará en la carpeta de Proyectos. Festo Didactic • Win FST . 1. 30 Programación en lista de instrucciones Win FST • Festo Didactic . 31 Programación en lista de insrucciones Capítulo 2 Programación en Lista de Instrucciones Festo Didactic • Win FST . 32 Programación en lista de instrucciones Win FST • Festo Didactic . 2. Cada paso puede contener una o varias frases.2. Algunos ejemplos: Festo Didactic • Win FST . Parte condicional Parte ejecutiva Step (Paso) Frase 2. Cada programa en STL puede contener 255 pasos.2 • • Elementos de STL. Esta parte comienza regularmente con la instrucción IF (si condicional) y continúa con una o varias frases las cuales describen las condiciones que serán evaluadas.1 • • • • • • Step (Paso) A pesar de que el uso de la instrucción STEP es opcional.1 Introducción El lenguaje STL (Statement List) le permite al programador resolver tareas de control utilizando instrucciones simples en inglés para describir la operación deseada del controlador. entonces se llevarán a cabo todas las acciones programadas en la parte ejecutiva.33 Programación en lista de insrucciones 2 Programación en Lista de Instrucciones 2.2. La instrucción STEP se utiliza para marcar el comienzo de un bloque lógico de código de programa. Se le puede asignar a cada paso de manera opcional una etiqueta o nombre. Frases 2. Si las condiciones resultan verdaderas. La naturaleza modular del lenguaje le permite al programador resolver tareas complejas de una manera eficiente y de manera documentada. Sólo se require una etiqueta de paso cuando algún otro paso haga referencia al primero por medio de una instrucción de salto.2 • • La frase forma el nivel más básico dentro de la organización del programa. Cada frase está compuesta de una parte condicional y una parte ejecutiva a. la mayoría de los programadores la utiliza. Parte condicional • • • • La parte condicional para listar una o más condiciones que tienen que ser evaluadas al momento de la ejecución ya sea como verdaderas o falsas. 3 y continúa con el siguiente paso • • Es importante entender que el programa esperará en este paso hasta que las condiciones sean verdaderas y hasta entonces se llevarán a cabo las acciones.1 IF I0.0 está activa .La etiqueta puede ser de hasta 8 caracteres I0.Parte condicional . Parte Ejecutiva • • Esta es la sección de la Frase donde se acivan las salidas siempre que la parte Condicional haya sido evaluada como verdadera.0 O0.0) y procederá con el siguinete paso. entonces efectuará la parte ejecutiva (Set O0. Si la condición es falsa. STEP (Etiqueta) . STEP Stop. esxperará en el paso Start.3 La instrucción STEP En su forma más simple.Entonces enciende a la salida O0.3 b.1 O0.Si la I0.3 alfanuméricos IF THEN SET .34 Programación en lista de instrucciones o o IF I0.Parte ejecutiva Con formato: Inglés (Estados Unidos) STEP Stop IF THEN RESET I0.4 Un paso con una sola frase .0 es verdadera.0 STEP Start IF THEN SET . Win FST • Festo Didactic . Algunos ejemplos son: o THEN SET Y1 o THEN RESET Y2 o THEN JMP TO START 2.Etiqueta de hasta 8 caracteres alfanuméricos I0. STEP Start. una instrucción STEP incluye al menos una Frase.2 AND I0. 2. Sólo hasta entonces el programa avanzará al siguiente paso.0 • • • El programa ejecutará el primer paso. Si la condición I0.0 O0. entonces procederá con la tercera frase sin hacer ejecución alguna. Si la parte condicional de la tercera frase es verdadera.5 Un paso con varias frases STEP Start IF THEN IF THEN IF THEN STEP Stop IF THEN RESET RESET RESET I0.1 Primera frase Segunda frase Tercera frase • • • • Si la parte condicional de la primera frase es verdadera. Festo Didactic • Win FST .2 O0.1 SET I0. Generalmente. la segunda frase y la tercera frase y quedará encerrado en el mismo paso.0 I0. sólo cuando la última frase del paso es verdadera.1 O0. se procederá con el siguiente paso. procederá con la primera frase.35 Programación en lista de insrucciones 2. Si no es verdadera.1 O0.0 O0.0 O0.2 I0. Si la parte condicional de la segunda frase es verdadera. entonces se llevará a cabo la parte ejecutiva y procederá con la tercre frase. No se espera en la primera frase. Si no es verdadera. entonces se realizará la parte ejecutiva y continuará con la segunda frase.2 SET SET O0. No se espera en la segunda frase. procederá con la segunda frase sin realizar ejecución alguna. Si no es verdadera. entonces se realizará la parte ejecutiva y procederá con el siguiente paso. 0 o RESET O0.0 STEP Start IF THEN SET OTHRW RESET O0. De otra manera (si no es verdadera).0) y se procederá con el siguiente paso. STEP Start. no habrá espera en el paso STEP Start. Algunos programadores están más familiarizados con el comando “ELSE” por ser utilizado más comúnmente por los lenguajes de programación de computadoras. 2.6 Ejecución de un paso con la instrucción OTHRW (Otherwise) .0 STEP Stop IF THEN I0.36 Programación en lista de instrucciones 2. En este caso. necesita cambiar las preferencias.0 es verdadera. Si la condición I0.0 y procederá con el siguiente paso.7 • • • • • Utilización del comando ELSE en lugar del comando OTHRW El software WinFST ofrece la facilidad de utilizar el comando “ELSE” en lugar del commando “OTHRW”.Parte Condicional .1 RESET O0.0 y se procederá con el siguiente paso.0 .Parte Ejecutiva Con formato: Inglés (Estados Unidos) • • • El programa ejecutará el primer paso. entonces se realizará la parte ejecutiva (Set O0. y se ejecutará ya sea la acción SET O0.Parte Ejecutiva . De un clic en “OK” Win FST • Festo Didactic . “Preferences” y elija la opción “STL Editor” Marque el cuadro “Use ELSE instead of OTHRW”. STEP Stop. Para utilizar el comando “ELSE”. Vaya a la ventana “Extras”.0 O0. STEP Stop. efectuará la instrucción RESET O0.Etiqueta del paso de hasta 8 caracteres I0. 37 Programación en lista de insrucciones Festo Didactic • Win FST . 38 Comandos estándar utilizados en STL Win FST • Festo Didactic . 39 Comandos estándar utilizados en STL Capítulo 3 Comandos estándar utilizados en STL Festo Didactic • Win FST . 40 Comandos estándar utilizados en STL Win FST • Festo Didactic . 1 Instrucciones de transferencia Instrucción STEP IF THEN SET RESET JMP TO (Etiqueta de paso) NOP Descripción La instrucción STEP se utiliza para marcar el comienzo de un bloque lógico de un código de programa.1 Introducción Los siguientes commandos son algunos de los más utilizados en el lenguaje de Lista de Instrucciones.41 Comandos estándar utilizados en STL 3 Comandos estándar utilizados en STL 3. Hace que la ejecución del programa continúe al paso cuya etiqueta se ha especificado.2 Lista de comandos 3. Instrucción que marca el comienzo de la Parte Condicional de la frase. Instrucción que marca el inicio de la Parte Ejecutiva de la frase. La instrucción Set se utiliza para cambiar al estado lógico “1” de operandos mono bit.2. En la Parte Ejecutiva es equivalenete a “No hagas nada” Festo Didactic • Win FST . Una instrucción especial la cual siempre es verdadera en la Parte Condicional de la frase. 3. La instrucción Reset se utiliza para cambiar al estado lógico “0” de operandos mono bit. multi bit y constantes. 3. Decrementa a un operando multi bit/al acumulador LOAD DEC INC Incrementa a un operando multi bit/al acumulador Es la function negación.2. Permite la asignación de operandos (mono bit o multi bit) y constantes hacia el acumulador mono bit o al acumulador multi bit. Efectúa la funciónn lógica AND NOT entre operandos mono bit. N Win FST • Festo Didactic . multi bit y constantes. multi bit y constantes.2 Instrucciones lógicas en STL Instrucción AND AND N OR OR N Descripción Efectúa la función lógica AND entre operandos mono bit.42 Comandos estándar utilizados en STL OTHRW Permite continuar con la ejecución del programa aún cuando la parte condicional de la frase sea falsa. Efectúa la function lógica OR NOT entre operandos mono bit. Le permite invertir una condición de entrada. Efectúa la function lógica OR entre operandos mono bit. multi bit y constantes. 43 Comenzando el proyecto Dispositivo de Elevación Capítulo 4 Comenzando con el “Dispositivo de Elevación” proyecto Festo Didactic • Win FST . 44 Comenzando el proyecto Dispositivo de Elevación Win FST • Festo Didactic . 45 Comenzando el proyecto Dispositivo de Elevación 4 Comenzando con el Proyecto “Dispositivo de Elevación” 4.1 Introducción En este manual comenzaremos con el proyecto del dispositivo de elevación y lo iremos construyendo. Para este dispositivo, el Cilindro 1A elevará la plataforma y entonces el cilindro 2A empujará al paquete hacia la segunda banda transportadora. Entonces el cilindro 2A retraerá su vástago y acto seguido se retraerá el vástago del cilindro 1A. A continuación se muestra la lista de asignaciones: Simbólico SB B1 B2 B3 B4 Y1 Y2 Absoluto I0.0 I0.1 I0.2 I0.3 I0.4 O0.0 O0.1 Comentarios Botón de marcha Cilindro 1A retraído Cilindro 1A extendido Cilindro 2A retrtaído Cilindro 2A extendido Solenoide para el cilindro 1A Solenoide para el cilindro 2A Festo Didactic • Win FST 46 Comenzando el proyecto Dispositivo de Elevación 4.2 Inicio de Win FST y creación de un Proyecto y de un Programa Crear un Nuevo proyecto de la misma manera en que fue descrito en el capítulo “Primeros pasos”. Después de crear el proyecto, crear el programa. Inseertar el programa 4.3 Estableciendo la configuración de E/S Antes de declarar las variables, necesitamos establecer la configuración de E/S. Como en este proyecto utilizaremos un FEC 34, elija “FEC” como el módulo de E/S correcto. Win FST • Festo Didactic 47 Comenzando el proyecto Dispositivo de Elevación 4.4 Declaración de las variables Declare las variables en la opción “Lista de asignaciones” (“Allocation List”) 4.5 Escritura del programa Comiennce con la escritura del código del programa. Recuerde la secuencia y qué entradas activarán la siguiente secuencia. Dado a que es una programación a pasos, cada paso esperará al paso anterior antes de comenzar el siguiente. No habrá problemas de sincronía siempre que el programa se haya escrito correctamente. Festo Didactic • Win FST STEP 10 IF THEN STEP 20 IF THEN STEP 30 IF THEN STEP 40 IF THEN B3 RESET Y1 JMP TO 10 ‘Cilindro 2A retraído ‘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 ‘Botón de marcha ‘Cilindro 1A retraído ‘Cilindro 2A retraído ‘Solenoide para cilindro 1A Win FST • Festo Didactic . como se muestra a continuación.48 Comenzando el proyecto Dispositivo de Elevación Note que puede escribir todo en una sola línea y automáticamente tomará el formato. Este se puede realizar en cualquier momento mientras esté escribiendo el programa. 4. Cuando da un clic en el ícono “Rebuild Project”. Festo Didactic • Win FST . se reconstruye todo el proyecto. • De un clic en el ícono “Compile Active Module” y con el fin de detectar los errores.49 Comenzando el proyecto Dispositivo de Elevación 4. requiere verificarlo. Se recomienda contruir el proyecto al menos una vez antes de cargarlo al PLC.7 • • • • Creación y construcción del proyecto De un clic en el ícono “Make Project” Este ícono se utiliza para compilar cualquier cambio realizado.6 Verificación del proyecto Después de haber escrito el proyecto. Win FST • Festo Didactic .8 Configuración del controlador Antes de cargar el programa. debemos asegurar que la configuración para establecer la comunicación entre el control “FEC” y la PC sea la correcta. • • • A continuación abra la ventana “Preferences” de la opción [Extras]. [Preferences] Elija la opción “Communications Port” Elija el puerto COM correcto y establezca la velocidad de 9600 Bauds.50 Comenzando el proyecto Dispositivo de Elevación 4. 9 • • • Carga del programa Conecte su PLC a su PLC con el cable de interfaz. Después de construer su proyecto y de configurar al controlador. Festo Didactic • Win FST . Ejecute el programa en el PLC. y el otro extremo con conector tipo DB9 al puerto serial de la PC. introduciendo el conector tipo RJ al conector COM de su PLC.51 Comenzando el proyecto Dispositivo de Elevación • De un clic “OK” 4. 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 diálogo una vez que se haya completado la carga o si existiera algún error. 52 Comenzando el proyecto Dispositivo de Elevación 4. Abra el programa desde el árbol del proyecto y en en la opción “Online” de la barra de menús. Es posible conmutar entre el modo “Editor” y el modo “Online” en cualquier momento mientras se ejecuta el programa.10 Monitoreo en línea • • • Puede estar en modo en línea (“Online”) para ver la ejecución del programa o para monitorear a los operandos. elija la opción “Online”. Win FST • Festo Didactic . 53 Comenzando el proyecto Dispositivo de Elevación • Para monitorerar en línea a los operandos. Festo Didactic • Win FST . de un clic en el ícono “Online Display”. Monitoreo en línea Ha completado su primer programa básico con el software Win FST. 54 Utilización de temporizadores Win FST • Festo Didactic . 55 Utilización de temporizadores Capítulo 5 Utilización de temporizadores Festo Didactic • Win FST . 56 Utilización de temporizadores Win FST • Festo Didactic . hemos escrito el programa utilizando solamente entradas y salidas del FEC. Modificaremos el proyecto “Dispositivo de elevación” para añadir un temporizador. Festo Didactic • Win FST . Ahora utilizaremos los temporizadores que están incorporados en el PLC.57 Utilización de temporizadores 5 Utilización de temporizadores 5.2 Utilización de la function de Ayuda Antes de utilizar el temporizador. • • • • • De un clic en “Help” Después de un clic en “Help Topics” De un clic en el tabulador “Index” y digite “Timers” El tema referente a los temporizadores aparecerá en la ventana derecha. 5. por rezones de seguridad. Encontrará toda la información necesaria acerca de los temporizadores.1 Introducción Hasta ahora. el Cilindro 1A deberá esperar un tiempo de 5 segundos antes de retraer su vástago. Después de que el cilindro 2A se haya retraído. echemos un vistazo a la función de Ayuda en el programa. 58 Utilización de temporizadores • • Hay algunos términos asociados con los temporizadores: o T0 Temporizador 0 o TP0 Preselector para el temporizador 0 La forma más común de escribirlo se muestra a continuación.2 T1 5s ‘Input 0. no es necesario cambiar todo el programa solo es necesario modificar el último paso (STEP 40). STEP 10 IF THEN SET SET with I0.2 JMP TO 10 ‘Timer 1 ‘Lamp • El control FEC permite programar hasta 256 temporizadores del T0 al T255.3 Introducción de un temporizador en nuestro proyecto En nuestro programa original. STEP 10 IF THEN STEP 20 IF THEN STEP 30 IF THEN STEP 40 IF THEN B3 RESET Y1 JMP TO 10 ‘Cilindro 2A retraído ‘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 ‘Botón de marcha ‘Cilindro 1A retraído ‘Cilindro 2A retraído ‘Solenoide para el cilindro 1A Win FST • Festo Didactic .1 O0.1 ‘Lamp ‘Timer 1 STEP 20 IF THEN N T1 RESET O0. 5. Se recomienda definir un símbolo y un comentario para dicha variable.59 Utilización de temporizadores Después de que el cilindro 2A se retrae. el temporizador inicia un tiempo de 5 segundos antes de que el vástago del cilindro 1A se retraiga. con el fin de documentar al proyecto. • T1 se actualizará automáticamente en la lista de asignaciones A continuación se muestra el programa modificado: STEP 10 IF 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 retraído ‘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 ‘Botón de marcha ‘Cilindro 1A retraído ‘Cilindro 2A retraído ‘Solenoide para el cilindro 1A Festo Didactic • Win FST . • En cuanto se introduce la variable “T1” aparece la ventana de entrada de la lista de asignaciones con el fin de declarar al temporizador. Win FST • Festo Didactic .60 Utilización de temporizadores Realice y reconstruya el proyecto y cargue el programa con el fin de probar su funcionalidad. 61 Utilización de contadores Capítulo 6 Utilización de contadores Festo Didactic • Win FST . 62 Utilización de contadores Win FST • Festo Didactic . Para llevar a cabo dicha tarea se debe de pulsar una vez el botón de marcha.2 • Utilización de la función del contador • • Los siguientes términos están asociados con los contadores: o C0 Contador 0 o CP0 Preselector para el contador 0 o CW0 Valor acumulado de eventos del contador 0 Existen dos formas de utilizar al contador en nuestro programa. introduciremos la función del contador.63 Utilización de contadores 6 Utilización de contadores 6. 6.1 Introducción En este capítulo. A continuación se muestra el primer método: 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 . se detenga automáticamente. para que una vez que el proceso haya completado 10 ciclos. Por lo que modificaremos el programa. del C0 to C255. 6.3 Aplicación de un contador en nuestro proyecto Modifcaremos el programa que utiliza el temporizador para añadirle la función del contador.64 Utilización de contadores • Y a continuación se muestra el segundo método: 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. El ciclo solo se detendrá después de haber transportado 10 cajas. Habrá que considerer un retardo para que el vástago del cilindro 1A se retraiga. También deberán de añadirse a la lista de asignaciones los siguientes operandos: • • • C0 CP0 CW0 Contador 0 Preselector del contador 0 Valor acumulado de eventos registrados Win FST • Festo Didactic . El proceso debe realizar lo siguiente: • • • Al pulsar el botón de marcha deberá comenzar el ciclo. 65 Utilización de contadores A continuación se muestran dos diferentes métodos para la programación con contadores: Método A STEP 10 IF THEN AND AND SET LOAD TO SET SB B1 B3 Y1 V10 CPO C0 ‘Botón de marcha ‘Cilindro 1A retraído ‘Cilindro 2A retraído ‘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 retraído ‘Cilindro 2A retraído ‘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 retraído ‘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 . Win FST • Festo Didactic .66 Utilización de contadores Método B STEP 10 IF THEN AND AND SET LOAD TO SB B1 B3 Y1 V0 CWO ‘Botón de marcha ‘Cilindro 1A retraído ‘Cilindro 2A retraído ‘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 retraído ‘Cilindro 2A retraído ‘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 retraído ‘Timer 1 B4 RESET Y2 ‘Cilindro 2A extendido ‘Solenoide para el cilindro 2A SET B2 Y2 ‘Cilindro 1A extendido ‘Solenoide para el cilindro 2A Asegúrese de reconstruir el proyecto. y de cargarlo con el fin de comprobar su funcionalidad. 67 Multitarea Capítulo 7 Multitarea Festo Didactic • Win FST . 68 Multitarea Win FST • Festo Didactic . Generalmente utilizados como subrutinas. Multitarea es el término utilizado para una ejecución “Simultánea” de un número de tareas distintas. Con la multitarea es fácil programar diferentes modos de operación y además es posible llamarlos en cualquier momento y ejecutarlos de manera paralela con el programa principal . 7. P2. podemos utilizar varios programas en el proyecto. un programa.2 Términos asociados con la Multitarea Con la multitarea. introduciremos el concepto de multitarea. La ventaja de este método de trabajo es que se incluyen estructuras más claras de programa y además. etc. también se utilizan los módulos. cada una de las cuales es. El programa del PLC puede estar compuesto por varias partes.1 Introducción En este capítulo. La multitarea le permite organizar el proyecto en secciones de programas utilizando Técnicas de Programación Modular. los tiempos de ciclo son más cortos. Existen dos tipos de módulos: • • CFM CMP P0 Main Programa Principal Control Program P0 is se Activa de activated Manera automatic automática ally when power on Al aplicar Energía al control - Llamada a Módulo de Función (Call Function Module) Llamada a Módulo de Programa (Call Module Program) P1 CMP 0 CFM 0 P2 CMP 49 CFM 49 P63 Programa Program (Multi Tarea) ( Multi . Estos programas se ejecutarán en paralelo con el programa principal cuando sean llamados. de hecho.69 Multitarea 7 Multitarea 7. Además de los programas. Éstos se numeran como: P1. Estos programas tienen varias funciones.Tasking ) CMP 99 CFM 99 Festo Didactic • Win FST Módulo de programa Module Program (Subrutina ) ( Subroutine ) Módulos de función Function modules (Definidos por Festo ( Predefined byFesto) ) . 2. Estos CFM están disponibles desde el programa. la función se activará y se ejecutará junto con el programa principal. y para tener una mejor referencia abra el archivo de Ayuda para obtener información del método de llamada del CFM.2. Los módulos de función se pueden considerar como llamadas a funciones especiales.1 CFM – Llamada a Módulo de Función (Call Function Module) La instrucción de Llamada al Módulo de Función se utiliza para solicitar la ejecución de una rutina externa. Win FST • Festo Didactic . • • • Elija el módulo que desee emplear.2 CMP – Llamada a un Módulo de Programa (Call Module Program) La instrucción de llamada a un Módulo de Programa se utiliza para solicitar la ejecución de una rutina externa. Para insertar un módulo: • • • De un clic derecho en CFM en el árbol del proyecto (“Project Tree”) De un clic en “Import” Aparecerá una ventana de diálogo con los módulos predefinidos. Los módulos de programa pueden considerarse como subrutinas. 7. el cual seguirá ejecutándose. De un clic en “OK” El módulo elegido estará en el proyecto. Cuando se invoca un CFM.70 Multitarea 7. La función se ejecuta en paralelo. 71 Multitarea Cuando se invoca a un CMP. 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. STEP Blink THEN CFM 0 LOAD FU32 TO FW10 JMP TO Blink ‘Blink Module Puede utilizar la palabra de banderas 10 (FW10). regresará el control al programa principal en el punto en el que se quedó. Por ejemplo. 7.3 Llamada de módulos Para llamar a los módulos. Sólo cuando la subrutina se haya completado. el programa principal se detiene y permanecerá en el paso en que fue invocado el CMP y la subrutina se activará. Éste puede ser un CFM o un CMP.25s Blinks ‘Lamp ‘Lamp ‘Start Button ‘Sequence Program ‘Lamp O Festo Didactic • Win FST .2. solo añada al paso las instrucciones “THEN CFM x” o “THEN CMP x” donde “x” es el número del módulo. cree un programa para encendido intermitente (“Blinking”). Programa 2.15 a F999. 7.0 … F0. por ejemplo como: “Programa 1. también llamadas memorias.4 Llamada de los programas Cuando se escribe el programa principal. Win FST • Festo Didactic . etc. Las banderas son esenciales sobretodo cuando deseamos ligar diferentes programas cuando utilizamos la multitarea.3 Utilización de banderas Hasta este momento. corre en paralelo con el programa principal.0 … F999. Cuando se llama a un subprograma. El operando absoluto para las banderas depende del hardware que esté utilizando. En su programa principal. por ejemplo P1. hemos escrito programas utilizando las entradas y salidas del FEC.15 Es conveniente utilizar operandos simbólicos los cuales le ayudarán a relacionarlos con la tarea de control. Algunos ejemplos son “Start_Flag”. puede llamar a un programa activando el número de programa. P2. y cuando desee detener el programa lo desactiva.2.72 Multitarea STEP Initial THEN SET P2 ‘Blinking Program STEP Start THEN IF THEN LOAD TO SET SET FBlink1 Lamp Start P1 Lamp ‘0. etc. se recomienda escribirlo como “Programa 0”. recordadores. marcas o relevadores internos. todo los demás subprogramas se nombrarán. etc”.25s Blinks ‘Lamp ‘Start Button ‘Sequence Program ‘Lamp 7. Por ejemplo: F0. “Stop_Flag”. Ahora es tiempo de utilizar banderas. • • • De un clic derecho en “CFM” De un clic en “Import” Aparecerá la siguiente ventana de diálogo.73 Multitarea 7. Por ejemplo. Para obtener esta función. se necesita importar el modulo “Blink” en nuestro CFM. si necesitamos que la lámpara del botón de marcha encienda de manera intermitente antes de comenzar el ciclo. Una vez importado el modulo. se utiliza el modulo “blink”. Se utilize para crear una señal intermitente. • • Elija “Blink” Entonces se insertará dicho módulo en el CFM.4 Utilización del módulo “BLINK” En la mayoría de los programas. reuqerimos escribir un programa con el fin de asignar las señales intermitentes a banderas. existe la necesidad de encender lámparas de manera intermitente. • • • • • • De un clic derecho en “Programs” De un clic en “Insert Program” Escriba el nombre del programa Defina el número de programa Defina la versión Escriba los comentarios correspondientes Festo Didactic • Win FST . Para lograr esto. 5 segundos.2 F10. puede añadir el paso correspondiente a su programa.5s Blink 1s Blink 2s Blink Banderas del blink • • Ahora puede usar estas banderas en su programa.3 F10.1 F10. Sólo necesita declarar estas señales en la lista de asiganciones Absoluto F10.25s Blink 0. Este programa cargará las señales intermitentes a la palabra 10 de banderas. STEP Blink THEN CFM 0 LOAD FU32 TO FW10 JMP TO Blink ‘Blink Module ‘Flagword for Blinks • • • Compile y guarde el programa.74 Multitarea • Escriba un programa breve. Por ejemplo. si desea que la lámpara del botón de inicio se encienda en intervalos de 0.4 FW10 Simbólico FBlink1 FBlink2 FBlink3 FBlink4 Comentario 0. Win FST • Festo Didactic . El proyecto que escribiremos estará compuesto por los siguientes programas: • • Programa de secuencia principal Programa de secuencia Festo Didactic • Win FST . La tarea inicial de control requiere que el programa permita al operador elegir entre ciclo único y ciclo continuo. 7.5 Requerimientos iniciales de la tarea de control En los programas anteriores. la lámpara detiene su encendido intermitente para mantenersa encendida. el ciclo comienza solo cada vez que se pulsa el botón. para restablecimiento del programa y botón para paro de emergencia. Esto requerirá de multitarea.5s Blinks ‘Lámpara de inicio ‘Lámpara de inicio ‘Botón de inicio ‘Cilindro elevador retraido ‘Programa de la secuencia ‘Lámpara de inicio • • En el paso anterior la lámpara de inicio encenderá de manera intermitente cuando se inicia el programa. Este no es el caso en la mayoría de las máquinas.75 Multitarea STEP Initial THEN SET P2 ‘Blinking Program STEP Start IF FBlink2 THEN SET oStart OTHRW RESET oStart IF THEN …….. Cuando el botón de inicio se pulsa. AND SET SET iStart B1 P1 oStart ‘0. en las cuales existen botones para ciclo único y para ciclo continuo. Por lo que el proyecto consistirá de: • • Programa principal de organización Programa de secuencia Win FST • Festo Didactic .3 I0.76 Multitarea 7.5 I0.0 O0.6.1 I0.0 I0.1 F11.4 I0.6 Estructura del proyecto y de los programas 7.6 O0.2 I0.1 Lista de asignaciones Absoluto I0. entonces aplicaremos multitarea. Para esta estación se tendrán dos programas.0 P1 Simbólico iStart B1 B2 B3 B4 AutoMan iStop Y1 Y2 FCStop Comentario Botón de inicio Cilindro 1A retraído Cilindro 1A extendido Cilindro 2A retraído Cilindro 2A extendido Selector Auto/Manual Botón de paro Solenide para cilindro 1A Solenoide para cilindro 2A Paro de ciclo Programa de secuencia 7.1 Árbol del proyecto El árbol del proyecto es el lugar donde se insertan los programas y subprogramas. Como el proyecto requiere tareas diferentes.5. Para el ciclo continuo. Festo Didactic • Win FST .77 Multitarea El programa principal de organización es donde se lleva a cabo la administración del proyecto. Para ciclo único. En este programa. solo se detendrá cuando se pulse el “botón de paro”. Esto se controla desde el programa principal de oraganización.3 Programa de la secuencia Este es el programa para la operaciónde la secuencia del dispositivo de elevación.2 Programa principal de organización STEP Start IF THEN AND AND SET iStart B1 B3 P1 ‘Botón de inicio ‘Cilindro 1A retraído ‘Cilindro 2A retraído ‘Programa de la secuencia STEP Stop IF THEN IF THEN SET iStop FCStop ‘Botón de paro ‘Paro de ciclo ‘Programa de la secuencia ‘Paro de ciclo N P1 RESET FCStop 7.6. 7. la secuencia se ejecutará solo una vez. El programa de la secuencia es donde el programa del dispositivo de elevación se ejecutará de manera continua hasta que se oprima el botón de paro.6. se activan y desactivan los demás programas y módulos de programa. Pero ahora nos enfocaremos en los requerimientos iniciales.7 Requerimientos extras del control Esta es una modificación del programa el cual fue escrito paralos requerimientos iniciales. El programa incluirá lo siguiente: Win FST • Festo Didactic . El programa inicial se desarrolló con el fin de activar los subprogramas.78 Multitarea STEP Aplus IF THEN SET B1 Y1 ‘Cilindro 1A retraído ‘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 retraído ‘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. La nueva tarea de control va a requerir que se le permita al operador elegir entre ciclo único o ciclo continuo. También se incluirá el encendido intermitente para estas lámparas. paro y de restablecimiento. También se incluirán inidicadores visuales para los botones de inicio. También se incluirá un botón de paro de emergencia y otro de restablecimiento. 1 F10.5s Blinks 1s Blinks 2s Blinks Paro de ciclo Programa de la secuencia Programa de encendido intermitente .3 O0. la secuencia se detendrá independientemente que se encuentre en ciclo único o en ciclo continuo.2 I0.0 FU32 P1 P2 Festo Didactic • Win FST Simbólico iStart B1 B2 B3 B4 AutoMan iStop iReset iEStop Y1 Y2 oStart oStop oReset FBlink1 FBlink2 FBlink3 FBlink4 FCStop Comentario Botón de inicio Cilindror 1A retraído Cilindro 1A extendido Cilindro 2A retraído Cilindro 2A extendido Selector único/continuo Botón de paro Botón de restablecimiento Botón de paro de emergencia Solenoide para el cilindro 1A Solenoide para el cilindro 2A Lámpara de inicio Lámpara de paro Lámpara de restablecimiento 0.0 O0.7.5 I0.0 O0. La lámpara de inicio encenderá de manera intermitente para indicar que el dispositivo está listo.0 I0.1 Lista de asignaciones Absoluto I0.4 F10.25s Blinks 0.79 Multitarea • • • • • • • Interruptor selector de ciclo único/continuo.6 I0. la lámpara del botón de paro encenderá de manera inetrmitente.1 O0. Los vástagos de los cilindros regresrán a su posición de reposo y la lámpara del botón de restablecimiento encenderá de manera retentiva.1 I0. Cuando se esté ejecutando la secuencia.3 I0. Cuando se pulse el botón de paro de emegencia.2 O0.4 I0. deberá detenerse la intermitencia en la lámpara.3 F11.2 F10.7 I1. Una vez que la secuencia haya iniciado. la lámpara se deberá de apagar. El proyecto ahora tendrá los siguientes programas: • • • Programa principal de organización Programa de la secuencia Programa de encendido intermitente 7.0 F10. Cuando se pulse el botón de restablecimiento. En este programa. El proyecto consistirá de: • • • • Programa principal de organización Programa de la secuencia Programa para el encendido intermitente Módulo de encendido intermitente El programa principal de organización es el que administra al proyecto. Para esta estación tendremos tres programas y un módulo.8 Estructura del proyecto y de los programas 7. El programa de encendido intermitente llama al modulo de programa correspondiente para utilizarlo en el proyecto. necesitamos programar con multgitarea.80 Multitarea 7. Como el proyecto requiere realizar diferentes tareas. El programa de la secuencia es donde se controla la secuencia del dispositivo de elevación. Win FST • Festo Didactic . se activan o desactivan los demás programas y subprogramas.8.1 Árbol del proyecto El árbol del proyecto es donde se insertan los programas y subprogramas. 8.81 Multitarea 7.5s Blinks ‘Lámpara de paro ‘Lámpara de paro ‘Botón de paro ‘Paro de ciclo ‘Programa de la secuencia ‘Paro de ciclo ‘Lámpara 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 ‘Lámpara de inicio ‘Lámpara de paro ‘Botón de paro de emergencia IF THEN Festo Didactic • Win FST .2 Programa principal de organización STEP Initial THEN SET P2 ‘Programa de encendido intermitente STEP Start IF THEN iEStop JMP TO Emergency ‘Botón de paro de emergencia ‘0.25s Blinks ‘Lámpara de inicio ‘Lámpara de inicio ‘Botón de inicio ‘Cilindro1A retraído ‘Cilindro 2A retraído ‘Programa de la secuencia ‘Lámpara 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 ‘Botón de paro de emergencia ‘0. 8. Esto es controlado por el programa principal de oraganización. solo se detendrá cuando se pulse el botón de “Paro”. la secuencia se ejecutará una vez. Para ciclo conntinuo. En el caso del ciclo único.82 Multitarea STEP Reset IF THEN iEStop JMP TO Emergency ‘Botón de paro de emergencia ‘1s Blinks ‘Lámpara de restablecimiento ‘Lámpara de restablecimiento ‘Botón de restablecimiento ‘Lámpara de restablecimiento IF FBlink3 THEN SET oReset OTHRW RESET oReset IF THEN iReset RESET oReset JMP TO Start 7.3 Programa de la secuencia Este es el programa que controla la operación del dispositivo de elevación. Win FST • Festo Didactic . STEP Blink THEN CFM 0 LOAD FU32 TO FW10 JMP TO Blink ‘Módulo de encendido intermitente Festo Didactic • Win FST .83 Multitarea STEP Aplus IF THEN SET B1 Y1 ‘Cilindro 1A retraído ‘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 retraído ‘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 7.8.4 Programa de encendido intermitente Este programa llama al módulo de encendido intermitente. 84 Multitarea Win FST • Festo Didactic . 85 Utilización de Ethernet Capítulo 8 Redes de Comunicación Festo Didactic • Win FST . 86 Utilización de Ethernet Win FST • Festo Didactic . De un clic “Run” Festo Didactic • Win FST . Si no conoce la dirección IP de su PC. Utilizaremos TCPIP por las siguientes razones: • • Programación vía Ethernet significa UNA PC para la programación y VARIOS controladores. La comunicación entre varios controladores vía Ethernet. puede obtener su IP como a continuación se indica: • • De un clic en “Start”.1 Introducción El software Win FST nos permite utilizar Ethernet (TCP/IP) para establecer la comunicación entre diferentes controladores y la PC. entonces necesita investigar esta dirección. Por medio de Windows.87 Utilización de Ethernet 8 Redes de Comunicación 8.2 Verificación de la dirección IP de su PC Su PC que utilizará para la programación necesita tener una dirección IP. Antes de utilizar Ethernet. 8. necesitamos preparar nuestra red. Entonces simplemente utilice cualquier dirección comprendida entre 1 y 254. . . . cuando por primera vez configure los parámetros de la red y los drivers para su controlador. necesitamos modificar la dirección IP. . . necesita utilizar la comunicación serial RS232 Win FST • Festo Didactic . . IP Address .88 Utilización de Ethernet • • • • • • • • Digite “Command” en su ventana abierta. . . . Digite “IPConfig” Pulse la tecla [Enter] La información referente a la dirección IP de su PC será desplegada. . . necesitamos configurar nuestra propia red. Subnet Mask . . . .3 Verificación de una dirección IP libre para sus controladores Para hacer funcionar sus controladores con Ethernet. . . . . . . 8. . Podrá obtener la siguiente información: C:\>ipconfig Windows 2000 IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix .161 • Requiere conocer la dirección IP y la mascara IP de su PC. . . . Siga los siguientes pasos para asignar la dirección IP a su controlador. Además. .24. . . Esto ocurrirá sólo si tienen un adaptador de Ethernet en su PC. . . . .255. .net 10. De un clic en “OK” La ventana tradicional de MS-DOS se abrirá. .255. . . C:\> : : : : sg. Recuerde no utilizar una misma dirección IP dos veces. . .10. Existen dos formas para hacer esto: • • Teniendo su propia red para sus controladores y su PC de programación.248 10. . . . . . . . . . Default Gateway . . . . . . .festo. . . .4 Modificación de la dirección IP de sus controladores Después de haber decidido acerca de las direcciones IP de sus controladores. 8.10. . . . . .163 255.24. 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. Esto abrirá la ventana “Driver Configuration”. el cable RS232 podrá desconectarse.89 Utilización de Ethernet para cargar los parámetros y los drivers al controlador. el controlador podrá ser programado por la red y por lo tanto. De un doble clic en la opción “Driver Configuration” en la ventana “Project View”. • De doble clic dentro de la ventana “Driver Configuration” para abrir la ventana de selección de drivers. Para configurar los parámetros y drivers de la red: • • • • • Conecte su controlador a la fuente de alimentación. Conecte el cable de programación SM14 al controlador (puerto COM) y a su PC. Ejecute el software Win FST y abra un nuevo proyecto. Después de hacer esto. Festo Didactic • Win FST . La ventana “Driver Configuration” listará el driver TCP/IP. • • De un clic en OK. Introduzca el número de IP que utilizará el controlador.90 Utilización de Ethernet • • • Seleccione “TCPIPFEC” o “TCPIPFC2” dependiendo del controlador elegido y de un clic en OK para incluir el driver TCP/IP en el proyecto. Esto abrirá la ventana “Driver Options”. la máscara de red IP y la dirección de compuerta IP que obtuvo de su administrador del sistema de red. Win FST • Festo Didactic . 1 Configuración de Entradas / Salidas Después de configurar el driver en la ventana “Driver Configuration” necesitamos configurar las Entradas/Salidas (“IO Configuration”) y la configuración del controlador (“Controller Setting”).91 Utilización de Ethernet 8. Enseguida verá la siguiente pantalla: Festo Didactic • Win FST .4. • • De un clic en “IO Configuration” para identificar el tipo de controlador que está utilizando. 2 Configuración del controlador • • De un clic en “Controller Settings”. • Note que cuando un controlador está indicado en la lista como “Palabra” (Word) se refiere a que las E / S´s están organizadas en 16 bits y no en 8 bits.92 Utilización de Ethernet • • De un doble clic dentro de la ventana “IO Configuration” para abrir “IO Module Entry”. 8. A continuación aparecerá la ventana: • Asegúrese de que no esté marcada la opción “Delete project before download”.4. Elija el controlador apropiado. Win FST • Festo Didactic . necesita utilizar el cable serial RS232 con el controlador para llevar a cabo dicha transferencia. cuando se cargan los drivers de la red a los controladores por vez primera.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. Para cargar el proyecto que contiene los drivers de la red: • • • • • • Guarde todos los archivos al dar clic en la opción “Save All” de la barra de herramientas. De un clic en “Yes” para recompilar el proyecto. El software Win FST detectará los cambios en el proyecto y le solicitará hacer (“Make”) el proyecto nuevamente. Verifique que la opción RS232 sea el modo actual de comunicación al seleccionar la opción “Preferences” del menú “Extras” al elegir la opción “Communication Port”. Una vez que se ha cargado el proyecto con los drivers de la red. Como se mencionó antes. Cuando se haya completado la carga la ventana de estado aparecerá de manera similar a como se muestra a continuación: Festo Didactic • Win FST . el controlador puede ser accesado desde la red.93 Utilización de Ethernet 8.4. Pulse la tecla [F5] o de un clic en el ícono de carga de proyecto. Asegúrese que esté seleccionada la opción “Use RS232”. necesitamos conectarlos. necesitamos verificar si es posible establecer la comunicación.94 Utilización de Ethernet 8. • • • • • Windows ofrece el comando “Ping” para verificar si existe comunicación TCPIP. Digite “PING <dirección IP de su CPU> El comando PING envía paquetes de prueba para el controlador y trata de recibirlos de éste.6 Verificación de la Comunicación Después de conectar los controladores y la PC. Verifique el LED de Link en el Hub o Switch y en el FEC y en su PC. De un clic en “Start”. • • • Usualmente utilizaremos un HUB o SWITCH. Si los parámetros de la red del controlador son correctos obtendrá una réplica del controlador. como lo que se muestra a continuación: Win FST • Festo Didactic . Algo similar a lo que hizo antes con IPCconfig. LED Link: TP 8.5 Conexión de los cables de par trenzado Después de la configuración de las direcciones de su PC y de los controladores. “Run” y pulse la tecla Enter. Conecte el cable TP de cualquier controlador y de cualquier PC de programación a su Hub o Switch. 83.24.162: Bytes=32 time<10ms TTL=128 Reply from 10. • • Seleccione la opción “Preferences” del menú “Extras” del software Win FST y de un clic en la pestaña “Communication Port”. Approximate round trip time in milli-seconds: Minimum = 0ms. Si no hay respuesta (indicado por el mensaje “Request timeout”).162 Pinging 10.24.162: Bytes=32 time<10ms TTL=128 Ping-Statistics for 10.24.162 with 32 bytes of data: Reply from 10. El último paso para la puesta a punto de un proyecto para la comunicación en red es elegir la opción de modo de comunicación por red en el software Win FST.162: Packets: Sent = 4. Average = 2ms C:\> • • • Si la comunicación es correcta para todos los controladores.10.24.10.10. Verifique la configuración retornando al driver TCP/IP en el software Win FST (opción “Driver Configuration” en la ventana de Proyecto) o contacte con su administrador de sistema. entonces el controlador está listo para establecer la comunicación en red.24. entonces ya está listo.95 Utilización de Ethernet C:\>ping 10.7 Comunicación con el controlador Si la prueba anterior fue exitosa. Maximum = 10ms.162: Bytes=32 time<10ms TTL=128 Reply from 10.162: Bytes=32 time=10ms TTL=128 Reply from 10.10. 8. Received = 4.10.10. entonces existe algún error con la configuración de la red del controlador. Introduzca la dirección IP del controlador (por ejemplo 199.68) y seleccione el uso de TCP/IP: Festo Didactic • Win FST .24.10. Lost = 0 <0% loss>.237.24. De otra manera. Marque la opción “Save in Project” y de un clic en OK.96 Utilización de Ethernet • • • Si elige la opción “Save in Project”. los ajustes serán tomados de manera general por el software Win FST. podrá desconectar el cable RS232. Ahora está listo para comunicarse con su controlador a través de la red y por lo tanto. Win FST • Festo Didactic . todos los ajustes serán grabados dentro de este proyecto. 97 Utilización de Ethernet Capítulo 9 Utilización de Ethernet Festo Didactic • Win FST . 98 Utilización de Ethernet Win FST • Festo Didactic . Abra o cree un nuevo proyecto. estamos en condiciones de programar utilizando la red Ethernet. 9.1 Introducción Una vez completada la puesta a punto y la conexión de los controladores y la PC. De un clic derecho en la carpeta “CMPs”. podemos conectar varios controladores a una sola PC para la programación sin necesidad de conectar y desconectar el cable de interfaz.2.2 Programación por medio de Ethernet Cuando se programa vía Ethernet. • Para utilizar Ethernet en la programación. deberá haber puesto a punto la red como se describió anteriormente. De un clic en al opción “Import CMP” Elija las tablas relevantes. Busque la opción “FST Drivers Reference” De un clic “TCP/IP Driver” Aparecerá la siguiente pantalla: Festo Didactic • Win FST .1 Importación de Módulos • • • • • • • • Abra el software Win FST.99 Utilización de Ethernet 9 Utilización de Ethernet 9. Puede encontrar ayuda en al utilización de los módulos en la sección de Ayuda. 9. “EASY_R” and “EASY_S”. La función “Special modules” también se puede encontrar en el archivo de ayuda.100 Utilización de Ethernet • La siguiente tabla muestra los módulos utilizados de manera general: Módulo EASY_R EASY_S IP_ALIVE IP_IP IP_MASK IP_TABLE • • • • Descripción Solicita un bloque de operandos de otro controlador Envía un bloque de operandos hacia otro controlador Verifica si se conoce una dirección IP Obtiene/Define nuestra dirección IP Obtiene/Define nuestra máscara de red IP Obtiene/Define la dirección IP desde/hacia una tabla Importaremos los módulos “IP_TABLE”. el Árbol del Proyecto (Project Tree) deberá mostrarse como se indica a continuación: Win FST • Festo Didactic . Así mismo. importaremos “Special Modules”. Una vez importados dichos módulos. 101 Utilización de Ethernet 9. Parámetros de entrada Parámetro FU32 FU33 FU34 FU35 FU36 FU37 Descripción 1 para asignar dirección IP 2 para obtener dirtección IP Número de índice en la tabla IP Dirección IP Dirección IP Dirección IP Dirección IP Ejemplo V1 V3 V140 V131 V170 V3 Parámetros de salida Parámetro FU32 FU33 FU34 FU35 FU36 FU37 Descripción 0 .Si fue exitoso De otra manera hubo error Número de índice en la tabla IP Dirección IP Dirección IP Dirección IP Dirección IP Festo Didactic • Win FST .2.2 Módulo IP_TABLE Este módulo se utiliza para asignar u obtener una dirección desde o hacia una tabla. 3 Módulo EASY_R Este módulo solicita un bloque de operandos de otro controlador.102 Utilización de Ethernet 9.Registros 11 .Caracteres Número de operandos requeridos (máximo 256) Número del primer operando local para almacenar respuesta Número del primer operando en el controlador remoto Número de la palabra de banderas para el estatus Ejemplo V3 FU33 V1 FU34 FU35 FU36 FU37 V2 V12 V0 V99 Parámetros de salida Parámetro FU32 Descripción 0 .2.Banderas 2 .Entradas 3 .Si solicita lectura De otra manera hubo u error Win FST • Festo Didactic .Salidas 4 . Parámetros de entrada Parámetro FU32 Descripción Número de índice en la tabla IP Tipo de Operando: 1 . Festo Didactic • Win FST .Si envía requisición De otra manera hubo error 9.4 Módulo EASY_S Este módulo envía un bloque de operandos a otro controlador. Una vez recibido el dato. Los siguientes pasos le mostrarán cómo el dato se lee de un FEC440 y también se envía dato al FEC440.103 Utilización de Ethernet 9.Registros 11 .Entradas 3 . Parámetros de entrada Parámetro FU32 Descripción Número de índice en tabla IP Tipo de operando: 1 .Caracteres Número de operandos a enviar (máximo 256) Número del primer operando a enviar Número del primer operando en el controlador remoto Número 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 Parámetros de salida Parámetro FU32 Descripción 0 . los controladores lo utilizarán al igual que cualquier señal de entrada.3 Un programa simple utilizando Ethernet En este simple programa.Banderas 2 . utilizaremos el control FEC34 para leer y enviar información a un control FEC440.Salidas 4 .2. el proceso variará. Los cilindros se activan con electroválvulas 5/2 monoestables. Cuando al estación B esté lista. Utilizará el dato recibido de la primera máquina. Un sensor óptico está colocado en el porta piezas para detectar la presencia de la pieza. Cuando el proceso se inicie. Cuando ambos sensores detecten. la lámpara deberá de permanecer encendida. significa que la pieza de trabajo es metálica. 9. Cuando sólo el sensor óptico detecte. Un cilindro de doble efecto eleva al porta piezas. el sistema se restablecerá y la lámpara del botón de marcha encenderá de manera intermitente.3. Al inicio del proceso.104 Utilización de Ethernet 9.3. Win FST • Festo Didactic . El porta pieza recibirá a la pieza de trabajo de la estación previa. Cuando se active el botón de paro de emergencia. el proceso se detendrá y la lámpara del botón de reset se deberá de encender de manera intermitente. Cuando se pulse el botón de paro en modo continuo.3. Cuando el botón de reset se oprima.3 Componentes de la estación B • • • • • Utilizaremos un FEC440 (FEC660) para controlar la estación B. Una vez confirmada la presencia de la pieza de trabajo y el dato acerca del tipo de pieza de trabajo recibida de la estación previa.2 Componentes de la estación A • • • • • • • • Utilizaremos el control FEC34 (FEC660) para controlar la estación A. Elevará al porta pieza y expulsará la pieza a la siguiente estación La segunda estación recibirá la pieza de trabajo en su porta pieza. La estación B no puede recibir la pieza si el porta pieza está en su posición inicial. la lámpara del botón de marcha encenderá de manera intermitente. significa que la pieza de trabajo es roja. • • 9. la lámpara del botón de paro se encenderá de manera intermitente y la lámpara del botón de marcha se deberá de apagar. La estación A verificará si la estación B está lista para aceptar la pieza de trabajo. elevará el porta pieza y expulsará a la pieza de trabajo roja por el deslizador A y la pieza metálica por el deslizador B. El porta pieza cuenta con dos sensores: un inductivo y un óptico.1 Ejercicio Se trata de dos estaciones: • • La primera estación identifica si la pieza de trabajo es roja o metálica. la pieza de trabajo será expulsada a la estación B por medio de otro cilindro de doble efecto. La estación A debe enviar datos a la estación B para informar a la estación B el tipo de pieza de trabajo.2 O0.5 I0.5s Blink 1s Blink .2 O0.25s Blink 0.3 O0.131.131. 9.0 F10. estos módulos serán importados. La estación A también debe informar a la estación B que se ha enviado la pieza de trabajo. Si es metálica.170.1 F10. “EASY_R” and “EASY_S” solo en el programa de la estación A. 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. Sin embargo.0 O0. 9.1 I1. Los cilindro serán actuados por electroválvulas 5/2 monoestables.4 F1.7 I1.0 I0.4 Transferencia de datos • • • • • • • • La dirección IP para la computadora es “140.3 Festo Didactic • Win FST Simbólico 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.3.3 I0.4 I0.1 I0. Para esta tarea de control utilizaremos los módulos “IP_TABLE”.5 Lista de asiganciones Estación A Absoluto I0.170.6 I0.1 O0.2 F10.2” La dirección IP para la estación B es “140.3.2 I0.3” La estación A debe leer datos de la estación B para verificar si está lista para recibir la pieza de trabajo.1” La dirección IP para la estación A es “140.105 Utilización de Ethernet • • • Si la pieza de trabajo es roja.0 I1.170. para propósitos de entrenamiento. el porta pieza se elevará y será expulsada hacia el deslizador B por un tercer cilindro de doble efecto. No hay necesidad de utilizarlos en la estación B.131. 0 O0.0 I1.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 Estación B Absoluto I0.3 F10.6 I0.5s Blink 1s Blink 2s Blink Flagword or Blinks Workpiece Red Workpiece Metal Workpiece Received Sequence Program Blinking Program 9.0 F1.2 I1.0 F14. Abra un nuevo programa en el control a utilizar.7 I1.4 I0.1 I0.0 F11.25s Blink 0.4 O0.1 F10.6 Elaboración del programa para la estación A Utilizaremos un control FEC34 (FEC660) para la estación A.1 I1.5 F0.1 F14.3 O0.3 I0.2 O0.3 O0.0 F14.5 I0.2 I0.106 Utilización de Ethernet F10. Win FST • Festo Didactic .1 O0.1 F11.0 F10.3.4 FW10 F11.2 FU32 P1 P2 Simbólico 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.2 F10.0 I0.4 F12. 2” Realice la configuración de Entradas y Salidas en “IO Configuration” Configure al Controlador en “Controller Setting” Importe . Tendremos entonces 3 programas: o El programa principal de organización o El programa de la secuencia o El programa de generación de pulsos (señal intermitente) En el programa de la secuencia. puede teclearlos directamente o utilizar la tabla preestablecida. o De un clic en “Insert” o De un clic en “Module Call” o Seleccione el módulo “IP_TABLE” o Introduzca la información en los espacios provistos o De un clic en “OK” Festo Didactic • Win FST . 2:GET “Index Number in Table “IP Address (1) “IP Address (2) “IP Address (3) “IP Address (4) • • • • • • • • • • O puede utilizar la tabla preestablecida. los siguientes módulos CMP: o “IP_TABLE” o “EASY_R” o “EASY_S” Inserte el módulo de función CFM “Blinking Module” Introduzca un nuevo programa.131. Si la estación B está lista. Cuando el cilindro de elevación esté arriba. la estación A leerá el dato de la estación B si ya se encuentra lista para recibir la pieza de trabajo. verificaremos el tipo de pieza de trabajo al inicio y lo almacenaremos en una palabra de banderas.107 Utilización de Ethernet • • • • • • • Inicie Win FST. Configure la dirección IP “141. Por ejemplo. para teclear directamente un módulo “IP_TABLE” STEP IP_TABLE THEN CMP 0 WITH WITH WITH WITH WITH WITH V1 V3 V140 V131 V170 V3 ‘IP_TABLE “1:SET. Cualquiera de los dos métodos da lo mismo. Elija la opción “Driver Configuration” Seleccione el driver “TCPIPFEC” driver. Cuando la pieza es expulsada. enviará el dato del tipo de pieza de trabajo: roja o metálica y que la pieza ha sido enviada.170. Cuando se introduzcan los módulos. la pieza de trabajo será expulsada. 7 Programa principal para la estación A • • Recuerde que tenemos que registrar al controlador en la IP_TABLE. solo registraremos a la estación B.3.108 Utilización de Ethernet 9. Como solo estaremos leyendo y enviando datos a la estación B. Win FST • Festo Didactic . 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.109 Utilización de Ethernet STEP IPTable THEN CMP 0 WITH WITH WITH WITH WITH WITH V1 V3 V140 V131 V170 V3 ‘IP_TABLE “1:SET.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 . 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. 110 Utilización 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.8 Programa de la secuencia para la estación A Este es el programa de la secuencia para la estación A. Para ciclo único. Para ciclo continuo. 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 . solo se detendrá cuando se pulse el botón de paro.3. Esto se controla por medio del programa de organización. realizará la secuencia solo una vez. 111 Utilización 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 . 170. Configure la dirección IP “141.3. Abra un nuevo programa en el FEC660.131.3. • • • • • • • Inicie Win FST. Elija la opción “Driver Configuration” Selecciones el driver “TCPIPFEC” driver.10 Elaboración del programa para la estación B Utilizaremos el control FEC660 para la estación B.9 Programa de señal intermitente para la estación A Este programa llama al módulo de señal intermitente STEP Blink THEN CFM 0 LOAD FU32 TO FW10 JMP TO Blink ‘Blink Module ‘Flagword for Blinks 9.3” Configure Entradas y Salidas en “IO Configuration” Configure al controlador en “Controller Setting” Importe los siguientes módulos CMP: o “IP_TABLE” o “EASY_R” o “EASY_S” Inserte el módulo de función CFM “Blinking Module” Introduzca un nuevo programa Win FST • Festo Didactic • • .112 Utilización 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. Como la estación B solo utiliza los datos enviados por la estación A.113 Utilización de Ethernet • Tendremos 3 programas: o El programa principal de organización o El programa de secuencia o El programa de generación de señal intermitente En los programas tanto principal como de secuencia. Una vez que la estación B recibe la pieza de trabajo y el dato referente al tipo de pieza. no necesitamos utilizar módulos TCP/IP • • • Festo Didactic • Win FST . llevará a cabo la secuencia correspondiente. tendremos que encender una bandera siempre y cuando la estación esté lista para recibir la pieza de trabajo proveniente de la estación A. 11 Programa principal para la estación B STEP Initial THEN SET P2 ‘Blinking Program STEP Start IF THEN iEStop JMP TO Emergency ‘Emergency Stop Button ‘0.3.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 .114 Utilización de Ethernet 9. realizará la secuencia solo una vez. 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 .115 Utilización 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. solo se detendrá cuando se pulse el botón de paro. Esto se controla por emdio del programa de organización. Para ciclo continuo. Para ciclo único.3.12 Programa de la secuencia para la estación B Este es el programa para la operación de la secuencia de la estación B. 116 Utilización 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 . 3.3. Recuerde cambiar la dirección TCP/IP cuando realice el proceso de carga a los diferentes controladores.13 Programa de señal intermitente para la estación B Este programa llama al módulo de programa de señal intermitente.14 Carga y prueba del programa Después de completar los programas. STEP Blink THEN CFM 0 LOAD FU32 TO FW10 JMP TO Blink ‘Blink Module ‘Flagword for Blinks 9. podrá cargarlos a ambos controladores. Festo Didactic • Win FST .117 Utilización de Ethernet 9. 118 Utilización del servidor WEB Win FST • Festo Didactic . 119 Using Web Server Chapter 10 Using Web Server Festo Didactic • Win FST . 120 Utilización del servidor WEB Win FST • Festo Didactic . the process can be remotely operated. Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Festo Didactic • Win FST . 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. This is done in the “Driver Configuration” • • Double click the “Driver Configuration” item in the “Project View” window. The only difference now is the addition of the Web Server driver. Con formato: Inglés (Estados Unidos) 10. 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. it is possible to display and modify contents of the controller registers.1 Introduction As can be seen in the previous chapter. the process can be remotely monitored and it can be remotely configured.121 Using Web Server 10 Using Web Server 10.2 Setting-Up for Remote Access In order to access the controller over a network and use it as a Web server. This will open the Driver Configuration window. Using these web pages. we need to configure and download a TCP/IP and a Web server driver as part of the project. Configure your controller as you would for network communication as described in Chapter 8. As a result. Con formato: Inglés (Estados Unidos) • • Select “WEB_SRVR” and click OK to include the web server driver in the project. This will open the “Driver Options” window. Con formato: Inglés (Estados Unidos) Win FST • Festo Didactic .122 Utilización del servidor WEB • Double click somewhere inside the Driver Configuration window to open the Select Driver window. As mentioned before. Con formato: Inglés (Estados Unidos) At this point the TCP/IP and Web server drivers are configured and the project is ready to be downloaded to the controller. Choose “B” and click OK. Festo Didactic • Win FST Con formato: Inglés (Estados Unidos) .123 Using Web Server • • • • This window will ask for the virtual drive where the web server will be installed. Close the Driver Configuration window. The Driver Configuration window will now list both drivers. 124 Utilización 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: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) 10.3 Web Page Design with HTML HTML (HyperText MarkUp Language) is the standard programming language used to develop basic Web pages. The language has many commands that enable the designer to use various design elements such as different fonts, text and background colors, graphics, etc. in designing a Web page. Here, only the most fundamental HTML commands (tags) will be reviewed to facilitate development of simple Web pages to communicate with the controller over the Internet. For a more detailed coverage of HTML please refer to a book on HTML. 10.3.1 HTML Tags HTML is a markup language where tags are inserted into regular text to enhance the document in some way such as changing fonts, font colors, or adding hyperlinks to other Web pages. The tags are not visible to the viewer of the page. They tell the browser how to render the page as it loads it from a Web server. The tags can be considered as commands to the Web browser. They are enclosed in angle brackets. For example: <B> Festo FC34</B> uses the tag <B> to make the text “Festo FC34” boldface. Notice that most tags must be used in pairs. The <B> in the above example tells the browser where to start using boldface as it renders the page. The </B> tells the browser where to stop using boldface. 10.3.2 Basic HTML Tags Tag <B> <I> <H1> <H3> Description Boldface Italic Header 1 font style Header 3 font style Example <B>Festo FC34</B> <I>Festo FC34</I> <H1>Festo</H1> <H3>Festo</H3> Win FST • Festo Didactic 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: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) <A> <IMG> <PRE> <HR> <BR> Hyperlink Image Preformatted text Horizontal ruled line (Inserts a line) Break (End of line) 10.3.3 Basic HTML Page Structure An HTML document consists of two main sections: • • Head and Body Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) 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: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (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 Utilización 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: Inglés (Estados Unidos) However, the first version is easier to read. 10.4 Creating an HTML Document HTML documents can be created using: • • An HTML editor or, A simple text editor. Con formato: Inglés (Estados Unidos) Con formato: Inglés (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. 10.4.1 Creating a Simple Web Page • • • 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 Con formato: Inglés (Estados Unidos) 4. Type “main1. the Web page you just created is located on the hard drive of the PC (local copy). we will first view it from the hard drive. Notepad will automatically add a “txt” extension to any filename used. Festo Didactic • Win FST . we will send the page to the controller Web server and view it from there. A Web browser can open a Web page • • located on the hard drive of the PC or.4. This requires using “htm” or “html” as an extension after the filename.2 Saving the HTML File • • • • • • Save the file as an HTML file. enclose the filename and the extension in double quotes. Con formato: Inglés (Estados Unidos) 10. located on a different computer across a network with a Web Server. Later. However. Currently. To avoid this. To save the file click “File” and select “Save As”.htm” (including the double quote marks) for filename and click OK. Therefore. Navigate to a directory where you want to save the file.127 Using Web Server • • Note that the tags can also be typed in lowercase letters. 10.3 Viewing an HTML Document You can view an HTML document using a browser such as Microsoft Internet Explorer or Netscape Navigator. conventionally they are typed in uppercase letters to make it easier to separate them from the rest of the text in the document. 128 Utilización del servidor WEB a. The page will be displayed as follows: • This page is not very interesting but it shows the basic concepts of creating and viewing an HTML page. Change to drive B where the Web Server files are kept. Win FST • Festo Didactic . Viewing a Page from FC34 Web Server Now we will send this Web page to the FC34 controller. • • • • • Viewing a Page from the Local Hard Drive Run the Internet Explorer by clicking “START” button of Windows Navigate to “Programs” and “Internet Explorer”. Click “Browse” to navigate to the file and click OK. In this example. using the browser we will ask the FC34 Web server to deliver the page to us over the network. the Web page will be located on the FC34 controller. To send the page to the FC34 controller: • • • • Start FST program. b. Click “File” menu of the Internet Explorer and select “Open”. 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. Then. To view the Web page on the FC34 controller: • Start Internet Explorer. Change it to “Details” by clicking the last button on its toolbar. You should see the file in the listing of virtual drive B of the FC34. Festo Didactic • Win FST . size and date information.129 Using Web Server • • • • • • • The default display mode of the utility is “List”. Click the download button (the one with blue arrow pointing down). Navigate to the “main1. This will show the file extensions. This will download the file to the FC34.htm” Web page file on the hard drive of the PC. Select the file and click “Open”. htm” file with Notepad.htm (substitute your own IP number) • The page will be delivered to your browser over the network by the FC34 Web server. it delivers the page to the browser requesting it.130 Utilización del servidor WEB • • Enter the IP number of your FC34 controller followed by the name of the Web page at the URL address. it first goes through the document and replaces all the embedded CI tags with the current values of the registers.5.5 Simple Web Page with Embedded CI Commands The Web server can interpret CI commands embedded as tags in an HTML document. when you are designing a Web page. As a result. 10. 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.170. you can use the CI commands as if they were HTML tags.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. When the Web server delivers the Web page. Win FST • Festo Didactic .131. This mechanism allows us to develop web pages that can be used to remotely monitor the station.2/main1. 10. For example. Then. http://140. Download it to the FC34 using the “File Transfer” utility of FST (as explained in the previous section). Save the file as “main2. 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. Run the Internet Explorer and enter your FC34 IP number followed by the main2.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.htm” (with the quotation marks !).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 . 132 Utilización del servidor WEB 10. • Open the “main2. we will not get an updated page reflecting the current state of the register. Remember that the controller Web server goes through the requested Web page and replaces the embedded CI commands with the current values of registers. Even then. Therefore. it is not guaranteed that the content will be updated because. This mechanism was developed to help reduce network traffic. the browser will make a copy of the Web page (cache the page) on the local hard drive when it is first delivered. by default. 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. if the refresh button is pressed. A simple way of requesting the Web server to deliver the page repeatedly is to use the Refresh HTML meta tag.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.htm” file and place the above meta tag into the head section of the HTML document Win FST • Festo Didactic . This is a static mechanism of content delivery. it will get the cached copy and display it instead of requesting the Web server to deliver the document over the network again. Later.5. unless we force the browser to request a copy of the same page from the Web server again. 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. After the page is delivered to the browser. 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. You should see the Web page being refreshed every 3 seconds and therefore. However.htm filename as the URL. The page will display the status of all FC34 input and output registers.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. Festo Didactic • Win FST . Run the Internet Explorer and enter your FC34 IP number followed by the main2. the controller’s CPU and memory limitations have to be kept in mind while designing pages with embedded graphics. However. the input word being updated. In this section you will learn how to design an advanced Web page with embedded graphics for FC34. 10. 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. 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.134 Utilización del servidor WEB 10. The HTML code is as follows: <HTML> <HEAD> <TITLE> Lifting Device Remote Monitor </TITLE> <META http-equiv="Content-Type"content="text/html.1 Design of an Advanced Web Page The advanced Web page you will design in this section will have the following layout.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> . Using such a page it is possible to monitor the station remotely over a network such as the Internet.6. 3):<FSTCI DE0.4):<FSTCI DA0.5):<FSTCI DE0.7):<FSTCI DA0.1):<FSTCI DE0.0> (E1.3> Cylinder 2A Forward (E0.5> Stop Button (E0.2> (E1.4> AutoMan Switch (E0.0):<FSTCI DE1.0):<FSTCI DA0.2):<FSTCI DA0.4):<FSTCI DE0.1):<FSTCI DA0.6> (A0.2> Cylinder 2A Back (E0.1):<FSTCI DE1.1> Start Lamp (A0.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.3):<FSTCI DA0.1> (E1.3> </FONT></PRE> </TD> <TD width="50% valign="top" height="222" bgcolor="#DDDDDD"align="center"> <PRE><FONT color="#000000"> Cylinder 1A Solenoid (A0.6):<FSTCI DA0.0):<FSTCI DE0.2> Stop Lamp (A0.4> (A0.6):<FSTCI DE0.3> Reset Lamp (A0.6> Reset Button (E0.0> Cylinder 1A Back (E0.7):<FSTCI DE0.7> </FONT></PRE> </TD> </TR> </TABLE> </DIV> Festo Didactic • Win FST </BODY> </HTML> Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) .0> Cylinder 2A Solenoid (A0.2):<FSTCI DE1.1> Cylinder 1A Forward (E0.5):<FSTCI DA0.5> (A0.7> Emergency Stop Button (E1.2):<FSTCI DE0.3):<FSTCI DE1. htm” (do not forget to use the quotes when saving). Save the file as “main3. Win FST • Festo Didactic . Accessories. Make sure that the virtual drive B is selected. This is where the Web server looks for files. Click OK to download to the FC34.136 Utilización del servidor WEB 10. This will start the file transfer utility to send the files to the FC34.2 Creating.htm” file on your hard drive.6. To download the page to the FC34: • • • Start the FST software and select File Transfer from the Online menu. Type the HTML code for the page exactly as shown in the listing. Downloading and Viewing the Page To create this page: • • • Start the Notepad editor by clicking the “START” button of Windows and by selecting Programs. Notepad. • • Click on the download button (with the downward blue arrow) and navigate to the “main3. Festo Didactic • Win FST .2/main3.131.137 Using Web Server To view the page.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. • • • Start the Internet Explorer browser.htm” file name. In this chapter.170. Type the IP address of your FC34 controller followed by the “main3. we used: http://140. 138 Utilización del servidor WEB Win FST • Festo Didactic . 139 HMI Development Chapter 11 HMI Development Festo Didactic • Win FST . 140 HMI Development Win FST • Festo Didactic . However. Web pages started to have dynamic content that changed based on the browser used. 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 Festo Didactic • Win FST .141 HMI Development 11 HMI Development 11. as the technology advanced. radio buttons. and A program that can receive the collected data and process it.2 HTML <Form> Tag and Form Elements The <FORM> tag in a Web page signals the beginning of a form in the page. interactions of the user with various features of the page. In this chapter. Earlier Web pages displayed static information that was coded into the page by its designer using HTML tags. A typical form contains various elements such as buttons. etc. areas to enter text. areas for text entry. 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. etc. 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. For example. Some form elements have a set of “events” that they can generate. One design element used in making a Web page dynamic is a FORM. we will use client-side processing with JavaScript. Specifically. we will explore the relationship between HTML forms and JavaScript to implement dynamic Web pages. combo boxes (dropdown lists). that are all associated with receiving information from the user. Using this technology.1 HTML Forms HTML is the standard language used to design Web pages. we will implement human-machine interfaces (HMI) for the Lifting Device. etc. Forms allow users to enter information into a Web page. drop-down lists. Forms can contain various other types of elements such as buttons. 11. The tag has various attributes: Attribute Type Name 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 Win FST • Festo Didactic . Use the following tag: <INPUT type=”button” name = “Cylinder 1A Out” value=”Cylinder 1A Out” onClick=””CISend (‘A0. In this chapter we will look at some of these elements.142 HMI Development through a so called “event handler. This is placed within the Web page where the user input will be received through the button element.1 Button Element When creating buttons.’1’)”> The <INPUT> tag specifies that this is an input field.0’. 11.2. For more detailed coverage.” An event handler is a script (program) that is run when the button is clicked. The text is written within the <FORM> and </FORM> tags. please refer to a book on HTML or JavaScript. an event or action is activated. 2 Checkbox Element Checkbox is designed for the user to check it. 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.2. It also limits the maximum number of characters that can be typed into the text box by the user. 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.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 11. can later be examined by a script. Use the following tag: <INPUT type=”button” name = “Cylinder 1A Out” value=”Cylinder 1A Out” onClick=””CISend (‘A0. its value is set to “1”. the user can enter details. The text entered by the user.0’. This value can later be examined by a script to determine whether the checkbox was checked or not.3 Textbox Element For the textbox.2. When the checkbox is checked. 11.’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. Festo Didactic • Win FST . Later this name can be used in a script (program) to refer to the text box object Determines the width of the text box. For example. This requires development of a JavaScript function that can parse a string to form the necessary CI command for the controller.3. To use this function it is very simple to modify the 2 coils of a valve in one call. it forms a query string to the controller Web server to deliver the CI command to the station.3 Remote Device Control with an HMI With the understanding of the HMI forms. if we want to send MAW0 with a parameter value of “0” (turning all outputs OFF).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. Here we will use two CI commands a. 11. The following example combines two CI commands into one function call so that we have 4 arguments: 2 operands and 2 parameters. 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). CISend2(‘Operand1’. ‘Value2’ ) Win FST • Festo Didactic . The “Operand” is the CI command to be sent to the controller.js” file. CISend The “CISend()” function has two arguments. CISend2 In many situations it is necessary or suitable to send more than just one CI command. Note that this file must be in the same directory as the Web page that is referring to it. b. For this book. ‘Value1’. ‘0’) The function then takes these arguments and first checks the “value” that was passed to it to make sure that it is acceptable. we could use the following function call: CISend(‘AW0’.144 HMI Development 11. 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. Then. ‘Operand2’. The “Value” is the parameter value for the command. the functions are saved into “Fst. 2 Creating a Javascript File Here we will create a javascript file called Fst. // CISend sends a modify command to the web server // Parameters: // Operand: for example MW0 // Value function CISend(Operand. found = href. The CISend and CISend2 scripts will be placed in this file. if ( Value == "NaN" ) { alert("Value is not a number"). if ( Value1 == "NaN" ) { alert("Value1 is not a number").substring(0. } Con formato: Inglés (Estados Unidos) Festo Didactic • Win FST .Value1. • • • Open Notepad and create the file as shown.js” You need to download this file to the controller if you intend to use the CISend and CISend2 functions in your HTML file.3. var href. } // Strip previous modify command from URL href = this. return.Operand2. var href.Value2) { var found.location.js.Value) { var found. return. return.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. if ( found > 0 ) { href = href. This file will be placed into the same web page directory.indexOf("?"). Save the file as “fst. using Notepad.href. } // Verify variable value if ( (Value < -65535) || (Value > 65535) ) { alert("Allowed range for value is -65535 to 65535").145 HMI Development 11. } // Now add modify command to URL and reload this. Create the file in the same way as you created the html file. found). } // Now add modify command to URL and reload this.indexOf("?"). found).146 HMI Development // Verify variable value2 if ( (Value2 < -65535) || (Value2 > 65535) ) { alert("Allowed range for value2 is -65535 to 65535").location.href.href.Value) { var found.indexOf("?").location. if ( found > 0 ) { href = href. return. } // CISendStr sends a modify string command to the web server // Parameters: .substring(0.location. var href.location.substring(0. found). found = href. // Strip previous modify command from URL href = this. found = href.href = href + "?ci:" + "M" + Operand1 + "=" + Value1 + ". if ( found > 0 ) { href = href.href = href + "?ci:" + "!3M" + Operand + "=" + Value. } // Strip previous modify command from URL href = this.M" + Operand2 + "=" + Value2. } // CISendStr sends a modify string command to the web server // Parameters: // Operand: for example 3 // Value function CISendStr(Operand. } // Now add modify command to URL and reload Win FST • Festo Didactic this. substring(0. } // Now add modify command to URL and reload this.4 Remote Operation of the Lifting Device Let’s develop a Web page with the following features: • • • • • • Starting the Lifting Device Stopping the Lifting Device Extend Cylinder 1A Retract Cylinder 1A Extend Cylinder 2A Retract Cylinder 2A To control the functions we will use the function CISend( ). found = href. The web page should look like this.!3M" + StringNumber + "=" + Stringtext. remember to download the file and the fst. After writing the script. if ( found > 0 ) { href = href.indexOf("?").location. found).href = href + "?ci:" + "M" + Operand + "=" + Value + ".js file to the controller. Festo Didactic • Win FST .147 HMI Development // Strip previous modify command from URL href = this. } 11.location.href. '1')"> <input type="button" value=" Cylinder 1A Return " onclick="CISend('A0. '0')"> </DIV> </form> </td> Win FST • Festo Didactic .1 Creating the Buttons We have to create six buttons. 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. We can use the CISend function to activate the relevant output (A0. For the activation of the cylinders it is quite straight forward as we need to activate the output only. four for the cylinder activation and two for the start and stop function.1'.1). '1')"> <input type="button" value=" Cylinder 2A Return " onclick="CISend('A0.0'.4.1'. '0')"> </DIV> </form> </td> <td bgcolor="#e0e0e0"> <form> <DIV align="center"> <input type="button" value="Cylinder 2A Forward" onclick="CISend('A0.0'.0 and A0.148 HMI Development 11. 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.149 HMI Development For the start and stop buttons it is different. The modification is made in the “Main Organisation Program”. we need to use flags to activate the inputs. It is usual to set a flag and use this flag to start and stop your program. '2')"> </DIV> </form> </td> We also need to modify our Win FST program to include the two flags.5s Blinks ‘Stop Lamp ‘Stop Lamp IF FBlink2 THEN SET oStop OTHRW RESET oStop . '1')"> <input type="button" value=" Stop Button " onclick="CISend('MW30'. 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. Remember to declare them in the Allocation List. The javascript is as follows: <td bgcolor="#e0e0e0"> <form> <DIV align="center"> <input type="button" value=" Start Button " onclick="CISend('MW30'. This means that the process can be started by pressing the actual buttons or the buttons on the web page.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 iEStop JMP TO Emergency ‘Emergency Stop Button ‘0. 150 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> Win FST • Festo Didactic </td> </tr> </table> <br> <table width="50%" border="0" cellspacing="0" cellpadding = "0" align = "center"> Con formato: Inglés (Estados Unidos) Con formato: Inglés (Estados Unidos) 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 Festo Didactic • Win FST .153 HMI Development Save the file and download it to the controller.js file. When downloading the file to the controller remember to also download the Fst. 154 Project Flow Chart Chapter 12 Project Flow Chart Win FST • Festo Didactic . 155 Project Flow Chart Festo Didactic • Win FST . 156 Project Flow Chart 12 Project Flow Chart 12. “New Program” or “Program”. “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”. “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 .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”. usually “0” Click “OK” Close Window Double-Click on “IO Configuration” Right-Click and Click “Insert Operand” or Press “Insert Key” Win FST • Festo Didactic Type in “Absolute”. “New” Create Program Or Right-Click on “Program” and Click on “Insert Program” Type “Number”. 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 Check for Errors Compile the Project Build the Project Set Controller Settings Set Preferences Download the Program Run Program OnLine Win FST Festo Didactic •Display for Program .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. 158 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 Win FST • Festo Didactic .
Copyright © 2024 DOKUMEN.SITE Inc.