Página 1
Controlador Descripción Instrucciones de programación CMXR FTL elemental Descripción 560317 es 1205c [761539]...
Página 3
Edición ______________________________________________________ 1205c Denominación _____________________________________ GDCP-CMXR-SW-ES Nº de art. ___________________________________________________ 560317 Festo AG & Co KG., D-73734 Esslingen, 2012 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
Lugar de almacenamiento del archivo: Nº de art. Descripción Indicador de Fecha de modificación revisión Redacción 0805NH 25.06.2008 Adaptación a CMXR-C1 Versión 1.20 0909a 25.08.2009 Adaptación a CMXR-C2 Versión 1.0 1002b 24.03.2010 Adaptación a CMXR-C2 Versión 1.1 1205c 04/04/2012 Festo GDCP-CMXR-SW-ES es 1205c...
Identificadores ....................26 Palabras clave ....................26 Constantes numéricas ..................27 Cadenas de caracteres ..................27 Operadores y caracteres de delimitación ............27 4.6.1 Operadores aritméticos ..............28 4.6.2 Operadores lógicos ................28 4.6.3 Operadores comparativos ..............28 Festo GDCP-CMXR-SW-ES es 1205c...
Página 6
Subprogramas ....................48 8.7.1 Llamada de subprograma <CALL> ............49 8.7.2 Retorno al programa <RETURN> ............50 Programas paralelos ..................51 8.8.1 Ejecución del programa paralelo <RUN> ..........52 8.8.2 Finalización del programa paralelo <KILL> ........... 52 Festo GDCP-CMXR-SW-ES es 1205c...
Página 7
Detención del movimiento <StopMove> .............. 90 Detención del programa <StopProgram> ............. 91 10. Instrucciones de dinámica................... 92 10.1 Limitación automática de la dinámica, limitador de la dinámica ...... 93 10.2 Velocidades <Vel> ....................94 10.3 Aceleración <Acc> ....................95 Festo GDCP-CMXR-SW-ES es 1205c...
Página 8
<IsAxisReferenced> ........127 14. Herramientas ....................128 14.1 Datos de herramienta ..................128 14.1.1 Datos del vector TCP ................ 128 14.2 Activación de datos de herramienta <Tool> ............131 14.2.1 Efecto de los datos TCP ..............131 Festo GDCP-CMXR-SW-ES es 1205c...
Página 10
Pulse ................... 188 20.6 Módulo de entrada analógica AIN ..............189 20.6.1 Instanciación ..................189 20.6.2 Variable.................... 191 20.6.3 Métodos ................... 191 20.6.4 Espera a que el valor sea menor/mayor, métodos WaitLss, WaitGrt ................192 Festo GDCP-CMXR-SW-ES es 1205c...
Página 11
Empleo de las entradas y salidas digitales ............211 21.2 Empleo de las entradas y salidas analógicas ............ 211 22. Programación de eventos .................. 213 22.1 Eventos soportados ..................213 22.2 Utilización del registro de instrucciones FTL ............. 214 22.3 Control temporal ..................... 215 Festo GDCP-CMXR-SW-ES es 1205c...
Página 12
Fijación del indicador de frase ............240 24.7.4 Influencia del override ..............241 24.7.5 Trabajar en modo manual con velocidad reducida ......242 24.7.6 Interrupción del programa ..............242 24.8 Puntos de conmutación no ejecutados ............243 Festo GDCP-CMXR-SW-ES es 1205c...
Página 13
Empleo de la interface PLC ................260 25.5.1 Tarea ....................260 25.5.2 Interface PLC ..................260 25.5.3 Programa secuencial ................ 261 Lista de instrucciones FTL ................. 263 Árbol de menús de las instrucciones FTL............268 Términos utilizados ................... 273 Índice ........................ 274 Festo GDCP-CMXR-SW-ES es 1205c...
En este documento se describe el juego de instrucciones FTL (Festo Teach Language) del control multieje CMXR de Festo. La programación del control CMXR se realiza con el editor FTL en el plugin correspondiente de Festo Configuration Tool (FCT) o con la unidad de mando manual CDSA-D1-VX.
2.1 Uso de la documentación Este documento está concebido para los usuarios y programadores de robots que funcio- nan 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.
2.5 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-ES es 1205c...
Si es necesario realizar trabajos de medición o de comprobación en la instalación, deberán ser efectuados por un electricista. Atención Sólo deben utilizarse repuestos autorizados por Festo. Festo GDCP-CMXR-SW-ES es 1205c...
Edición de programas 3.1 Información general FTL es la sigla que se obtiene de Festo Teach Language. FTL es un lenguaje de programa- ción y sirve para programar los controles CMXR. FTL es un lenguaje de programación para robótica y sistemas de manipulación muy com- pleto pero fácil de aprender y dominar.
Página 19
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 25.3 Control del avance de proceso. Festo GDCP-CMXR-SW-ES es 1205c...
3.5 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”). Los programas se disponen en una estructura de carpetas.
Si el programa se guarda mediante la unidad de mando manual CDSA o mediante el editor FTL de Festo (en Festo Configuration Tool), el archivo de datos locales de programa 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.
3. Edición de programas 3.8 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.
En la figura siguiente se muestra el proyecto global “_global” enlazado con datos compartidos de proyecto y locales. Además, en el área de objetos compartidos de sistema también se muestran programas compartidos de sistema. Festo GDCP-CMXR-SW-ES es 1205c...
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. Festo GDCP-CMXR-SW-ES es 1205c...
Página 25
3. Edición de programas Nota Para guardar de manera permanente los valores de posición en la tarjeta de memoria puede utilizarse la instrucción FTL “SavePosition”. Festo GDCP-CMXR-SW-ES es 1205c...
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-ES es 1205c...
255 caracteres. Son válidos todos los caracteres ASCII. Ejemplo de una cadena de caracteres válida: "Control multieje CMXR-C1" 4.6 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. Festo GDCP-CMXR-SW-ES es 1205c...
Negación Tabla 4.2 Operadores lógicos 4.6.3 Operadores comparativos Operador Significado < Menor que <= Menor o igual que Igual a <> No igual a >= Mayor o igual que > Mayor que Tabla 4.3 Operadores comparativos Festo GDCP-CMXR-SW-ES es 1205c...
Caracteres de delimitación Operador Significado Asignación de valor para variables Carácter de separación para crear instancias de variables Carácter de enumeración en listas de parámetros para acceder a funciones o instrucciones FTL Tabla 4.5 Caracteres de delimitación Festo GDCP-CMXR-SW-ES es 1205c...
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-ES es 1205c...
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-ES es 1205c...
Página 34
El siguiente ejemplo muestra una matriz de 10 elementos cuyo índice va de 3 a 12: Matrix3 ARRAY [3...12] DINT Dimensiones Toda matriz tiene, por lo menos, una dimensión, pero también puede tener varias dimen- siones. Las matrices multidimensionales se indican especificando sus dimensiones entre corchetes y separadas por comas. Festo GDCP-CMXR-SW-ES es 1205c...
Con la palabra clave LOW se puede averiguar el índice de rango más bajo de una matriz y con la palabra clave HIGH, el índice de rango más alto. Sintaxis <variable : DINT> := LOW( <variable de matriz> ) <variable : DINT> := HIGH( <variable de matriz> ) Festo GDCP-CMXR-SW-ES es 1205c...
Página 36
// 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-ES es 1205c...
Ejemplo: La instrucción Ref_Index := 10 describe la variable Index_C con el valor 10. Nota 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-ES es 1205c...
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. Sintaxis IS_MAPPED (<variable de referencia>) : BOOL Festo GDCP-CMXR-SW-ES es 1205c...
Página 39
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-ES es 1205c...
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-ES es 1205c...
(p. ej., >, <=,=). El enlace de varias comparaciones se estructura mediante los correspondientes niveles entre paréntesis. Para los ejemplos siguientes se utilizan las variables indicadas a continuación: Marker BOOL Flag1 BOOL Flag2 BOOL Flag3 BOOL Index DINT Festo GDCP-CMXR-SW-ES es 1205c...
Con la instrucción ELSIF pueden formularse varias condiciones. 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-ES es 1205c...
// ninguna señal definida END_IF 8.5 Instrucciones de salto En los programas FTL es necesario efectuar 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-ES es 1205c...
(LABEL). Sólo entonces puede programarse la instrucción GOTO. 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 datos BOOL. Festo GDCP-CMXR-SW-ES es 1205c...
Atención La programación de bucles sin fin puede reducir el comportamiento de operación del control CMXR. Los bucles sin fin deben poseer instrucciones como Wait o WaitTime para no bloquear el control CMXR.
Después de cada ciclo, 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 Festo GDCP-CMXR-SW-ES es 1205c...
ú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 1205c...
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 1205c...
éstos terminan. El programa principal se reanuda. Ejemplo: CALL CheckPart() // Llamar al 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-ES es 1205c...
8. Control de programa 8.8 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. Nota Las instrucciones de desplazamiento en una cinemática sólo son...
Un programa paralelo activo puede terminarse con la instrucción “KILL” emitida desde el programa que lo ha llamado. Primero se detienen el programa y la cinemática, luego el programa finaliza. Sintaxis KILL <nombre del programa> La instrucción RETURN en programas paralelos también provoca su terminación. Festo GDCP-CMXR-SW-ES es 1205c...
Extracto del programa de movimientos: Lin(pos1) // Avanzar sobre posición de sujeción Lin(pos2) // Avanzar a posición de la pinza Gripper.Set() // Cerrar pinza WaitTime(70) // Esperar 70 ms de tiempo de sujeción Lin(pos1) // Avanzar sobre posición de sujeción Festo GDCP-CMXR-SW-ES es 1205c...
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 cumpla la condición de la instrucción WAIT.
Página 55
Pos2 Pinza por vacío Pos3 Pos1 Pos4 Sensor Bandeja Pieza El sensor detecta si hay una pieza sobre la bandeja. Si hay una pieza preparada, el sistema de manipulación la recoge. Festo GDCP-CMXR-SW-ES es 1205c...
(por ejemplo la conmutación de una salida o la descripción de una variable) con la ejecución principal del programa. Sintaxis WaitOnPath ( <timeMS> : DINT ) Parámetro Significado Unidad time Tiempo de espera Tabla 8.1 Parámetro de la instrucción WaitOnPath Festo GDCP-CMXR-SW-ES es 1205c...
Si está activado un avance aproximado y la distancia hasta el punto de destino del avance aproximado es lo bastante grande, el avance se ejecuta. El parámetro de la parte porcentual es opcional. Si no se especifica, tendrá un valor de 100%. Esto tendrá como consecuencia una parada en la trayectoria. Festo GDCP-CMXR-SW-ES es 1205c...
WaitOnMainRun y, a continuación, se describe la variable plc_InBool[3], que va al PLC. Lin(pos1) // Ir a pos1 Lin(pos2) // Ir a pos2 WaitOnMainRun() // Esperar a la ejecución principal plc_InBool[3] := TRUE // Señal a PLC Festo GDCP-CMXR-SW-ES es 1205c...
La instrucción DO se ejecuta después de que se ha ejecutado, en la ejecución principal, la instrucción FTL situada antes de ella. La eje- cución se realiza incondicionalmente. La línea de programa sólo debe contener una instrucción DO, detrás de la cual puede haber exactamente una instrucción FTL. Festo GDCP-CMXR-SW-ES es 1205c...
Página 60
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) Ejemplo de descripción de variables en el PLC: Lin(pos1) SetVel(dynCart, 1000)) plc_Dint[3] := 5 Lin(pos2) Festo GDCP-CMXR-SW-ES es 1205c...
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 sintaxis del compilador. Si, p. ej., se borra una variable utilizada, se emite un error al arrancar el programa. Festo GDCP-CMXR-SW-ES es 1205c...
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 de mando manual con instrucciones del programa desactivas entre las líneas 8 y 10: Festo GDCP-CMXR-SW-ES es 1205c...
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.
:= (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-ES es 1205c...
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-ES es 1205c...
Página 67
X, Y y Z. Como no hay ejes manuales, no es posible orientar la herramienta. La programación de las variables a, b, c, aux1, aux2 o aux3 en la indicación de posición del tipo de datos CARTPOS no tiene efecto alguno. Festo GDCP-CMXR-SW-ES es 1205c...
Para programar por teach-in una variable de posición es necesario que el control multieje CMXR esté situado en el modo de funcionamiento MANUAL y que la variable a programar por teach-in esté marcada. 1. Hacer clic en la variable y se mostrará...
Página 69
AXISPOS o CARTPOS Tabla 9.1 Parámetro 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 70
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 1205c...
Una aplicación posible es, p. ej., el posicionamiento relativo dentro de una retícula, como con una paleta. Sintaxis PtpRel ( <Dist> : AXISDIST o CARTDIST) Parámetro Significado Unidad Dist Distancia relativa que debe recorrerse AXISDIST o CARTDIST Tabla 9.2 Parámetro de la instrucción PtpRel Festo GDCP-CMXR-SW-ES es 1205c...
Página 72
9. Instrucciones de movimiento La indicación de distancia puede ser cartesiana o relativa a cada eje. El control multieje 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.
Axis Eje físico seleccionado que Enumeración con los valores A1 debe desplazarse a A9 para los ejes 1 a 9 Posición de destino absoluta Unidad de los ejes definidos Tabla 9.3 Parámetros de la instrucción MoveAxisPtp Festo GDCP-CMXR-SW-ES es 1205c...
Pos. Si se ha asignado una variable REAL al parámetro Pos, se escribe el valor en esta variable. Festo GDCP-CMXR-SW-ES es 1205c...
Página 76
Éste se muestra en el cuadro de selección en la página de posición. En la programación por teach-in de la posición de eje de la instrucción MoveAxisPtp, el sistema de referencia seleccionado carece de importancia. Festo GDCP-CMXR-SW-ES es 1205c...
9. Instrucciones de movimiento 9.5 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 78
Sin embargo, no está previsto que la brida de herramienta discurra por la trayectoria en el plano X-Y. Esta trayectoria se obtiene de la combinación de la cinemática y del vector del TCP, y se calcula mediante la transformación interna de coordenadas. Festo GDCP-CMXR-SW-ES es 1205c...
Una aplicación posible es, p. ej., el posicionamiento relativo dentro de una retícula, como con una paleta. Sintaxis LinRel (<Dist> : AXISDIST o CARTDIST) Parámetro Significado Unidad Dist Posición de destino relativa AXISDIST o CARTDIST Tabla 9.6 Parámetro de la instrucción LinRel Festo GDCP-CMXR-SW-ES es 1205c...
Página 80
9. Instrucciones de movimiento La indicación de distancia puede ser cartesiana o relativa a cada eje. El control multieje CMXR transforma las posiciones como corresponde. Ejemplo: Un contorno contiene tramos repetibles. Estos tramos pueden describirse de manera relativa. Este tipo de aplicación se resuelve con comodidad utilizando una programación de bucles.
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 1205c...
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 1205c...
Página 83
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 circular. Nota 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 1205c...
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 del punto de apoyo y el final.
Página 85
:= (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-ES es 1205c...
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 1205c...
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 con una cinemática: Eje Y Posición inicial StartPos...
La programación tipo teach-in se realiza siempre en una variable de posición. Para la programación tipo teach-in de otras posiciones, debe hacerse clic en la posición correspondiente para marcarla. Festo GDCP-CMXR-SW-ES es 1205c...
Una aplicación de esta parada es, p. ej., el desplazamiento hasta un obstáculo detectado por un sensor. Una vez detectado el estado, la instrucción StopMove detiene el movimiento. En el capítulo 25.1 Detención de movimientos de la página 244 se da un ejemplo de utilización de la instrucción StopMove. Festo GDCP-CMXR-SW-ES es 1205c...
La cinemática se detiene con la máxima rampa de frenado definida para detener la cinemá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-ES es 1205c...
Dentro del programa, los valores pueden ser sustituidos en cualquier momento por las siguientes instrucciones de dinámica. Gráfica de ajustes previos de los valores dinámicos en Festo Configuration Tool: Valores estándares Punto a punto: Estándar...
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 97
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-ES es 1205c...
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 de mando manual. Festo GDCP-CMXR-SW-ES es 1205c...
Página 99
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-ES es 1205c...
Parámetro Significado Unidad Value Valor del override dinámico Porcentaje Tabla 10.8 Parámetro de la instrucción DynOvr Nota El override no modifica la trayectoria descrita. El valor programado no repercute sobre el cálculo por adelantado del programa. Festo GDCP-CMXR-SW-ES es 1205c...
Forma de rampa trapezoidal con Forma de rampa trapezoidal un factor aproximado de 0,1 con el factor 0,5 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 1205c...
Ramp( <Ramptype> : RAMPTYPE, OPT <Param> : REAL) Parámetros 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-ES es 1205c...
á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 104
Esto significa que si la cinemática no alcanza toda su velocidad porque un override la limita, se activará dicha monitorización y se producirá un error. Ejemplo: Programa: Lin(pos1) VconstOn(25, TRUE) Lin(pos2) Lin(pos3) VconstOff Festo GDCP-CMXR-SW-ES es 1205c...
VconstOff ( ) Nota 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 1205c...
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 1205c...
// 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 en la trayectoria. Festo GDCP-CMXR-SW-ES es 1205c...
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.
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-ES es 1205c...
Página 110
á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-ES es 1205c...
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-ES es 1205c...
Página 112
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-ES es 1205c...
Nota El encadenado de sistemas de referencia debe efectuarse con precaución. En ocasiones este mecanismo es ú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 1205c...
RefSys. Con el parámetro RefSys puede indicarse cualquier tipo de datos. A continuación se describen las instrucciones para activar un sistema de referencia. Festo GDCP-CMXR-SW-ES es 1205c...
Para relacionar la cinemática con el sistema de coordenadas universales, se debe establecer una referencia con la variable de sistema world. Ejemplo: Datos: refsysdata0 REFSYSDATA := (MAP(world), 100, 150, 0, 0, 0, 0) Programa: SetRefSys(refsysdata0) Festo GDCP-CMXR-SW-ES es 1205c...
Con el parámetro baseRs puede indicarse otra referencia, la cual tiene efecto aditivo en el sistema de referencia. Para relacionar la cinemática con el sistema de coordenadas universales, se debe establecer una referencia con la variable de sistema world. Festo GDCP-CMXR-SW-ES es 1205c...
180 grados del eje Z. Estos tres parámetros se pueden programar por teach-in con la ayuda de la unidad de mando manual o del software de emulación. Festo GDCP-CMXR-SW-ES es 1205c...
Página 118
Para la programación tipo teach-in de otra posición, deberá marcarse haciendo clic en ella. Nota El sistema de referencia seleccionado en la página de posición carece de importancia con la instrucción SetRefSys3P. La referencia al sistema de referencia se establece mediante el parámetro baseRs. Festo GDCP-CMXR-SW-ES es 1205c...
Tabla 12.3 Parámetro de la instrucción SetRefSysDyn Nota Esta instrucción sólo funciona en combinación con el PLC integrado. Se puede encontrar más información sobre la instrucción y la función de seguimiento a ella asociada en la documentación especial “Programación FTL - Seguimiento”. Festo GDCP-CMXR-SW-ES es 1205c...
:= 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 SetRefSys(refPal1) // Activar desplazamiento de paleta 1 Festo GDCP-CMXR-SW-ES es 1205c...
Página 121
12. Sistemas de referencia (desplazamiento del punto cero) CALL Feed() // Llamar subprograma de alimentación de piezas SetRefSys(refPal2) // Activar desplazamiento de paleta 2 CALL Feed() // Llamar subprograma de alimentación de piezas SetRefSysWorld() // Activar sistema universal Lin(pos1) Festo GDCP-CMXR-SW-ES es 1205c...
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, unos valores dinámicos elevados no son razonables. Festo GDCP-CMXR-SW-ES es 1205c...
Página 123
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 124
Ésta es relevante desde el inicio del recorrido de referencia hasta alcanzar el flanco del interruptor correspondiente. Cuando se detecta el flanco, se conmuta a velocidad de avance lento y se finaliza el recorrido de referencia conforme al método seleccionado. Festo GDCP-CMXR-SW-ES es 1205c...
En este caso, unos valores dinámicos elevados no son razonables. Los parámetros y su funcionamiento se corresponden con la instrucción RefAxis. Festo GDCP-CMXR-SW-ES es 1205c...
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.
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á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 1205c...
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 asignarse una orientación a la herramienta, además de las dimensiones. La orientación se define a partir del método de Euler ZYZ.
Página 129
A = 0 Asimetría B = 0 en Z C = 0 La orientación del sistema de coordenadas Asimetría en X de herramienta no cambia. Si es necesario, deberá ajustarse con los parámetros A, B y C. Festo GDCP-CMXR-SW-ES es 1205c...
Página 130
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.
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-ES es 1205c...
Página 132
Con ayuda de este eje puede girarse la herramienta a una posición fija. 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 133
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-ES es 1205c...
Página 134
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 1205c...
Página 135
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 1205c...
La modificación del modo de la cinemática debe realizarse mediante un movimiento PTP (punto a punto). Una interpolación cartesiana, p. ej. lineal, no es posible. Atención: durante un movimiento PTP pueden generarse trayectorias y valores dinámicos inesperados en la herramienta. Festo GDCP-CMXR-SW-ES es 1205c...
Posición de la muñeca WRISTMODE WristNotSet, WristFlip WristNoFlip Elbow Posición del codo ELBOWMODE ElbowNotSet, ElbowLeft, ElbowRight Hombro Posición del hombro SHOULDERMODE ShoulderNotSet, ShoulderLeft, ShoulderRight Tabla 15.1 Clasificación de los modos Las opciones ajustables dependen de la cinemática empleada. Festo GDCP-CMXR-SW-ES es 1205c...
137. Ejemplo: // activar el modo del codo derecha SetRobotMode(WristNoMode, ElbowRight, ShoulderNoMode) // Movimiento PTP en la zona de trabajo del modo ElbowRight Ptp(StartPosModeRight) // movimientos cartesianos dentro del modo Lin(pos1) Lin(pos2) Festo GDCP-CMXR-SW-ES es 1205c...
= ElbowLeft THEN // desplazar el eje Z hacia arriba MoveAxisCart(Z, 0) // activar el modo del codo derecha SetRobotMode(WristNoMode, ElbowRight, ShoulderNoMode) // Movimiento PTP en la zona de trabajo del modo ElbowRight Ptp(StartPosModeRight) END_IF Festo GDCP-CMXR-SW-ES es 1205c...
Modo de la cinemática Modo de la cinemática “ElbowLeft” “ElbowRight” // activar el modo del codo derecha SetRobotMode(WristNoMode, ElbowRight, ShoulderNoMode) // Movimiento PTP en la zona de trabajo del modo ElbowRight Ptp(PosModeRight) // aplicar objeto 1 SetRefSys(Object1) CALL ApplyGlue Festo GDCP-CMXR-SW-ES es 1205c...
Página 141
15. Modo de la cinemática Lin(SafePosObject1) // activar el modo del codo izquierda SetRobotMode(WristNoMode, ElbowLeft, ShoulderNoMode) // Movimiento PTP en la zona de trabajo del modo ElbowLeft Ptp(PosModeLeft) // aplicar objeto 2 SetRefSys(Object2) CALL ApplyGlue Lin(SafePosObject2) Festo GDCP-CMXR-SW-ES es 1205c...
16. 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.
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.
é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-ES es 1205c...
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...
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 1205c...
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 1205c...
Página 148
16. 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-ES es 1205c...
Para poder crear también procesos individuales en paralelo a los programas de movi- mientos, el control CMXR posee un PLC CoDeSys integrado, que permite una programación según IEC 61131-3. La descripción de rendimiento que figura en el manual del sistema del correspondiente control CMXR detalla en qué...
PLC debe procurarse que todos los datos necesarios estén a disposición del programa FTL en el momento adecuado. De ser necesario, deben implementarse medidas como, p. ej., esperar a datos especiales y, de este modo, detener el cálculo por adelantado. Festo GDCP-CMXR-SW-ES es 1205c...
// Procesar pieza B CALL PartTypeB END_IF CycleFinished := TRUE // Confirmación de tareas resueltas = TRUE Lin(Home) Nota Gracias al uso de variables de referencia y de la instrucción se mejora la lectura de los programas. Festo GDCP-CMXR-SW-ES es 1205c...
18.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 caracteres también puede contener entradas variables en forma de dos parámetros como...
Página 153
En un programa se crean dos variables con valores asignados. Estos valores se emiten con la instrucción 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-ES es 1205c...
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 de mando manual: Festo GDCP-CMXR-SW-ES es 1205c...
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 de mando manual: Festo GDCP-CMXR-SW-ES es 1205c...
Ejemplo: pressure := Sensor.Read(); // Leer un valor de presión cycle cycle // Contar ciclo SetError("Cycle %1 error, pressure %2", cycle, pressure) Indicación en la unidad de mando manual: Festo GDCP-CMXR-SW-ES es 1205c...
Página 157
Si aparece un mensaje de error, el texto de error se visualiza también en la cabecera de la unidad de mando manual. Además, el LED de error de la unidad de mando manual se ilumina en rojo. Festo GDCP-CMXR-SW-ES es 1205c...
Los valores no se guardan en el archivo de datos de la tarjeta de memoria. Los valores se pierden cuando se deselecciona el programa o proyecto. Para guardar la posición puede utilizarse la instrucción SavePosition. Festo GDCP-CMXR-SW-ES es 1205c...
(<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-ES es 1205c...
Indicación opcional, valor de fecha y Segundos hora que debe convertirse Tabla 19.4 Parámetro 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-ES es 1205c...
á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.
á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 164
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-ES es 1205c...
á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.
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.
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-ES es 1205c...
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-ES es 1205c...
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-ES es 1205c...
<ORD> 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-ES es 1205c...
Si se transmite un valor no permitido en el parámetro bitNr, se emite un error. Ejemplo: // Ajustar la variable a 0 mask := 16#0000 // Ajustar el tercer bit en TRUE mask := SetBit(mask, 2) // Mask posee el valor 2#0000 0100 Festo GDCP-CMXR-SW-ES es 1205c...
Si se transmite un valor no permitido en el parámetro bitNr, se emite un error. Ejemplo: // Ajustar la variable a 2#0000 1111 mask := 16#000F // Ajustar el primer bit en FALSE mask := ResetBit(mask, 0) // Mask posee el valor 2#0000 1110 Festo GDCP-CMXR-SW-ES es 1205c...
Si se transmite un valor no permitido en el parámetro bitNr, se emite un error. Ejemplo: CheckBit(mask, 1) THEN // Estado TRUE SetInfo("Bit 1 está fijado”) ELSE // Estado FALSE SetInfo("Bit 1 no está fijado”) END_IF Festo GDCP-CMXR-SW-ES es 1205c...
Programa FTL Tipo de módulo Presión: tipo valor analógico Valor 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-ES es 1205c...
<nombre de instancia> . <nombre de variable> Para acceder a los datos de algunos módulos pueden utilizarse variables o funciones indistintamente. Cada tipo de acceso requiere un tiempo de ejecución diferente. En el capítulo dedicado a cada módulo se ofrece más información. Festo GDCP-CMXR-SW-ES es 1205c...
ú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. Nota Si no se especifica el parámetro, se supone FALSE. Festo GDCP-CMXR-SW-ES es 1205c...
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-ES es 1205c...
Página 179
Más información y ejemplos para generar mensajes de error se describen en el capítulo 25.2 Empleo de los módulos de entrada y salida. Festo GDCP-CMXR-SW-ES es 1205c...
En la unidad de mando 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 de mando manual. Festo GDCP-CMXR-SW-ES es 1205c...
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 1205c...
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, <Output> : MAPTO DOUTPORT) Festo GDCP-CMXR-SW-ES es 1205c...
Página 183
La instanciación del módulo de salida digital por medio de la unidad de mando manual se realiza en la máscara de variables seleccionando el tipo de datos DOUT. La instanciación en la unidad de mando manual guarda automáticamente la entrada en el archivo de datos. Festo GDCP-CMXR-SW-ES es 1205c...
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-ES es 1205c...
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 de mando manual. Festo GDCP-CMXR-SW-ES es 1205c...
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 Para la descripción del parámetro ovlEnable, véase el capítulo 20.3.1 de la página 177. Festo GDCP-CMXR-SW-ES es 1205c...
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) cylinder.Reset() // Activa la salida cylinder a FALSE Lin(pos4) Festo GDCP-CMXR-SW-ES es 1205c...
Al principio del impulso, la salida siempre adquiere el estado TRUE y al final, el estado FALSE. No obstante, si la salida ya posee el estado TRUE, este estado se restablece una vez transcurrido el tiempo del impulso. Festo GDCP-CMXR-SW-ES es 1205c...
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 módulo: Festo GDCP-CMXR-SW-ES es 1205c...
Página 190
La instanciación del módulo de entrada analógica por medio de la unidad de mando manual se realiza en la máscara de variables seleccionando el tipo de datos AIN. La instanciación en la unidad de mando manual guarda automáticamente la entrada en el archivo de datos. Festo GDCP-CMXR-SW-ES es 1205c...
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 20.7 Métodos del módulo de entrada analógica Festo GDCP-CMXR-SW-ES es 1205c...
<nombre de instancia>.WaitGrt(value : REAL, OPT ovlEnable : BOOL) Para la descripción del parámetro ovlEnable, véase el capítulo 20.3.1 de la página 177. Parámetro Tipo Significado value REAL Valor límite Tabla 20.8 Parámetro de los métodos WaitLss, WaitGrt Ejemplo: Lin(pos1) temperature.WaitLss(65.0, TRUE) Lin(pos2) Festo GDCP-CMXR-SW-ES es 1205c...
20.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 20.3.1 de la página 177. Festo GDCP-CMXR-SW-ES es 1205c...
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 1205c...
Más información y ejemplos para generar mensajes de error se describen en el capítulo 25.2 Empleo de los módulos de entrada y salida. Festo GDCP-CMXR-SW-ES es 1205c...
En la unidad de mando 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 de mando manual. Festo GDCP-CMXR-SW-ES es 1205c...
Para la descripción del parámetro ovlEnable, véase el capítulo 20.3.1 de la página 177. Parámetro Tipo Significado value REAL Valor límite Tabla 20.13 Parámetro 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-ES es 1205c...
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 20.3.1 de la página 177. Ejemplo: Lin(pos1) // Leer la cantidad sin parar sobre la trayectoria value := quantity.Read(TRUE) Lin(pos2) Festo GDCP-CMXR-SW-ES es 1205c...
(CLOCK) e introduciendo el <identificador:> (clkTimer). Instanciación con la unidad de mando manual La instanciación del módulo de reloj por medio de la unidad de mando manual se realiza en la máscara de variables seleccionando el tipo de datos CLOCK. Festo GDCP-CMXR-SW-ES es 1205c...
En la unidad de mando 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 de mando manual. Festo GDCP-CMXR-SW-ES es 1205c...
éste se pone a 0 y sigue funcionando. Sintaxis <nombre de instancia>.Reset ( ) Ejemplo: Timer.Reset() // El reloj se reinicia 20.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 1205c...
<nombre de instancia>.ToStr(OPT ovlEnable : BOOL) : STRING Para la descripción del parámetro ovlEnable, véase el capítulo 20.3.1 de la página 177. Valor de retorno: cadena de caracteres con la información de fecha y hora con formato dd hh:mm:ss:ms Ejemplo: Datos: time STRING Festo GDCP-CMXR-SW-ES es 1205c...
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 encoder se guarda como instancia de módulo: Instanciación en el archivo de datos enc0 ENCODER := (-1, MAP(Encoder_0)) Festo GDCP-CMXR-SW-ES es 1205c...
Página 204
La instanciación del módulo de encoder por medio de la unidad de mando manual se realiza en la máscara de variables seleccionando el tipo de datos ENCODER. La instanciación en la unidad de mando manual guarda automáticamente la entrada en el archivo de datos. Festo GDCP-CMXR-SW-ES es 1205c...
En la figura se muestra la selección de métodos del módulo de encoder de la unidad de mando manual. 20.9.4 Ajuste del encoder, método Set Con el método Set, el programa de usuario puede ajustar un valor de encoder incremental. Festo GDCP-CMXR-SW-ES es 1205c...
El método devuelve el valor incremental del encoder. Éste no se computa con el valor de conversión. Para leer el valor estándar se utiliza el elemento Value para acceder directamente al puerto de la entrada de encoder. Festo GDCP-CMXR-SW-ES es 1205c...
:= enc0.Read() 20.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 de PARADA DE EMERGENCIA de la cinemática.
20.10.3 Escritura de SDO, método WriteSDO Con el método WriteSDO es posible escribir conjuntos de datos en el bus CAN. Sintaxis: <COPDEVICE>.WriteSDO ( <index> : DINT, <subindex> : DINT, <data> : DINT, <type> : SdoDataType ) : BOOL Festo GDCP-CMXR-SW-ES es 1205c...
Tabla 20.23 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("método de recorrido de referencia leído: %1", dint_iData) Festo GDCP-CMXR-SW-ES es 1205c...
Índice de SDO subindex DINT Subíndice de SDO data DWORD Datos que se van a leer Tabla 20.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-ES es 1205c...
Cada señal analógica tiene forma de tipo de datos estructurados 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 1205c...
Página 212
21. 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 del tipo de datos REAL y puede utilizarse como una variable en el programa. Festo GDCP-CMXR-SW-ES es 1205c...
Tabla 22.1 Resumen de los eventos FTL Los nombres de eventos/programas mencionados en la tabla deben respetarse estrictamente. En la imagen siguiente, se han creado los 3 eventos onf1keypressed, onprogstart, onstartup en el proyecto “GLOBAL”. Sólo se puede reaccionar a estos eventos. Festo GDCP-CMXR-SW-ES es 1205c...
Nota Los nombres de los programas siempre se escriben en minúsculas debido al sistema de archivos del CMXR. Nota Si durante la ejecución de un programa de eventos se produce un error, esto conllevará una parada y la cancelación de este programa.
22.4 Evento arranque del control, <onstartup> Tras el arranque del control multieje CMXR se ejecuta una vez el programa de eventos “onstartup”. Una posible aplicación para este evento es, p. ej., la carga automática de un programa FTL.
Esto también incluye la parada de los ejes. Los eventos “onprogstart” y “onprogcontinue” se llaman antes de la ejecución del programa. Por consiguiente, en caso de utilizar estos eventos, siempre debe tenerse en cuenta la fijación temporal. Festo GDCP-CMXR-SW-ES es 1205c...
Esto puede realizarse mediante el uso de variables globales. Nota Al iniciar diferentes programas, debe tenerse en cuenta el orden arriba indicado para la ejecución de los programas de eventos y de los programas normales desencadenantes. Festo GDCP-CMXR-SW-ES es 1205c...
Glue. Si el programa FTL se detiene, en el evento “onproginterrupt” se almacena el estado actual de la salida digital en la variable GlueOpened y el aplicador se cierra. Programa “onproginterrupt” // Recordar estado de aplicación Festo GDCP-CMXR-SW-ES es 1205c...
Página 219
// Cerrar aplicador Glue.Reset() Si se reinicia el programa FTL parado, se ejecuta el programa de eventos “onprogcontinue”, donde se comprueba el estado de la variable GlueOpened y, en caso necesario, se vuelve a abrir el aplicador. Festo GDCP-CMXR-SW-ES es 1205c...
La unidad de mando manual CDSA dispone de 2 teclas de función con la designación F1 y F2 situadas en la parte izquierda de la barra inferior de teclas de función. Con la ayuda de los eventos de programa onf1keypressed, onf1keyreleased, onf2keypressed, onf2keyreleased se pueden utilizar estas dos teclas en la aplicación. Festo GDCP-CMXR-SW-ES es 1205c...
Página 221
Al continuar el programa (nueva instrucción de inicio), la pinza se sitúa en el estado en el que se encontraba al interrumpirse el programa. Programa “onprogcontinue” // Comprobar si la pinza estaba abierta IF(GripperOpen)THEN // Abrir pinza OpenGripper.Set() ELSE // Cerrar pinza OpenGripper.Reset() END_IF Festo GDCP-CMXR-SW-ES es 1205c...
Con esta instrucción se puede consultar si el modo de funcionamiento activo es automático o manual. Sintaxis GetAutoModeActive( ): BOOL GetManualModeActive( ): BOOL Valores devueltos: FALSE Modo de funcionamiento no activo TRUE Modo de funcionamiento activo Festo GDCP-CMXR-SW-ES es 1205c...
¡Atención! Si se ejecuta la instrucción “LoadProgram” fuera de un programa de eventos, esto provocará la parada y descarga del programa. De este modo, todas las líneas de programa siguientes ya no se ejecutarán. Festo GDCP-CMXR-SW-ES es 1205c...
Se cancela el evento de programa. Causa No está permitido utilizar instrucciones que influyan en la cinemática, p. ej. instrucciones de desplazamiento, datos dinámicos en programas de eventos. Medida Eliminar las instrucciones no permitidas del programa de eventos. Festo GDCP-CMXR-SW-ES es 1205c...
Página 225
Se cancela el evento de programa. Causa El evento de programa requiere demasiado tiempo. Posiblemente se han programado demasiadas instrucciones, una instrucción en espera (WaitTime) o un bucle sin fin. Medida Comprobar el programa y eliminar las instrucciones no permitidas. Festo GDCP-CMXR-SW-ES es 1205c...
Ejemplo: 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. Pos1 Pos2 Ipos1 Ipos2 Pos4 Pos3 Festo GDCP-CMXR-SW-ES es 1205c...
En este caso, el punto de conmutación se proyecta sobre la trayectoria del área de avance aproximado y se ejecuta. De este modo se pueden producir imprecisiones, cuyo alcance se desconoce y que se deben determinar mediante una puesta en funcionamiento. Festo GDCP-CMXR-SW-ES es 1205c...
El ejemplo siguiente muestra una ejecución de programa que no brinda el resultado deseado: Started := FALSE Lin(Home) Lin(Pos2) Started := TRUE Started THEN ELSE END_IF Debido al cálculo por adelantado del programa FTL, la instrucción IF siempre ejecutará la derivación ELSE. Festo GDCP-CMXR-SW-ES es 1205c...
La gráfica siguiente explica la definición del segmento: Segmento de trayectoria entre P1 y P2 Fin de segmento Inicio de segmento Punto de conmutación Festo GDCP-CMXR-SW-ES es 1205c...
área. Esto puede realizarse, p. ej., mediante la inserción de segmentos circulares que desemboquen de forma tangencial. Punto de conmutación proyectado y ejecutado Punto de conmutación programado, desplazado desde P2 Festo GDCP-CMXR-SW-ES es 1205c...
Se recorre una trayectoria y, tras un recorrido del 70% de la longitud del segmento entre la posición P0 y P1, debe abrirse una pinza. La instrucción DO se ejecuta aquí. Lin(P0) OnParam(70) Gripper.Set() Lin(P1) 100% Festo GDCP-CMXR-SW-ES es 1205c...
PTP. En caso de uso antes de instrucciones de desplazamiento PTP, se emite una advertencia. El efecto del offset de tiempo (parámetro timeMs) se trata en el capítulo 24.6 Offset de tiempo opcional de la página 238. Festo GDCP-CMXR-SW-ES es 1205c...
Página 233
En el caso de una referencia al fin del segmento, el offset se compensa en dirección al inicio del segmento. Nota El parámetro offset debe especificarse como valor positivo. Si se especifica un valor negativo, se emitirá un mensaje correspondiente. Festo GDCP-CMXR-SW-ES es 1205c...
Página 234
Fin de segmento Offset = 30 mm Ejemplo de punto de conmutación con distancia desde el fin del segmento: Lin(P1) OnDistance(FROMEND, 30) <Instrucción> Lin(P2) Lin(P3) Inicio de segmento Punto de conmutación Fin de segmento Offset = 30 mm Festo GDCP-CMXR-SW-ES es 1205c...
El plano de conmutación sólo puede activarse mediante movimien- tos cartesianos. Si es atravesado por un movimiento PTP, se emitirá una advertencia, puesto que el punto de conmutación no se puede calcular con un movimiento PTP. Festo GDCP-CMXR-SW-ES es 1205c...
Página 236
Puesto que el plano está situado en el punto cero del sistema de referencia, debe desplazarse correspondientemente en paralelo con el parámetro pos. P1´ 100 mm Plano XZ // Ida Lin(P0) OnPlane(XZPLANE, 100) mySignal := TRUE Lin(P1) Lin(P2) // Vuelta Lin(P1) OnPlane(XZPLANE, 100) mySignal := FALSE Lin(P0) Festo GDCP-CMXR-SW-ES es 1205c...
Si se ha asignado una variable a este parámetro, se escribe el valor en esta variable. Nota El valor siempre se programa por teach-in en el sistema de refe- rencia seleccionado. Éste se muestra en el cuadro de selección en la página de posición. Festo GDCP-CMXR-SW-ES es 1205c...
Ejemplo de offset de tiempo negativo en el segmento: Offset de tiempo negativo Lin(P1) OnDistance(FROMEND, 0, -250) Lamp.Set() Lin(P2) Punto de Offset conmutación Ejemplo con offset de tiempo positivo: Offset de tiempo positivo Lin(P1) OnDistance(FROMEND, 0, 250) Lamp.Set() Lin(P2) Punto de Offset conmutación Festo GDCP-CMXR-SW-ES es 1205c...
Si al indicar el valor temporal se infringen los valores máximos permitidos, se emite un mensaje de advertencia. Dentro de este mensaje se incluye la macro de punto de conmutación con la indicación del programa y de la línea de programa en cuestión. Festo GDCP-CMXR-SW-ES es 1205c...
Si se inicia el programa mostrado en la imagen siguiente, no se puede ejecutar el punto de conmutación programado donde está situado el indicador de programa. Festo GDCP-CMXR-SW-ES es 1205c...
<Ovr>). De este modo el override se fija una vez mediante el programa FTL. Se puede realizar una modificación manual en cualquier momento. Ejemplo: // Ajuste del override al 100% Ovr(100) Lin(HomePos) Lin(pos1) // Punto de conmutación OnDist(FROMEND, Offset, -55) Gripper.Set() Lin(pos2) Lin(pos3) Festo GDCP-CMXR-SW-ES es 1205c...
Si al parar el programa ya se están calculando puntos de conmutación de trayectoria, esto repercutirá en la ejecución y, por consiguiente, en la precisión al volver a iniciar el programa. Esto puede provocar mermas de calidad. Festo GDCP-CMXR-SW-ES es 1205c...
Este mensaje incluye la información siguiente: Nombre de la macro de punto de conmutación del programa FTL Nombre de proyecto y programa Número de línea Festo GDCP-CMXR-SW-ES es 1205c...
Para detectar si una pila 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-ES es 1205c...
Página 245
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-ES es 1205c...
Página 246
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 1205c...
SetError(“Timeout over”) RETURN END_IF // Reanudar ejecución Lin(pos) Nota La edición de un mensaje de error provoca la detención del movimiento. No es posible reanudar la ejecución hasta que se acuse recibo del mensaje de error. Festo GDCP-CMXR-SW-ES es 1205c...
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 1205c...
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 de salida digital. Festo GDCP-CMXR-SW-ES es 1205c...
Página 251
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 1205c...
Página 252
25. 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 1205c...
Una pieza debe transportarse desde la posición pos2 a la posición pos4. pos1 pos3 pos2 pos4 Se utiliza una pinza paralela con técnica de sensores 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-ES es 1205c...
Página 254
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 1205c...
Página 255
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 1205c...
25. Ejemplos 25.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 del actuador giratorio.
Página 257
// 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-ES es 1205c...
Página 258
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 1205c...
Página 259
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 1205c...
En el primer paso, el PLC señaliza que se han enviado los datos. En el momento en que el 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 de flujo siguiente.
// 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-ES es 1205c...
Página 262
25. 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-ES es 1205c...
Representación del árbol de menús de la unidad de mando manual CDSA: Interface PLC ProgHold Funciones ABS ACOS ACOT ASIN ATAN ATAN2 COS COT EXP LN Funciones de posición o ReadActualPos o ReadTargetPos o SavePosition Festo GDCP-CMXR-SW-ES es 1205c...
Página 270
Instrucciones de robot Sistemas de referencia o SetRefSys o SetRefSys3P o SetRefSysDyn o SetRefSysWorld Modo de la cinemática o SetRobotMode o GetRobotMode Tool Funciones del sistema Cronometraje o GetManualModeAcitve o GetAutoModeActive o Tiempo o TimeToStr o LoadProgram Festo GDCP-CMXR-SW-ES es 1205c...
Página 271
Sistema de comunicación SetError SetInfo SetWarning Módulos E/S Entradas analógicas o AIN.Read o AIN.WaitGrt o AIN.WaitIns o AIN.WaitLss o AIN.WaitOuts Salidas analógicas o AOUT.Read o AOUT.WaitGrt o AOUT.WaitIns o AOUT.WaitLss o AOUT.WaitOuts o AOUT.Write Festo GDCP-CMXR-SW-ES es 1205c...
Página 272
DOUT.WaitN o DOUT.Write Encoder incremental o ENCODER.Read o ENCODER.Set Funciones tecnológicas Seguimiento de objetos o CONVEYOR.Begin o CONVEYOR.End o CONVEYOR.Done o CONVEYOR.Wait o CONVEYOR.WaitReachable Puntos de conmutación de la trayectoria o OnDistance o OnParamter o OnPlane Festo GDCP-CMXR-SW-ES es 1205c...
CMXR-C1 Código de tipo Festo para el modelo básico CMXR C1 CMXR-C2 Código de tipo Festo para el modelo CMXR de la clase superior CoDeSys Nombre del control PLC integrado, que se puede programar según IEC 61131-3 y que funciona en un procesador junto con la robótica.
D. Índice D. Índice Festo GDCP-CMXR-SW-ES es 1205c...
Página 275
MoveAxisCart ........74 Control del avance de proceso ..250 MoveAxisPtp ........74 Detención de movimientos ..... 246 Empleo de la interface PLC....262 Empleo de los módulos de entrada y ORD ..........173 salida .......... 249 Festo GDCP-CMXR-SW-ES es 1205c...