Página 1
Controlador Descripción Instrucciones de programación Tipo CMXR-C1 Descripción 560 317 es 0805NH [729 225]...
Página 3
Edición ____________________________________________________________ es 0805NH Designación _________________________________________________ GDCP-CMXR-SW-ES Nº de art. ____________________________________________________________ 560 317 Festo AG & Co KG., D-73734 Esslingen, 2008 Internet: http://www.festo.com E-mail: service_international@festo.com Sin nuestra expresa autorización, queda terminantemente prohibida la reproducción total o parcial de este documento, así como su uso indebido y/o su exhibición o comunicación a terceros.
Página 4
Lista de revisiones Autor: Nombre del manual: GDCP-CMXR-SW-ES Nombre del archivo: Lugar de almacenamiento del archivo: Nº de art. Descripción Indicador de revisión Fecha de modificación Confección es 0805NH 25.06.2008 Festo GDCP-CMXR-SW-ES es 0805NH...
Cadenas de caracteres ..................24 Operadores y caracteres de delimitación ............24 4.6.1 Operadores aritméticos ..............24 4.6.2 Operadores lógicos ................25 4.6.3 Operadores comparativos ..............25 4.6.4 Otros operadores ................25 4.6.5 Caracteres de delimitación ..............26 Festo GDCP-CMXR-SW-ES es 0805NH...
Página 6
Desactivar línea de programa <##> ..............46 Instrucciones de movimiento ................48 Descripción de la posición ................. 48 9.1.1 Posición de eje ................... 49 9.1.2 Posición cartesiana ................51 Movimiento punto a punto <Ptp> ................ 52 Festo GDCP-CMXR-SW-ES es 0805NH...
Página 7
Datos del sistema de referencia ................. 90 11.7 Sistema de referencia con valores directos <SetRefSys> ........91 11.8 Sistema de referencia con tres puntos <SetRefSys3P> ........92 11.9 Sistema de referencia universal <SetRefSysWorld> ..........93 11.10 Ejemplo ......................94 Festo GDCP-CMXR-SW-ES es 0805NH...
Página 9
Escritura del valor de salida, método Write ........155 17.7.5 Espera a que el valor sea mayor/menor, métodos WaitLss, WaitGrt .. 155 17.7.6 Espera a que el valor entre/salga de un margen, métodos WaitIns, WaitOuts ......................156 Festo GDCP-CMXR-SW-ES es 0805NH...
Página 10
19.4.2 Pinzas paralelas neumáticas ............180 19.4.3 Unidad giratoria con pinzas neumáticas ........... 183 19.5 Empleo de la interface PLC ................187 19.5.1 Tarea ....................187 19.5.2 Interface PLC ..................187 19.5.3 Programa secuencial ................ 188 Festo GDCP-CMXR-SW-ES es 0805NH...
En este documento se describe el juego de instrucciones FTL (Festo Teach Language) del control multieje CMXR con la versión de software 1.0. La programación del control CMXR se efectúa con la unidad manual CDSA-D1-VX o con el plugin CMXR del Festo Configuration Tool (FCT).
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.
Peligro de muerte, lesiones graves y daños materiales por movi- miento accidental de los ejes. Medidas de seguridad sobre este manual Advertencia PELIGRO La inobservancia puede tener como consecuencia daños materiales y lesiones físicas graves. Atención La inobservancia puede tener como consecuencia daños materiales graves. Festo GDCP-CMXR-SW-ES es 0805NH...
Ello puede provocar lesiones físicas y daños materiales o ambien- tales graves. Por tanto, para la instalación posterior de componentes o las modificaciones de la instalación con accesorios de equipo de otros fabricantes debe contarse con la autorización de Festo. Advertencia PELIGRO Peligro por alta tensión.
Proceso de programas Informaciones generales FTL es la sigla que se obtiene de Festo Teach Language. FTL es un lenguaje de programación y sirve para programar los controles CMXR. El FTL es un lenguaje de programación para robótica y sistemas de manipulación muy completo pero fácil de aprender y dominar.
Página 16
La flecha inferior marca la instrucción activa del cálculo por adelantado de proceso. La distancia entre las dos flechas es el avance de proceso. Más información y ejemplos sobre el avance de proceso se describen en el capítulo 19.3 Control del avance de proceso. Festo GDCP-CMXR-SW-ES es 0805NH...
Un proyecto FTL se guarda como subdirectorio en el directorio de aplicación. El nombre de directorio es el título del proyecto y tiene la extensión “tt”. Ejemplos de títulos de proyecto: Proyecto “_global” Proyecto “cube” Proyecto “PickPlace” Festo GDCP-CMXR-SW-ES es 0805NH...
Si el programa se guarda mediante la unidad manual CDSA o mediante el editor de pro- gramación de Festo (en el Festo Configuration Tool), el archivo de datos locales de pro- grama se genera automáticamente. Si la generación de programa se efectúa con otro software, debe observar que se guarde el archivo de datos correspondiente para cada programa.
Otros programas o proyectos no tienen acceso a estos datos. En la figura siguiente se muestran los programas “Fill” y “Sort”. Cada uno de estos programas posee datos locales y datos de programa guardados en los archivos correspondientes. Festo GDCP-CMXR-SW-ES es 0805NH...
Como todos los programas tienen acceso a los datos compartidos de sistema, estos datos deben utilizarse con cuidado. Compruebe que varios programas no puedan acceder simultáneamente a estos datos. Si es necesario, bloquéelos con las medidas necesarias en la aplicación. Festo GDCP-CMXR-SW-ES es 0805NH...
: CARTPOS := (100, 50, 100, 0, 0, 0) cpos2 : CARTPOS := (600, 550, 100, 180, 0, 0) índice : DINT := 17 Los tipos de variables posibles se describen en los capítulos siguientes. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 22
Al descargar el proyecto/programa o en caso de caída de tensión de alimentación se pierden los datos modificados en el programa. Indicación Para guardar de manera permanente los valores de posición en la tarjeta de memoria puede utilizarse la macro “SavePosition”. Festo GDCP-CMXR-SW-ES es 0805NH...
Lista de todas las palabras clave: CALL THEN END_IF ELSIF ELSE GOTO LABEL WHILE END_WHILE LOOP END_LOOP RETURN KILL BOOL DINT DWORD REAL STRING El resto de tipos de datos creados a partir de estas claves también son palabras clave. Festo GDCP-CMXR-SW-ES es 0805NH...
Pueden incluir todos los caracteres imprimibles. La longitud de una cadena está limitada a 255 caracteres. Son válidos todos los caracteres ASCII. Ejemplo de una cadena de caracteres válida: “Control multieje CMXR-C1” Operadores y caracteres de delimitación Los operadores se utilizan en expresiones y describen cómo conectar los valores de variables y las constantes numéricas.
Tabla 4.3 Operadores comparativos 4.6.4 Otros operadores Operadores Significado Operador punto para acceder a los elementos de la estructura Operadores corchetes para acceder a matrices Paréntesis para, p. ej., listas de parámetros Tabla 4.4 Otros operadores Festo GDCP-CMXR-SW-ES es 0805NH...
4. Estructura del lenguaje 4.6.5 Caracteres de delimitación Operadores Significado Asignación de valor para variables Carácter se separación para instanciar variables Carácter de enumeración en listas de parámetros para llamar a funciones o macros Tabla 4.5 Caracteres de delimitación Festo GDCP-CMXR-SW-ES es 0805NH...
De\a BOOL Números Patrón de bits REAL STRING enteros BOOL Sí Números enteros Sí Sí Sí Patrón de bits Sí Sí REAL Sí Sí STRING Sí Tabla 5.3 Asignaciones posibles Festo GDCP-CMXR-SW-ES es 0805NH...
REAL a DINT, el sistema elimina las posiciones decimales. Ejemplos de conversiones de tipos: Variables: presión : REAL índice : DINT Código de programa: presión := 1.53 índice := presión // Conversión REAL->DINT La variable “índice” recibe el valor “1” después de la conversión. Festo GDCP-CMXR-SW-ES es 0805NH...
Las matrices se utilizan para agrupar tipos de datos iguales en una unidad ordenada. El acceso a cada uno de los elementos de la matriz se realiza con un índice. No es posible crear matrices a nivel de usuario. Éstas se utilizan, p. ej., dentro de la inter- face PLC. Festo GDCP-CMXR-SW-ES es 0805NH...
Las variables reales también pueden inicializarse con valores enteros. Ejemplo de inicializaciones válidas: índice : DINT := 1 : REAL := 3.1415 radio : REAL := 10 flag : BOOL := TRUE mensaje : STRING := "Hola" Festo GDCP-CMXR-SW-ES es 0805NH...
éstos deberán efectuarse mediante varias instrucciones. Los operandos booleanos permiten establecer varios enlaces en una instrucción. Para los ejemplos siguientes se van a utilizar las variables indicadas a continuación: marcador : BOOL flag1 : BOOL flag2 : BOOL flag3 : BOOL Festo GDCP-CMXR-SW-ES es 0805NH...
Página 33
No está permitido utilizar varios enlaces con operandos compara- tivos dentro de una condición. Ejemplo para programar una condición con varios enlaces: flag1 := índice < 10 flag2 := índice > 0 IF flag1 AND flag2 THEN END_IF Festo GDCP-CMXR-SW-ES es 0805NH...
TRUE o FALSE, se avanza a la posición PosStart. IF piezaOk AND NOT piezaMala THEN // Pieza buena Lin(pos12) Lin(pos13) ELSIF NOT piezaOk AND piezaMala THEN // Pieza desechable Lin(pos3) Lin(pos4) ELSE Lin(posStart) // Ningunas señales definidas END_IF Festo GDCP-CMXR-SW-ES es 0805NH...
Para que el sistema detecte una marca de salto, la palabra clave LABEL se coloca delante. Sintaxis LABEL <marca de salto> Con las instrucciones de salto descritas a continuación puede saltarse a la marca de salto. Festo GDCP-CMXR-SW-ES es 0805NH...
Los bucles son instrucciones del programa que repiten una parte definida del mismo de manera condicional o incondicional. Con ellos es posible abreviar considerablemente los programas dependiendo de la tarea, p. ej., extracción de piezas de una paleta cuyas posiciones pueden calcularse partiendo de la disposición conocida. Festo GDCP-CMXR-SW-ES es 0805NH...
Si el valor final es inferior a 1, el bucle no se ejecuta sino que se salta. Después de cada pasada, el valor de las variables de bucle suma uno y el valor final se calcula de nuevo. El bucle puede contener un número ilimitado de instrucciones. Festo GDCP-CMXR-SW-ES es 0805NH...
último se activa desde un programa y no directamente desde el proyecto. Proceso: Mientras se procesa el subprograma, el programa que lo ha llamado espera a que acabe. Al finalizar el subprograma se retorna automáticamente al programa superior, que se reanuda. Festo GDCP-CMXR-SW-ES es 0805NH...
No es posible realizar llamadas recursivas de programas. Por tanto, un programa no se puede llamar a sí mismo. Además, tampoco es posible llamar al programa que está llamando. Sintaxis CALL <nombre del programa> ( ) Festo GDCP-CMXR-SW-ES es 0805NH...
éstos terminan. El programa principal se reanuda. Ejemplo: CALL VerificarPieza()// Llamar al subprograma VerificarPieza IF NOT piezaOk THEN estadoPieza := 10 // Variable global para el valor de retorno RETURN // Adelanto del fin de programa END_IF Lin(pos3) Festo GDCP-CMXR-SW-ES es 0805NH...
Programa paralelo En este ejemplo, el programa “feed” llama al programa paralelo “calculate”. El programa “calculate” espera primero a una señal e incrementa el contador con una unidad. Mientras tanto, el programa principal “feed” sigue procesando. Festo GDCP-CMXR-SW-ES es 0805NH...
El tiempo de espera empieza a contar una vez ejecutada la instrucción anterior. Transcurrido este tiempo se reanuda el programa. Sintaxis WaitTime (<timeMS >: DINT) Festo GDCP-CMXR-SW-ES es 0805NH...
70 ms Tiempo pos2 Pos2 Pos1 8.10 Instrucción condicional WAIT <WAIT> La instrucción WAIT condicional permite interrogar estados binarios. Este estado puede estar compuesto por una única variable booleana, una combinación de interrogaciones o una sola interrogación. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 44
En la condición de la instrucción WAIT pueden utilizarse los tipos de datos básicos BOOL, REAL y DINT con operadores lógicos y operadores comparativos. No es posible utilizar los operadores aritméticos ni de bits. Sintaxis WAIT <condición> Festo GDCP-CMXR-SW-ES es 0805NH...
Página 45
// Esperar a que haya una pieza Lin(pos1) // Avanzar hasta pieza Lin(pos2) // Avanzar sobre pieza Lin(pos3) // Avanzar sobre bandeja Lin(pos4) // Posar pieza WaitTime(0) // Esperar a proceso principal Vacuum.Reset() // Vacío desconectado Lin(pos3) // Avanzar sobre bandeja Festo GDCP-CMXR-SW-ES es 0805NH...
Con la secuencia de caracteres "##" se desactivan las líneas de programa para el proceso del programa pero se conserva la verificación de la sintaxis. Indicación ## <instrucción de programa> Ello implica: Una instrucción FTL no se procesa en el programa, es decir, el contenido no afecta de ningún modo. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 47
IF..THEN…ELSE, deben desactivarse todas las líneas de programa correspondientes. En la figura siguiente se muestra la máscara del programa de la unidad manual con instrucciones del programa desactivas en las líneas 8 a 10: Festo GDCP-CMXR-SW-ES es 0805NH...
(transformaciones de coordenadas). Para más información consulte la descripción de instrucciones. Los tipos de datos AXISPOS y CARTPOS son de tipo estructurado (véase el capítulo 5.4 Tipos de datos estructurados en la página 29). Festo GDCP-CMXR-SW-ES es 0805NH...
: AXISPOS := (100, 50, 30, 0, 0, 0, 0, 0, 0) posA1 : REAL posA2 : REAL Programa: Lin(startPos) // Avanzar a startPos posA1 := startPos.a1 // Guardar valor de eje convertido 1 posA2 := startPos.a2 // Guardar valor de eje convertido 2 Festo GDCP-CMXR-SW-ES es 0805NH...
Página 50
Posición eje 5, no existe : REAL Posición eje 6, no existe : REAL Posición eje auxiliar 1, no existe : REAL Posición eje auxiliar 2, no existe : REAL Posición eje auxiliar 3, no existe Festo GDCP-CMXR-SW-ES es 0805NH...
El eje más lento determina la dinámica. El movimiento del TCP se obtiene en este caso de la combinación del movimiento de ejes individuales. El movimiento en el TCP no está definido. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 53
El control multieje CMXR transforma las posiciones como corresponde. Ejemplo: Debe posicionarse un pórtico cartesiano con tres ejes X, Y, Z y un eje de rotación con pinza. 1 Eje Y 2 Eje Z 3 Eje de rotación con pinza 4 Eje X Variable: Festo GDCP-CMXR-SW-ES es 0805NH...
Página 54
Como la herramienta posee una asimetría con el eje Z, esta trayectoria se comporta de un modo inesperado ya que, con la interpolación síncrona, todos los ejes se desplazan juntos a su punto de destino sin tener en cuenta la trayectoria descrita. Festo GDCP-CMXR-SW-ES es 0805NH...
La indicación de distancia puede ser cartesiana o relativa a cada eje. El control CMXR transforma las posiciones como corresponde. Ejemplo: En una aplicación de manipulación, la pieza se desplaza a cuatro posiciones, cada una a una unidad de medición. Eje Z pos1 pos3 pos2 Eje X Festo GDCP-CMXR-SW-ES es 0805NH...
Página 56
// Llamada de ciclo de comprobación PtpRel(distZpos) PtpRel(distX) Ptp(pos3) El ciclo de medición de la pieza, así como su evaluación, se procesan en el subprograma “verificar”. El contenido del subprograma no se representa para una mayor simplificación. Festo GDCP-CMXR-SW-ES es 0805NH...
Eje 3 = Eje Z Eje 4 = Eje de rotación de la herramienta En el ejemplo debe recogerse una pieza en una posición y posarse en otra. Para ello, el eje de rotación debe estar posicionado como corresponde. Festo GDCP-CMXR-SW-ES es 0805NH...
Unidad Posición de destino absoluta AXISPOS o CARTPOS Tabla 9.5 Parámetro de la instrucción Lin La indicación de posición puede ser cartesiana o relativa a cada eje. El control multieje CMXR transforma las posiciones como corresponde. Festo GDCP-CMXR-SW-ES es 0805NH...
Dist Posición de destino relativa AXISDIST o CARTDIST Tabla 9.6 Parámetro de la instrucción LinRel La indicación de distancia puede ser cartesiana o relativa a cada eje. El control multieje CMXR transforma las posiciones como corresponde. Festo GDCP-CMXR-SW-ES es 0805NH...
El radio de la trayectoria circular se obtiene a partir de un cálculo interno con punto inicial, punto de apoyo y punto final de la trayectoria circular. Festo GDCP-CMXR-SW-ES es 0805NH...
La trayectoria circular se efectúa en un plano definido a partir de los tres puntos: punto inicial, punto de apoyo y punto final. Con esta definición se extiende el plano en el espacio donde se va a describir la trayectoria circular. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 65
En la figura se muestra una trayectoria circular con sus tres puntos de apoyo, que definen un plano en el espacio donde se encuentra la trayectoria. Indicación La trayectoria circular siempre está en un plano. No es posible realizar una interpolación helicoidal con una interpolación adicional perpendicular al plano. Festo GDCP-CMXR-SW-ES es 0805NH...
Si este punto se desplaza, la trayectoria circular sufre una modificación. Ésta puede ser incontrolada y provocar una colisión. La modificación del punto inicial no genera necesariamente un mensaje de error ya que el resultado es correcto. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 67
: CARTPOS := (1050, 400, 0, 0, 0, 0, 0, 0, 0) EndPos : CARTPOS := (950, 300, 0, 0, 0, 0, 0, 0, 0) Programa: Lin(pos1) // Aproximar a punto inicial CircIp(IpPos, EndPos) // Movimiento circular en punto final Lin(pos2) // Arrancar Festo GDCP-CMXR-SW-ES es 0805NH...
AXISPOS o CARTPOS Punto final del arco AXISPOS o CARTPOS Tabla 9.8 Parámetros de la instrucción PtpToCircIp La indicación de posiciones puede ser cartesiana o relativa a cada eje. El control multieje CMXR transforma las posiciones como corresponde. Festo GDCP-CMXR-SW-ES es 0805NH...
Punto final EndPos Posición Pos1 Eje X 1050 El plano del eje Z es 0. La aproximación al punto inicial del arco se realiza con un movimiento lineal. El punto inicial se transmite con la instrucción LinToCirc. Variables: Festo GDCP-CMXR-SW-ES es 0805NH...
Una vez detectado el estado, la instrucción StopMove detiene el movimiento. En el capítulo 19.1 Detención de movimientos en la página 171 se da un ejemplo de utiliza- ción de la instrucción StopMove. Festo GDCP-CMXR-SW-ES es 0805NH...
Indicación Si no se indica el parámetro opcional ValueDec (para la rampa de frenado), el valor del parámetro ValueAcc (para la aceleración) se utilizará para la rampa de frenado. En ese caso, el perfil es simétrico. Festo GDCP-CMXR-SW-ES es 0805NH...
Tipo de movimiento Enumeración: dynPtp, dynCart Value Tipo de sacudida Tabla 10.5 Parámetro de la instrucción Jerk Parámetros de Tipo de movimiento Unidad enumeración Mode dynPtp Punto a punto dynCart Cartesiano mm/s³ Tabla 10.6 Unidades del parámetro Value Festo GDCP-CMXR-SW-ES es 0805NH...
Página 75
: AXISPOS := (60, 60, 0, 0, 0, 0, 0, 0, 0) pos2 : AXISPOS := (100, 60, 0, 0, 0, 0, 0, 0, 0) Programa: Ptp(pos0) Jerk(dynPtp, 50) // Sacudida para PTP al 50% Ptp(pos1) Jerk(dynCart, 5000) // Sacudida en la trayectoria a 5000 mm/s³ Lin(pos2) Festo GDCP-CMXR-SW-ES es 0805NH...
Con la instrucción Ovr puede ajustarse directamente un valor de override en el programa. Éste tiene el mismo efecto que una modificación efectuada con las teclas de la unidad manual. Festo GDCP-CMXR-SW-ES es 0805NH...
Sintaxis DynOvr ( <Value> : REAL) Parámetro Significado Unidad Value Valor del override dinámico Porcentaje Tabla 10.8 Parámetro de la instrucción DynOvr Indicación El override no modifica la trayectoria. Festo GDCP-CMXR-SW-ES es 0805NH...
Forma de rampa trape- Tiempo con un factor aproximado zoidal con un factor 0,5 de 0,1 Si no se indica el parámetro opcional, éste se ajusta automáticamente al factor 0,5 y se obtiene el triángulo de aceleración. Festo GDCP-CMXR-SW-ES es 0805NH...
Ramp( <Ramptype> : ENUM, OPT <Param> : REAL) Parámetros Significado Unidad Tipo de rampa Tipo de rampa, selecciona la forma de rampa Enumeración: TRAPEZOID SINE SINESQUARE MINJERK Param Parámetro para rampas trapezoidales ----- Tabla 10.9 Parámetros de la instrucción Ramp Festo GDCP-CMXR-SW-ES es 0805NH...
El control multieje CMXR calcula la velocidad posible de trayectoria basándose en la trayectoria y en los valores dinámicos máximos de la mecánica. El límite de la velocidad posible de trayectoria lo determina la dinámica de la mecánica. Si es necesario programar Festo GDCP-CMXR-SW-ES es 0805NH...
Página 81
Es decir, si el robot no alcanza la velocidad máxima debido al límite impuesto por un over- ride, la monitorización se activa y se genera un error. Ejemplo: Programa: Lin(pos1) VconstOn(25, TRUE) Lin(pos2) Lin(pos3) VconstOff() Festo GDCP-CMXR-SW-ES es 0805NH...
VconstOff ( ) Indicación La interrupción del programa de usuario no provoca la desconexión automática de la monitorización de la velocidad de trayectoria. Al volver a arrancar el programa de usuario debe desconectarse siempre primero la monitorización. Festo GDCP-CMXR-SW-ES es 0805NH...
El avance aproximado se efectúa de dos maneras: 1. Avance aproximado por velocidad basado en la velocidad. 2. Avance aproximado por posición basado en una distancia predefinida. En las páginas siguientes se describen estos tipos. Festo GDCP-CMXR-SW-ES es 0805NH...
Si la longitud del segmento de trayectoria es demasiado corta, ello puede provocar bajones de dinámica incontrolados si se redujo el área de avance aproximado definida. Para evitarlo debe adaptarse la trayectoria o el área de avance aproximado. Festo GDCP-CMXR-SW-ES es 0805NH...
100%. En la figura siguiente se muestran los perfiles de velocidad en un recorrido a las posiciones 1 y 2. En el recorrido se han definido diferentes valores para el área de avance aproximado. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 86
área de avance aproximado no es un radio, sino una curva desco- nocida que se deriva de los valores dinámicos actuales de los ejes. Ejemplo: OvlVel(100) // Avance aproximado al 100% Lin(pos1) Lin(pos2) OvlVel(75) // Avance aproximado al 75% Lin(pos3) Festo GDCP-CMXR-SW-ES es 0805NH...
Sintaxis OvlCart (<Radius> : REAL) Parámetro Significado Unidad Radio Radio de avance aproximado, distancia al Unidad de longitud ajustada punto final Tabla 11.2 Parámetro de la instrucción OvlCart Festo GDCP-CMXR-SW-ES es 0805NH...
Página 88
5 mm. Radio de avance aproximado Vel(dynCart, 300) // Velocidad de trayectoria a 300 mm/s VconstOn(25, TRUE) // Conectar vel. trayectoria const. OvlCart(5) // Ajustar área de avance aproximado Lin(p1) Lin(p2) Lin(p3) Lin(p4) Lin(p5) Lin(p6) Festo GDCP-CMXR-SW-ES es 0805NH...
Indicación El anidamiento de sistemas de referencia debe efectuarse con precaución. En ocasiones éste es un mecanismo útil para una programación eficiente aunque dificulta la lectura del programa y el anidamiento descuidado puede provocar colisiones. Festo GDCP-CMXR-SW-ES es 0805NH...
RefSys. Con el parámetro RefSys pueden indicarse todas las posibilidades en los tipos de datos. A continuación se describen las instrucciones para activar un sistema de referencia. Festo GDCP-CMXR-SW-ES es 0805NH...
Para referenciar el robot respecto al sistema de coordenadas universales, debe efectuarse respecto a la variable de sistema _system.world. Ejemplo: Datos: refsysdata0 : REFSYSDATA := (MAPX("_system.world"), 100, 150, 0, 0, 0, 0) Programa: SetRefSys(refsysdata0) Festo GDCP-CMXR-SW-ES es 0805NH...
Con el parámetro baseRs puede indicarse otra referencia, la cual tiene efecto aditivo en el sistema de referencia. Para referenciar el robot respecto al sistema de coordenadas uni- versales, debe efectuarse respecto a la variable de sistema _system.world. Festo GDCP-CMXR-SW-ES es 0805NH...
Sintaxis SetRefSysWorld() Si un sistema de referencia se activa con la instrucción SetRefSys o SetRefsys3P y se desea desactivar dicho sistema en un punto determinado del programa, se utiliza la instrucción SetRefSysWorld. Festo GDCP-CMXR-SW-ES es 0805NH...
// Desplazamiento de paleta 1 en Y refPal2.x := 1500 // Desplazamiento de paleta 2 en X refPal2.y := 300 // Desplazamiento de paleta 2 en Y Lin(pos1) // Avance a seguridad en el sistema universal Festo GDCP-CMXR-SW-ES es 0805NH...
Página 95
SetRefSys(refPal1) // Activar desplazamiento de paleta 1 CALL Feed() // Llamar a subprograma Feed (alimentar piezas) SetRefSys(refPal2) // Activar desplazamiento de paleta 2 CALL Feed() // Llamar a subprograma Feed SetRefSysWorld() // Activar sistema universal Lin(pos1) Festo GDCP-CMXR-SW-ES es 0805NH...
En este caso, unos valores dinámicos elevados razonables. Indicación Los parámetros refData y timeout son opcionales. Si no se indican, la posición real actual se toma como posición de referencia (DS 402 - método 35). Festo GDCP-CMXR-SW-ES es 0805NH...
Página 97
Interruptor de referencia Interruptor de referencia Negativo Impulso de puesta a cero Impulso de puesta a cero Positivo Impulso de puesta a cero Impulso de puesta a cero Ningún recorrido Posición real actual Tabla 12.3 Métodos del recorrido de referencia Festo GDCP-CMXR-SW-ES es 0805NH...
Conjunto de datos del recorrido de referencia, Ninguna p. ej., cómo se va a referenciar timeout Tiempo para el desarrollo de la operación Segundos (después se emite un mensaje de error, la referenciación se interrumpe) Tabla 12.4 Parámetros de la instrucción RefAxisAsync Festo GDCP-CMXR-SW-ES es 0805NH...
Página 99
En este caso, unos valores dinámicos elevados razonables. Los parámetros y su funcionamiento se corresponden con la instrucción RefAxis. Festo GDCP-CMXR-SW-ES es 0805NH...
Si no aparece ningún error en el recorrido de referencia se emite TRUE, de lo contrario, FALSE. Programa: RefAxisAsync(A1, refdata0) RefAxisAsync(A2, refdata0) RefAxisAsync(A3, refdata0) RefAxisAsync(A4) boolReference := WaitRefFinished() IF NOT boolReference THEN SetError("error en la referenciación") END_IF Festo GDCP-CMXR-SW-ES es 0805NH...
IsAxisReferenced(axis : AXIS ) : BOOL Parámetro Significado Unidad Eje seleccionado objeto de la Enumeración A1, A2, hasta A9 interrogación Tabla 12.5 Parámetro de la instrucción IsAxisReferenced Si el eje indicado está referenciado se emite TRUE, de lo contrario, FALSE. Festo GDCP-CMXR-SW-ES es 0805NH...
Desplazamiento a lo largo del eje Z : REAL Indicación de orientación, rotación alrededor del eje Z : REAL Indicación de orientación, rotación alrededor del eje Y rotado : REAL Indicación de orientación, rotación alrededor del eje Z rotado Festo GDCP-CMXR-SW-ES es 0805NH...
Página 103
30° B = 0 Asimetría en Z C = 0 La orientación del sistema de coorde- nadas de herramienta no cambia. Si Asimetría en X es necesario, deberá ajustarse con los parámetros A, B y C. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 104
El programador debe asegurarse de asignar correctamente los datos TCP a la herramienta. El control multieje CMXR no conoce ninguna referencia de los datos de herramienta en relación a la herramienta física. Atención Si los datos TCP son inadecuados o incorrectos hay peligro de colisión. Festo GDCP-CMXR-SW-ES es 0805NH...
Estos datos TCP actuales se incluyen en el cálculo de la planificación de trayectoria de las instrucciones de movimiento siguientes. A continuación se presenta un ejemplo en el que se describe el comportamiento de los datos de herramienta aplicados a un eje giratorio neumático. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 106
= Longitud de herramienta Desplazamiento a lo largo del eje Z Rotación de Euler, rotación alrededor del eje Z Rotación de Euler, rotación alrededor del eje Y rotado Rotación de Euler, rotación alrededor del eje Z rotado Festo GDCP-CMXR-SW-ES es 0805NH...
Página 107
Nuestro robot cartesiano debe desplazarse con la herramienta vertical de una posición 1 a otra 2. A continuación, el eje giratorio gira la herramienta. Ahora, la herramienta girada debe desplazarse a la posición 2. Desplazamiento de pos1 a pos2: Tool(tool1) Lin(pos1) Lin(pos2) Festo GDCP-CMXR-SW-ES es 0805NH...
Página 108
El movimiento giratorio provoca que el Tool Center Point (TCP) se desplace hacia arriba. Debido al eje neumático, el control no puede efectuar automáticamente movimientos de compensación. Para aproximarse a la posición 2 debe definirse la orientación nueva de la herramienta. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 109
Con el eje giratorio eléctrico se programa la orientación deseada dentro de una instrucción de desplazamiento. A continuación, el control CMXR calcula automáticamente la posición de los ejes teniendo en cuenta la orientación programada. Festo GDCP-CMXR-SW-ES es 0805NH...
[ <Arrayindex> ] : BOOL plc_OutBool [ <Arrayindex> ] : BOOL En las variables de matriz plc_InBool están guardadas todas las señales de entrada. La variable de matriz plc_OutBool contiene todos los datos de salida. Ejemplo: Festo GDCP-CMXR-SW-ES es 0805NH...
IF plc_Dint[3] = 13 THEN END_IF 14.3 Posiciones La interface soporta dos tipos de datos de posición. Desde el control externo es posible enviar posiciones de eje y posiciones cartesianas al control multieje CMXR. El número Festo GDCP-CMXR-SW-ES es 0805NH...
Página 112
[ <Arrayindex> ] : AXISPOS plc_CartPos [ <Arrayindex> ] : CARTPOS La variable de interface plc_AxisPos contiene 256 posiciones del tipo de dato AXISPOS; la variable plc_CartPos contiene 256 posiciones del tipo de dato CARTPOS. Ejemplo: Ptp(plc_AxisPos[17]) Lin(plc_AxisPos[18]) Lin(plc_AxisPos[19]) Lin(plc_CartPos[1]) Festo GDCP-CMXR-SW-ES es 0805NH...
Los sistemas de referencia que se establecen a través de la interface externa sólo pueden enlazarse dentro de los sistemas de referencia de la interface. No es posible referenciar a un sistema de referencia definido fuera de la interface. Ejemplo: Lin(pos2) SetRefSys (plc_RefSys [3] ) Lin(pos3) Lin(pos4) Festo GDCP-CMXR-SW-ES es 0805NH...
El programa del ejemplo se aproxima a diferentes posiciones estando ajustado un avance aproximado por velocidad del 100%. Si la señal de la pausa programada está activada, el programa se para en este punto. Con ello se obtiene el siguiente desarrollo de velocidad: Festo GDCP-CMXR-SW-ES es 0805NH...
Página 115
14. Interface PROFIBUS Desarrollo con pausa programada: Tiempo entre instrucciones de parada y de arranque Velocidad Tiempo pos1 pos2 pos3 pos4 pos5 Desarrollo sin pausa programada: Velocidad Tiempo pos1 pos2 pos3 pos4 pos5 Festo GDCP-CMXR-SW-ES es 0805NH...
15.1 Textos de mensaje La programación en FTL (Festo Teach Language) permite generar mensajes de información, advertencia y error desde el programa de movimientos. El propio usuario define libremente los textos de mensaje como cadena de caracteres (string). Esta cadena de caracteres también puede contener entradas variables en forma de dos parámetros como máximo...
Página 117
: DINT := 7 param2 : REAL := 3.48 Código de programa: SetInfo (“sensor %1, valor de presión %2 bar“, param1, param2) Se visualiza el texto de información siguiente: “Sensor 7, valor de presión 3,48 bar”. Festo GDCP-CMXR-SW-ES es 0805NH...
Sólo sirve para informar. Ejemplo: pressure := Sensor.Read(); // Leer un valor de presión cycle := cycle + 1 // Contar ciclo SetInfo ("Cycle %1 finished, Value %2", cycle, pressure) Indicación en la unidad manual: Festo GDCP-CMXR-SW-ES es 0805NH...
Un mensaje de advertencia no influye en el movimiento de ningún modo. Sólo sirve para informar. Ejemplo: pressure := Sensor.Read(); // Leer un valor de presión cycle := cycle + 1 // Contar ciclo SetWarning("Cycle %1 finished, Value %2",cycle, pressure) Indicación en la unidad manual: Festo GDCP-CMXR-SW-ES es 0805NH...
Indicación en la unidad manual: Si aparece un mensaje de error, el texto de error se visualiza también en la cabecera de la unidad manual. Además, el LED de error de la unidad manual se ilumina en rojo. Festo GDCP-CMXR-SW-ES es 0805NH...
Los valores no se guardan en el archivo de datos de la tarjeta de memoria. Los valores se pierden cuando se deselecciona el programa/proyecto. Para guardar la posición puede utilizarse la macro SavePosition. Festo GDCP-CMXR-SW-ES es 0805NH...
(<valor de fecha y hora> : DINT) := Time ( ) Esta instrucción lee la fecha y hora del sistema del control y lo devuelve como valor DINT. Ejemplo: value := Time() // Leer valor de fecha y hora actuales del sistema Festo GDCP-CMXR-SW-ES es 0805NH...
Segundos fecha y hora que debe convertirse Tabla 16.4 Parámetro de la función TimeStr Ejemplo: str_Time := TimeToStr() // Leer valor de fecha y tiempo actuales del sistema Devolución: str_Time = "Lun Feb 13 11:23:44 2006" Festo GDCP-CMXR-SW-ES es 0805NH...
Si no se conoce el ángulo, el CMXR prepara la función arco seno. Esta función calcula el ángulo contenido, p. ej., alfa, a partir del cateto opuesto y de la hipotenusa. Sintaxis (<ángulo en grados> : REAL) := ASIN(<valor de seno>) La indicación del ángulo se realiza en grados. Festo GDCP-CMXR-SW-ES es 0805NH...
ángulo y el cateto adyacente o la hipotenusa. Si no se conoce el ángulo, el CMXR prepara la función arco coseno. Esta función calcula el ángulo contenido, p. ej., alfa, a partir del cateto adyacente y de la hipotenusa. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 127
:= 23.5 // Ángulo alfa := b / COS(alpha) // Cálculo de la hipotenusa := 45.89 // Cateto adyacente := 145.67 // Hipotenusa value := b / c alpha := ACOS(value) // Cálculo del ángulo Festo GDCP-CMXR-SW-ES es 0805NH...
Si no se conoce el ángulo, el CMXR prepara la función arco cotangente. Esta función calcula el ángulo contenido, p. ej., alfa, a partir del cateto adyacente y del cateto opuesto. Sintaxis (<ángulo en grados> : REAL) := ACOT(<valor de cotangente>) La indicación del ángulo se realiza en grados. Festo GDCP-CMXR-SW-ES es 0805NH...
Ejemplo de programa: A := 152.67 // Longitud del cateto A B := 63.12 // Longitud del cateto B Valor := A * A + B * B C := SQRT(Value) // Cálculo de la hipotenusa Festo GDCP-CMXR-SW-ES es 0805NH...
Por la izquierda se insertan 3 bits con el valor “0”. Contenido de la variable: 1001 1111 0000 1100 1111 1111 1001 1100 Se obtiene el patrón de bits: 0001 0011 1110 0001 1001 1111 1111 0011 Festo GDCP-CMXR-SW-ES es 0805NH...
En el lado izquierdo se insertan de nuevo los 4 bits. Contenido de la variable: 1011 1111 0110 1001 0011 000 1001 1010 Se obtiene el patrón de bits: 1010 1011 1111 0110 1001 0011 000 1001 Festo GDCP-CMXR-SW-ES es 0805NH...
Programa FTL Tipo de subunidad Presión: tipo valor analógico Valor analógico Peso: tipo valor analógico Instanciación de subunidad en el programa de aplicación Declaración de una instancia de subunidad <nombre de instancia> : <tipo de instancia> (parámetro) Festo GDCP-CMXR-SW-ES es 0805NH...
Los dos tipos de acceso requieren un tiempo de ejecución diferente. Para más información, consulte la descripción de cada una de las subunidades en los capítulos siguientes. En el ejemplo se accede a la variable de subunidad State de la instancia Sensor: IF Sensor.state THEN Lin(pos1) Festo GDCP-CMXR-SW-ES es 0805NH...
último punto donde aún sea posible reanudar el movimiento. El movimiento no se detiene sino que avanza continuamente. No es posible el avance aproximado a los movimientos siguientes. Indicación Si no se especifica el parámetro, se supone FALSE. Festo GDCP-CMXR-SW-ES es 0805NH...
La instanciación de la subunidad de entrada digital por medio de la unidad manual se realiza en la máscara de variables seleccionando el tipo de dato DIN. La entrada se guarda auto- máticamente en el archivo de datos. Festo GDCP-CMXR-SW-ES es 0805NH...
Aunque no se ha llamado a la subunidad, ésta guarda el estado de un flanco de subida. Dicho estado puede evaluarse en el programa. Input La variable Input describe la referencia a la entrada de hardware de la subunidad. 17.4.2 Métodos La subunidad dispone de varios métodos: Festo GDCP-CMXR-SW-ES es 0805NH...
Página 139
Los métodos pueden seleccionarse en dicha lista. En la unidad manual, los métodos pueden seleccionarse mediante el árbol de menú en el punto “Digital Inputs”. En la figura se muestra la selección de métodos de la subunidad DIN de la unidad manual. Festo GDCP-CMXR-SW-ES es 0805NH...
El valor de retorno sigue siendo TRUE aunque la entrada hubiese cambiado entre tanto a FALSE. El estado del flanco se determina independientemente del ciclo del programa FTL y se ejecuta en un ciclo propio. Festo GDCP-CMXR-SW-ES es 0805NH...
Para instanciar la subunidad de salida digital se requiere la referencia de hardware de la salida digital. Ésta se indica con el parámetro <output> durante la instanciación. Sintaxis <nombre de instancia> .DOUT( <timeout> : DINT, <RisingEdge> : BOOL, MAPX(“< output>“)) Festo GDCP-CMXR-SW-ES es 0805NH...
La instanciación de la subunidad de salida digital por medio de la unidad manual se realiza en la máscara de variables seleccionando el tipo de dato DOUT. La instanciación en la unidad manual guarda automáticamente la entrada en el archivo de datos. Festo GDCP-CMXR-SW-ES es 0805NH...
Aunque no se ha llamado a la subunidad, ésta guarda el estado de un flanco de subida. Dicho estado puede evaluarse en el programa. Output La variable output describe la referencia a la salida de hardware de la subunidad. Festo GDCP-CMXR-SW-ES es 0805NH...
En el editor FTL se visualiza automáticamente una lista con los métodos disponibles introduciendo el punto. Los métodos pueden seleccionarse en dicha lista. En la figura se muestra la selección de métodos de la subunidad DOUT de la unidad manual. Festo GDCP-CMXR-SW-ES es 0805NH...
El valor de retorno sigue siendo TRUE aunque la salida hubiese cambiado entre tanto a FALSE. El estado del flanco se determina independientemente del ciclo del programa FTL y se ejecuta en un ciclo propio. Sintaxis <nombre de instancia>.RisingEdge (OPT ovlEnable: BOOL) : BOOL Festo GDCP-CMXR-SW-ES es 0805NH...
Set y Reset se ejecutan en la ejecución principal. La subunidad NO influye en el avance aproximado. Ejemplo: Lin(pos1) Lin(pos2) cylinder.Set() // Activa la salida cylinder a TRUE Lin(pos3) cylinder.Reset() // Activa la salida cylinder a FALSE Festo GDCP-CMXR-SW-ES es 0805NH...
Es posible indicar otros pará- metros para, p. ej., realizar ajustes previos. Sin embargo, esto no es necesario para la instanciación y puede efectuarse en el programa. Ejemplo: Un sensor se guarda como instancia de subunidad: Festo GDCP-CMXR-SW-ES es 0805NH...
AIN. La instanciación en la unidad manual guarda automáticamente la entrada en el archivo de datos. 17.6.2 Variables La subunidad de entrada analógica posee las variables siguientes: Festo GDCP-CMXR-SW-ES es 0805NH...
Leer el valor de entrada Tabla 17.6 Métodos de la subunidad de entrada analógica En el editor FTL se visualiza automáticamente una lista con los métodos disponibles introduciendo el punto. Los métodos pueden seleccionarse en dicha lista. Festo GDCP-CMXR-SW-ES es 0805NH...
<nombre de instancia>.WaitGrt(value : REAL, OPT ovlEnable : BOOL) Para la descripción del parámetro ovlEnable, véase el capítulo 17.3.1 de la página 136. Parámetro Tipo Significado value REAL Valor límite Tabla 17.7 Parámetro de los métodos WaitLss, WaitGrt Ejemplo: Lin(pos1) temperature.WaitLss(65.0, TRUE) Lin(pos2) Festo GDCP-CMXR-SW-ES es 0805NH...
17.6.6 Interrogación del valor, método Read El método Read lee el valor actual de la entrada analógica. Sintaxis <nombre de instancia>.Read(OPT ovlEnable) Para la descripción del parámetro ovlEnable, véase el capítulo 17.3.1 de la página 136. Festo GDCP-CMXR-SW-ES es 0805NH...
Instanciación con el editor FTL La instanciación se efectúa en el diálogo para crear variables seleccionando <tipo:> (AOUT) e introduciendo el <identificador:> (aoutQuantity). En la línea <MAPTO AOUTPORT> se activa la referencia real a una salida analógica configurada. Festo GDCP-CMXR-SW-ES es 0805NH...
Más información y ejemplos para generar mensajes de error se describen en el capítulo 19.2 Empleo de las subunidades de entrada y salida. Festo GDCP-CMXR-SW-ES es 0805NH...
Los métodos pueden seleccionarse en dicha lista. En la unidad manual, los métodos pueden seleccionarse mediante el árbol de menú en el punto “Analog Outputs”. En la figura se muestra la selección de métodos de la subunidad AOUT de la unidad manual. Festo GDCP-CMXR-SW-ES es 0805NH...
Para la descripción del parámetro ovlEnable, véase el capítulo 17.3.1 de la página 136. Parámetro Tipo Significado value REAL Valor límite Tabla 17.12 Parámetro de los métodos WaitLss, WaitGrt Ejemplo: Lin(pos1) // Esperar a que el valor sea menor que 110.0 quantity.WaitLss(110.0, TRUE) Lin(pos2) Festo GDCP-CMXR-SW-ES es 0805NH...
El método Read lee el valor actual de la salida analógica. Sintaxis <nombre de instancia>.Read(OPT ovlEnable) Para la descripción del parámetro ovlEnable, véase el capítulo 17.3.1 en la página 136. Ejemplo Lin(pos1) // Leer la cantidad sin parar la trayectoria value := quantity.Read(TRUE) Lin(pos2) Festo GDCP-CMXR-SW-ES es 0805NH...
<tipo:> (CLOCK) e introduciendo el <identificador:> (clkTimer). Instanciación con la unidad manual La instanciación de la subunidad de reloj por medio de la unidad manual se realiza en la máscara de variables seleccionando el tipo de dato CLOCK. Festo GDCP-CMXR-SW-ES es 0805NH...
Los métodos pueden seleccionarse en dicha lista. En la unidad manual, los métodos pueden seleccionarse mediante el árbol de menú en el punto “Timing Blocks”. En la figura se muestra la selección de métodos de la subunidad CLOCK de la unidad manual. Festo GDCP-CMXR-SW-ES es 0805NH...
éste se coloca a 0 y sigue funcionando. Sintaxis <nombre de instancia>.Reset ( ) Ejemplo: Timer.Reset() // El reloj se borra 17.8.6 Lectura del reloj, método Read Con el método Read es posible leer el valor de fecha y hora en milisegundos (ms). Festo GDCP-CMXR-SW-ES es 0805NH...
Para la descripción del parámetro ovlEnable, véase el capítulo 17.3.1 de la página 136. Valor de retorno: cadena de caracteres con la información de fecha y hora dd hh:mm:ss:ms Ejemplo: Datos: tiempo : STRING Programa: Lin(pos1) Festo GDCP-CMXR-SW-ES es 0805NH...
Instanciación con el editor FTL La instanciación se efectúa en el diálogo para crear variables seleccionando <tipo:> (ENCODER) e introduciendo el <identificador:> (encTrack). En la línea <MAPTO ENCPORT> se activa la referencia real a una entrada de encoder configurada. Festo GDCP-CMXR-SW-ES es 0805NH...
En la actualidad, la sub- unidad de encoder no dispone de métodos para tener en cuenta el timeout. Port La variable Port describe la referencia a la entrada de hardware. Festo GDCP-CMXR-SW-ES es 0805NH...
SETCOUNTMODE Parámetro para ajustar el punto de activación Tabla 17.17 Parámetros del método Set La subunidad activa el valor en sincronía con la ejecución principal pero no detiene el desarrollo. Con el parámetro mode puede definirse el punto de la activación. Festo GDCP-CMXR-SW-ES es 0805NH...
Para leer el valor estándar se utiliza el elemento Value para acceder directa- mente al Port de la entrada de encoder. Ejemplo de lectura de un valor estándar: value := enc0.port.value Ejemplo de lectura de un valor incremental: value := enc0.Read() Festo GDCP-CMXR-SW-ES es 0805NH...
El eje 1 de la cinemática se denomina “Axis1” en la configuración DriveBus del FCT. El acceso se efectúa con Axis1_copd.BausteinMethode( ). Configuración de CANopen: [IO.ONBOARD.SLOTCAN:0.FX200A:0.CAN:0.COPDEVICE:1] name="Axis1" // Nombre del dispositivo COP Código de programa: Axis1_copd.WriteSDO(16#6060,0,7,eight_bits) Festo GDCP-CMXR-SW-ES es 0805NH...
<COPDEVICE>.WriteSDO ( <index> : DINT, <subindex> : DINT, <data> : DINT, <type> : SdoDataType ) : BOOL Parámetros Tipo Significado index DINT Índice de SDO subindex DINT Subíndice de SDO data DINT Datos que se van a escribir Festo GDCP-CMXR-SW-ES es 0805NH...
Tabla 17.22 Parámetros del método ReadSDOSigned Si el conjunto se lee con éxito se devuelve TRUE, de lo contrario se devuelve FALSE. Ejemplo: dint_iData : DINT := 0 Programa: Axis3_copd.ReadSDOSigned(16#6098, 0, dint_iData) SetInfo("recorrido de referencia leído: %1", dint_iData) Festo GDCP-CMXR-SW-ES es 0805NH...
Índice de SDO subindex DINT Subíndice de SDO data DWORD Datos que se van a leer Tabla 17.23 Parámetros del método ReadSDOUnsigned Si el conjunto se lee con éxito se devuelve TRUE, de lo contrario se devuelve FALSE. Festo GDCP-CMXR-SW-ES es 0805NH...
Cada señal analógica tiene forma de tipo de dato estructurado y contiene los datos: Value : REAL Valor de la señal Error : BOOL Información sobre un error de la señal Para acceder a estos datos se utiliza el nombre de hardware y el operador punto. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 170
18. Señales de periféricos Ejemplo: Una señal de entrada analógica se denomina “Level”. El acceso al estado del sensor se declara: Level.Value Esta expresión es de tipo REAL y puede utilizarse como una variable en el programa. Festo GDCP-CMXR-SW-ES es 0805NH...
Este sensor se utiliza para detectar la placa de chapa superior. Para detectar si una placa de chapa está mecanizada existe otro sensor (para detectar pilas vacía Sistema de pinzas con detección de avance Sensor para detectar pilas vacías Vía de rodillos Pila de chapa Festo GDCP-CMXR-SW-ES es 0805NH...
Página 172
Para esta aplicación pueden utilizarse más posiciones, pero el ejemplo se limita a las indicadas. posSeguridadVía posSeguridadChapa posPosado posRecogida Como la altura de pila varía, la altura de recogida es desconocida y se fija debajo de la pila. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 173
Esta posición se complementa con una distancia de seguridad. Así, en el ciclo siguiente puede avanzarse a mayor velocidad sobre la pila. A continuación se conmuta a una velocidad lenta hasta hacer contacto con la pieza. Festo GDCP-CMXR-SW-ES es 0805NH...
RETURN END_IF // Reanudar ejecución Lin(pos) Indicación La edición de un mensaje de error provoca la detención del movi- miento. No es posible reanudar la ejecución hasta que no se acusa recibo del mensaje de error. Festo GDCP-CMXR-SW-ES es 0805NH...
Si el contador de bucles visualiza el ciclo real, el avance de proceso debe interrumpirse con una instrucción WaitTime. El contador de bucles se incrementará siempre al alcanzar la Pos3. Ello se muestra en la figura siguiente. Festo GDCP-CMXR-SW-ES es 0805NH...
En los capítulos siguientes se explica la integración de diferentes tipos de pinza en la gama CMXR. 19.4.1 Pinzas por vacío El tipo de pinzas por vacío permite una ejecución muy rápida de los ciclos. Estas pinzas requieren vacío, que, p. ej., puede generarse con toberas Venturi. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 177
Una pieza debe transportarse desde la posición pos2 a la posición pos4. pos1 pos3 pos2 pos4 Como generador de vacío se utiliza una tobera Venturi. Ésta se controla a través de una salida digital del CMXR. Para ello se crea una subunidad digital. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 178
La instrucción siguiente WaitTime impide el avance aproximado ya que el cálculo por adelantado de proceso se detiene en este punto y se reanuda transcurrido el ciclo. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 179
19. Ejemplos Perfil de movimiento: pos1 pos3 Área de avance aproximado pos2 pos4 Comportamiento en la línea temporal: Velocidad pos2 pos4 Tiempo pos1 pos1 pos3 pos3 Tiempo de espera Festo GDCP-CMXR-SW-ES es 0805NH...
Una pieza debe transportarse desde la posición pos2 a la posición pos4. pos1 pos3 pos2 pos4 El equipo utilizado es una pinza paralela con sensórica de posición final. Se obtienen las señales digitales siguientes y se integran en forma de subunidades en la programación FTL. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 181
El método de subunidad Wait introduce una espera al acuse de recibo de la posición final que evita un avance aproximado a las posiciones de aceptación y posado. El cálculo por adelantado de proceso se detiene en este punto y se reanuda al conmutarse la señal de entrada digital. Festo GDCP-CMXR-SW-ES es 0805NH...
Página 182
Comportamiento en la línea temporal: Velocidad pos2 pos4 Tiempo pos1 pos1 pos3 pos3 Tiempo de espera hasta acusar Tiempo de espera hasta acusar recibo del cierre de la pinza recibo de la apertura de la pinza Festo GDCP-CMXR-SW-ES es 0805NH...
19. Ejemplos 19.4.3 Unidad giratoria con pinzas neumáticas La unidad giratoria con pinzas neumáticas HGDS de Festo reúne una pinza paralela con un actuador giratorio en una sola unidad. Unidad giratoria con pinzas HGDS con pinza paralela La unidad HGDS permite montar sensores de detección de posiciones finales de la pinza y de la unidad giratoria.
Página 184
// Esperar a pinza cerrada Lin(pos1) outPos0grados.Reset() // Girar a 90 grados outPos90grados.Set() Lin(pos3) inPos90grados.Wait(TRUE) // Esperar a 90 grados con avance aproximado Lin(pos4) // Posición de posado outPinzaCerrar.Reset() // Abrir pinza outPinzaAbrir.Set() inPinzaAbrir.Wait() // Esperar a pinza abierta Lin(pos3) Festo GDCP-CMXR-SW-ES es 0805NH...
Página 185
El acuse de recibo del movimiento de giro de 90 grados no se ha detectado antes de alcanzar la posición pos3. Se espera al acuse de recibo en la posición pos3 y no se ejecuta el movimiento de avance aproximado a la pos4. pos1 pos3 Área de avance aproximado pos2 pos4 Festo GDCP-CMXR-SW-ES es 0805NH...
Página 186
Tiempo de espera hasta acusar Tiempo de espera hasta acusar recibo de la apertura de la pinza recibo del cierre de la pinza Tiempo de espera hasta acusar recibo del giro de 90 grados Festo GDCP-CMXR-SW-ES es 0805NH...
CMXR recibe los datos, se lo indica al PLC. A continuación se borran las dos señales de interface. La secuencia se muestra en el diagrama del ciclo siguiente. Señal del SPS Datos preparados plc_inboolreg[0] Señal al PLC Datos leídos plc_outboolreg[0] Posicionar Se ha transmitido Posicionamiento Transmisiòn la posición nueva efectuado Festo GDCP-CMXR-SW-ES es 0805NH...
WAIT NOT plc_inboolreg[0] // Esperar a la respuesta del PLC plc_outboolreg[0] := FALSE // Avanzar a la posición de aceptación Lin(sobreposRecogida) Lin(posRecogida) // Agarrar Pinza := TRUE WaitTime(200) // Avanzar a la posición de posado Lin(sobreposRecogida) Lin(sobreposPosado) Festo GDCP-CMXR-SW-ES es 0805NH...
Página 189
19. Ejemplos Lin(posPosado) // Posar Pinza := FALSE WaitTime(200) // Avanzar a la posición de espera Lin(sobrep osPosado) Lin(posEspera) END_WHILE Festo GDCP-CMXR-SW-ES es 0805NH...
Página 190
Empleo de pinzas ......176 plc_AxisPos ........112 WAIT con entrada digital ....45 plc_CartPos ........112 Error ..........169 plc_RefSys ........113 EXP ............ 130 plc_VarDint ........111 Posición cartesiana ......51 Posición de eje ........49 Festo GDCP-CMXR-SW-ES es 0805NH...