Festo CMXR Instrucciones
Ocultar thumbs Ver también para CMXR:
Tabla de contenido

Publicidad

Enlaces rápidos

Controlador
Descripción
Instrucciones de
programación
Base CMXR
FTL
Descripción
560 317
es 0909a
[748 987]

Publicidad

Tabla de contenido
loading

Resumen de contenidos para Festo CMXR

  • Página 1 Controlador Descripción Instrucciones de programación Base CMXR Descripción 560 317 es 0909a [748 987]...
  • Página 3 Edición ______________________________________________________ 0909a Referencia ________________________________________ GDCP-CMXR-SW-ES Nº de art. ___________________________________________________ 560 317 Festo AG & Co KG., D-73734 Esslingen, 2009 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-DE Nombre del archivo: Lugar de almacenamiento del archivo: Nº Descripción Indicador de Fecha de modificación revisión Redacción 0805NH 25.06.2008 Adaptación a la versión 1.20 0909a 25.08.2009 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 5: Tabla De Contenido

    Cadenas de caracteres ..................25 Operadores y caracteres de delimitación ............26 4.6.1 Operadores aritméticos ..............26 4.6.2 Operadores lógicos ................26 4.6.3 Operadores comparativos ..............26 4.6.4 Otros operadores ................27 4.6.5 Caracteres de delimitación ..............27 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 6 Llamada de subprograma <CALL> ............51 8.7.2 Retorno al programa <RETURN> ............52 Programas paralelos ..................53 8.8.1 Ejecución de programa paralelo <RUN> ..........54 8.8.2 Finalización del programa paralelo <KILL> ........... 54 Influencia del avance de proceso ............... 54 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 7 Ajuste de formas de rampa <Ramp> ............. 98 10.7 Conexión de la velocidad de trayectoria constante <VconstOn> ......99 10.8 Desconexión de la velocidad de trayectoria constante <VconstOff> ....101 11. Instrucciones de avance aproximado ..............102 11.1 Segmentos cero ....................103 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 8 Sistemas de referencia ..................134 15.6 Pausa programada <ProgHold> ................. 135 16. Sistema de comunicación .................. 137 16.1 Textos de mensaje ................... 137 16.2 Información <SetInfo> ..................139 16.3 Advertencia <SetWarning> ................140 16.4 Mensaje de error <SetError> ................141 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 9 Método ResetRisingEdge para borrar flancos ........163 18.5 Módulo de salida digital DOUT................. 163 18.5.1 Instanciación ..................163 18.5.2 Variable.................... 165 18.5.3 Métodos ................... 166 18.5.4 Espera a estado, métodos Wait/WaitN ..........167 18.5.5 Método Read para lectura de estado ..........167 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 10 Ajuste del encoder, método Set ............186 18.9.5 Lectura del encoder, método Read ........... 187 18.10 Módulo CANopen COPDEVICE ................187 18.10.1 Instanciación ..................188 18.10.2 Métodos ................... 188 18.10.3 Escritura de SDO, método WriteSDO ..........189 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 11 Unidad giratoria con pinzas neumáticas ........... 206 20.5 Empleo de la interface PLC ................210 20.5.1 Tarea ....................210 20.5.2 Interface PLC ..................210 20.5.3 Programa secuencial ................ 211 21. Árbol de menús de las instrucciones FTL............213 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 12: Introducción

    Este manual es válido a partir de la versión de software 1.20 del CMXR. Esta versión es compatible con la versión de software 1. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 13: 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 14: Personal Cualificado

    Peligro de muerte, lesiones graves y daños materiales por movi- miento accidental de los ejes. Medidas de seguridad de 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-DE es 0909a...
  • Página 15: Medidas De Seguridad Para El Producto Descrito

    Si es necesario realizar trabajos de medición o de comprobación en la instalación, éstos deberán ser efectuados por un electricista. Atención Sólo deben utilizarse repuestos autorizados por Festo. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 16: Edición De Programas

    Edición de programas Información general FTL es la sigla que se obtiene de Festo Teach Language. FTL es un lenguaje de progra- mación de movimientos y sirve para programar los controles CMRX. 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 17 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 20.3 Control del avance de proceso. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 18: Estructura De Programa

    Estructura de programa Todos los programas FTL están guardados en la tarjeta de memoria (Compact Flash Card) del control multieje CMXR en el directorio “application\control\teachcontrol” (en adelante denominado “directorio de aplicación de texto”). Los programas se disponen en una estructura de carpetas. Un proyecto contiene los programas de movimientos asignados.
  • Página 19: Proyecto Ftl Global

    Si es necesario utilizar datos o programas en varios proyectos, éstos se guardan en el proyecto global. De ese modo se garantiza la coherencia de datos. El proyecto global “_global” se carga y activa automáticamente al arrancar el CMXR. Archivo de programa FTL “tip”...
  • Página 20: Programas Compartidos De Proyecto

    Archivo de datos FTL “<nombre>.tid” En el sistema de mando CMXR, los datos sirven como variable y para la comunicación. La estructura de proyecto permite guardar los datos de una manera clara y limitar el acceso a ellos.
  • Página 21: 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-DE es 0909a...
  • Página 22: Instanciación De Variables

    Ejemplo: cpos1 CARTPOS := (100, 50, 100, 0, 0, 0) cpos2 CARTPOS := (600, 550, 100, 180, 0, 0) index DINT := 17 Los tipos de variables posibles se describen en los capítulos siguientes. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 23 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-DE es 0909a...
  • Página 24: Estructura Del Lenguaje

    THEN END_IF ELSIF ELSE GOTO LABEL WHILE END_WHILE LOOP END_LOOP RETURN KILL MAPTO WAIT BOOL DINT DWORD REAL STRING ARRAY El resto de tipos de datos creados a partir de estas claves también son palabras clave. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 25: Constantes Numéricas

    Las cadenas de caracteres, los denominados strings, se abren y cierran con el carácter “. 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” Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 26: Operadores Y Caracteres De Delimitación

    Negación (NO) Tabla 4.2 Operadores lógicos 4.6.3 Operadores comparativos Operador Significado < Menor que <= Menor o igual que Igual <> No igual a >= Mayor o igual que > Mayor que Tabla 4.3 Operadores comparativos Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 27: Otros Operadores

    Tabla 4.4 Otros operadores 4.6.5 Caracteres de delimitación Operador Significado Asignación de valor para variables Carácter de 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-DE es 0909a...
  • Página 28: Tipos De Datos Básicos

    Operaciones lógicas AND, OR, XOR, NOT DINT Operaciones aritméticas, operaciones de comparación DWORD Operaciones de bits AND, OR, XOR, NOT, SHL, SHR, ROL, ROR, =, <> REAL Operaciones aritméticas, operaciones de comparación STRING Operaciones de comparación, + Tabla 5.2 Operaciones posibles Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 29: Tipo De Dato Booleano (Bool)

    Ejemplo: Variables: pos1 BOOL pos2 BOOL pos3 BOOL min1PosValid BOOL allPosValid BOOL Código de programa: allPosValid pos1 AND NOT pos2 AND NOT pos3 min1PosValid pos1 pos2 pos3 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 30: Tipos De Número Entero, Tipo De Dato Real, Tipos De Patrón De Bits

    Los paréntesis se utilizan para agrupar cálculos de acuerdo con el orden de procesamiento. Los paréntesis son procesados de dentro a fuera. Ejemplo: (Index < 10) (Index > 5) THEN END_IF Distance (xRow + 10) * Index Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 31: Cadenas De Caracteres (String)

    Si se realiza una operación que rebasa el tamaño de la matriz, aparece un aviso. Declaración de matrices: Sintaxis <nombre> : ARRAY [ <tamaño de la matriz> ] OF <tipo de datos> := ( <inicialización>) END_VAR Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 32 El tamaño de la matriz se indica por medio de una constante (número entero). El tamaño de la matriz no se puede indicar con una variable. // Matriz con 10 elementos Matrix1 ARRAY [10] DINT // Matriz con 12 elementos Matrix2 ARRAY [12] CARTPOS Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 33 // Matriz de 2 dimensiones con 3 elementos cada una = 9 elementos Matrix1 ARRAY [3, 3] DINT // Matriz de 3 dimensiones con 3 elementos o 2 elementos = 18 elementos Matrix2 ARRAY [3, 3, 2] DINT Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 34: Inicialización De Matrices

    Matrix ARRAY [5, 19, 10..34] REAL Los límites de rango de la matriz son: De 0 a 4 para la primera dimensión o Abrir LOW da como resultado 0 o Abrir HIGH da como resultado 4 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 35 // El índice tiene el valor 0 Index := LOW(Matrix2) // El índice tiene el valor 2 Index := HIGH(Matrix2) // El índice tiene el valor 0 Index := LOW(Matrix2[0]) // El índice tiene el valor 7 Index := HIGH(Matrix2[0]) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 36: Variables De Referencia (Mapeado)

    Ejemplo: La instrucción Ref_Index := 10 describe la variable Index_C con el valor 10. Indicación Al leer una variable mapeada, se lee la variable asignada. De igual modo, al escribir en una variable mapeada, se escribe en la variable asignada. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 37: Declaración De Variables De Referencia

    Comprobación de variables de referencia, <IS_MAPPED> Con la función IS_MAPPED se puede comprobar si una variable de referencia está vinculada a una variable. Si en el programa se utiliza una variable de referencia que no está vinculada, se producirá un error. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 38 La variable de referencia no está vinculada Esta función se utiliza, por ejemplo, al emplear variables de referencia en un subprograma, en cuyo caso la vinculación de variables se realiza fuera de dicho subprograma. Ejemplo: IS_MAPPED(Level) THEN ELSIF SetError(“Not mapped”) END_IF Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 39: Instrucción Do

    FTL. La instrucción DO se puede utilizar combinada con todas las instrucciones de movimiento, por ejemplo Ptp o Lin. Ejemplo de establecimiento de una salida: Al alcanzarse la pos2 se establece la salida del módulo “Vacuum” (vacío). Lin(pos1) Lin(pos2) Vacuum.Set() Lin(pos3) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 40 En el siguiente contorno se debe conectar una salida digital en los tramos rectos y se debe desconectar dicha salida en los arcos de círculo. Lin(Pos1) Applicator.Set() Lin(Pos2) Applicator.Reset() CircIp(Ipos1,Pos3) Applicator.Set() Lin(Pos4) Applicator.Reset() CircIp(Ipos2,Pos1) Pos1 Pos2 Ipos1 Ipos2 Pos4 Pos3 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 41: Comportamiento En El Área De Avance Aproximado

    Indicación Si los segmentos de movimiento desembocan tangencialmente uno en otro, el avance aproximado no influirá en modo alguno en la ejecución de la instrucción DO. La instrucción DO se ejecuta aquí. P1´ Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 42: Declaración De Variables

    Las variables reales también pueden inicializarse con valores enteros. Ejemplo de inicializaciones válidas: index DINT := 1 REAL := 3.1415 radius REAL := 10 flag BOOL := TRUE message STRING “Hello” Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 43: Expresiones

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

    (p. ej., >, <=,=). El enlace de varias comparaciones se estructura mediante los correspondientes niveles entre paréntesis. Para los ejemplos siguientes se van a utilizar las variables indicadas a continuación: Marker BOOL Flag1 BOOL Flag2 BOOL Flag3 BOOL Index DINT Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 45: Bifurcación

    Con la instrucción ELSIF pueden formularse varias condi- ciones. Con la instrucción ELSE es posible definir instrucciones que pueden saltarse si las condiciones no son pertinentes. La instrucción IF se cierra con la instrucción END_IF. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 46: Instrucciones De Salto

    // ninguna señal definida END_IF Instrucciones de salto En los programas FTL debe efectuarse saltos con frecuencia. Estos saltos pueden ser condicionales o incondicionales. Para realizar un salto, se requiere un punto inicial y un destino. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 47: Marca De Salto

    (LABEL). La instrucción GOTO no puede programarse hasta ese momento. 8.5.2 Salto condicional <IF…GOTO> Con la instrucción IF…GOTO se ejecutan saltos condicionales. Esta instrucción requiere, como la bifurcación del programa IF…THEN, una condición que debe cumplir el tipo de dato BOOL. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 48: Salto Absoluto

    Atención La programación de bucles sin fin puede afectar al comportamiento de operación del control CMXR. Los bucles sin fin deben poseer instrucciones como Wait o WaitTime para no bloquear el control CMXR.
  • Página 49: Instrucción Loop

    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. Sintaxis LOOP <número> DO <instrucciones> END_LOOP Ejemplos: LOOP // 10 pasadas index index + 13 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 50: 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-DE es 0909a...
  • Página 51: 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-DE es 0909a...
  • Página 52: Retorno Al Programa

    éstos terminan. El programa principal se reanuda. Ejemplo: CALL CheckPart() // Llamar a subprograma CheckPart partOk THEN partStatus := 10 // Variable global para el valor de retorno RETURN // Adelanto del fin de programa END_IF Lin(pos3) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 53: Programas Paralelos

    8. Control de programa Programas paralelos Un programa del proyecto activo o del proyecto global también puede iniciarse como proceso paralelo. El sistema operativo del CMXR se encarga del proceso en paralelo de estos programas gracias al sistema interno multitarea. Indicación Las instrucciones de desplazamiento en una cinemática sólo son...
  • Página 54: Ejecución De Programa Paralelo

    Este tiempo de espera repercute en el comportamiento de movimiento y fuerza la deten- ción del cálculo por adelantado de proceso, que a su vez para el movimiento. El tiempo de espera empieza a contar una vez ejecutada la instrucción anterior. Transcurrido este tiempo se reanuda el programa. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 55 // Avanzar a posición de agarre Gripper.Set() // Cerrar pinza WaitTime(70) // Esperar 70 ms de tiempo de agarre Lin(pos1) // Avanzar sobre posición de agarre Desarrollo del movimiento: Velocidad de trayectoria Tiempo de espera 70 Tiempo pos1 pos1 pos2 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 56: Instrucción Condicional Wait

    El procesamiento de la instrucción WAIT se efectúa en el avance de proceso, es decir cuando el control CMXR calcula por adelantado. Si la condición no se cumple, el avance de proceso (cálculo por adelantado) se detiene hasta que se cumple la condición de la instrucción WAIT.
  • Página 57 // Esperar a que haya una pieza Lin(pos1) // Avanzar sobre 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-DE es 0909a...
  • Página 58: Waitonpath - Instrucción Con Tiempo

    150 ms. Sin embargo, el avance de proceso no se debe detener. Lin(pos1) // Avanzar a seguridad Lin(printPos) // Avanzar a posición de estampado WaitOnPath(150) // Esperar 150 ms Lin(pos1) // Avanzar a seguridad Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 59 8. Control de programa Velocidad de trayectoria Tiempo de espera 150 ms Tiempo pos1 pos1 printPos Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 60: Waitonpos - Instrucción Con Tiempo

    En el siguiente ejemplo, se alcanzan posiciones y el avance de proceso se detiene hasta que se recorre el 80% del segmento de la trayectoria. A continuación, en el ejemplo la variable Index adquiere el valor 10. Lin(Pos1) Lin(Pos2) WaitOnPos(80) Index := 10 Pos1 Pos2 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 61: Insertar Comentarios

    Una instrucción FTL no se procesa en el programa, es decir, el contenido no afecta de ningún modo. El contenido de la instrucción de programa se somete a la verificación de la sintaxis del compilador. Si, p. ej., se borra una variable utilizada, el error se emite al arrancar el programa. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 62 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-DE es 0909a...
  • Página 63: Instrucciones De Movimiento

    2. CARTPOS para la indicación en el sistema de coordenadas cartesianas. El número de ejes en CMXR está limitado a seis. Estos ejes pueden distribuirse en ejes cinemáticos y auxiliares. Las posiciones de todos los ejes se guardan en variables de posición.
  • Página 64 := (100, 50, 30, 0, 0, 0, 0, 0, 0) posA1 REAL posA2 REAL Programa: Lin(startPos) // Avanzar a startPos posA1 startPos.a1 // Guardar en otra ubicación el valor de eje 1 posA2 startPos.a2 // Guardar en otra ubicación el valor de eje 2 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 65 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-DE es 0909a...
  • Página 66: 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-DE es 0909a...
  • Página 67: 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-DE es 0909a...
  • Página 68 AXISPOS o CARTPOS Tabla 9.1 Parámetros de la instrucción PTP La indicación de posición puede ser cartesiana o en el sistema de coordenadas de ejes (en relación con cada eje). 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...
  • Página 69 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-DE es 0909a...
  • Página 70: Movimiento Punto A Punto

    Distancia relativa que debe recorrerse AXISDIST o CARTDIST Tabla 9.2 Parámetros de la instrucción PtpRel 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.
  • Página 71 // 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-DE es 0909a...
  • Página 72: 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-DE es 0909a...
  • Página 73 // Cerrar pinza MoveAxisPtp(A3, 145) // Hacia arriba MoveAxisPtp(A1, 450) // Posado arriba MoveAxisPtp(A4, 180) // Girar sobre bandeja MoveAxisPtp(A3, 50) // Posado abajo Gripper.Reset() // Abrir pinza MoveAxisPtp(A3, 145) // Posado arriba Ptp(pos2) // Retirada Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 74: Movimiento Lineal

    9. Instrucciones de movimiento Movimiento lineal <Lin> Con un movimiento lineal, el control multieje CMXR calcula una recta que lleva de la posición actual (posición inicial) a la posición programada (posición de destino). Este movimiento se calcula y ejecuta teniendo en cuenta los valores de trayectoria ajustados, como, p.
  • Página 75 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-DE es 0909a...
  • Página 76: Movimiento Lineal Relativo

    Dist Posición de destino AXISDIST o CARTDIST relativa Tabla 9.6 Parámetros 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-DE es 0909a...
  • Página 77 := (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) direction BOOL Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 78: 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-DE es 0909a...
  • Página 79: 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-DE es 0909a...
  • Página 80 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-DE es 0909a...
  • Página 81: Instrucción Circular Con Punto De Apoyo

    AXISPOS o CARTPOS Tabla 9.7 Parámetros de la instrucción CircIp La indicación de posiciones puede ser cartesiana o relativa a cada eje. El control multieje CMXR transforma las posiciones como corresponde. Advertencia La instrucción círculo requiere la indicación de los puntos inicial y final.
  • Página 82 := (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) // Retirada Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 83: 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-DE es 0909a...
  • Página 84: Aproximación Ptp, Movimiento Circular Cartesiano

    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) // Retirada Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 85: Instrucción Circular Con Punto De Apoyo, Avance Lineal

    AXISPOS o CARTPOS Tabla 9.9 Parámetros de la instrucción LinToCircIP La indicación de posiciones puede ser cartesiana o relativa a cada eje. El control multieje CMXR transforma las posiciones como corresponde. Ejemplo: se debe recorrer el contorno siguiente: Eje Y Posición inicial StartPos...
  • Página 86: Aproximación Lineal, Movimiento Circular Cartesiano

    Una vez detectado el estado, la instrucción StopMove detiene el movi- miento. En el capítulo 20.1 Detención de movimientos en la página 194 se da un ejemplo de utilización de la instrucción StopMove. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 87: Detención Del Programa

    La cinemática se detiene con la máxima rampa de frenado definida para detener la cine- mática. La reducción de la dinámica por un override no afecta a la detención. Sintaxis StopProgram() Ejemplo: Vel(dynCart, 1000) Lin(pos1) Lin(pos2) SetInfo(“insert workpiece and press start”) StopProgram() Lin(pos3) CALL Conture1 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 88: Instrucciones De Dinámica

    Dentro del programa, los valores pueden ser sustituidos en cualquier momento por las siguientes instrucciones de dinámica: Gráfico de ajustes de los valores dinámicos en Festo Configuration Tool: Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 89: Limitación Automática De La Dinámica, Limitador De La Dinámica

    Estos valores máximos están guardados en la configuración de los diferentes ejes. El control CMXR cuenta con un limitador de los valores dinámicos que recibe el nombre de “limitador de la dinámica”. Este limitador opera en el cálculo por adelantado del programa FTL y compara constantemente los valores dinámicos que se deben recorrer con la máxima...
  • Página 90: Velocidades

    := (100, 60, 0, 0, 0, 0, 0, 0, 0) Programa: Vel(dynPtp, 30) // Velocidad para PTP al 30 % Ptp(axis0) Vel(dynCart, 500) // Velocidad de trayectoria a 500 mm/s Lin(axis1) speed := 85 Vel(dynPtp, speed) // Velocidad para PTP al 85% Ptp(axis3) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 91: Aceleración

    AXISPOS := (-60, -60, 0, 0, 0, 0, 0, 0, 0) pos1 AXISPOS := (60, 60, 0, 0, 0, 0, 0, 0, 0) pos2 AXISPOS := (100, 60, 0, 0, 0, 0, 0, 0, 0) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 92: Sacudida

    AXISPOS := (-60, -60, 0, 0, 0 ,0, 0, 0, 0) pos1 AXISPOS := (60, 60, 0, 0, 0, 0, 0, 0, 0) pos2 AXISPOS := (100, 60, 0, 0, 0, 0, 0, 0, 0) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 93 10. Instrucciones de dinámica 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-DE es 0909a...
  • Página 94: 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-DE es 0909a...
  • Página 95 No es posible un avance aproximado hasta el siguiente segmento de la trayectoria. Ejemplo: // Ajuste del override al 100% Ovr(100) Lin(pos1) Lin(pos2) // Ajuste del override al 60% Ovr(60) Lin(pos3) Lin(pos4) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 96: Override Dinámico

    DynOvr ( <Value> : REAL) Parámetro Significado Unidad Value Valor del override dinámico Porcentaje Tabla 10.8 Parámetros de la instrucción DynOvr Indicación El override no modifica la trayectoria. El valor programado no repercute sobre el cálculo por adelantado del programa. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 97: Rampas De Aceleración

    Forma de rampa trapezoidal trapezoidal con un con un factor aproximado 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-DE es 0909a...
  • Página 98: Ajuste De Formas De Rampa

    Ramp( <Ramptype> : ENUM, OPT <Param> : REAL) Parámetro Significado Unidad Ramptype Tipo de rampa, selecciona la forma de Enumeración: rampa TRAPEZOID SINE SINESQUARE MINJERK Param Parámetro para rampas trapezoidales ----- Tabla 10.9 Parámetros de la instrucción Ramp Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 99: Selección De La Rampa Trapezoidal

    área de avance aproximado. 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.
  • Página 100 Esto significa que si la cine- mática no alcanza toda su velocidad porque un override la limita, se activará dicho control y se producirá un error. Ejemplo: Programa: Lin(pos1) VconstOn(25, TRUE) Lin(pos2) Lin(pos3) VconstOff Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 101: 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-DE es 0909a...
  • Página 102: Instrucciones 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-DE es 0909a...
  • Página 103: Segmentos Cero

    // Nuevo posicionamiento en pos2 = no es posible el avance aproximado Lin(pos2) Lin(pos3) Puesto que la posición pos2 se ha programado más de una vez, en este punto del programa se produce una parada sobre la trayectoria. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 104: Área Extrema

    El avance aproximado está limitado al 50% de la longitud del segmento de trayectoria. Si el área de avance aproximado es mayor que el límite máximo permitido, el control multieje CMXR la reduce automáticamente al 50% de la longitud del segmento de trayec- toria.
  • Página 105: Avance Aproximado Por Velocidad

    100%. La siguiente figura muestra los perfiles de velocidad de un desplazamiento hasta las posiciones 1 y 2. Para el área de avance aproximado se han definido distintos valores. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 106 área de avance aproximado no es un radio, sino una curva de polinomio 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-DE es 0909a...
  • Página 107: Avance Aproximado Por Geometría

    La trayectoria en el área de avance aproximado no es un radio, sino un polinomio de quinto grado. Este polinomio genera la trayectoria suave máxima posible, lo que no puede hacerse con un arco de círculo. Sintaxis OvlCart (<Distance> : REAL) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 108 5 mm. Área 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-DE es 0909a...
  • Página 109: 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-DE es 0909a...
  • Página 110: 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-DE es 0909a...
  • Página 111: Sistema De Referencia Con Valores Directos

    Para relacionar el sistema de coordenadas de la cinemática con el sistema de coordenadas universales, se debe efectuar una referenciación con 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-DE es 0909a...
  • Página 112: 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 relacionar el sistema de coordenadas de la cinemática con el sistema de coordenadas universales, se debe efectuar una referenciación con la variable de sistema _system.world. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 113 180 grados del eje Z. Ejemplo: Datos: refsys3p0 REFSYS3P := (MAPX("_system.world”), (100, 100, 0, 0, 0, 0, 0, 0, 0), (200, 100, 0, 0, 0, 0, 0, 0, 0), (200, 200, 0, 0, 0, 0, 0, 0, 0)) Programa: SetRefSys3P(refsys3p0) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 114: Sistema De Referencia Universal

    Para el sistema de referencia de la paleta 1 se utiliza la variable RefPal1, y RefPal2 para la paleta 2. Datos: refPal1 REFSYSDATA := (MAPX("_system.world”), 0, 0, 0, 0, 0, 0) refPal2 REFSYSDATA := (MAPX("_system.world”), 0, 0, 0, 0, 0, 0) pos1 CARTPOS := (100, 80, 70, 0, 0, 0, 0, 0, 0) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 115 // Avance a seguridad en el sistema universal SetRefSys(refPal1) // Activar desplazamiento de paleta 1 CALL Feed() // Llamar subprograma Feed SetRefSys(refPal2) // Activar desplazamiento de paleta 2 CALL Feed() // Llamar subprograma Feed SetRefSysWorld() // Activar sistema universal Lin(pos1) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 116: Referenciación De Una Cinemática

    Durante el recorrido de referencia debe observarse que los ejes participantes pueden moverse con libertad. Además, deben seleccionarse los valores dinámicos apropiados para estos movimientos de modo que el recorrido de referencia sea razonable. En este caso, no se recomiendan valores dinámicos elevados. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 117 Si se especifica el método de recorrido de referencia 99, se utilizarán los parámetros de recorrido de referencia tal como fueron guardados en el accionamiento mediante Festo Configuration Tool (FCT). En ese caso, el recorrido de referencia se realiza igual que durante la puesta en funcionamiento de los diferentes ejes.
  • Página 118: Recorrido De Referencia Asíncrono

    Para determinar si la referenciación ha acabado o para leer su estado existen las instrucciones WaitRefFinished y IsAxisReferenced. Sintaxis RefAxisAsync(<axis>:AXIS, OPT <refData>:REFDATA, OPT <timeout>:REAL) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 119 Si se especifica el método de recorrido de referencia 99, se utilizarán los parámetros de recorrido de referencia tal como fueron guardados en el accionamiento mediante Festo Configuration Tool (FCT). En ese caso, el recorrido de referencia se realiza igual que durante la puesta en funcionamiento de los diferentes ejes.
  • Página 120: Espera Al Final Del Recorrido De Referencia

    A la hora de ejecutar la macro RefAxisAsync, es obligatorio utilizar la macro WaitRefFinished para garantizar la ejecución subsiguiente del programa. Si no se aguarda al final del recorrido de referencia, el cálculo por adelantado del programa puede dar lugar a instruc- ciones que provoquen errores. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 121: Interrogación Del Estado De Un Eje

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

    14. Herramientas Herramientas El control multieje CMXR permite definir los datos de longitud de una herramienta. Estos datos se describen en forma de un vector de seis dimensiones. De ese modo puede asig- narse una orientación, además de las dimensiones, a la herramienta. La orientación se define a partir del método de Euler ZYZ.
  • Página 123 A = 0 Asimetría B = 0 en Z C = 0 La orientación del sistema de coordena- das de herramienta no cambia. Si es Asimetría en X necesario, deberá ajustarse con los parámetros A, B y C. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 124 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.
  • Página 125: Activación De Datos De Herramienta

    Estos datos TCP actuales se incluyen en el cálculo de la planifi- cació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-DE es 0909a...
  • Página 126 Este movimiento giratorio modifica la orientación de la herramienta. Para que el control multieje CMXR pueda calcular un movimiento cartesiano en el espacio teniendo en cuenta la posición del TCP debe indicarse la orientación nueva después del movimiento giratorio.
  • Página 127 Nuestra cinemática cartesiana 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-DE es 0909a...
  • Página 128 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-DE es 0909a...
  • Página 129 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-DE es 0909a...
  • Página 130: Interface Profibus

    15. Interface PROFIBUS Interface PROFIBUS El CMXR puede ser controlado por una unidad de control de nivel superior (PLC/IPC) mediante la interface PROFIBUS. Además, a través de ella pueden escribirse y leerse datos en forma de variables. Todos estos datos son datos compartidos de sistema y están a disposición de todos los programas FTL.
  • Página 131: Indicaciones Sobre El Procesamiento De Señales

    La interface dispone de 16 señales de entrada y salida digitales que en adelante se verán siempre desde la perspectiva del CMXR. Las señales están disponibles en forma de variable booleana en el control. Estas señales booleanas se intercambian cíclicamente con la unidad de control de nivel superior.
  • Página 132: Comprobar Bit 5 De Plc

    ésta. Las variables enteras están guardadas en una matriz a la que se accede a través de los índices 0 a 255. Sintaxis plc_Dint [ <Arrayindex> ] : DINT Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 133: 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 máximo es de 256 posiciones de eje y 256 posiciones cartesianas. Estas variables no se someten a un intercambio de datos cíclico y el control externo puede escribirlas o leerlas...
  • Página 134: 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-DE es 0909a...
  • Página 135: 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-DE es 0909a...
  • Página 136 15. Interface PROFIBUS Desarrollo con pausa programada: Tiempo entre la parada y la reanudación de la marcha Velocidad Tiempo pos1 pos2 pos3 pos4 pos5 Desarrollo sin pausa programada: Velocidad Tiempo pos1 pos2 pos3 pos4 pos5 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 137: Sistema De Comunicación

    16.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 libre- mente los textos de mensaje como cadena de caracteres (string). Esta cadena de caracte- res también puede contener entradas variables en forma de dos parámetros como máximo...
  • Página 138 En un programa se crean dos variables con valores asignados. Estos valores se emiten con la macro SetInfo. Variables: param1 DINT := 7 param2 REAL := 3.48 Código de programa: SetInfo(“Sensor %1, pressure %2 bar”, param1, param2) Se visualiza el siguiente texto informativo: “Sensor 7, pressure 3,48 bar”. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 139: Información

    Un mensaje de información 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 // Contar ciclo SetInfo ("Cycle %1 finished, Value %2”, cycle, pressure) Indicación en la unidad manual: Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 140: 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 // Contar ciclo SetWarning("Cycle %1 finished, Value %2”,cycle, pressure) Indicación en la unidad manual: Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 141: Mensaje De Error

    Param2 Segundo parámetro posible Tabla 16.3 Parámetros de la instrucción SetError En la memoria de errores del control multieje CMXR, se marca un mensaje de error con el símbolo Indicación Si se emite un mensaje de error, el movimiento se detiene. La cinemática no puede continuar el recorrido hasta que no se acusa...
  • Página 142: 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-DE es 0909a...
  • Página 143: Lectura De La Posición De Destino

    Los valores no se guardan en el archivo de datos de la tarjeta de memoria. Los va- lores se pierden cuando se deselecciona el programa/proyecto. Para guardar la posición puede utilizarse la macro SavePosition. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 144: 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 la hora y la fecha actuales del sistema Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 145: Conversión De Un Valor De Fecha Y Hora En Texto

    Indicación opcional, valor de fecha y Segundos hora que debe convertirse Tabla 17.4 Parámetros de la función TimeStr Ejemplo: str_Time := TimeToStr() // Leer la hora y la fecha actuales del sistema Devolución: str_Time “Mon Feb 13 11:23:44 2006” Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 146: Seno

    El tramo desconocido se calcula conociéndose el ángulo y el cateto opuesto o la hipotenusa. 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.
  • Página 147: 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.
  • Página 148 Ejemplo: := 30 // Cateto adyacente alpha := 23.5 // Ángulo alfa / COS(alpha) // Cálculo de la hipotenusa := 45.89 // Cateto adyacente := 145.67 // Hipotenusa value alpha := ACOS(value) // Cálculo del ángulo Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 149: Tangente

    El tramo desconocido se calcula conociéndose el ángulo y el cateto adyacente o el cateto opuesto. Si no se conoce el ángulo, el CMXR prepara la función arco tangente. Esta función calcula el ángulo contenido, p. ej., alfa, a partir del cateto adyacente y del cateto opuesto.
  • Página 150: Cotangente

    El tramo desconocido se calcula conociéndose el ángulo y el cateto adyacente o el cateto opuesto. 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.
  • Página 151: Tangente 2

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

    C² = A² + B² o C = √(A² + B²) Ejemplo de programa: := 152.67 // Longitud del cateto A := 63.12 // Longitud del cateto B value := SQRT(value) // Cálculo de la hipotenusa Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 153: Desplazamiento De Bits

    Mask se desplaza 3 bits a la derecha. 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-DE es 0909a...
  • Página 154: Rotación De Bits

    Mask gira 4 bits a la derecha. 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-DE es 0909a...
  • Página 155: Conversión De Un Valor En Una Cadena

    Convierte un único carácter en un valor ASCII. Sintaxis (<variable> : DINT / DWORD) := ORD (<valor> : STRING) Ejemplo: Con la siguiente instrucción se asigna a la variable Dint1 el valor 65. Dint1 := ORD(“A”) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 156: Módulos

    Programa FTL Tipo de módulo Presión: tipo valor Valor analógico analógico Peso: tipo valor analógico Instanciación de módulo en el programa de aplicación Declaración de una instancia de módulo <nombre de instancia> : <tipo de instancia> (parámetro) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 157: Funciones

    Los dos tipos de acceso requieren un tiempo de ejecución diferente. Para más información, consulte la descripción de cada uno de los módulos en los capítulos siguientes. En el ejemplo se accede a la variable de módulo State de la instancia Sensor: Sensor.state THEN Lin(pos1) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 158: 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-DE es 0909a...
  • Página 159: Módulo De Entrada Digital Din

    Instanciación con el editor FTL La instanciación se efectúa en el diálogo para crear variables seleccionando <tipo:> (DIN) e introduciendo el <identificador:> (Sensor). En la línea <MAPTO DINPORT> se activa la referencia real a una entrada digital configurada. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 160: Instanciación Con La Unidad Manual

    Más información y ejemplos para generar mensajes de error se describen en el capí tulo 20.2 Empleo de los módulos de entrada y salida. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 161: 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 “Digital Inputs”. En la figura se muestra la selección de métodos del módulo DIN de la unidad manual. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 162: 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-DE es 0909a...
  • Página 163: Método Resetrisingedge Para Borrar Flancos

    Para instanciar el módulo 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-DE es 0909a...
  • Página 164 La instanciación del módulo 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-DE es 0909a...
  • Página 165: Variable

    Aunque no se ha llamado al módulo, éste 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 del módulo. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 166: 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 del módulo DOUT de la unidad manual. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 167: 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-DE es 0909a...
  • Página 168: Borrado De Flancos, Resetrisingedge

    <nombre de instancia>.Set ( ) <nombre de instancia>.Reset ( ) Set y Reset se ejecutan en la ejecución principal. El módulo NO influye en el avance aproximado. Ejemplo: Lin(pos1) Lin(pos2) cylinder.Set() // Activa la salida cylinder a TRUE Lin(pos3) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 169: Activación De La Salida, Método Write

    <nombre de instancia>.Pulse (timeMs :DINT; OPT pauseAtInterrupt: BOOL) Parámetro Tipo Significado timeMs DINT Tiempo correspondiente a la longitud de impulso en ms pauseAtInterrupt BOOL Detención del tiempo de impulso cuando el programa se para Tabla 18.5 Parámetros del método Pulse Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 170: Activa La Salida Cylinder A True Durante 200 Ms

    Para instanciar el módulo de entrada analógica se requiere la referencia de hardware de la entrada analógica. Ésta se indica con el parámetro input durante la instanciación. Sintaxis <nombre de instancia> .AIN( <timeout> : DINT, MAPX(“< input>”)) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 171: Instanciación Con El Editor Ftl

    La instanciación del módulo de entrada analógica por medio de la unidad manual se realiza en la máscara de variables seleccionando el tipo de dato AIN. La instanciación en la unidad manual guarda automáticamente la entrada en el archivo de datos. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 172: Variable

    Esperar a que el valor de entrada se encuentre dentro del límite indicado WaitOuts Esperar a que el valor de entrada se encuentre fuera del límite indicado Read Leer el valor de entrada Tabla 18.7 Métodos del módulo de entrada analógica Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 173: 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 18.3.1 de la página 158. Parámetro Tipo Significado value REAL Valor límite Tabla 18.8 Parámetros de los métodos WaitLss, WaitGrt Ejemplo: Lin(pos1) temperature.WaitLss(65.0, TRUE) Lin(pos2) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 174: Espera A Que El Valor Entre/Salga De Un Margen, Métodos Waitins

    18.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 18.3.1 de la página 158. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 175: Leer La Temperatura Sin Parar La Trayectoria

    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-DE es 0909a...
  • Página 176: Variable

    El propio programa secuencial debe generar un mensaje de error. Si se indica el valor 0, se realiza una comprobación inmediatamente. Si la señal no tiene el valor deseado, el programa secuencial debe generar un mensaje de error. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 177: 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 del módulo AOUT de la unidad manual. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 178: Escritura Del Valor De Salida, Método Write

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

    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 18.3.1 de la página 158. Ejemplo Lin(pos1) // Leer la cantidad sin parar sobre la trayectoria value := quantity.Read(TRUE) Lin(pos2) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 180: Módulo De Reloj Clock

    <tipo:> (CLOCK) e introduciendo el <identificador:> (clkTimer). Instanciación con la unidad manual La instanciación del módulo 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-DE es 0909a...
  • Página 181: 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 del módulo CLOCK de la unidad manual. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 182: Puesta En Marcha Del Reloj, Método Start

    éste se pone a cero y sigue funcionando. Sintaxis <nombre de instancia>.Reset ( ) Ejemplo: Timer.Reset() // El reloj se reinicia 18.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-DE es 0909a...
  • Página 183: Conversión Del Valor De Fecha Y Hora En Cadena De Caracteres

    <nombre de instancia>.ToStr(OPT ovlEnable : BOOL) : STRING Para la descripción del parámetro ovlEnable, véase el capítulo 18.3.1 de la página 158. Valor de retorno: cadena de caracteres con la información de fecha y hora dd hh:mm:ss:ms Ejemplo: Datos: time STRING Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 184: Leer En El Proceso Principal

    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-DE es 0909a...
  • Página 185: Variable

    La variable Port describe la referencia a la entrada de hardware. 18.9.3 Métodos El módulo de encoder dispone de varios métodos: Método Descripción Ajustar manualmente el valor del encoder incremental Read Leer el valor del encoder incremental Tabla 18.17 Métodos del módulo de encoder Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 186: Ajuste Del Encoder, Método Set

    Con el parámetro mode puede definirse el punto de la activación. mode Significado DIRECT El valor se activa en el próximo ciclo de sistema E/S ZEROPULSE El valor se activa con el próximo impulso cero del encoder Tabla 18.19 Modos del método Set Ejemplo: enc0.Set(1000, DIRECT) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 187: Lectura Del Encoder, Método Read

    := enc0.Read() 18.10 Módulo CANopen COPDEVICE El módulo CANopen puede utilizarse en el programa para activar equipos conectados con el CMXR a través del bus CAN de periféricos. Atención En el bus CAN de periféricos pueden controlarse equipos CANopen pero estos equipos no están sujetos al comportamiento PARADA DE EMERGENCIA de la cinemática.
  • Página 188: Instanciación

    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 unidad manual, los métodos pueden seleccionarse mediante el árbol de menú en el punto “CANopen Devices”. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 189: Escritura De Sdo, Método Writesdo

    Si el conjunto se escribe con éxito se devuelve TRUE, de lo contrario se devuelve FALSE. Ejemplo: oData := 12000 Axis3_copd.WriteSDO(16#6085, 0, oData, thirtytwo_bits) 18.10.4 Lectura de SDO, método ReadSDOSigned Con el método ReadSDOSigned, el bus CAN puede leer conjuntos de datos con signo. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 190 Tabla 18.23 Parámetros del método ReadSDOSigned Si el conjunto se lee, se devuelve TRUE, de lo contrario, se devuelve FALSE. Ejemplo: dint_iData DINT := 0 Programa: Axis3_copd.ReadSDOSigned(16#6098, 0, dint_iData) SetInfo("método de recorrido de referencia leído: %1”, dint_iData) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 191: Lectura De Sdo, Método Readsdounsigned

    Índice de SDO subindex DINT Subíndice de SDO data DWORD Datos que se van a leer Tabla 18.24 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-DE es 0909a...
  • Página 192: 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-DE es 0909a...
  • Página 193 19. 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-DE es 0909a...
  • Página 194: Ejemplos

    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 Entrada: inCollision Vía de rodillos Pila de chapa Sensor para detectar pilas vacías Entrada: inStackNotEmpty Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 195 Para esta aplicación pueden utilizarse más posiciones, pero el ejemplo se limita a las indicadas. safetyDepositPos safetyPosStack depositPos takePosStack Como la altura de pila varía, la altura de recogida es desconocida y se fija debajo de la pila. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 196 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-DE es 0909a...
  • Página 197: Empleo De Los Módulos De Entrada Y Salida

    SetError(“Timeout over”) RETURN END_IF // Reanudar ejecución Lin(pos) Indicación Si se emite un mensaje de error, el movimiento se detiene. No es posible reanudar la ejecución hasta que no se acusa recibo del mensaje de error. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 198: 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-DE es 0909a...
  • Página 199: Empleo De Pinzas

    En los capítulos siguientes se explica la integración de diferentes tipos de pinza en la gama CMXR. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 200: Pinzas Por Vacío

    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 un módulo digital. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 201 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-DE es 0909a...
  • Página 202 20. 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-DE es 0909a...
  • Página 203: 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 módulos en la programación FTL. Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 204 El método de módulo 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-DE es 0909a...
  • Página 205 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-DE es 0909a...
  • Página 206: Unidad Giratoria Con Pinzas Neumáticas

    20. Ejemplos 20.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 207 // Esperar a pinza cerrada Lin(pos1) outPos0Degree.Reset() // Girar a 90 grados outPos90Degree.Set() Lin(pos3) inPos90Degree.Wait(TRUE) // Esperar a 90 grados con avance aproximado Lin(pos4) // Posición de posado outGripperClose.Reset() // Abrir pinza outGripperOpen.Set() inGripperOpen.Wait() // Esperar a pinza abierta Lin(pos3) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 208 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-DE es 0909a...
  • Página 209 Tiempo de espera hasta acusar Tiempo de espera hasta acusar recibo del cierre de la pinza recibo de la apertura de la pinza Tiempo de espera hasta acusar recibo del giro de 90 grados Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 210: Empleo De La Interface Plc

    20.5.2 Interface PLC El intercambio de datos entre el control CMXR y el PLC se efectúa con dos bits de sin- cronización. En el primer paso, el PLC señaliza que se han enviado los datos. En el momento en que CMXR recibe los datos, se lo indica al PLC. A continuación se borran las dos señales de interface.
  • Página 211: Programa Secuencial

    // Confirma la recepción WAIT plc_inboolreg[0] // Esperar a la respuesta del PLC plc_outboolreg[0] := FALSE // Avanzar a la posición de aceptación Lin(abovePickPos) Lin(pickPos) // Agarrar gripper.Set() WaitTime(200) // Avanzar a la posición de posado Lin(abovePickPos) Lin(aboveDepositPos) Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 212 20. Ejemplos Lin(depositPos) // Posar gripper.Reset() WaitTime(200) // Avanzar a la posición de espera Lin(aboveDepositPos) Lin(waitPos) END_WHILE Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 213: Árbol De Menús De Las Instrucciones Ftl

    A continuación se muestran todas las instrucciones del conjunto de instrucciones “Base de programación FTL”. Árbol de menús de la unidad manual CDSA: PLC-Interface (Interface de PLC) ProgHold Mathematical functions (Funciones) Position Functions (Funciones de posición) o ReadTargetPos o ReadActualPos o SavePosition Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 214 21. Árbol de menús de las instrucciones FTL SQRT ASIN ACOS ATAN ATAN2 ACOT Time TimeToStr Reference Axis (Referenciar) RefAxis RefAxisAsync WaitRefFinished IsAxisReferenced Movement (Instrucciones de movimiento) CircIp LinToCircIp PtpToCircIp MoveAxisPtp MoveAxisCart PtpRel LinRel StopMove Dynamics (Instrucciones de dinámica) DynOvr Jerk OvlVel OvlCart Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 215 WHILE … DO … END_WHILE LOOP RETURN Robot commands (Instrucciones de robot) Reference Systems (Sistemas de referencia) o SetRefSys o SetRefSys3P o SetRefSysWorld Tool System functions (Funciones del sistema) Time measurement (Cronometraje) o CLOCK.Reset o CLOCK.Start Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 216 AIN.Read o AIN.WaitLss o AIN.WaitGrt o AIN.WaitIns o AIN.WaitOuts Analog Output (Salidas analógicas) o AOUT.Write o AOUT.Read o AOUT.WaitLss o AOUT.WaitGrt o AOUT.WaitIns o AOUT.WaitOuts CANopen devices (Dispositivos CANopen) o COPDEVICE.WriteSDO o COPDEVICE.ReadSDOUnsigned o COPDEVICE.ReadSDOSigned Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 217 DIN.WaitN o DIN.RisingEdge o DIN.ResetRisingEdge Digital Output (Salidas digitales) o DOUT.Set o DOUT.Reset o DOUT.Write o DOUT.Pulse o DOUT.Read o DOUT.ResetRisingEdge o DOUT.Wait o DOUT.WaitN o DOUT.RisingEdge Incremental Encoder (Encoder incremental) o ENCODER.Set o ENCODER.Read Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 218 OvlCart ..........107 Empleo de la interface PLC....210 OvlVel ..........105 Empleo de los módulos de entrada y Ovr ............94 salida .......... 197 Empleo de pinzas ......199 WAIT con entrada digital ....57 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 219 Segmento cero ........103 WaitOnPos .......... 60 Set ............ 186 WaitRefFinished ........ 120 SetError ..........141 WaitTime..........54 SetInfo ..........139 WHILE ..........48 SetRefSys .......... 111 WriteSDO .......... 189 SetRefSys3P ........112 SetRefSysWorld ......... 114 Festo GDCP-CMXR-SW-DE es 0909a...
  • Página 220 Índice Festo GDCP-CMXR-SW-DE es 0909a...

Este manual también es adecuado para:

Gdcp-cmxr-sw-enGdcp-cmxr-sw-de

Tabla de contenido