Festo CMXR-C1 Instrucciones De Programacion
Ocultar thumbs Ver también para CMXR-C1:
Tabla de contenido

Publicidad

Enlaces rápidos

Controlador
Descripción
Instrucciones de
programación
Tipo
CMXR-C1
Descripción
560 317
es 0805NH
[729 225]

Publicidad

Tabla de contenido
loading

Resumen de contenidos para Festo CMXR-C1

  • Página 1 Controlador Descripción Instrucciones de programación Tipo CMXR-C1 Descripción 560 317 es 0805NH [729 225]...
  • Página 3 Edición ____________________________________________________________ es 0805NH Designación _________________________________________________ GDCP-CMXR-SW-ES Nº de art. ____________________________________________________________ 560 317 Festo AG & Co KG., D-73734 Esslingen, 2008 Internet: http://www.festo.com E-mail: service_international@festo.com Sin nuestra expresa autorización, queda terminantemente prohibida la reproducción total o parcial de este documento, así como su uso indebido y/o su exhibición o comunicación a terceros.
  • Página 4 Lista de revisiones Autor: Nombre del manual: GDCP-CMXR-SW-ES Nombre del archivo: Lugar de almacenamiento del archivo: Nº de art. Descripción Indicador de revisión Fecha de modificación Confección es 0805NH 25.06.2008 Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 5: Tabla De Contenido

    Cadenas de caracteres ..................24 Operadores y caracteres de delimitación ............24 4.6.1 Operadores aritméticos ..............24 4.6.2 Operadores lógicos ................25 4.6.3 Operadores comparativos ..............25 4.6.4 Otros operadores ................25 4.6.5 Caracteres de delimitación ..............26 Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 6 Desactivar línea de programa <##> ..............46 Instrucciones de movimiento ................48 Descripción de la posición ................. 48 9.1.1 Posición de eje ................... 49 9.1.2 Posición cartesiana ................51 Movimiento punto a punto <Ptp> ................ 52 Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 7 Datos del sistema de referencia ................. 90 11.7 Sistema de referencia con valores directos <SetRefSys> ........91 11.8 Sistema de referencia con tres puntos <SetRefSys3P> ........92 11.9 Sistema de referencia universal <SetRefSysWorld> ..........93 11.10 Ejemplo ......................94 Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 8 Coseno <COS>, <ACOS> ..................126 16.8 Tangente <TAN>, <ATAN> ................... 128 16.9 Cotangente <COT>, <ACOT> ................129 16.10 Tangente 2 <ATAN2> ..................130 16.11 Logaritmo <LN> ....................130 16.12 Exponente <EXP> ....................130 16.13 Valor absoluto <ABS> ..................131 Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 9 Escritura del valor de salida, método Write ........155 17.7.5 Espera a que el valor sea mayor/menor, métodos WaitLss, WaitGrt .. 155 17.7.6 Espera a que el valor entre/salga de un margen, métodos WaitIns, WaitOuts ......................156 Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 10 19.4.2 Pinzas paralelas neumáticas ............180 19.4.3 Unidad giratoria con pinzas neumáticas ........... 183 19.5 Empleo de la interface PLC ................187 19.5.1 Tarea ....................187 19.5.2 Interface PLC ..................187 19.5.3 Programa secuencial ................ 188 Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 11: Introducción

    En este documento se describe el juego de instrucciones FTL (Festo Teach Language) del control multieje CMXR con la versión de software 1.0. La programación del control CMXR se efectúa con la unidad manual CDSA-D1-VX o con el plugin CMXR del Festo Configuration Tool (FCT).
  • Página 12: Medidas De Seguridad

    Uso de la documentación Este documento está concebido para los usuarios y programadores de robots que funcionan con el sistema CMXR de Festo. Existe una introducción al manejo y a la programación. La formación correspondiente del personal es condición previa indispensable.
  • Página 13: Personal Cualificado

    Peligro de muerte, lesiones graves y daños materiales por movi- miento accidental de los ejes. Medidas de seguridad sobre este manual Advertencia PELIGRO La inobservancia puede tener como consecuencia daños materiales y lesiones físicas graves. Atención La inobservancia puede tener como consecuencia daños materiales graves. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 14: Medidas De Seguridad Para El Producto Descrito

    Ello puede provocar lesiones físicas y daños materiales o ambien- tales graves. Por tanto, para la instalación posterior de componentes o las modificaciones de la instalación con accesorios de equipo de otros fabricantes debe contarse con la autorización de Festo. Advertencia PELIGRO Peligro por alta tensión.
  • Página 15: Proceso De Programas

    Proceso de programas Informaciones generales FTL es la sigla que se obtiene de Festo Teach Language. FTL es un lenguaje de programación y sirve para programar los controles CMXR. El FTL es un lenguaje de programación para robótica y sistemas de manipulación muy completo pero fácil de aprender y dominar.
  • Página 16 La flecha inferior marca la instrucción activa del cálculo por adelantado de proceso. La distancia entre las dos flechas es el avance de proceso. Más información y ejemplos sobre el avance de proceso se describen en el capítulo 19.3 Control del avance de proceso. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 17: Estructura De Programa

    Un proyecto FTL se guarda como subdirectorio en el directorio de aplicación. El nombre de directorio es el título del proyecto y tiene la extensión “tt”. Ejemplos de títulos de proyecto: Proyecto “_global” Proyecto “cube” Proyecto “PickPlace” Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 18: Proyecto Ftl Global

    Si el programa se guarda mediante la unidad manual CDSA o mediante el editor de pro- gramación de Festo (en el Festo Configuration Tool), el archivo de datos locales de pro- grama se genera automáticamente. Si la generación de programa se efectúa con otro software, debe observar que se guarde el archivo de datos correspondiente para cada programa.
  • Página 19: Programas Compartidos De Proyecto

    Otros programas o proyectos no tienen acceso a estos datos. En la figura siguiente se muestran los programas “Fill” y “Sort”. Cada uno de estos programas posee datos locales y datos de programa guardados en los archivos correspondientes. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 20: Datos Compartidos De Proyecto

    Como todos los programas tienen acceso a los datos compartidos de sistema, estos datos deben utilizarse con cuidado. Compruebe que varios programas no puedan acceder simultáneamente a estos datos. Si es necesario, bloquéelos con las medidas necesarias en la aplicación. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 21: Instanciación De Variables

    : CARTPOS := (100, 50, 100, 0, 0, 0) cpos2 : CARTPOS := (600, 550, 100, 180, 0, 0) índice : DINT := 17 Los tipos de variables posibles se describen en los capítulos siguientes. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 22 Al descargar el proyecto/programa o en caso de caída de tensión de alimentación se pierden los datos modificados en el programa. Indicación Para guardar de manera permanente los valores de posición en la tarjeta de memoria puede utilizarse la macro “SavePosition”. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 23: Estructura Del Lenguaje

    Lista de todas las palabras clave: CALL THEN END_IF ELSIF ELSE GOTO LABEL WHILE END_WHILE LOOP END_LOOP RETURN KILL BOOL DINT DWORD REAL STRING El resto de tipos de datos creados a partir de estas claves también son palabras clave. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 24: Constantes Numéricas

    Pueden incluir todos los caracteres imprimibles. La longitud de una cadena está limitada a 255 caracteres. Son válidos todos los caracteres ASCII. Ejemplo de una cadena de caracteres válida: “Control multieje CMXR-C1” Operadores y caracteres de delimitación Los operadores se utilizan en expresiones y describen cómo conectar los valores de variables y las constantes numéricas.
  • Página 25: Operadores Lógicos

    Tabla 4.3 Operadores comparativos 4.6.4 Otros operadores Operadores Significado Operador punto para acceder a los elementos de la estructura Operadores corchetes para acceder a matrices Paréntesis para, p. ej., listas de parámetros Tabla 4.4 Otros operadores Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 26: Caracteres De Delimitación

    4. Estructura del lenguaje 4.6.5 Caracteres de delimitación Operadores Significado Asignación de valor para variables Carácter se separación para instanciar variables Carácter de enumeración en listas de parámetros para llamar a funciones o macros Tabla 4.5 Caracteres de delimitación Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 27: Tipos De Datos Básicos

    De\a BOOL Números Patrón de bits REAL STRING enteros BOOL Sí Números enteros Sí Sí Sí Patrón de bits Sí Sí REAL Sí Sí STRING Sí Tabla 5.3 Asignaciones posibles Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 28: Tipo De Dato Booleano (Bool)

    REAL a DINT, el sistema elimina las posiciones decimales. Ejemplos de conversiones de tipos: Variables: presión : REAL índice : DINT Código de programa: presión := 1.53 índice := presión // Conversión REAL->DINT La variable “índice” recibe el valor “1” después de la conversión. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 29: Cadenas De Caracteres (String)

    Las matrices se utilizan para agrupar tipos de datos iguales en una unidad ordenada. El acceso a cada uno de los elementos de la matriz se realiza con un índice. No es posible crear matrices a nivel de usuario. Éstas se utilizan, p. ej., dentro de la inter- face PLC. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 30: Declaración De Variables

    Las variables reales también pueden inicializarse con valores enteros. Ejemplo de inicializaciones válidas: índice : DINT := 1 : REAL := 3.1415 radio : REAL := 10 flag : BOOL := TRUE mensaje : STRING := "Hola" Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 31: Expresiones

    1. [] (Índice de matriz) 2. NOT (Negación) 3. * / MOD AND (Multipl., división, módulo, Y lógico) 4. + - OR XOR (Adición, sustracción, O/EXOR lógicos) 5. < <= = <> >= > (Operaciones de comparación) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 32: Control De Programa

    éstos deberán efectuarse mediante varias instrucciones. Los operandos booleanos permiten establecer varios enlaces en una instrucción. Para los ejemplos siguientes se van a utilizar las variables indicadas a continuación: marcador : BOOL flag1 : BOOL flag2 : BOOL flag3 : BOOL Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 33 No está permitido utilizar varios enlaces con operandos compara- tivos dentro de una condición. Ejemplo para programar una condición con varios enlaces: flag1 := índice < 10 flag2 := índice > 0 IF flag1 AND flag2 THEN END_IF Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 34: Bifurcación

    TRUE o FALSE, se avanza a la posición PosStart. IF piezaOk AND NOT piezaMala THEN // Pieza buena Lin(pos12) Lin(pos13) ELSIF NOT piezaOk AND piezaMala THEN // Pieza desechable Lin(pos3) Lin(pos4) ELSE Lin(posStart) // Ningunas señales definidas END_IF Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 35: Instrucciones De Salto

    Para que el sistema detecte una marca de salto, la palabra clave LABEL se coloca delante. Sintaxis LABEL <marca de salto> Con las instrucciones de salto descritas a continuación puede saltarse a la marca de salto. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 36: Salto Condicional

    Los bucles son instrucciones del programa que repiten una parte definida del mismo de manera condicional o incondicional. Con ellos es posible abreviar considerablemente los programas dependiendo de la tarea, p. ej., extracción de piezas de una paleta cuyas posiciones pueden calcularse partiendo de la disposición conocida. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 37: Instrucción While

    Si el valor final es inferior a 1, el bucle no se ejecuta sino que se salta. Después de cada pasada, el valor de las variables de bucle suma uno y el valor final se calcula de nuevo. El bucle puede contener un número ilimitado de instrucciones. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 38: Subprogramas

    último se activa desde un programa y no directamente desde el proyecto. Proceso: Mientras se procesa el subprograma, el programa que lo ha llamado espera a que acabe. Al finalizar el subprograma se retorna automáticamente al programa superior, que se reanuda. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 39: Llamada De Subprograma

    No es posible realizar llamadas recursivas de programas. Por tanto, un programa no se puede llamar a sí mismo. Además, tampoco es posible llamar al programa que está llamando. Sintaxis CALL <nombre del programa> ( ) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 40: Retorno Al Programa

    éstos terminan. El programa principal se reanuda. Ejemplo: CALL VerificarPieza()// Llamar al subprograma VerificarPieza IF NOT piezaOk THEN estadoPieza := 10 // Variable global para el valor de retorno RETURN // Adelanto del fin de programa END_IF Lin(pos3) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 41: Programas Paralelos

    Programa paralelo En este ejemplo, el programa “feed” llama al programa paralelo “calculate”. El programa “calculate” espera primero a una señal e incrementa el contador con una unidad. Mientras tanto, el programa principal “feed” sigue procesando. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 42: Ejecución De Programa Paralelo

    El tiempo de espera empieza a contar una vez ejecutada la instrucción anterior. Transcurrido este tiempo se reanuda el programa. Sintaxis WaitTime (<timeMS >: DINT) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 43: Instrucción Condicional Wait

    70 ms Tiempo pos2 Pos2 Pos1 8.10 Instrucción condicional WAIT <WAIT> La instrucción WAIT condicional permite interrogar estados binarios. Este estado puede estar compuesto por una única variable booleana, una combinación de interrogaciones o una sola interrogación. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 44 En la condición de la instrucción WAIT pueden utilizarse los tipos de datos básicos BOOL, REAL y DINT con operadores lógicos y operadores comparativos. No es posible utilizar los operadores aritméticos ni de bits. Sintaxis WAIT <condición> Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 45 // Esperar a que haya una pieza Lin(pos1) // Avanzar hasta pieza Lin(pos2) // Avanzar sobre pieza Lin(pos3) // Avanzar sobre bandeja Lin(pos4) // Posar pieza WaitTime(0) // Esperar a proceso principal Vacuum.Reset() // Vacío desconectado Lin(pos3) // Avanzar sobre bandeja Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 46: Insertar Comentarios

    Con la secuencia de caracteres "##" se desactivan las líneas de programa para el proceso del programa pero se conserva la verificación de la sintaxis. Indicación ## <instrucción de programa> Ello implica: Una instrucción FTL no se procesa en el programa, es decir, el contenido no afecta de ningún modo. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 47 IF..THEN…ELSE, deben desactivarse todas las líneas de programa correspondientes. En la figura siguiente se muestra la máscara del programa de la unidad manual con instrucciones del programa desactivas en las líneas 8 a 10: Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 48: Instrucciones De Movimiento

    (transformaciones de coordenadas). Para más información consulte la descripción de instrucciones. Los tipos de datos AXISPOS y CARTPOS son de tipo estructurado (véase el capítulo 5.4 Tipos de datos estructurados en la página 29). Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 49: Posición De Eje

    : AXISPOS := (100, 50, 30, 0, 0, 0, 0, 0, 0) posA1 : REAL posA2 : REAL Programa: Lin(startPos) // Avanzar a startPos posA1 := startPos.a1 // Guardar valor de eje convertido 1 posA2 := startPos.a2 // Guardar valor de eje convertido 2 Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 50 Posición eje 5, no existe : REAL Posición eje 6, no existe : REAL Posición eje auxiliar 1, no existe : REAL Posición eje auxiliar 2, no existe : REAL Posición eje auxiliar 3, no existe Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 51: Posición Cartesiana

    Ejemplo: Variable: startPos : CARTPOS := (1050, 130, 30, 0, 0, 0, 0, 0, 0) newPos : CARTPOS := (0, 0, 0, 0, 0, 0, 0, 0, 0) posX : REAL posY : REAL Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 52: Movimiento Punto A Punto

    El eje más lento determina la dinámica. El movimiento del TCP se obtiene en este caso de la combinación del movimiento de ejes individuales. El movimiento en el TCP no está definido. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 53 El control multieje CMXR transforma las posiciones como corresponde. Ejemplo: Debe posicionarse un pórtico cartesiano con tres ejes X, Y, Z y un eje de rotación con pinza. 1 Eje Y 2 Eje Z 3 Eje de rotación con pinza 4 Eje X Variable: Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 54 Como la herramienta posee una asimetría con el eje Z, esta trayectoria se comporta de un modo inesperado ya que, con la interpolación síncrona, todos los ejes se desplazan juntos a su punto de destino sin tener en cuenta la trayectoria descrita. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 55: Movimiento Punto A Punto

    La indicación de distancia puede ser cartesiana o relativa a cada eje. El control CMXR transforma las posiciones como corresponde. Ejemplo: En una aplicación de manipulación, la pieza se desplaza a cuatro posiciones, cada una a una unidad de medición. Eje Z pos1 pos3 pos2 Eje X Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 56 // Llamada de ciclo de comprobación PtpRel(distZpos) PtpRel(distX) Ptp(pos3) El ciclo de medición de la pieza, así como su evaluación, se procesan en el subprograma “verificar”. El contenido del subprograma no se representa para una mayor simplificación. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 57: Movimiento De Un Eje

    Eje 3 = Eje Z Eje 4 = Eje de rotación de la herramienta En el ejemplo debe recogerse una pieza en una posición y posarse en otra. Para ello, el eje de rotación debe estar posicionado como corresponde. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 58 // Cerrar pinza MoveAxisPtp(A3, 145) // Hacia arriba MoveAxisPtp(A1, 450) // Posado abajo MoveAxisPtp(A4, 180) // Girar sobre bandeja MoveAxisPtp(A3, 50) // Posado abajo Gripper.Set() // Abrir pinza MoveAxisPtp(A3, 145) // Posado abajo Ptp(pos2) // Arrancar Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 59: Movimiento Lineal

    Unidad Posición de destino absoluta AXISPOS o CARTPOS Tabla 9.5 Parámetro de la instrucción Lin La indicación de posición puede ser cartesiana o relativa a cada eje. El control multieje CMXR transforma las posiciones como corresponde. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 60 : CARTPOS := (100, 50, 100, 0, 0, 0, 0, 0, 0) pos2 : CARTPOS := (600, 550, 100, 180, 0, 0, 0, 0, 0) gripper : TCPTOOL := (-100, 0, 97, 0, 0, 0,) Programa: Tool(gripper) Lin(pos1) Lin(pos2) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 61: Movimiento Lineal Relativo

    Dist Posición de destino relativa AXISDIST o CARTDIST Tabla 9.6 Parámetro de la instrucción LinRel La indicación de distancia puede ser cartesiana o relativa a cada eje. El control multieje CMXR transforma las posiciones como corresponde. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 62 : CARTDIST := (0, 112, 0, 0, 0, 0, 0, 0, 0) distYneg : CARTDIST := (0, -112, 0, 0, 0, 0, 0, 0, 0) pos3 : CARTPOS := (1050, 45, 0, 0, 0, 0, 0, 0, 0) dirección : BOOL Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 63: Movimiento Circular Con Punto De Apoyo

    El radio de la trayectoria circular se obtiene a partir de un cálculo interno con punto inicial, punto de apoyo y punto final de la trayectoria circular. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 64: Definición De Planos

    La trayectoria circular se efectúa en un plano definido a partir de los tres puntos: punto inicial, punto de apoyo y punto final. Con esta definición se extiende el plano en el espacio donde se va a describir la trayectoria circular. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 65 En la figura se muestra una trayectoria circular con sus tres puntos de apoyo, que definen un plano en el espacio donde se encuentra la trayectoria. Indicación La trayectoria circular siempre está en un plano. No es posible realizar una interpolación helicoidal con una interpolación adicional perpendicular al plano. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 66: Instrucción Circular Con Punto De Apoyo

    Si este punto se desplaza, la trayectoria circular sufre una modificación. Ésta puede ser incontrolada y provocar una colisión. La modificación del punto inicial no genera necesariamente un mensaje de error ya que el resultado es correcto. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 67 : CARTPOS := (1050, 400, 0, 0, 0, 0, 0, 0, 0) EndPos : CARTPOS := (950, 300, 0, 0, 0, 0, 0, 0, 0) Programa: Lin(pos1) // Aproximar a punto inicial CircIp(IpPos, EndPos) // Movimiento circular en punto final Lin(pos2) // Arrancar Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 68: Instrucción Circular Con Punto De Apoyo, Aproximación Ptp

    AXISPOS o CARTPOS Punto final del arco AXISPOS o CARTPOS Tabla 9.8 Parámetros de la instrucción PtpToCircIp La indicación de posiciones puede ser cartesiana o relativa a cada eje. El control multieje CMXR transforma las posiciones como corresponde. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 69 : CARTPOS := (950, 300, 0, 0, 0, 0, 0, 0, 0) Pos1 : CARTPOS := (455, 300, 0, 0, 0, 0, 0, 0, 0) Programa : // Aproximación PTP, movimiento circular cartesiano PtpToCircIp(StartPos, IpPos, EndPos) Lin(Pos1) // Arrancar Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 70: Instrucción Circular Con Punto De Apoyo, Avance Lineal

    Punto final EndPos Posición Pos1 Eje X 1050 El plano del eje Z es 0. La aproximación al punto inicial del arco se realiza con un movimiento lineal. El punto inicial se transmite con la instrucción LinToCirc. Variables: Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 71: Detención Del Movimiento

    Una vez detectado el estado, la instrucción StopMove detiene el movimiento. En el capítulo 19.1 Detención de movimientos en la página 171 se da un ejemplo de utiliza- ción de la instrucción StopMove. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 72: Instrucciones De Dinámica

    : AXISPOS := (-60, -60, 0, 0, 0, 0, 0, 0, 0) axis1 : AXISPOS := (60, 60, 0, 0, 0, 0, 0, 0, 0) axis2 : AXISPOS := (100, 60, 0, 0, 0, 0, 0, 0, 0) Programa : Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 73: Aceleración

    Indicación Si no se indica el parámetro opcional ValueDec (para la rampa de frenado), el valor del parámetro ValueAcc (para la aceleración) se utilizará para la rampa de frenado. En ese caso, el perfil es simétrico. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 74: Sacudida

    Tipo de movimiento Enumeración: dynPtp, dynCart Value Tipo de sacudida Tabla 10.5 Parámetro de la instrucción Jerk Parámetros de Tipo de movimiento Unidad enumeración Mode dynPtp Punto a punto dynCart Cartesiano mm/s³ Tabla 10.6 Unidades del parámetro Value Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 75 : AXISPOS := (60, 60, 0, 0, 0, 0, 0, 0, 0) pos2 : AXISPOS := (100, 60, 0, 0, 0, 0, 0, 0, 0) Programa: Ptp(pos0) Jerk(dynPtp, 50) // Sacudida para PTP al 50% Ptp(pos1) Jerk(dynCart, 5000) // Sacudida en la trayectoria a 5000 mm/s³ Lin(pos2) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 76: Override

    Con la instrucción Ovr puede ajustarse directamente un valor de override en el programa. Éste tiene el mismo efecto que una modificación efectuada con las teclas de la unidad manual. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 77: Override Dinámico

    Sintaxis DynOvr ( <Value> : REAL) Parámetro Significado Unidad Value Valor del override dinámico Porcentaje Tabla 10.8 Parámetro de la instrucción DynOvr Indicación El override no modifica la trayectoria. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 78: Rampas De Aceleración

    Forma de rampa trape- Tiempo con un factor aproximado zoidal con un factor 0,5 de 0,1 Si no se indica el parámetro opcional, éste se ajusta automáticamente al factor 0,5 y se obtiene el triángulo de aceleración. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 79: Ajuste De Formas De Rampa

    Ramp( <Ramptype> : ENUM, OPT <Param> : REAL) Parámetros Significado Unidad Tipo de rampa Tipo de rampa, selecciona la forma de rampa Enumeración: TRAPEZOID SINE SINESQUARE MINJERK Param Parámetro para rampas trapezoidales ----- Tabla 10.9 Parámetros de la instrucción Ramp Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 80: Conexión De La Velocidad De Trayectoria Constante

    El control multieje CMXR calcula la velocidad posible de trayectoria basándose en la trayectoria y en los valores dinámicos máximos de la mecánica. El límite de la velocidad posible de trayectoria lo determina la dinámica de la mecánica. Si es necesario programar Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 81 Es decir, si el robot no alcanza la velocidad máxima debido al límite impuesto por un over- ride, la monitorización se activa y se genera un error. Ejemplo: Programa: Lin(pos1) VconstOn(25, TRUE) Lin(pos2) Lin(pos3) VconstOff() Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 82: Desconexión De La Velocidad De Trayectoria Constante

    VconstOff ( ) Indicación La interrupción del programa de usuario no provoca la desconexión automática de la monitorización de la velocidad de trayectoria. Al volver a arrancar el programa de usuario debe desconectarse siempre primero la monitorización. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 83: Márgenes De Avance Aproximado

    El avance aproximado se efectúa de dos maneras: 1. Avance aproximado por velocidad basado en la velocidad. 2. Avance aproximado por posición basado en una distancia predefinida. En las páginas siguientes se describen estos tipos. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 84: Área Extrema

    Si la longitud del segmento de trayectoria es demasiado corta, ello puede provocar bajones de dinámica incontrolados si se redujo el área de avance aproximado definida. Para evitarlo debe adaptarse la trayectoria o el área de avance aproximado. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 85: Avance Aproximado Por Velocidad

    100%. En la figura siguiente se muestran los perfiles de velocidad en un recorrido a las posiciones 1 y 2. En el recorrido se han definido diferentes valores para el área de avance aproximado. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 86 área de avance aproximado no es un radio, sino una curva desco- nocida que se deriva de los valores dinámicos actuales de los ejes. Ejemplo: OvlVel(100) // Avance aproximado al 100% Lin(pos1) Lin(pos2) OvlVel(75) // Avance aproximado al 75% Lin(pos3) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 87: Avance Aproximado Por Geometría

    Sintaxis OvlCart (<Radius> : REAL) Parámetro Significado Unidad Radio Radio de avance aproximado, distancia al Unidad de longitud ajustada punto final Tabla 11.2 Parámetro de la instrucción OvlCart Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 88 5 mm. Radio de avance aproximado Vel(dynCart, 300) // Velocidad de trayectoria a 300 mm/s VconstOn(25, TRUE) // Conectar vel. trayectoria const. OvlCart(5) // Ajustar área de avance aproximado Lin(p1) Lin(p2) Lin(p3) Lin(p4) Lin(p5) Lin(p6) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 89: Sistemas De Referencia (Desplazamiento Del Punto Cero)

    Indicación El anidamiento de sistemas de referencia debe efectuarse con precaución. En ocasiones éste es un mecanismo útil para una programación eficiente aunque dificulta la lectura del programa y el anidamiento descuidado puede provocar colisiones. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 90: Datos Del Sistema De Referencia

    RefSys. Con el parámetro RefSys pueden indicarse todas las posibilidades en los tipos de datos. A continuación se describen las instrucciones para activar un sistema de referencia. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 91: Sistema De Referencia Con Valores Directos

    Para referenciar el robot respecto al sistema de coordenadas universales, debe efectuarse respecto a la variable de sistema _system.world. Ejemplo: Datos: refsysdata0 : REFSYSDATA := (MAPX("_system.world"), 100, 150, 0, 0, 0, 0) Programa: SetRefSys(refsysdata0) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 92: Sistema De Referencia Con Tres Puntos

    Con el parámetro baseRs puede indicarse otra referencia, la cual tiene efecto aditivo en el sistema de referencia. Para referenciar el robot respecto al sistema de coordenadas uni- versales, debe efectuarse respecto a la variable de sistema _system.world. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 93: Sistema De Referencia Universal

    Sintaxis SetRefSysWorld() Si un sistema de referencia se activa con la instrucción SetRefSys o SetRefsys3P y se desea desactivar dicho sistema en un punto determinado del programa, se utiliza la instrucción SetRefSysWorld. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 94: Ejemplo

    // Desplazamiento de paleta 1 en Y refPal2.x := 1500 // Desplazamiento de paleta 2 en X refPal2.y := 300 // Desplazamiento de paleta 2 en Y Lin(pos1) // Avance a seguridad en el sistema universal Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 95 SetRefSys(refPal1) // Activar desplazamiento de paleta 1 CALL Feed() // Llamar a subprograma Feed (alimentar piezas) SetRefSys(refPal2) // Activar desplazamiento de paleta 2 CALL Feed() // Llamar a subprograma Feed SetRefSysWorld() // Activar sistema universal Lin(pos1) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 96: Referenciación De Un Robot

    En este caso, unos valores dinámicos elevados razonables. Indicación Los parámetros refData y timeout son opcionales. Si no se indican, la posición real actual se toma como posición de referencia (DS 402 - método 35). Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 97 Interruptor de referencia Interruptor de referencia Negativo Impulso de puesta a cero Impulso de puesta a cero Positivo Impulso de puesta a cero Impulso de puesta a cero Ningún recorrido Posición real actual Tabla 12.3 Métodos del recorrido de referencia Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 98: Recorrido De Referencia Asíncrono

    Conjunto de datos del recorrido de referencia, Ninguna p. ej., cómo se va a referenciar timeout Tiempo para el desarrollo de la operación Segundos (después se emite un mensaje de error, la referenciación se interrumpe) Tabla 12.4 Parámetros de la instrucción RefAxisAsync Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 99 En este caso, unos valores dinámicos elevados razonables. Los parámetros y su funcionamiento se corresponden con la instrucción RefAxis. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 100: Espera Al Final Del Recorrido De Referencia

    Si no aparece ningún error en el recorrido de referencia se emite TRUE, de lo contrario, FALSE. Programa: RefAxisAsync(A1, refdata0) RefAxisAsync(A2, refdata0) RefAxisAsync(A3, refdata0) RefAxisAsync(A4) boolReference := WaitRefFinished() IF NOT boolReference THEN SetError("error en la referenciación") END_IF Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 101: Interrogación Del Estado De Un Eje

    IsAxisReferenced(axis : AXIS ) : BOOL Parámetro Significado Unidad Eje seleccionado objeto de la Enumeración A1, A2, hasta A9 interrogación Tabla 12.5 Parámetro de la instrucción IsAxisReferenced Si el eje indicado está referenciado se emite TRUE, de lo contrario, FALSE. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 102: Herramientas

    Desplazamiento a lo largo del eje Z : REAL Indicación de orientación, rotación alrededor del eje Z : REAL Indicación de orientación, rotación alrededor del eje Y rotado : REAL Indicación de orientación, rotación alrededor del eje Z rotado Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 103 30° B = 0 Asimetría en Z C = 0 La orientación del sistema de coorde- nadas de herramienta no cambia. Si Asimetría en X es necesario, deberá ajustarse con los parámetros A, B y C. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 104 El programador debe asegurarse de asignar correctamente los datos TCP a la herramienta. El control multieje CMXR no conoce ninguna referencia de los datos de herramienta en relación a la herramienta física. Atención Si los datos TCP son inadecuados o incorrectos hay peligro de colisión. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 105: Activación De Datos De Herramienta

    Estos datos TCP actuales se incluyen en el cálculo de la planificación de trayectoria de las instrucciones de movimiento siguientes. A continuación se presenta un ejemplo en el que se describe el comportamiento de los datos de herramienta aplicados a un eje giratorio neumático. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 106 = Longitud de herramienta Desplazamiento a lo largo del eje Z Rotación de Euler, rotación alrededor del eje Z Rotación de Euler, rotación alrededor del eje Y rotado Rotación de Euler, rotación alrededor del eje Z rotado Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 107 Nuestro robot cartesiano debe desplazarse con la herramienta vertical de una posición 1 a otra 2. A continuación, el eje giratorio gira la herramienta. Ahora, la herramienta girada debe desplazarse a la posición 2. Desplazamiento de pos1 a pos2: Tool(tool1) Lin(pos1) Lin(pos2) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 108 El movimiento giratorio provoca que el Tool Center Point (TCP) se desplace hacia arriba. Debido al eje neumático, el control no puede efectuar automáticamente movimientos de compensación. Para aproximarse a la posición 2 debe definirse la orientación nueva de la herramienta. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 109 Con el eje giratorio eléctrico se programa la orientación deseada dentro de una instrucción de desplazamiento. A continuación, el control CMXR calcula automáticamente la posición de los ejes teniendo en cuenta la orientación programada. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 110: Interface Profibus

    [ <Arrayindex> ] : BOOL plc_OutBool [ <Arrayindex> ] : BOOL En las variables de matriz plc_InBool están guardadas todas las señales de entrada. La variable de matriz plc_OutBool contiene todos los datos de salida. Ejemplo: Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 111: Variables Del Tipo Integral De 32 Bits

    IF plc_Dint[3] = 13 THEN END_IF 14.3 Posiciones La interface soporta dos tipos de datos de posición. Desde el control externo es posible enviar posiciones de eje y posiciones cartesianas al control multieje CMXR. El número Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 112 [ <Arrayindex> ] : AXISPOS plc_CartPos [ <Arrayindex> ] : CARTPOS La variable de interface plc_AxisPos contiene 256 posiciones del tipo de dato AXISPOS; la variable plc_CartPos contiene 256 posiciones del tipo de dato CARTPOS. Ejemplo: Ptp(plc_AxisPos[17]) Lin(plc_AxisPos[18]) Lin(plc_AxisPos[19]) Lin(plc_CartPos[1]) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 113: Sistemas De Referencia

    Los sistemas de referencia que se establecen a través de la interface externa sólo pueden enlazarse dentro de los sistemas de referencia de la interface. No es posible referenciar a un sistema de referencia definido fuera de la interface. Ejemplo: Lin(pos2) SetRefSys (plc_RefSys [3] ) Lin(pos3) Lin(pos4) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 114: Pausa Programada

    El programa del ejemplo se aproxima a diferentes posiciones estando ajustado un avance aproximado por velocidad del 100%. Si la señal de la pausa programada está activada, el programa se para en este punto. Con ello se obtiene el siguiente desarrollo de velocidad: Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 115 14. Interface PROFIBUS Desarrollo con pausa programada: Tiempo entre instrucciones de parada y de arranque Velocidad Tiempo pos1 pos2 pos3 pos4 pos5 Desarrollo sin pausa programada: Velocidad Tiempo pos1 pos2 pos3 pos4 pos5 Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 116: Sistema De Comunicación

    15.1 Textos de mensaje La programación en FTL (Festo Teach Language) permite generar mensajes de información, advertencia y error desde el programa de movimientos. El propio usuario define libremente los textos de mensaje como cadena de caracteres (string). Esta cadena de caracteres también puede contener entradas variables en forma de dos parámetros como máximo...
  • Página 117 : DINT := 7 param2 : REAL := 3.48 Código de programa: SetInfo (“sensor %1, valor de presión %2 bar“, param1, param2) Se visualiza el texto de información siguiente: “Sensor 7, valor de presión 3,48 bar”. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 118: Información

    Sólo sirve para informar. Ejemplo: pressure := Sensor.Read(); // Leer un valor de presión cycle := cycle + 1 // Contar ciclo SetInfo ("Cycle %1 finished, Value %2", cycle, pressure) Indicación en la unidad manual: Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 119: Advertencia

    Un mensaje de advertencia no influye en el movimiento de ningún modo. Sólo sirve para informar. Ejemplo: pressure := Sensor.Read(); // Leer un valor de presión cycle := cycle + 1 // Contar ciclo SetWarning("Cycle %1 finished, Value %2",cycle, pressure) Indicación en la unidad manual: Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 120: Mensaje De Error

    Indicación en la unidad manual: Si aparece un mensaje de error, el texto de error se visualiza también en la cabecera de la unidad manual. Además, el LED de error de la unidad manual se ilumina en rojo. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 121: Funciones

    : AXISPOS := (0, 0, 0, 0, 0, 0, 0, 0, 0) axis1 : AXISPOS := (60, -120, 0, 0, 0, 0, 0, 0, 0) axis2 : AXISPOS := (-120, -120, -250, 0, 0, 0, 0, 0, 0) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 122: Lectura De La Posición De Destino

    Los valores no se guardan en el archivo de datos de la tarjeta de memoria. Los valores se pierden cuando se deselecciona el programa/proyecto. Para guardar la posición puede utilizarse la macro SavePosition. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 123: Memorización Del Valor De Posición De Manera Permanente

    (<valor de fecha y hora> : DINT) := Time ( ) Esta instrucción lee la fecha y hora del sistema del control y lo devuelve como valor DINT. Ejemplo: value := Time() // Leer valor de fecha y hora actuales del sistema Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 124: Conversión De Un Valor De Fecha Y Hora En Texto

    Segundos fecha y hora que debe convertirse Tabla 16.4 Parámetro de la función TimeStr Ejemplo: str_Time := TimeToStr() // Leer valor de fecha y tiempo actuales del sistema Devolución: str_Time = "Lun Feb 13 11:23:44 2006" Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 125: Seno

    Si no se conoce el ángulo, el CMXR prepara la función arco seno. Esta función calcula el ángulo contenido, p. ej., alfa, a partir del cateto opuesto y de la hipotenusa. Sintaxis (<ángulo en grados> : REAL) := ASIN(<valor de seno>) La indicación del ángulo se realiza en grados. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 126: Coseno

    ángulo y el cateto adyacente o la hipotenusa. Si no se conoce el ángulo, el CMXR prepara la función arco coseno. Esta función calcula el ángulo contenido, p. ej., alfa, a partir del cateto adyacente y de la hipotenusa. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 127 := 23.5 // Ángulo alfa := b / COS(alpha) // Cálculo de la hipotenusa := 45.89 // Cateto adyacente := 145.67 // Hipotenusa value := b / c alpha := ACOS(value) // Cálculo del ángulo Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 128: Tangente

    (<ángulo en grados> : REAL) := ATAN(<valor de tangente>) La indicación del ángulo se realiza en grados. Ejemplo: := 30 // Cateto opuesto alpha := 23.5 // Ángulo alfa := a / TAN(Alpha) // Cálculo del cateto adyacente := 45.89 // Cateto opuesto Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 129: Cotangente

    Si no se conoce el ángulo, el CMXR prepara la función arco cotangente. Esta función calcula el ángulo contenido, p. ej., alfa, a partir del cateto adyacente y del cateto opuesto. Sintaxis (<ángulo en grados> : REAL) := ACOT(<valor de cotangente>) La indicación del ángulo se realiza en grados. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 130: Tangente 2

    La función logaritmo calcula el logaritmo natural del argumento transferido. Sintaxis (<logaritmo natural> : REAL) := LN (<valor> : REAL) 16.12 Exponente <EXP> La función exponencial calcula el valor e(x). Sintaxis (<resultado> : REAL) := EXP (<valor>:REAL) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 131: Valor Absoluto

    Ejemplo de programa: A := 152.67 // Longitud del cateto A B := 63.12 // Longitud del cateto B Valor := A * A + B * B C := SQRT(Value) // Cálculo de la hipotenusa Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 132: Desplazamiento De Bits

    Por la izquierda se insertan 3 bits con el valor “0”. Contenido de la variable: 1001 1111 0000 1100 1111 1111 1001 1100 Se obtiene el patrón de bits: 0001 0011 1110 0001 1001 1111 1111 0011 Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 133: Rotación De Bits

    En el lado izquierdo se insertan de nuevo los 4 bits. Contenido de la variable: 1011 1111 0110 1001 0011 000 1001 1010 Se obtiene el patrón de bits: 1010 1011 1111 0110 1001 0011 000 1001 Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 134: Módulos

    Programa FTL Tipo de subunidad Presión: tipo valor analógico Valor analógico Peso: tipo valor analógico Instanciación de subunidad en el programa de aplicación Declaración de una instancia de subunidad <nombre de instancia> : <tipo de instancia> (parámetro) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 135: Funciones

    Los dos tipos de acceso requieren un tiempo de ejecución diferente. Para más información, consulte la descripción de cada una de las subunidades en los capítulos siguientes. En el ejemplo se accede a la variable de subunidad State de la instancia Sensor: IF Sensor.state THEN Lin(pos1) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 136: Comportamiento Del Tiempo De Operación

    último punto donde aún sea posible reanudar el movimiento. El movimiento no se detiene sino que avanza continuamente. No es posible el avance aproximado a los movimientos siguientes. Indicación Si no se especifica el parámetro, se supone FALSE. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 137: Subunidad De Entrada Digital Din

    La instanciación de la subunidad de entrada digital por medio de la unidad manual se realiza en la máscara de variables seleccionando el tipo de dato DIN. La entrada se guarda auto- máticamente en el archivo de datos. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 138: Métodos

    Aunque no se ha llamado a la subunidad, ésta guarda el estado de un flanco de subida. Dicho estado puede evaluarse en el programa. Input La variable Input describe la referencia a la entrada de hardware de la subunidad. 17.4.2 Métodos La subunidad dispone de varios métodos: Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 139 Los métodos pueden seleccionarse en dicha lista. En la unidad manual, los métodos pueden seleccionarse mediante el árbol de menú en el punto “Digital Inputs”. En la figura se muestra la selección de métodos de la subunidad DIN de la unidad manual. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 140: Espera A Estado, Métodos Wait/Waitn

    El valor de retorno sigue siendo TRUE aunque la entrada hubiese cambiado entre tanto a FALSE. El estado del flanco se determina independientemente del ciclo del programa FTL y se ejecuta en un ciclo propio. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 141: Método Resetrisingedge Para Borrar Flancos

    Para instanciar la subunidad de salida digital se requiere la referencia de hardware de la salida digital. Ésta se indica con el parámetro <output> durante la instanciación. Sintaxis <nombre de instancia> .DOUT( <timeout> : DINT, <RisingEdge> : BOOL, MAPX(“< output>“)) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 142: Instanciación Con La Unidad Manual

    La instanciación de la subunidad de salida digital por medio de la unidad manual se realiza en la máscara de variables seleccionando el tipo de dato DOUT. La instanciación en la unidad manual guarda automáticamente la entrada en el archivo de datos. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 143: Variables

    Aunque no se ha llamado a la subunidad, ésta guarda el estado de un flanco de subida. Dicho estado puede evaluarse en el programa. Output La variable output describe la referencia a la salida de hardware de la subunidad. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 144: Métodos

    En el editor FTL se visualiza automáticamente una lista con los métodos disponibles introduciendo el punto. Los métodos pueden seleccionarse en dicha lista. En la figura se muestra la selección de métodos de la subunidad DOUT de la unidad manual. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 145: Espera A Estado, Métodos Wait/Waitn

    El valor de retorno sigue siendo TRUE aunque la salida hubiese cambiado entre tanto a FALSE. El estado del flanco se determina independientemente del ciclo del programa FTL y se ejecuta en un ciclo propio. Sintaxis <nombre de instancia>.RisingEdge (OPT ovlEnable: BOOL) : BOOL Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 146: Borrado De Flancos, Resetrisingedge

    Set y Reset se ejecutan en la ejecución principal. La subunidad NO influye en el avance aproximado. Ejemplo: Lin(pos1) Lin(pos2) cylinder.Set() // Activa la salida cylinder a TRUE Lin(pos3) cylinder.Reset() // Activa la salida cylinder a FALSE Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 147: Activación De La Salida, Método Write

    Es posible indicar otros pará- metros para, p. ej., realizar ajustes previos. Sin embargo, esto no es necesario para la instanciación y puede efectuarse en el programa. Ejemplo: Un sensor se guarda como instancia de subunidad: Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 148: Variables

    AIN. La instanciación en la unidad manual guarda automáticamente la entrada en el archivo de datos. 17.6.2 Variables La subunidad de entrada analógica posee las variables siguientes: Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 149: Métodos

    Leer el valor de entrada Tabla 17.6 Métodos de la subunidad de entrada analógica En el editor FTL se visualiza automáticamente una lista con los métodos disponibles introduciendo el punto. Los métodos pueden seleccionarse en dicha lista. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 150: Espera A Que El Valor Sea Menor/Mayor, Métodos Waitlss, Waitgrt

    <nombre de instancia>.WaitGrt(value : REAL, OPT ovlEnable : BOOL) Para la descripción del parámetro ovlEnable, véase el capítulo 17.3.1 de la página 136. Parámetro Tipo Significado value REAL Valor límite Tabla 17.7 Parámetro de los métodos WaitLss, WaitGrt Ejemplo: Lin(pos1) temperature.WaitLss(65.0, TRUE) Lin(pos2) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 151: Espera A Que El Valor Entre/Salga De Un Margen, Métodos Waitins, Waitouts

    17.6.6 Interrogación del valor, método Read El método Read lee el valor actual de la entrada analógica. Sintaxis <nombre de instancia>.Read(OPT ovlEnable) Para la descripción del parámetro ovlEnable, véase el capítulo 17.3.1 de la página 136. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 152: Subunidad De Salida Analógica Aout

    Instanciación con el editor FTL La instanciación se efectúa en el diálogo para crear variables seleccionando <tipo:> (AOUT) e introduciendo el <identificador:> (aoutQuantity). En la línea <MAPTO AOUTPORT> se activa la referencia real a una salida analógica configurada. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 153: Variables

    Más información y ejemplos para generar mensajes de error se describen en el capítulo 19.2 Empleo de las subunidades de entrada y salida. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 154: Métodos

    Los métodos pueden seleccionarse en dicha lista. En la unidad manual, los métodos pueden seleccionarse mediante el árbol de menú en el punto “Analog Outputs”. En la figura se muestra la selección de métodos de la subunidad AOUT de la unidad manual. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 155: Escritura Del Valor De Salida, Método Write

    Para la descripción del parámetro ovlEnable, véase el capítulo 17.3.1 de la página 136. Parámetro Tipo Significado value REAL Valor límite Tabla 17.12 Parámetro de los métodos WaitLss, WaitGrt Ejemplo: Lin(pos1) // Esperar a que el valor sea menor que 110.0 quantity.WaitLss(110.0, TRUE) Lin(pos2) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 156: Espera A Que El Valor Entre/Salga De Un Margen, Métodos Waitins, Waitouts

    El método Read lee el valor actual de la salida analógica. Sintaxis <nombre de instancia>.Read(OPT ovlEnable) Para la descripción del parámetro ovlEnable, véase el capítulo 17.3.1 en la página 136. Ejemplo Lin(pos1) // Leer la cantidad sin parar la trayectoria value := quantity.Read(TRUE) Lin(pos2) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 157: Subunidad De Reloj Clock

    <tipo:> (CLOCK) e introduciendo el <identificador:> (clkTimer). Instanciación con la unidad manual La instanciación de la subunidad de reloj por medio de la unidad manual se realiza en la máscara de variables seleccionando el tipo de dato CLOCK. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 158: Métodos

    Los métodos pueden seleccionarse en dicha lista. En la unidad manual, los métodos pueden seleccionarse mediante el árbol de menú en el punto “Timing Blocks”. En la figura se muestra la selección de métodos de la subunidad CLOCK de la unidad manual. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 159: Puesta En Marcha Del Reloj, Método Start

    éste se coloca a 0 y sigue funcionando. Sintaxis <nombre de instancia>.Reset ( ) Ejemplo: Timer.Reset() // El reloj se borra 17.8.6 Lectura del reloj, método Read Con el método Read es posible leer el valor de fecha y hora en milisegundos (ms). Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 160: Conversión Del Valor De Fecha Y Hora En Cadena De Caracteres

    Para la descripción del parámetro ovlEnable, véase el capítulo 17.3.1 de la página 136. Valor de retorno: cadena de caracteres con la información de fecha y hora dd hh:mm:ss:ms Ejemplo: Datos: tiempo : STRING Programa: Lin(pos1) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 161: Subunidad De Encoder Encoder

    Instanciación con el editor FTL La instanciación se efectúa en el diálogo para crear variables seleccionando <tipo:> (ENCODER) e introduciendo el <identificador:> (encTrack). En la línea <MAPTO ENCPORT> se activa la referencia real a una entrada de encoder configurada. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 162: Variables

    En la actualidad, la sub- unidad de encoder no dispone de métodos para tener en cuenta el timeout. Port La variable Port describe la referencia a la entrada de hardware. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 163: Métodos

    SETCOUNTMODE Parámetro para ajustar el punto de activación Tabla 17.17 Parámetros del método Set La subunidad activa el valor en sincronía con la ejecución principal pero no detiene el desarrollo. Con el parámetro mode puede definirse el punto de la activación. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 164: Lectura Del Encoder, Método Read

    Para leer el valor estándar se utiliza el elemento Value para acceder directa- mente al Port de la entrada de encoder. Ejemplo de lectura de un valor estándar: value := enc0.port.value Ejemplo de lectura de un valor incremental: value := enc0.Read() Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 165: Subunidad Canopen Copdevice

    El eje 1 de la cinemática se denomina “Axis1” en la configuración DriveBus del FCT. El acceso se efectúa con Axis1_copd.BausteinMethode( ). Configuración de CANopen: [IO.ONBOARD.SLOTCAN:0.FX200A:0.CAN:0.COPDEVICE:1] name="Axis1" // Nombre del dispositivo COP Código de programa: Axis1_copd.WriteSDO(16#6060,0,7,eight_bits) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 166: Métodos

    <COPDEVICE>.WriteSDO ( <index> : DINT, <subindex> : DINT, <data> : DINT, <type> : SdoDataType ) : BOOL Parámetros Tipo Significado index DINT Índice de SDO subindex DINT Subíndice de SDO data DINT Datos que se van a escribir Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 167: Lectura De Sdo, Método Readsdosigned

    Tabla 17.22 Parámetros del método ReadSDOSigned Si el conjunto se lee con éxito se devuelve TRUE, de lo contrario se devuelve FALSE. Ejemplo: dint_iData : DINT := 0 Programa: Axis3_copd.ReadSDOSigned(16#6098, 0, dint_iData) SetInfo("recorrido de referencia leído: %1", dint_iData) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 168: Lectura De Sdo, Método Readsdounsigned

    Índice de SDO subindex DINT Subíndice de SDO data DWORD Datos que se van a leer Tabla 17.23 Parámetros del método ReadSDOUnsigned Si el conjunto se lee con éxito se devuelve TRUE, de lo contrario se devuelve FALSE. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 169: Señales De Periféricos

    Cada señal analógica tiene forma de tipo de dato estructurado y contiene los datos: Value : REAL Valor de la señal Error : BOOL Información sobre un error de la señal Para acceder a estos datos se utiliza el nombre de hardware y el operador punto. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 170 18. Señales de periféricos Ejemplo: Una señal de entrada analógica se denomina “Level”. El acceso al estado del sensor se declara: Level.Value Esta expresión es de tipo REAL y puede utilizarse como una variable en el programa. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 171: Ejemplos

    Este sensor se utiliza para detectar la placa de chapa superior. Para detectar si una placa de chapa está mecanizada existe otro sensor (para detectar pilas vacía Sistema de pinzas con detección de avance Sensor para detectar pilas vacías Vía de rodillos Pila de chapa Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 172 Para esta aplicación pueden utilizarse más posiciones, pero el ejemplo se limita a las indicadas. posSeguridadVía posSeguridadChapa posPosado posRecogida Como la altura de pila varía, la altura de recogida es desconocida y se fija debajo de la pila. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 173 Esta posición se complementa con una distancia de seguridad. Así, en el ciclo siguiente puede avanzarse a mayor velocidad sobre la pila. A continuación se conmuta a una velocidad lenta hasta hacer contacto con la pieza. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 174: Empleo De Las Subunidades De Entrada Y Salida

    RETURN END_IF // Reanudar ejecución Lin(pos) Indicación La edición de un mensaje de error provoca la detención del movi- miento. No es posible reanudar la ejecución hasta que no se acusa recibo del mensaje de error. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 175: Control Del Avance De Proceso

    Si el contador de bucles visualiza el ciclo real, el avance de proceso debe interrumpirse con una instrucción WaitTime. El contador de bucles se incrementará siempre al alcanzar la Pos3. Ello se muestra en la figura siguiente. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 176: Empleo De Pinzas

    En los capítulos siguientes se explica la integración de diferentes tipos de pinza en la gama CMXR. 19.4.1 Pinzas por vacío El tipo de pinzas por vacío permite una ejecución muy rápida de los ciclos. Estas pinzas requieren vacío, que, p. ej., puede generarse con toberas Venturi. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 177 Una pieza debe transportarse desde la posición pos2 a la posición pos4. pos1 pos3 pos2 pos4 Como generador de vacío se utiliza una tobera Venturi. Ésta se controla a través de una salida digital del CMXR. Para ello se crea una subunidad digital. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 178 La instrucción siguiente WaitTime impide el avance aproximado ya que el cálculo por adelantado de proceso se detiene en este punto y se reanuda transcurrido el ciclo. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 179 19. Ejemplos Perfil de movimiento: pos1 pos3 Área de avance aproximado pos2 pos4 Comportamiento en la línea temporal: Velocidad pos2 pos4 Tiempo pos1 pos1 pos3 pos3 Tiempo de espera Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 180: Pinzas Paralelas Neumáticas

    Una pieza debe transportarse desde la posición pos2 a la posición pos4. pos1 pos3 pos2 pos4 El equipo utilizado es una pinza paralela con sensórica de posición final. Se obtienen las señales digitales siguientes y se integran en forma de subunidades en la programación FTL. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 181 El método de subunidad Wait introduce una espera al acuse de recibo de la posición final que evita un avance aproximado a las posiciones de aceptación y posado. El cálculo por adelantado de proceso se detiene en este punto y se reanuda al conmutarse la señal de entrada digital. Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 182 Comportamiento en la línea temporal: Velocidad pos2 pos4 Tiempo pos1 pos1 pos3 pos3 Tiempo de espera hasta acusar Tiempo de espera hasta acusar recibo del cierre de la pinza recibo de la apertura de la pinza Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 183: Unidad Giratoria Con Pinzas Neumáticas

    19. Ejemplos 19.4.3 Unidad giratoria con pinzas neumáticas La unidad giratoria con pinzas neumáticas HGDS de Festo reúne una pinza paralela con un actuador giratorio en una sola unidad. Unidad giratoria con pinzas HGDS con pinza paralela La unidad HGDS permite montar sensores de detección de posiciones finales de la pinza y de la unidad giratoria.
  • Página 184 // Esperar a pinza cerrada Lin(pos1) outPos0grados.Reset() // Girar a 90 grados outPos90grados.Set() Lin(pos3) inPos90grados.Wait(TRUE) // Esperar a 90 grados con avance aproximado Lin(pos4) // Posición de posado outPinzaCerrar.Reset() // Abrir pinza outPinzaAbrir.Set() inPinzaAbrir.Wait() // Esperar a pinza abierta Lin(pos3) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 185 El acuse de recibo del movimiento de giro de 90 grados no se ha detectado antes de alcanzar la posición pos3. Se espera al acuse de recibo en la posición pos3 y no se ejecuta el movimiento de avance aproximado a la pos4. pos1 pos3 Área de avance aproximado pos2 pos4 Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 186 Tiempo de espera hasta acusar Tiempo de espera hasta acusar recibo de la apertura de la pinza recibo del cierre de la pinza Tiempo de espera hasta acusar recibo del giro de 90 grados Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 187: Empleo De La Interface Plc

    CMXR recibe los datos, se lo indica al PLC. A continuación se borran las dos señales de interface. La secuencia se muestra en el diagrama del ciclo siguiente. Señal del SPS Datos preparados plc_inboolreg[0] Señal al PLC Datos leídos plc_outboolreg[0] Posicionar Se ha transmitido Posicionamiento Transmisiòn la posición nueva efectuado Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 188: Programa Secuencial

    WAIT NOT plc_inboolreg[0] // Esperar a la respuesta del PLC plc_outboolreg[0] := FALSE // Avanzar a la posición de aceptación Lin(sobreposRecogida) Lin(posRecogida) // Agarrar Pinza := TRUE WaitTime(200) // Avanzar a la posición de posado Lin(sobreposRecogida) Lin(sobreposPosado) Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 189 19. Ejemplos Lin(posPosado) // Posar Pinza := FALSE WaitTime(200) // Avanzar a la posición de espera Lin(sobrep osPosado) Lin(posEspera) END_WHILE Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 190 Empleo de pinzas ......176 plc_AxisPos ........112 WAIT con entrada digital ....45 plc_CartPos ........112 Error ..........169 plc_RefSys ........113 EXP ............ 130 plc_VarDint ........111 Posición cartesiana ......51 Posición de eje ........49 Festo GDCP-CMXR-SW-ES es 0805NH...
  • Página 191 Set ............ 163 SetError ..........120 WAIT ........... 43 SetInfo ..........118 WaitRefFinished ........ 100 SetRefSys ..........91 WaitTime..........42 SetRefSys3P ........92 WHILE ..........37 SetRefSysWorld ........93 WriteSDO .......... 166 SetWarning........119 SHL ........... 132 Festo GDCP-CMXR-SW-ES es 0805NH...

Tabla de contenido