Siemens SIMATIC S7-1500 Manual De Funciones
Ocultar thumbs Ver también para SIMATIC S7-1500:

Enlaces rápidos

loading

Resumen de contenidos para Siemens SIMATIC S7-1500

  • Página 2 Introducción (S7-1500T) Información de seguridad (S7-1500T) Sinopsis de funciones SIMATIC (S7-1500T) S7-1500 Funciones de intérprete S7-1500T Funciones de intérprete (S7-1500T) V8.0 a partir de STEP 7 V19 Crear el programa MCL (S7-1500T) Manual de funciones Instrucciones MCL (S7-1500T) Diagnóstico (S7-1500T) Instrucciones (S7-1500T) Variables de los bloques de datos del objeto tecnológico (S7-1500T)
  • Página 3 Considere lo siguiente: ADVERTENCIA Los productos de Siemens sólo deberán usarse para los casos de aplicación previstos en el catálogo y la documentación técnica asociada. De usarse productos y componentes de terceros, éstos deberán haber sido recomendados u homologados por Siemens. El funcionamiento correcto y seguro de los productos exige que su transporte, almacenamiento, instalación, montaje, manejo y mantenimiento hayan sido realizados de forma...
  • Página 4 Índice Introducción (S7-1500T)........................10 Guía de la documentación sobre S7-1500 Motion Control (S7-1500T)........ 11 Documentación técnica de SIMATIC (S7-1500T)..............12 Información de seguridad (S7-1500T)....................15 Sinopsis de funciones (S7-1500T)....................... 16 Objeto tecnológico Intérprete (S7-1500T)................. 19 Objeto tecnológico Programa intérprete (S7-1500T)............21 Objeto tecnológico Mapeo de intérprete (S7-1500T)............
  • Página 5 Índice 4.5.4 Modificar y cargar el programa intérprete (S7-1500T)............46 4.5.5 Variables: Ejecución del programa intérprete (S7-1500T)........... 47 Crear el programa MCL (S7-1500T)..................... 48 Sintaxis de MCL (S7-1500T)....................5.1.1 Juego de caracteres (S7-1500T)..................48 5.1.2 Identificadores (S7-1500T)....................50 5.1.3 Literales (S7-1500T)......................51 5.1.4 Expresiones (S7-1500T)....................
  • Página 6 Índice 5.6.1 Instrucciones IF (S7-1500T)....................96 5.6.2 Instrucción CASE (S7-1500T)..................... 98 5.6.3 Instrucción FOR (S7-1500T)....................100 5.6.4 Instrucción WHILE (S7-1500T)................... 101 5.6.5 Instrucción REPEAT (S7-1500T)..................103 5.6.6 Instrucción EXIT (S7-1500T)....................104 5.6.7 Instrucción CONTINUE (S7-1500T)..................105 5.6.8 Instrucción GOTO (S7-1500T)................... 105 5.6.9 Instrucción RETURN (S7-1500T)..................
  • Página 7 Índice 6.1.5 ptpAbs(): Desplazar la cinemática a coordenadas de destino cartesianas absolutas con ..179 movimiento sPTP (S7-1500T) 6.1.6 ptpRel(): Desplazar la cinemática a coordenadas de destino cartesianas relativas con ..185 movimiento sPTP (S7-1500T) 6.1.7 ptpAxAbs(): Desplazar la cinemática a posiciones absolutas del eje con movimiento ..
  • Página 8 Índice 6.4.1 setTool(): Cambiar la herramienta activa (S7-1500T)............266 Ejes (S7-1500T)........................ 267 6.5.1 move(): Mover el eje a la velocidad lineal/velocidad de giro especificada (S7-1500T)..267 6.5.2 posAbs(): Posicionamiento absoluto del eje (S7-1500T)............. 269 6.5.3 posRel(): Posicionamiento relativo del eje (S7-1500T)............272 6.5.4 setAxisDyn(): Definir los ajustes predeterminados de dinámica para movimientos de ..
  • Página 9 Índice 8.2.3 Comportamiento de relevo V8: Órdenes del detector (S7-1500T)........326 8.2.4 Comportamiento de relevo V8: Órdenes de movimiento de la cinemática (S7-1500T)..326 8.2.5 Comportamiento de relevo V8: órdenes de intérprete (S7-1500T)........328 Variables de los bloques de datos del objeto tecnológico (S7-1500T)..........331 Variables del objeto tecnológico Intérprete (S7-1500T)............
  • Página 10 Introducción (S7-1500T) Finalidad de la documentación La presente documentación proporciona información importante para configurar y poner en servicio las funciones Motion Control integradas del sistema de automatización S7‑1500. Conocimientos básicos necesarios Para una mejor comprensión de la presente documentación se precisan los siguientes conocimientos: •...
  • Página 11 1.1 Guía de la documentación sobre S7-1500 Motion Control (S7-1500T) Industry Mall Industry Mall es el sistema de catálogos y pedidos de Siemens AG para soluciones de automatización y accionamientos sobre la base de la Totally Integrated Automation (TIA) y Totally Integrated Power (TIP).
  • Página 12 Asimismo, los ejemplos de aplicación lo ayudan a resolver tareas de automatización. Sinopsis de la documentación técnica de SIMATIC Aquí encontrará una vista general de la documentación sobre SIMATIC disponible en Siemens Industry Online Support: Industry Online Support International https://support.industry.siemens.com/cs/ww/es/view/109742705...
  • Página 13 1. Descargue la documentación asociada tras recibir el producto o, a más tardar, antes del primer montaje/puesta en marcha. Utilice las siguientes opciones para la descarga: – Industry Online Support International: (https://support.industry.siemens.com) El producto tiene asignada una documentación por medio de la referencia. Encontrará...
  • Página 14 Introducción (S7-1500T) 1.2 Documentación técnica de SIMATIC (S7-1500T) Encontrará mySupport en Internet. (https://support.industry.siemens.com/My/ww/es/) Ejemplos de aplicación Los ejemplos de aplicación le asisten con diferentes herramientas y ejemplos a la hora de resolver las tareas de automatización. Los ejemplos muestran siempre soluciones en las que interactúan varios componentes del sistema sin centrarse en productos concretos.
  • Página 15 Para obtener información adicional sobre las medidas de seguridad industrial que podrían ser implementadas, por favor visite (https://www.siemens.com/industrialsecurity). Los productos y las soluciones de Siemens están sometidos a un desarrollo constante con el fin de hacerlos más seguros. Siemens recomienda expresamente realizar actualizaciones en cuanto estén disponibles y utilizar únicamente las últimas versiones de los productos.
  • Página 16 Sinopsis de funciones (S7-1500T) Con el SIMATIC Motion Interpreter de la CPU S7-1500T se crean órdenes de movimiento para ejes y cinemáticas individuales con hasta 6 ejes de interpolación. El intérprete ejecuta una serie de instrucciones de forma consecutiva; dicha secuencia se denomina programa intérprete.
  • Página 17 Sinopsis de funciones (S7-1500T) A diferencia de la programación cíclica con STEP 7, en MCL no es necesario programar condiciones de avance ni consultas para comprobar si una orden ha finalizado. Funcionamiento básico El SIMATIC Motion Interpreter está implementado como objeto tecnológico Intérprete. El objeto tecnológico Intérprete se controla mediante instrucciones desde el programa de usuario.
  • Página 18 Sinopsis de funciones (S7-1500T) Licencias Para SIMATIC Motion Interpreter se requiere una licencia. Para utilizar el SIMATIC Motion Interpreter se necesita una licencia runtime para cada CPU tecnológica. Producto Referencia SIMATIC Motion Interpreter basic 6ES7823-0SJ00-1AA0 Puede probar las funciones del SIMATIC Motion Interpreter con SIMATIC S7-PLCSIM o SIMATIC S7-PLCSIM Advanced.
  • Página 19 Sinopsis de funciones (S7-1500T) 3.1 Objeto tecnológico Intérprete (S7-1500T) Objeto tecnológico Intérprete (S7-1500T) El objeto tecnológico Intérprete cumple las siguientes tareas: • Carga/descarga de un programa intérprete • Carga/descarga de un mapeo de intérprete • Preparación del programa intérprete • Ejecución del programa intérprete optimizada en términos de tecnología y tiempo •...
  • Página 20 Sinopsis de funciones (S7-1500T) 3.1 Objeto tecnológico Intérprete (S7-1500T) Intercambio de datos con el programa de usuario El programa intérprete ejecutado con el objeto tecnológico Intérprete puede acceder a los siguientes datos del PLC: • Variables del objeto tecnológico Cinemática asignado •...
  • Página 21 Sinopsis de funciones (S7-1500T) 3.2 Objeto tecnológico Programa intérprete (S7-1500T) Objeto tecnológico Programa intérprete (S7-1500T) El programa intérprete contiene las órdenes de movimiento para la cinemática. El programa intérprete se carga en el objeto tecnológico Intérprete en tiempo de ejecución y se interpreta allí.
  • Página 22 Sinopsis de funciones (S7-1500T) 3.3 Objeto tecnológico Mapeo de intérprete (S7-1500T) Objeto tecnológico Mapeo de intérprete (S7-1500T) Con el objeto tecnológico Mapeo de intérprete, se define una asignación de objetos del programa intérprete a objetos del programa de usuario. De este modo, se define a qué objetos de la CPU puede accederse desde un programa intérprete.
  • Página 23 Sinopsis de funciones (S7-1500T) 3.6 Instrucciones MCL (S7-1500T) Instrucciones de Motion Control para el control del intérprete (S7-1500T) Las funciones del objeto tecnológico Intérprete se ejecutan en el programa de usuario con las siguientes instrucciones de Motion Control: • "MC_LoadProgram": Cargar/descargar el programa intérprete •...
  • Página 24 Sinopsis de funciones (S7-1500T) 3.6 Instrucciones MCL (S7-1500T) Instrucción MCL Descripción ptpJtRel() Desplazar la cinemática a posiciones relativas de la articulación con mo­ vimiento sPTP setDyn() Definir los ajustes predeterminados de dinámica para movimientos de trayectoria de forma modal setOriDyn() Definir los ajustes predeterminados de dinámica para movimientos de orientación de forma modal setPtpDyn()
  • Página 25 Sinopsis de funciones (S7-1500T) 3.6 Instrucciones MCL (S7-1500T) Sistemas de coordenadas La siguiente tabla contiene las instrucciones MCL soportadas por el programa intérprete para sistemas de coordenadas (Página 248). Instrucción MCL Descripción defOcs() Redefinir los sistemas de coordenadas de objetos defTool() Redefinir la herramienta trackIn()
  • Página 26 Sinopsis de funciones (S7-1500T) 3.6 Instrucciones MCL (S7-1500T) Instrucción MCL Descripción setAxisDynMax() Definir los límites de dinámica para movimientos de eje individual de forma modal powerOn() Habilitar el eje powerOff() Bloquear el eje home() Referenciar el eje; establecer el punto de referencia torqueLimitOn() Activar la limitación de fuerza/par o la detección de tope fijo torqueLimitOff()
  • Página 27 Sinopsis de funciones (S7-1500T) 3.7 Capacidad funcional (S7-1500T) Instrucciones de cadena de bits El programa intérprete soporta instrucciones de cadena de bits. Funciones matemáticas El programa intérprete soporta funciones matemáticas. Conversiones El programa intérprete soporta conversiones. Capacidad funcional (S7-1500T) Configuración general Número Profundidad máxima de la preparación del programa Máximo 100 (configurable)
  • Página 28 Sinopsis de funciones (S7-1500T) 3.7 Capacidad funcional (S7-1500T) Número de variables Número máximo de variables globales en un objeto tecnológi­ co Intérprete Número máximo de variables locales y parámetros de función en un objeto tecnológico Intérprete Número máximo de variables mapeadas en un mapeo de in­ térprete Dimensión máxima de arrays definidos por el usuario Ejecución en paralelo de órdenes y movimientos...
  • Página 29 Funciones de intérprete (S7-1500T) Definición de conceptos (S7-1500T) Secuencia de movimiento Por secuencia de movimiento se entienden varias órdenes de movimiento con las transiciones entre ellas suavizadas. Una orden de movimiento sin transiciones suavizadas ni con la orden de movimiento anterior ni con la posterior es una secuencia de movimiento independiente. Preparación del programa El objeto tecnológico Intérprete interpreta las órdenes del programa intérprete cargado, incorpora las órdenes en la cadena de órdenes del intérprete y las prepara.
  • Página 30 Funciones de intérprete (S7-1500T) 4.2 Vinculación de objetos tecnológicos (S7-1500T) Vinculación de objetos tecnológicos (S7-1500T) 4.2.1 Relaciones entre los objetos tecnológicos (S7-1500T) Vinculación de un objeto tecnológico Intérprete con un objeto tecnológico Cinemática • Un objeto tecnológico Intérprete puede vincularse con un solo objeto tecnológico Cinemática.
  • Página 31 Funciones de intérprete (S7-1500T) 4.2 Vinculación de objetos tecnológicos (S7-1500T) Resultado En el árbol del proyecto, en el objeto tecnológico Cinemática, se ha creado un enlace al objeto tecnológico Intérprete vinculado. Deshacer conexión Para eliminar la vinculación del objeto tecnológico Intérprete con un objeto tecnológico Cinemática, existen las siguientes posibilidades: •...
  • Página 32 Funciones de intérprete (S7-1500T) 4.3 Intercambio de datos entre el programa de usuario y el programa intérprete (S7-1500T) Intercambio de datos entre el programa de usuario y el programa intérprete (S7-1500T) Para intercambiar datos entre el programa intérprete y el programa de usuario de la CPU, están disponibles las dos posibilidades siguientes: •...
  • Página 33 Funciones de intérprete (S7-1500T) 4.3 Intercambio de datos entre el programa de usuario y el programa intérprete (S7-1500T) Comparación Intercambio de datos a través del por­ Intercambio de datos a través de va­ tapapeles del intérprete riables mapeadas de bloques de da­ Mapeo necesario ✓...
  • Página 34 Funciones de intérprete (S7-1500T) 4.3 Intercambio de datos entre el programa de usuario y el programa intérprete (S7-1500T) 4.3.1 Acceso a variables del portapapeles (S7-1500T) Acceso a variables del portapapeles en el programa intérprete En el programa intérprete, se accede a una variable del portapapeles del modo siguiente: •...
  • Página 35 Funciones de intérprete (S7-1500T) 4.3 Intercambio de datos entre el programa de usuario y el programa intérprete (S7-1500T) 4.3.3 Mapeo de variables de un bloque de datos global (S7-1500T) Requisitos • Se ha abierto la configuración del objeto tecnológico Intérprete. •...
  • Página 36 Funciones de intérprete (S7-1500T) 4.4 Preparación y ejecución de un programa intérprete (S7-1500T) 4.3.4 Mapeo de un objeto tecnológico (S7-1500T) Requisitos • Se ha abierto la configuración del objeto tecnológico Mapeo de intérprete. • En la CPU S7-1500, se ha agregado un objeto tecnológico Eje de velocidad de giro, Eje de posicionamiento o Eje sincronizado.
  • Página 37 Funciones de intérprete (S7-1500T) 4.4 Preparación y ejecución de un programa intérprete (S7-1500T) Interrupción de la preparación del programa El intérprete interrumpe la preparación del programa en las siguientes situaciones: • Se ha alcanzado el número máximo de órdenes que pueden prepararse en la cadena de órdenes del intérprete (<TO_Interpreter>.Parameter.MaxNumberOfCommands).
  • Página 38 Funciones de intérprete (S7-1500T) 4.4 Preparación y ejecución de un programa intérprete (S7-1500T) Consulte también Ejemplos de preparación y ejecución de un programa intérprete (Página 40) 4.4.1 Cadena de órdenes del intérprete (S7-1500T) La longitud de la cadena de órdenes del intérprete indica cuántas órdenes puede preparar el intérprete como máximo.
  • Página 39 Funciones de intérprete (S7-1500T) 4.4 Preparación y ejecución de un programa intérprete (S7-1500T) Con un tiempo de espera máximo de 1,0 s, se inicia la ejecución de la secuencia de movimiento 1,0 s una vez preparada la primera orden. La ejecución de la secuencia de movimiento se inicia independientemente de que la secuencia esté...
  • Página 40 Funciones de intérprete (S7-1500T) 4.4 Preparación y ejecución de un programa intérprete (S7-1500T) 4.4.4 Ejemplos de preparación y ejecución de un programa intérprete (S7-1500T) Número máximo de órdenes de cinemática preparadas Este ejemplo describe cómo se comportan la preparación y la ejecución del programa al alcanzarse el número máximo de órdenes de cinemática.
  • Página 41 Funciones de intérprete (S7-1500T) 4.4 Preparación y ejecución de un programa intérprete (S7-1500T) Evaluar una expresión durante la ejecución del programa Este ejemplo describe cómo se comportan la preparación y la ejecución del programa con una orden de la instrucción MCL "waitEvent()". Preparación activa Ejecución activa Orden que debe prepararse...
  • Página 42 Funciones de intérprete (S7-1500T) 4.4 Preparación y ejecución de un programa intérprete (S7-1500T) (* set to var1 (3) during execution, because 3 was the var1 value during preprocessing, can be 10 in case of slow preprocessing - if instruction above is already executed and this instruction is preprocessed afterwards *) writeVar( $IPR.Clipboard.CbDint[1], var1 );...
  • Página 43 Funciones de intérprete (S7-1500T) 4.5 Ejecución del programa intérprete en el objeto tecnológico Intérprete (S7-1500T) Ejecución del programa intérprete en el objeto tecnológico Intérprete (S7-1500T) 4.5.1 Cargar/descargar el programa intérprete (S7-1500T) Para poder ejecutar un programa intérprete, en primer lugar cargue el programa intérprete en el objeto tecnológico Intérprete.
  • Página 44 Funciones de intérprete (S7-1500T) 4.5 Ejecución del programa intérprete en el objeto tecnológico Intérprete (S7-1500T) Descargar un programa intérprete del objeto tecnológico Intérprete Una vez iniciada la orden "MC_LoadProgram" con "Mode" = 0 y "Execute" = TRUE, se descarga el programa intérprete junto con el mapeo que se haya especificado del objeto tecnológico Intérprete.
  • Página 45 Funciones de intérprete (S7-1500T) 4.5 Ejecución del programa intérprete en el objeto tecnológico Intérprete (S7-1500T) Especificaciones de parámetros Con los siguientes parámetros de la instrucción de Motion Control "MC_StopProgram (Página 319)", se determina el comportamiento dinámico: • Con el parámetro "Mode", se define el comportamiento dinámico del eje individual/la cinemática para el movimiento de parada.
  • Página 46 Funciones de intérprete (S7-1500T) 4.5 Ejecución del programa intérprete en el objeto tecnológico Intérprete (S7-1500T) 4.5.4 Modificar y cargar el programa intérprete (S7-1500T) Para poder cargar un programa intérprete modificado, en primer lugar hay que descargar el programa intérprete cargado desde el objeto tecnológico Intérprete y cargar el programa intérprete modificado en el objeto tecnológico Intérprete.
  • Página 47 Funciones de intérprete (S7-1500T) 4.5 Ejecución del programa intérprete en el objeto tecnológico Intérprete (S7-1500T) 4.5.5 Variables: Ejecución del programa intérprete (S7-1500T) Objeto tecnológico Intérprete Las variables siguientes del objeto tecnológico Intérprete son relevantes para la ejecución del programa intérprete: Variable Descripción <TO>.ProgramName...
  • Página 48 Crear el programa MCL (S7-1500T) Motion Control Language (MCL) es un lenguaje de programación interpretativo para especificar órdenes de movimiento. Este lenguaje se basa en el lenguaje de programación Structured Text (ST) especificado en la norma EN-61131-3 (IEC 61131-3). Características principales MCL ejecuta instrucciones mediante un intérprete.
  • Página 49 Crear el programa MCL (S7-1500T) 5.1 Sintaxis de MCL (S7-1500T) Carácter Reglas léxicas Reglas sintácticas • Separador para representar números Acceso a una variable estructurada dentro en coma flotante de una estructura. • Representación de intervalos de tiempo • Direccionamiento absoluto "...
  • Página 50 Crear el programa MCL (S7-1500T) 5.1 Sintaxis de MCL (S7-1500T) 5.1.2 Identificadores (S7-1500T) Las reglas léxicas para la composición de identificadores se corresponden con la norma IEC 61131-3. Los identificadores constan de una combinación de letras, cifras y caracteres de subrayado, y deben comenzar con un subrayado o una letra.
  • Página 51 Crear el programa MCL (S7-1500T) 5.1 Sintaxis de MCL (S7-1500T) Identificador estándar reservado Para garantizar la compatibilidad de los programas intérprete tras posibles ampliaciones de la sintaxis MCL, las palabras clave que no se usan están bloqueadas. El uso de identificadores reservados en programas MCL da lugar a un error de sintaxis.
  • Página 52 Crear el programa MCL (S7-1500T) 5.1 Sintaxis de MCL (S7-1500T) Tipo del literal Ejemplo Comentario Literal octal 8#255 Corresponde a 173 en el sistema decimal DINT#8#255 Con designación de tipo Literal hexadecimal 16#FF, 16#ff Corresponde a 255 en el sistema decimal 16#E0, 16#e0 Corresponde a 224 en el sistema...
  • Página 53 Crear el programa MCL (S7-1500T) 5.1 Sintaxis de MCL (S7-1500T) 5.1.4 Expresiones (S7-1500T) Las expresiones constan de operandos y operadores. Los operandos son constantes, variables y llamadas de instrucción. Los operadores distinguen entre las siguientes expresiones: • Expresiones aritméticas • Expresiones lógicas •...
  • Página 54 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) 5.1.6 Características adicionales de MCL (S7-1500T) En lo relativo a las características, se aplican las condiciones adicionales siguientes: • La creación de variables propias solo es posible en las secciones de declaración previstas para ello de la correspondiente unidad de organización del programa.
  • Página 55 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) Tipos de datos compuestos Los tipos de datos compuestos describen tipos de datos que constan de un número fijo de componentes. En el tipo de datos Array, todos los elementos son del mismo tipo de datos. En el tipo de datos STRUCT, los tipos de datos de los elementos pueden ser diferentes.
  • Página 56 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) 5.2.4 Tipo de datos Array (S7-1500T) Descripción Los Arrays tienen un número determinado de elementos de un tipo de datos. En MCL son posibles los Arrays con un número fijo de elementos de un tipo de datos unitario. Se permiten todos los tipos de datos (incluido STRUCT, pero no ARRAY) para los elementos del array.
  • Página 57 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) 5.2.5 Tipo de datos STRUCT (S7-1500T) El tipo de datos STRUCT describe un rango que consta de un número fijo de elementos que pueden ser de diferentes tipos de datos. La indicación de estos elementos de datos se realiza inmediatamente después de la palabra clave STRUCT en la declaración de elementos.
  • Página 58 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) Elemento sintáctico Descripción <Comp1_name> : <Type> [:= <InitValue_1>]; Comp1_name El nombre simbólico del elemento de la <Comp2_name> : <Type> [:= <InitValue_2>]; … estructura es un identificador libre. ……… CompN_name El nombre no distingue entre mayúsculas ………...
  • Página 59 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) Definición de estructura como tipo de datos global personalizado del intérprete Un nuevo tipo de datos global puede utilizarse tras su declaración en la unidad de declaración de tipos de datos: TYPE - END_TYPE. Esta unidad de declaración debe programarse fuera del programa principal (bloque PROGRAM - END_PROGRAM) y solamente se permite una vez por cada programa MCL.
  • Página 60 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) Ejemplo de definición de estructura como tipo de datos global personalizado del intérprete //Structure definition as user defined interpreter global data type: TYPE Motor : STRUCT mType : DINT := 5; // declaration with initial value current : LREAL;...
  • Página 61 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) Variable Tipo de datos Descripción LREAL Rotación (ángulo euleriano de la primera rotación) de la posi­ ción alrededor del eje z del sistema de coordenadas. El sistema de coordenadas rotado una vez está compuesto por los ejes x', y' y z.
  • Página 62 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) END_PROGRAM Valores estándar La preinicialización de las variables depende del contexto utilizado. Las siguientes reglas se aplican de forma estándar a elementos no inicializados para variables y agregados: Tipo Contexto de utilización Valores estándar TO_Struct_Ipr_Position Variable...
  • Página 63 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) Utilización El MCS contiene los datos de posición de los ejes conectados de la cinemática y reúne así las posiciones de los ejes como array o vector. El rango de valores de cada variable de este tipo de datos depende del tipo de cinemática, del tipo de frames y de la instrucción en la que se utilice esta variable.
  • Página 64 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) Valores estándar La preinicialización de tipos de datos tecnológicos predefinidos de la estructura del sistema depende del contexto utilizado. Las siguientes reglas se aplican de forma estándar a elementos no inicializados para variables y agregados: Tipo Contexto de utilización Valores estándar...
  • Página 65 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) Utilización Una cinemática obtiene coordenadas cartesianas a través de diferentes posiciones de articulación de los ejes de la cinemática. El sistema de coordenadas de la articulación (JCS) representa las posiciones mecánicas de las articulaciones cinemáticas. Las articulaciones pueden realizar movimientos lineales o rotativos.
  • Página 66 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) Valores estándar La preinicialización de tipos de datos tecnológicos predefinidos de la estructura del sistema depende del contexto utilizado. Las siguientes reglas se aplican de forma estándar a elementos no inicializados para variables y agregados: Tipo Contexto de utilización Valores estándar...
  • Página 67 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) Identificadores Tipo de datos Descripción LREAL Rotación (ángulo euleriano de la tercera rotación) del frame alrededor del eje x'' del sistema de coordenadas. El sistema de coordenadas rotado tres veces está compuesto por los ejes x", y"...
  • Página 68 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) 5.2.10 Tipo de datos AXIS_OBJECT (S7-1500T) El tipo de datos AXIS_OBJECT establece la referencia interna a un eje de la cinemática o eje individual. Palabra clave Rango de valores AXIS_OBJECT Referencias a ejes de posicionamiento y ejes síncronos conectados a la cinemática ("eje de cinemática"): $A1, $A2, $A3, $A4, $A5, $A6.
  • Página 69 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) Ejemplo El ejemplo siguiente muestra una conversión implícita de tipo de datos: PROGRAM Main Value_1 : DINT; Value_2 : UDINT; Value_3 : LREAL; END_VAR // Value_1 is implicitly converted to a tag of data type LREAL Value_3 := Value_1;...
  • Página 70 Crear el programa MCL (S7-1500T) 5.2 Tipos de datos (S7-1500T) Origen Destino Explicación Nemónicos de la instrucción UDINT BOOL Copia el bit menos significativo. UDINT_TO_BOOL DWORD El patrón de bits del valor de origen se transfiere sin cam­ UDINT_TO_DWORD bios y alineado a la derecha al tipo de datos de destino. DINT UDINT_TO_DINT LREAL...
  • Página 71 Crear el programa MCL (S7-1500T) 5.3 Variables (S7-1500T) Variables (S7-1500T) 5.3.1 Categorías de variables y parámetros de función (S7-1500T) Variables La tabla muestra las categorías de variables: Variable Explicación Variables estáticas locales (VAR) Variables locales definidas por el usuario cuyo valor se conserva durante la ejecución del programa princi­...
  • Página 72 Crear el programa MCL (S7-1500T) 5.3 Variables (S7-1500T) 5.3.2 Declaración de variables y parámetros de función (S7-1500T) Declaración de variables Antes de utilizar una variable, debe declararse. La declaración de una variable consta de un nombre de variable (identificador), una indicación del tipo de datos y una inicialización opcional.
  • Página 73 Crear el programa MCL (S7-1500T) 5.3 Variables (S7-1500T) 5.3.3 Variables estáticas locales (S7-1500T) Descripción Las variables estáticas son variables locales definidas por el usuario cuyo valor se conserva cuando se ejecuta el programa principal. Sintaxis Este tipo de variable se declara en el programa principal del programa intérprete, en el bloque de declaración VAR/END_VAR.
  • Página 74 Crear el programa MCL (S7-1500T) 5.3 Variables (S7-1500T) Ejemplo El siguiente ejemplo muestra el uso de variables temporales locales: VAR_TEMP …… BUFFER_1 : ARRAY [1..10] OF DINT ; AUX1, AUX2 : LREAL ; …… END_VAR Acceso El acceso a una variable se realiza siempre desde la sección de código de la función en cuyo bloque de declaración se ha declarado la variable (acceso interno).
  • Página 75 Crear el programa MCL (S7-1500T) 5.3 Variables (S7-1500T) Acceso El acceso a estas variables puede realizarse desde el programa principal y desde todas las funciones llamadas desde allí. En una función no pueden definirse variables globales del intérprete. No es posible el acceso desde el programa de usuario a variables globales del intérprete. 5.3.6 Parámetros de entrada (S7-1500T) Descripción...
  • Página 76 Crear el programa MCL (S7-1500T) 5.3 Variables (S7-1500T) 5.3.7 Parámetros de salida (S7-1500T) Descripción Los parámetros de salida formales sirven para transferir los valores de salida (flujo de datos del bloque hacia fuera). Los parámetros de salida transfieren los valores de salida actuales a la unidad de organización del programa invocante (programa principal o instrucciones).
  • Página 77 Crear el programa MCL (S7-1500T) 5.3 Variables (S7-1500T) 5.3.8 Inicialización de variables y parámetros de función (S7-1500T) Descripción Las variables y parámetros de función (parámetros de entrada y salida de una función) obtienen un valor inicial durante la declaración en unidades de declaración. La inicialización se realiza a través de una asignación de valor (juego de símbolos ":=") que sigue a la especificación del tipo de datos.
  • Página 78 Crear el programa MCL (S7-1500T) 5.3 Variables (S7-1500T) Inicialización de estructuras MCL permite también inicializar variables de tipos definidos por el usuario a través de agregados de estructuras. Es posible inicializar cada elemento estructurado: // structure with initialisation myStructVar : STRUCT a : LREAL := 12.3;...
  • Página 79 Crear el programa MCL (S7-1500T) 5.3 Variables (S7-1500T) 5.3.9 Uso de variables de los bloques de datos de objetos tecnológicos (S7-1500T) Descripción El intérprete ofrece acceso directo a sus propias variables de bloque de datos de objeto tecnológico y a variables de bloques de datos de objetos tecnológicos mapeados en el programa MCL.
  • Página 80 Crear el programa MCL (S7-1500T) 5.4 Constantes (S7-1500T) Ejemplo Objeto tecnoló­ Descripción Ejemplo en MCL gico Eje A1 de la cinemática //set acceleration value for axis A1 $A1.DynamicDefaults.Acceleration := 10.0; Eje A2 de la cinemática //set velocity value for axis A2 Eje A3 de la cinemática $A1.DynamicDefaults.Velocity := 10.0;...
  • Página 81 Crear el programa MCL (S7-1500T) 5.4 Constantes (S7-1500T) 5.4.2 Declaración de constantes (S7-1500T) Descripción Las constantes se declaran según el tipo en secciones de declaración independientes de la unidad de organización del programa. La especificación de valores necesaria se realiza mediante una asignación de valores (juego de símbolos ":=") que sigue a la especificación del tipo de datos.
  • Página 82 Crear el programa MCL (S7-1500T) 5.4 Constantes (S7-1500T) 5.4.3 Constantes locales (S7-1500T) Sintaxis Para la declaración de constantes locales se utiliza el bloque VAR CONSTANT/END_VAR. Este bloque de declaración debe ser una parte del programa principal o de la función. Su uso es opcional.
  • Página 83 Crear el programa MCL (S7-1500T) 5.4 Constantes (S7-1500T) 5.4.4 Constantes globales (S7-1500T) Sintaxis El bloque VAR_IPR CONSTANT/END_VAR sirve para declarar constantes globales de intérprete en el programa principal. El uso de este bloque de declaración es opcional. Ejemplo El siguiente ejemplo muestra la declaración de una constante global de intérprete y el uso de constantes locales y globales: PROGRAM Main VAR CONSTANT...
  • Página 84 Crear el programa MCL (S7-1500T) 5.5 Operadores (S7-1500T) Operadores (S7-1500T) 5.5.1 Descripción general de los operadores (S7-1500T) Las expresiones en MCL contienen operadores. Un operador es una regla que permite generar un nuevo operando a partir de otro operando. Existen varias clases de operadores soportados por MCL: •...
  • Página 85 Crear el programa MCL (S7-1500T) 5.5 Operadores (S7-1500T) Sintaxis Nombre <VAR_Name> := <Expression>; Punto y coma – finaliza cada ex­ presión El operador ":=" asigna un valor o una ex­ presión a una variable. <VAR_OUTPUT> => <VAR_Name>; <VAR_OUTPUT> Nombre simbólico del parámetro de salida de una función.
  • Página 86 Crear el programa MCL (S7-1500T) 5.5 Operadores (S7-1500T) 5.5.3 Operadores de asignación de valor combinados (S7-1500T) Descripción MCL ofrece la posibilidad de utilizar operadores de asignación de valor combinados, es decir, la asignación combinada con operadores aritméticos. En este caso, la operación de asignación se ejecuta tras la correspondiente operación aritmética.
  • Página 87 Crear el programa MCL (S7-1500T) 5.5 Operadores (S7-1500T) Sintaxis Descripción <VAR_Name> += <Expression>; Símbolo de operador de asigna­ <VAR_Name> -= <Expression>; ción combinado. <VAR_Name> *= <Expression>; De forma correspondiente: <VAR_Name> /= <Expression>; <VAR_Name> = <VAR_Name> / Estos operadores asignan un valor tras eje­ <Expression>...
  • Página 88 Crear el programa MCL (S7-1500T) 5.5 Operadores (S7-1500T) Especificación de valores para estructuras y arrays a través de agregados La especificación de valores para estructuras y arrays puede realizarse a través de agregados. Esto se permite en los casos siguientes: •...
  • Página 89 Crear el programa MCL (S7-1500T) 5.5 Operadores (S7-1500T) 5.5.5 Operadores aritméticos (S7-1500T) Descripción Una expresión aritmética es aquella que se forma con operadores aritméticos. Estas expresiones permiten procesar tipos de datos numéricos.   Sintaxis La tabla siguiente muestra para cada operación aritmética: •...
  • Página 90 Crear el programa MCL (S7-1500T) 5.5 Operadores (S7-1500T) Ejemplo de expresiones aritméticas con cifras Bajo el supuesto de que i y j son variables enteras con los valores 11 y -3 (p. ej., del tipo de datos DINT), los siguientes ejemplos muestran expresiones enteras y sus correspondientes valores: Expresión Valor...
  • Página 91 Crear el programa MCL (S7-1500T) 5.5 Operadores (S7-1500T) La tabla siguiente muestra las combinaciones permitidas de tipos de datos para ambos operandos y operadores de comparación: Tipo de datos Operadores de comparación permitidos Primer operando Segundo operando ANY_NUM ANY_NUM <, >, <=, >=, =, <> ANY_BIT ANY_BIT <, >, <=, >=, =, <>...
  • Página 92 Crear el programa MCL (S7-1500T) 5.5 Operadores (S7-1500T) //technological structured type - AXIS_OBJECT IF myAxis <> NULL THEN END_IF 5.5.7 Operadores lógicos (S7-1500T) Descripción Con los operadores lógicos AND, &, XOR y OR es posible combinar lógicamente operandos y expresiones de tipos de datos generales ANY_BIT (BOOL o DWORD). Con el operador lógico NOT es posible negar lógicamente operandos y expresiones de tipos de datos ANY_BIT.
  • Página 93 Crear el programa MCL (S7-1500T) 5.5 Operadores (S7-1500T) Ejemplos Los siguientes ejemplos muestran el uso de operadores lógicos: Expresión (n = 10) Valor (n > 0) AND (n < 20) TRUE (n > 0) AND (n < 5) FALSE (n > 0) OR (n < 5) TRUE (n >...
  • Página 94 Crear el programa MCL (S7-1500T) 5.5 Operadores (S7-1500T) END_PROGRAM 5.5.9 Prioridad de los operadores (S7-1500T) Descripción La instrucción de interpretación de una expresión depende de lo siguiente: • Prioridad de los operadores utilizados • Regla de izquierda a derecha • Uso de paréntesis Reglas El procesamiento de expresiones se realiza siguiendo determinadas reglas: •...
  • Página 95 Crear el programa MCL (S7-1500T) 5.5 Operadores (S7-1500T) Símbolo del operador Operador Prioridad ≥ Mayor o igual que Igual que < > Distinto AND or Y lógica & O exclusiva O lógica Valor de asignación o expresión en variable. Este operador asigna un valor o una expresión a una variable.
  • Página 96 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) Instrucciones de control (S7-1500T) 5.6.1 Instrucciones IF (S7-1500T) Descripción La instrucción IF es una ramificación de programa condicionada. El orden de ejecución depende de las condiciones indicadas (una o varias opciones). La ejecución de las instrucciones condicionadas fuerza la comprobación de las expresiones lógicas indicadas.
  • Página 97 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) Una ventaja de utilizar una o varias ramificaciones ELSIF en lugar de una secuencia de instrucciones IF es que las expresiones lógicas que siguen a expresiones válidas ya no se evalúan.
  • Página 98 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) 5.6.2 Instrucción CASE (S7-1500T) Descripción La instrucción CASE elige una sección de programa a partir de una selección de n alternativas. Esta selección se basa en el valor actual de una expresión de selección. La selección tiene lugar a partir de una lista de valores que asigna una sección de programa a cada valor/grupo de valores.
  • Página 99 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) Lista de valores La lista de valores contiene los valores permitidos para la expresión de selección. El siguiente diagrama muestra las posibles variantes de la formulación de una lista de valores: Al formular una lista de valores debe tenerse en cuenta lo siguiente: •...
  • Página 100 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) 5.6.3 Instrucción FOR (S7-1500T) Descripción La instrucción FOR ejecuta una secuencia de instrucciones en bucle a modo de instrucción de repetición y asigna valores a las variables en cada ejecución (variable de iteración). La variable de iteración debe ser una variable de escritura del tipo "DINT".
  • Página 101 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) Reglas Para la instrucción FOR se aplican las siguientes reglas: • Es posible omitir la indicación "BY" [incremento]. Si no se indica ningún incremento, el valor estándar es +1 (positivo, valor final ≥ valor inicial) o –1 (negativo, valor inicial > valor final).
  • Página 102 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) Sintaxis El siguiente diagrama muestra la sintaxis de la instrucción WHILE: La sección de instrucciones tras DO se repite hasta que la condición tenga el valor TRUE. Desarrollo de la ejecución Para la instrucción WHILE se aplica lo siguiente: •...
  • Página 103 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) 5.6.5 Instrucción REPEAT (S7-1500T) Descripción La instrucción REPEAT produce la ejecución repetida de una secuencia de instrucciones programada entre REPEAT y UNTIL hasta que se cumpla la condición de cancelación. La condición de cancelación se formula siguiendo reglas para una expresión lógica.
  • Página 104 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) En este ejemplo, el bucle se ejecuta solamente 9 veces, pues la variable i se inicializa con 1 y se incrementa antes de la comprobación. La variable adopta los valores 1 a 10. 5.6.6 Instrucción EXIT (S7-1500T) Descripción...
  • Página 105 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) 5.6.7 Instrucción CONTINUE (S7-1500T) Descripción La instrucción CONTINUE finaliza la ejecución actual del programa en un bucle FOR, WHILE o REPEAT. Tras procesar CONTINUE tiene lugar una consulta de las condiciones para continuar el bucle del programa (para WHILE y REPEAT), o la variable de iteración se modifica con el incremento y se comprueba si aún se encuentra en el rango de iteración.
  • Página 106 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) Marca de salto Para definir una marca de salto, es necesario indicar el nombre simbólico de la marca antes de la instrucción en la que el programa debe continuar. La separación se realiza con dos puntos: <Label_Name>...
  • Página 107 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) 5.6.9 Instrucción RETURN (S7-1500T) Descripción La instrucción RETURN cancela la función o el programa principal que se está ejecutando. Al finalizar una función, la ejecución del programa continúa en una unidad de organización del programa (POE) de orden superior tras el punto desde el que se llamó...
  • Página 108 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) instrucciones. Al contrario de lo que ocurre con el inicio síncrono, las acciones síncronas dependen de criterios de inicio de la vinculación a la posición en la trayectoria para acciones síncronas controladas por posición.
  • Página 109 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) 5.6.10.2 Inicio síncrono de instrucciones y secuencias de instrucciones (S7-1500T) Descripción MCL ofrece elementos sintácticos para describir el inicio síncrono de instrucciones y secuencias de instrucciones. Estos permiten programar un inicio síncrono de varias instrucciones en el momento de la ejecución, p. ej., el inicio de instrucciones durante la ejecución de una secuencia en el punto de suavizado de transición entre instrucciones en la secuencia.
  • Página 110 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) • La CPU debe haber preprocesado completamente todos los subbloques de inicio síncrono (ON_START) dentro de un bloque SYNC/END_SYNC en el bucle de preparación antes de la ejecución; de lo contrario, se produce un error en tiempo de ejecución. •...
  • Página 111 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) Este capítulo muestra ejemplos para el inicio síncrono de instrucciones y secuencias de instrucciones. Ejemplo 1: inicio síncrono de instrucciones El ejemplo siguiente muestra el inicio síncrono de las instrucciones "posAbs" y "writeVar" con la instrucción principal "writeVar".
  • Página 112 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) Ejemplo 2: inicio síncrono de instrucciones con dos bloques SYNC independientes En el siguiente ejemplo, se inicia el posicionamiento de los ejes myAxis1, myAxis2 y myAxis3 de forma síncrona (instrucción "posAbs"). Después de que todos los ejes hayan alcanzado su correspondiente posición de destino, myAxis3 se posiciona en 0.0 (instrucción "posAbs").
  • Página 113 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) Ejemplo 3: inicio síncrono en el punto de suavizado de transición de un movimiento de trayectoria El bloque sintáctico del inicio síncrono (SYNC/END_SYNC) puede utilizarse para iniciar secuencias de movimiento paralelas en el punto de suavizado de transición de la secuencia principal (p. ej., secuencia de movimiento de trayectoria con suavizado de transición).
  • Página 114 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) Ejemplo 4: inicio síncrono de una secuencia en el punto de suavizado de transición de un movimiento de trayectoria En el siguiente ejemplo se inicia una secuencia, consistente en 2 instrucciones de posicionamiento secuenciales, en el primer punto de suavizado de transición del movimiento de trayectoria.
  • Página 115 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) Ejemplo 5: inicio síncrono en el punto de suavizado de transición de un movimiento de trayectoria o de una secuencia de movimiento de eje individual Es posible agregar un bloque SYNC/END_SYNC a otro bloque SYNC/END_SYNC. Esto permite conectar instrucciones síncronas en cascada.
  • Página 116 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) 5.6.10.3 Acciones síncronas (S7-1500T) Descripción Además de los bloques sintácticos para el inicio síncrono, MCL ofrece un bloque sintáctico para acciones síncronas. Una acción síncrona es una secuencia de instrucciones que se ejecutan en paralelo al contexto de la ejecución principal y cuyo inicio se dispara mediante un evento en tiempo de ejecución.
  • Página 117 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) ① Acción síncrona en la posición inicial ② Acción síncrona en una posición definida ③ Acción síncrona en la posición final La acción síncrona puede contener una secuencia cualquiera de instrucciones. La secuencia principal completa (instrucciones tras la palabra clave SYNC hasta el primer bloque ON_POS) se ejecuta completamente, o puede sustituirse por un movimiento de trayectoria en una acción síncrona.
  • Página 118 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) • Las variables locales y globales declaradas, es decir, dadas a conocer en el programa intérprete están bloqueadas para cambios durante las acciones síncronas. Esto significa que el valor que tiene este tipo de variable del intérprete en la preparación del programa también tiene efecto durante la acción síncrona.
  • Página 119 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) Constelación Descripción linAbs( …, trans := 1 ); Disparo de la acción síncrona mediante la instruc­ SYNC ción en la línea 3; linAbs( …,trans := 0 ); referencia a la longitud de trayectoria en la línea ON_POS sType := …...
  • Página 120 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) linAbs( p1, trans := 1, blend := 1 ); SYNC linAbs( p2, trans := 0 ); ON_POS sType := 2, p := myLength DO // synchronous action … END_SYNC; ① Acción síncrona en una posición definida (p = myLength) ②...
  • Página 121 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) Ejemplo 2 En este ejemplo, la acción síncrona se inicia 1 s después de que se haya alcanzado la posición de trayectoria 50.0. El eje myAxis1 se posiciona tras determinarse la posición myAxPos. El ejemplo muestra el inicio de la acción síncrona para una longitud de trayectoria definida de una secuencia ("sType"...
  • Página 122 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) myAxPos := myFct(); // determining the position using user-function SYNC linAbs( myPos ); ON_POS sType := 2, p := 50.0, t := T#-1s DO posAbs( myAxis1, myAxPos ); // myAxis1 is not kinematics axis END_SYNC;...
  • Página 123 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) Ejemplo 5 Para conectar en cascada acciones síncronas, es posible agregar un bloque SYNC/END_SYNC con subbloque ON_POS a otro bloque SYNC/END_SYNC. En este ejemplo, la variable del portapapeles Clipboard Variable $IPR.clipboard.cbBool[1] del objeto tecnológico Intérprete se establece en TRUE cuando se inicia el movimiento de trayectoria con suavizado de transición.
  • Página 124 Crear el programa MCL (S7-1500T) 5.6 Instrucciones de control (S7-1500T) EXIT_SYNC; END_IF; END_FOR; END_SYNC; 5.6.10.4 Combinación de inicio síncrono y acciones síncronas (S7-1500T) La programación de instrucciones o secuencias de instrucciones síncronas se realiza mediante bloques SYNC/END_SYNC. Dentro de esta estructura de bloques unitaria se pueden utilizar subbloques específicos para el inicio síncrono (subbloque ON_START) y acciones síncronas (subbloque ON_POS).
  • Página 125 Crear el programa MCL (S7-1500T) 5.7 Estructura del programa MCL (S7-1500T) END_SYNC; Consulte también preHalt(): Detener la preparación del programa (Página 302) waitEvent(): Interrumpir la ejecución del programa hasta un determinado evento (Página 293) Estructura del programa MCL (S7-1500T) 5.7.1 Descripción general de la estructura del programa MCL (S7-1500T) Introducción Los programas MCL deben respetar determinadas estructuras y reglas sintácticas.
  • Página 126 Crear el programa MCL (S7-1500T) 5.7 Estructura del programa MCL (S7-1500T) La siguiente figura muestra la estructura típica del programa MCL: Estructura general de POE El código fuente del programa principal y las funciones consta de las siguientes secciones: • Inicio (obligatorio) •...
  • Página 127 Crear el programa MCL (S7-1500T) 5.7 Estructura del programa MCL (S7-1500T) Inicio y fin de una POE Dependiendo del tipo de POE, el texto fuente para POE individuales comienza con un identificador estándar para el comienzo del bloque y el nombre del bloque. La terminación se realiza con un identificador estándar para el final del bloque.
  • Página 128 Crear el programa MCL (S7-1500T) 5.7 Estructura del programa MCL (S7-1500T) Nombre de la unidad de de­ Utilización Sintaxis en MCL claración Programa Función principal Unidad de declaración para Opcional VAR_IPR CONSTANT ✓ …… constantes globales del intér­ END_VAR prete Unidad de declaración para Opcional VAR_INPUT...
  • Página 129 Crear el programa MCL (S7-1500T) 5.7 Estructura del programa MCL (S7-1500T) La sección de declaración del programa principal debe programarse antes de la sección de instrucciones/ejecución. Cada tipo de bloque de declaración ("VAR CONSTANT", "VAR_IPR CONSTANT", "VAR" o "VAR_IPR") en la sección de declaración solamente puede aparecer una vez y finaliza con "END_VAR".
  • Página 130 Crear el programa MCL (S7-1500T) 5.7 Estructura del programa MCL (S7-1500T) Nombre de la POE Utilización Sintaxis en MCL Descripción END_VAR VAR_IPR CONSTANT …… END_VAR //statement part END_PROGRAM Ejemplo El siguiente ejemplo muestra un programa principal: PROGRAM Main // declaration part VAR CONSTANT myConst1 : DINT := 10;...
  • Página 131 Crear el programa MCL (S7-1500T) 5.7 Estructura del programa MCL (S7-1500T) 5.7.3 Funciones (S7-1500T) Descripción Una función se puede llamar varias veces en diferentes puntos de un programa. Contiene código que se ejecuta cada vez que se llama la función. Las funciones se pueden utilizar, p.
  • Página 132 Crear el programa MCL (S7-1500T) 5.7 Estructura del programa MCL (S7-1500T) La figura siguiente muestra la estructura típica de una función. Sintaxis La identificación sintáctica de la función comienza con la palabra clave FUNCTION (inicio de la función) y finaliza con la palabra clave END_FUNCTION (fin de la función): Sintaxis Descripción FUNCTION <Name>...
  • Página 133 Crear el programa MCL (S7-1500T) 5.7 Estructura del programa MCL (S7-1500T) Sintaxis Descripción FUNCTION <Name> : <Type> <Type> Aquí se indica el tipo de datos del …… valor de retorno. END_FUNCTION END_FUNCTION La función finaliza con esta pala­ bra clave. Se distingue entre ma­ yúsculas y minúsculas.
  • Página 134 Crear el programa MCL (S7-1500T) 5.7 Estructura del programa MCL (S7-1500T) 5.7.4 Parámetros de función (S7-1500T) Descripción La interfaz de llamada de una función está determinada por la definición de variables dentro de la función. Esta definición se realiza por separado para variables de entrada y variables de salida.
  • Página 135 Crear el programa MCL (S7-1500T) 5.7 Estructura del programa MCL (S7-1500T) Si no se indica el valor estándar en la declaración, se aplican las siguientes reglas: • Para parámetros de entrada: el parámetro debe tener asignado obligatoriamente el valor actual en la llamada de la función. •...
  • Página 136 Crear el programa MCL (S7-1500T) 5.7 Estructura del programa MCL (S7-1500T) Parámetro formal Sentido de transferencia Parámetro actual ← ← → myVar3 En la llamada de funciones se intercambian datos entre el bloque invocante y el bloque llamado. Los parámetros que van a transmitirse deben indicarse en la llamada de función en forma de lista de parámetros.
  • Página 137 Crear el programa MCL (S7-1500T) 5.7 Estructura del programa MCL (S7-1500T) 5.7.6 Valores de retorno de funciones (S7-1500T) Descripción Para los valores de retorno de las funciones MCL existen dos posibilidades: • Una función puede definirse con y sin valor de retorno. Esto se determina a través del tipo de retorno en la declaración de la función.
  • Página 138 Crear el programa MCL (S7-1500T) 5.7 Estructura del programa MCL (S7-1500T) END_PROGRAM El valor de retorno se proporciona en la implementación de la función mediante la asignación de un valor al nombre de la función. Esto también es válido si el valor de retorno es una estructura o un array.
  • Página 139 Crear el programa MCL (S7-1500T) 5.7 Estructura del programa MCL (S7-1500T) 5.7.7 Finalización prematura de funciones (S7-1500T) Descripción La instrucción RETURN finaliza la función actual en el punto en el que se encuentre esta instrucción. Tras finalizar la función, el procesamiento del programa continúa en el punto desde el que se llamó...
  • Página 140 Crear el programa MCL (S7-1500T) 5.8 Trabajar con el editor de programación (S7-1500T) Trabajar con el editor de programación (S7-1500T) 5.8.1 Estructura del editor de programación para programas intérprete (S7-1500T) El editor de programación sirve para crear y editar programas intérprete. El programa intérprete abierto puede acceder a los parámetros de los objetos tecnológicos Intérprete y Mapeo de intérprete seleccionados en la lista de herramientas, así...
  • Página 141 Crear el programa MCL (S7-1500T) 5.8 Trabajar con el editor de programación (S7-1500T) Botón Función Quitar marca de comentario Activar/retirar marcadores Navegar al marcador anterior Navegar al siguiente marcador Cerrar todos los cuadros de diálogo de parametrización Seleccionar el objeto tecnológico Intérprete Seleccionar el objeto tecnológico Mapeo de intérprete Ir a la configuración de mapeo Navegar al error anterior...
  • Página 142 Crear el programa MCL (S7-1500T) 5.8 Trabajar con el editor de programación (S7-1500T) ④ Visualización 3D de la cinemática La visualización 3D contiene una representación de la cinemática vinculada al objeto tecnológico Intérprete seleccionado. Para mostrar la cinemática vinculada en la visualización 3D, elija un objeto tecnológico Intérprete en la barra de herramientas del editor de programación, en la lista de selección "Seleccionar intérprete".
  • Página 143 Crear el programa MCL (S7-1500T) 5.8 Trabajar con el editor de programación (S7-1500T) Plegado de código Si, además del número de línea, aparece el símbolo , puede contraerse la sección del programa. Las secciones que pueden contraerse empiezan por una palabra clave. También es posible contraer comentarios de bloque.
  • Página 144 Crear el programa MCL (S7-1500T) 5.8 Trabajar con el editor de programación (S7-1500T) Combinaciones de teclas En la ventana de programación están disponibles las siguientes combinaciones de teclas: Combinación de teclas Función Ctrl + G Ir a línea Ctrl + Mayús + W Formatear selección Ctrl + Mayús + Y Poner marca de comentario...
  • Página 145 Crear el programa MCL (S7-1500T) 5.8 Trabajar con el editor de programación (S7-1500T) Aplicar los valores de posición del punto de operación de la herramienta de la cinemática Al especificar coordenadas se pueden aplicar los valores actuales de posición del punto de operación de la herramienta (TCP) de la cinemática vinculada al intérprete seleccionado en la barra de herramientas.
  • Página 146 Crear el programa MCL (S7-1500T) 5.9 Llamada de instrucciones MCL (S7-1500T) Navegar a los marcadores  Si hay un marcador en una sección de programa contraída, no se muestra el marcador. Si se navega a un marcador oculto, se amplía automáticamente la sección de programa. Para navegar a los marcadores, haga lo siguiente: 1.
  • Página 147 Crear el programa MCL (S7-1500T) 5.9 Llamada de instrucciones MCL (S7-1500T) Reglas • Los parámetros necesarios se sitúan en primer lugar de la lista de parámetros. Su orden está definido. • Estos parámetros pueden seguir a parámetros opcionales o modales, que constan de identificador de parámetro (nombre de parámetro), un operador de asignación y una expresión.
  • Página 148 Crear el programa MCL (S7-1500T) 5.9 Llamada de instrucciones MCL (S7-1500T) Parámetros opcionales con valor predeterminado Los parámetros opcionales con valor predeterminado deben especificarse con el correspondiente identificador de parámetro (nombre de parámetro) y el operador de asignación. Si el parámetro no está especificado en la instrucción, se utiliza el valor predeterminado. …...
  • Página 149 Crear el programa MCL (S7-1500T) 5.9 Llamada de instrucciones MCL (S7-1500T) // using elements of ARRAY for parameters transfer linAbs( Pos1, v := myArray[1], a := myArray[2] ); posAbs( ax[2], 20.0 ); // using elements of STRUCT for parameters transfer linAbs( Pos1, v := myStruct.v, j := myStruct.j );...
  • Página 150 Crear el programa MCL (S7-1500T) 5.9 Llamada de instrucciones MCL (S7-1500T) Uso de literales Como parámetro para instrucciones MCL pueden utilizarse literales del sistema o variables a las que se acceda a través de literales del sistema. Los literales del sistema "$A1", "$A2", "$A3", "$A4", "$A5", "$A6" para instrucciones de eje individual pueden utilizarse como parámetros "Axis instance": // using literals for single axis commands posAbs( $A1, 10.0 );...
  • Página 151 Crear el programa MCL (S7-1500T) 5.9 Llamada de instrucciones MCL (S7-1500T) 5.9.4 Especificación de posición de destino absoluta y relativa (S7-1500T) Existen diferencias entre las órdenes de movimiento absolutas y relativas al utilizar valores estándar para el parámetro "Target position". Posicionamiento absoluto Si no se utilizan algunos elementos del agregado en una orden de movimiento de la cinemática para el posicionamiento absoluto, la orden se ejecuta sin cambiar las coordenadas...
  • Página 152 Crear el programa MCL (S7-1500T) 5.10 Parámetros modales (S7-1500T) 5.10 Parámetros modales (S7-1500T) Los parámetros modales se inicializan al cargar un programa MCL con los valores predeterminados de los objetos de cinemática y de los ejes del correspondiente bloque de datos de objeto tecnológico y conservan su valor hasta que se modifique mediante instrucciones específicas en el programa MCL.
  • Página 153 Crear el programa MCL (S7-1500T) 5.10 Parámetros modales (S7-1500T) Valor dinámico modal para Tipo de datos Pará­ Instrucción MCL Valor predeterminado en el inicio del pro­ movimientos de la cinemática metro grama MCL Velocidad máxima LREAL "<TO_Kinematics>.DynamicLimits.Path.Velo­ setDynMax (Página 216) city"...
  • Página 154 Crear el programa MCL (S7-1500T) 5.10 Parámetros modales (S7-1500T) Movimiento sPTP Valor dinámico modal para Tipo de datos Pará­ Instrucción MCL Valor predeterminado en el inicio del pro­ movimientos de la cinemática metro grama MCL Factor de velocidad LREAL "<TO_Kinematics>.DynamicDefaults.MoveDi­ setPtpDyn (Página 213) rect.VelocityFactor"...
  • Página 155 Crear el programa MCL (S7-1500T) 5.10 Parámetros modales (S7-1500T) Suavizado de la transición Valor dinámico modal para Tipo de datos Pará­ Instrucción MCL Valor predeterminado en el inicio del pro­ movimientos de la cinemática metro grama MCL Transición del movimiento DINT trans setTrans (Página...
  • Página 156 Crear el programa MCL (S7-1500T) 5.10 Parámetros modales (S7-1500T) 5.10.3 Uso de parámetros modales en programas MCL (S7-1500T) Los parámetros modales son opcionales para instrucciones MCL. Si utiliza parámetros modales para movimientos en instrucciones MCL, debe indicar los parámetros modales con el correspondiente identificador de parámetro y operador de asignación delante de su valor.
  • Página 157 Crear el programa MCL (S7-1500T) 5.10 Parámetros modales (S7-1500T) Si en la instrucción MCL no se indica ningún parámetro modal y no se ha utilizado ninguna instrucción especial para cambiarlo antes de la llamada, se utiliza el valor predeterminado como valor de este parámetro modal. Ejemplo de uso de valores iniciales para parámetros de dinámica modales En el siguiente ejemplo se utiliza la instrucción "linAbs()"...
  • Página 158 Crear el programa MCL (S7-1500T) 5.10 Parámetros modales (S7-1500T) Ejemplos de limitación de parámetros de dinámica modales Los siguientes ejemplos muestran la limitación de la velocidad para el movimiento lineal de la cinemática sobre la base del valor de la siguiente variable en el bloque de datos del objeto tecnológico: •...
  • Página 159 Instrucciones MCL (S7-1500T) Movimientos de la cinemática (S7-1500T) 6.1.1 linAbs(): Posicionar la cinemática de forma absoluta con movimiento de trayectoria lineal (S7-1500T) Descripción Con la instrucción MCL "linAbs()" se desplaza una cinemática hasta una posición absoluta con un movimiento lineal. La instrucción MCL ofrece las posibilidades siguientes: •...
  • Página 160 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Sintaxis linAbs( <pos> [,v := <value>] [,a := <value>] [,d := <value>] [,j := <value>] [,trans := <value>] [,blend := <value>] [,blendDist := <value>] [,cs := <value>] [,oDirA := <value>] ); Parámetros La tabla siguiente muestra los parámetros de la instrucción "linAbs()": Paráme­...
  • Página 161 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Paráme­ Tipo de datos Valor pre­ Descripción determina­ LREAL Se utiliza el valor modal. El valor modal se inicializa con "<TO_Kinematics>.DynamicDefaults.Path.Jerk". Con setDyn() (Página 207) se puede ajustar otro valor de forma modal.
  • Página 162 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Paráme­ Tipo de datos Valor pre­ Descripción determina­ DINT Sistema de coordenadas del objeto 2 (OCS 2) Sistema de coordenadas del objeto 2 (OCS 3) oDirA DINT Sentido de movimiento de la orientación cartesiana A Solo relevante con hasta 4 ejes de cinemática interpolantes.
  • Página 163 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Pos2, Pos3, Pos4 : TO_Struct_Ipr_Position; blendingDist : LREAL; END_VAR // A1 - Exact stop in Pos2 linAbs( Pos2, trans := 0, cs := 0 ); // A2 - Blending high velocity in Pos3 linAbs( Pos3, trans := 2, blend := 2, blendDist := blendingDist, cs := 0 );...
  • Página 164 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Requisitos • Los objetos tecnológicos siguientes se han configurado correctamente: – Cinemática – Ejes de la cinemática – Intérprete – Programa intérprete • La cinemática está vinculada con el intérprete. • Los ejes interconectados con la cinemática están habilitados. •...
  • Página 165 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Paráme­ Tipo de datos Valor pre­ Descripción determina­ LREAL > 0.0 Se utiliza el valor indicado ≤ 0.0 No admisible LREAL Deceleración Se utiliza el valor modal. El valor modal se inicializa con "<TO_Kinematics>.DynamicDefaults.Path.Deceleration".
  • Página 166 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Paráme­ Tipo de datos Valor pre­ Descripción determina­ blendDist LREAL ≥ 0.0 Se utiliza el valor especificado < 0.0 Se utiliza la máxima distancia posible de suavizado de transición DINT Sistema de coordenadas de referencia Se utiliza el valor modal.
  • Página 167 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Pos2, Pos3, Pos4 : TO_Struct_Ipr_Position; blendingDist : LREAL; END_VAR // A1 - Exact stop in position 2 with coordinate Pos2 relative to position 1 linRel( Pos2, trans := 0, cs := 0 ); // A2 - Blending high velocity in position 3 with coordinate Pos3 relative to position 2 linRel( Pos3, trans := 2, blend := 2, blendDist := blendingDist, cs := 0 );...
  • Página 168 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Requisitos • Los objetos tecnológicos siguientes se han configurado correctamente: – Cinemática – Ejes de la cinemática – Intérprete – Programa intérprete • La cinemática está vinculada con el intérprete. • Los ejes interconectados con la cinemática están habilitados. •...
  • Página 169 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Paráme­ Tipo de datos Valor pre­ Descripción determina­ LREAL Coordenada x LREAL Coordenada y LREAL Coordenada z LREAL Coordenada A LREAL Coordenada B LREAL Coordenada C mode DINT Tipo de interpolación 3D: Definir la trayectoria circular a través de punto inter­...
  • Página 170 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Paráme­ Tipo de datos Valor pre­ Descripción determina­ LREAL ≤ 0.0 No admisible LREAL Tirón Se utiliza el valor modal. El valor modal se inicializa con "<TO_Kinematics>.DynamicDefaults.Path.Jerk". Con setDyn() (Página 207) se puede ajustar otro valor de forma modal.
  • Página 171 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Paráme­ Tipo de datos Valor pre­ Descripción determina­ oDirA DINT Recorrido más corto Si la orientación de destino puede alcanzarse mediante dos trayectorias de igual longitud, el movimiento se realiza en sentido positivo. trans DINT Transición de movimiento a la siguiente orden...
  • Página 172 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Paráme­ Tipo de datos Valor pre­ Descripción determina­ DINT Sistema de coordenadas del objeto 1 (OCS 1) Sistema de coordenadas del objeto 2 (OCS 2) Sistema de coordenadas del objeto 3 (OCS 3) Solo es relevante con más de 4 ejes interpolantes.
  • Página 173 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Pos1, Pos2, Pos3, Pos4 : TO_Struct_Ipr_Position; circRadius : LREAL; END_VAR // A1 – circular movement through Pos2 with defined dynamics, exact stop in Pos3 circAbs( Pos3, auxPos := Pos2, mode := 0, v := 15.0, a := 2000.0, d := 3000.0, j := 10000.0, trans := 0, cs := 0 );...
  • Página 174 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Requisitos • Los objetos tecnológicos siguientes se han configurado correctamente: – Cinemática – Ejes de la cinemática – Intérprete – Programa intérprete • La cinemática está vinculada con el intérprete. • Los ejes interconectados con la cinemática están habilitados. •...
  • Página 175 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Paráme­ Tipo de datos Valor pre­ Descripción determina­ LREAL Coordenada x LREAL Coordenada y LREAL Coordenada z LREAL Coordenada A LREAL Coordenada B LREAL Coordenada C mode DINT Tipo de interpolación 3D: Definir la trayectoria circular a través de punto inter­...
  • Página 176 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Paráme­ Tipo de datos Valor pre­ Descripción determina­ LREAL ≤ 0.0 No admisible LREAL Tirón Se utiliza el valor modal. El valor modal se inicializa con "<TO_Kinematics>.DynamicDefaults.Path.Jerk". Con setDyn() (Página 207) se puede ajustar otro valor de forma modal.
  • Página 177 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Paráme­ Tipo de datos Valor pre­ Descripción determina­ trans DINT Suavizar la transición con la mayor velocidad de ambas ór­ denes blend DINT Modo de suavizado de transición Se utiliza el valor modal. De forma estándar, el parámetro "blend"...
  • Página 178 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Ejemplo: Posicionamiento relativo de la cinemática con movimiento circular de la trayectoria En el siguiente ejemplo, una cinemática debe alcanzar dos posiciones. La cinemática debe desplazarse, partiendo de la parada, desde Pos1 (punto final de la orden precedente) hasta Pos2 y desde allí...
  • Página 179 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) 6.1.5 ptpAbs(): Desplazar la cinemática a coordenadas de destino cartesianas absolutas con movimiento sPTP (S7-1500T) Descripción La instrucción MCL "ptpAbs()" desplaza una cinemática hasta posiciones absolutas en un movimiento "punto a punto" síncrono (movimiento sPTP). Al hacerlo, todos los ejes de la cinemática se mueven al mismo tiempo.
  • Página 180 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Sintaxis ptpAbs( <pos> [,posMode := <val>] [,lc := <val>] [,cs := <val>] [,v := <val>] [,a := <val>] [,d := <val>] [,j := <val>] [,trans := <val>] [,blendDist := <val>] [,oDirA := <val>] [,tj1 := <val>] [,tj2 := <val>] [,tj3 := <val>] [,tj4 := <val>] [,tj5 := <val>] [,tj6 := <val>] );...
  • Página 181 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Paráme­ Tipo de datos Valor pre­ Descripción determina­ DWORD 16#FFFF_FFFF Conservar el espacio de posición actual de la arti­ culación DINT Sistema de coordenadas de referencia Se utiliza el valor modal. De forma estándar, el parámetro "cs"...
  • Página 182 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Paráme­ Tipo de datos Valor pre­ Descripción determina­ LREAL Se utiliza el valor modal. El valor modal se inicia­ liza con "<TO_Kinematics>.DynamicDefaults.MoveDirect. DecelerationFactor". Con setPtpDyn() (Página 213) se puede ajustar otro valor de forma modal. 0.0 <...
  • Página 183 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Paráme­ Tipo de datos Valor pre­ Descripción determina­ blendDist LREAL < 0.0 Se utiliza la máxima distancia posible de suavi­ zado de transición oDirA DINT Sentido de movimiento de la orientación cartesiana A Solo relevante con: - hasta 4 ejes de cinemática interpolantes - "posMode"...
  • Página 184 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Instrucciones de Motion Control comparables • "MC_MoveDirectAbsolute": Desplazamiento absoluto de la cinemática con movimiento síncrono "punto a punto" Ejemplo: Posicionar la cinemática en coordenadas de destino cartesianas absolutas con movimiento sPTP En el siguiente ejemplo, una cinemática debe alcanzar dos posiciones absolutas.
  • Página 185 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) 6.1.6 ptpRel(): Desplazar la cinemática a coordenadas de destino cartesianas relativas con movimiento sPTP (S7-1500T) Descripción La instrucción MCL "ptpRel()" desplaza una cinemática hasta posiciones relativas en un movimiento "punto a punto" síncrono (movimiento sPTP). Al hacerlo, todos los ejes de la cinemática se mueven al mismo tiempo.
  • Página 186 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Sintaxis ptpRel( <pos> [,lc := <val>] [,cs := <val>] [,v := <val>] [,a := <val>] [,d := <val>] [,j := <val>] [,trans := <val>] [,blendDist := <val>] [,tj1 := <val>] [,tj2 := <val>] [,tj3 := <val>] [,tj4 := <val>] [,tj5 := <val>] [,tj6 := <val>] );...
  • Página 187 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetro Tipo de datos Valor pre­ Descripción determina­ LREAL Factor porcentual para la velocidad de los movimientos de ejes con res­ pecto a la velocidad máxima de los ejes en cuestión ("<TO_Axis>.DynamicLimits.MaxVelocity") Se utiliza el valor modal.
  • Página 188 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetro Tipo de datos Valor pre­ Descripción determina­ LREAL 10.0 ≤ j ≤ 90.0 Se utiliza el valor indicado. = 0.0 Sin limitación de tirón < 10.0 (excepto No admisible 0.0) >...
  • Página 189 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetro Tipo de datos Valor pre­ Descripción determina­ tj1,...,tj6 DINT 540° ≤ posición < 900° … … -180 + (n - 1) * 360 ≤ posición < 180 + (n - 1) * (n >...
  • Página 190 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Pos2, Pos3 : TO_Struct_Ipr_Position; d : LREAL; END_VAR // A1 – sPTP movement with blending with low velocity through Pos2 with coordinate Pos2 // relative to Pos1 ptpRel( Pos2, cs := 0, v := 100.0, a := 100.0, d := 100.0, j := 0.0, trans := 1, blendDist := d );...
  • Página 191 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Requisitos • Los objetos tecnológicos siguientes se han configurado correctamente: – Cinemática – Ejes de la cinemática – Intérprete – Programa intérprete • La cinemática está vinculada con el intérprete. • Los ejes interconectados con la cinemática están habilitados. •...
  • Página 192 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetros Tipo de datos Valor pre­ Descripción determi­ nado LREAL Se utiliza el valor modal. El valor modal se inicializa "<TO_Kinematics>.DynamicDefaults.MoveDirect.Ve­ locityFactor". Con setPtpDyn() (Página 213) se puede ajustar otro valor de forma modal. 1.0 ≤...
  • Página 193 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetros Tipo de datos Valor pre­ Descripción determi­ nado LREAL < 10.0 No admisible (excepto 0.0) > 90.0 No admisible trans DINT Transición de movimiento a la siguiente orden Se utiliza el valor modal. De forma estándar, el pará­ metro "trans"...
  • Página 194 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Ejemplo: Posicionar la cinemática en posiciones de destino absolutas del eje en el sistema de coordenadas de máquina con movimiento sPTP En el siguiente ejemplo, una cinemática debe alcanzar tres posiciones de destino absolutas del eje en el sistema de coordenadas de máquina.
  • Página 195 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) 6.1.8 ptpAxRel(): Desplazar la cinemática a posiciones relativas del eje con movimiento sPTP (S7-1500T) Descripción La instrucción MCL "ptpAxRel()" desplaza una cinemática hasta una posición de destino relativa del eje en el sistema de coordenadas de máquina en un movimiento "punto a punto" síncrono (movimiento sPTP).
  • Página 196 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Sintaxis ptpAxRel( <axPos> [,v := <val>] [,a := <val>] [,d := <val>] [,j := <val>] [,trans := <val>] [,blendDist := <val>] ); Parámetros La tabla siguiente muestra los parámetros de la instrucción "ptpAxRel()": Parámetro Tipo de datos Valor pre­...
  • Página 197 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetro Tipo de datos Valor pre­ Descripción determi­ nado LREAL 0.0 < a ≤ 100.0 Se utiliza el valor indicado > 100.0 No admisible ≤ 0.0 No admisible LREAL Factor porcentual para la deceleración de los movimientos de ejes con respecto a la deceleración máxima de los ejes en cuestión ("<TO_Axis>.DynamicLimits.MaxDeceleration") Se utiliza el valor modal.
  • Página 198 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetro Tipo de datos Valor pre­ Descripción determi­ nado blendDist LREAL Se utiliza el valor modal. De forma estándar, el pa­ rámetro "blendDist" tiene preajustado el valor "-1.0". Con setBlendDist() (Página 227) se puede ajustar otro valor de forma modal.
  • Página 199 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Pos2, Pos3, Pos4 : TO_Struct_Ipr_AxPosition; d : LREAL; END_VAR // A1 – sPTP movement with blending with high velocity // through Pos2 with coordinate Pos2 // relative to Pos1 in MCS with max. sPTP dynamics without jerk limitation ptpAxRel( Pos2, v := 100.0, a := 100.0, d := 100.0, j := 0.0, trans := 2, blendDist := d );...
  • Página 200 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Requisitos • Los objetos tecnológicos siguientes se han configurado correctamente: – Cinemática – Ejes de la cinemática – Intérprete – Programa intérprete • La cinemática está vinculada con el intérprete. • Los ejes interconectados con la cinemática están habilitados. •...
  • Página 201 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetro Tipo de datos Valor pre­ Descripción determi­ nado LREAL Factor porcentual para la aceleración de los movimientos de ejes con res­ pecto a la aceleración máxima de los ejes en cuestión ("<TO_Axis>.DynamicLimits.MaxAcceleration") Se utiliza el valor modal.
  • Página 202 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetro Tipo de datos Valor pre­ Descripción determi­ nado trans DINT Suavizar la transición con la menor velocidad de am­ bas órdenes Suavizar la transición con la mayor velocidad de am­ bas órdenes Si "trans"...
  • Página 203 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Pos2, Pos3 : TO_Struct_Ipr_JtPosition; d : LREAL; END_VAR // A1 – sPTP movement with blending // with high velocity in Pos2 (absolute target position in JCS) // with max. sPTP dynamics without jerk limitation ptpJtAbs( Pos2, v := 100.0, a := 100.0, d := 100.0, j := 0.0, trans := 2, blendDist := d );...
  • Página 204 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Requisitos • Los objetos tecnológicos siguientes se han configurado correctamente: – Cinemática – Ejes de la cinemática – Intérprete – Programa intérprete • La cinemática está vinculada con el intérprete. • Los ejes interconectados con la cinemática están habilitados. •...
  • Página 205 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetro Tipo de datos Valor pre­ Descripción determi­ nado LREAL Factor porcentual para la aceleración de los movimientos de ejes con res­ pecto a la aceleración máxima de los ejes en cuestión ("<TO_Axis>.DynamicLimits.MaxAcceleration") Se utiliza el valor modal.
  • Página 206 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetro Tipo de datos Valor pre­ Descripción determi­ nado trans DINT Suavizar la transición con la menor velocidad de am­ bas órdenes Suavizar la transición con la mayor velocidad de am­ bas órdenes Si "trans"...
  • Página 207 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Pos2, Pos3 : TO_Struct_Ipr_JtPosition; d : LREAL; END_VAR // A1 – sPTP movement with blending with high velocity // through Pos2 with coordinate Pos2 // relative to Pos1 in JCS with max. sPTP dynamics without jerk limitation ptpJtRel( Pos2, v := 100.0, a := 100.0, d := 100.0, j := 0.0, trans := 2, blendDist := d );...
  • Página 208 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetros La tabla siguiente muestra los parámetros de la instrucción "setDyn()": Pará­ Tipo de datos Valor pre­ Descripción metro determina­ LREAL Valor modal de la velocidad del movimiento de trayectoria El valor modal no cambia. Se utiliza el último valor válido establecido en el código del programa.
  • Página 209 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Pará­ Tipo de datos Valor pre­ Descripción metro determina­ LREAL leration). Si el valor no se establece en el código del programa, se utiliza el valor inicializado. > 0.0 Si rel := FALSE: ajuste predeterminado absoluto de la deceleración 0.0 <...
  • Página 210 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Ejemplos Ajuste de valores dinámicos modales: setDyn( rel := FALSE, v := 100.0, a := 1000.0, d := 1000.0, j := 0.0 ); Ajustar la aceleración del movimiento de trayectoria al 50 % del último valor máximo de velocidad válido: setDyn( a := 50.0, rel := TRUE );...
  • Página 211 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Efecto sobre otras instrucciones MCL Los parámetros modales son válidos para las siguientes instrucciones MCL: • linAbs() • linRel() • circAbs() • circRel() Sintaxis setOriDyn( [v := <value>] [,a := <value>] [,d := <value>] [,j := <value>] [,rel := <value>] Parámetros La tabla siguiente muestra los parámetros de la instrucción "setOriDyn()": Pará­...
  • Página 212 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Pará­ Tipo de datos Valor pre­ Descripción metro determina­ LREAL > 0.0 Si rel := FALSE: Ajuste predeterminado absoluto de la aceleración 0.0 < a ≤ Si rel := TRUE: 100.0 Ajuste predeterminado porcentual del último valor máxi­...
  • Página 213 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Pará­ Tipo de datos Valor pre­ Descripción metro determina­ BOOL FALSE Modo de especificación del valor modal FALSE Especificación absoluta TRUE Especificación porcentual Parámetro opcional con valor predeterminado Ejemplo // set orientation dynamic modally, absolute values setOriDyn( rel := FALSE, v := 100.0, a := 1000.0,...
  • Página 214 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Efecto sobre otras instrucciones MCL Los parámetros modales son válidos para las siguientes instrucciones MCL: • ptpAbs() • ptpRel() • ptpJtAbs() • ptpJtRel() • ptpAxAbs() • ptpAxRel() Sintaxis setPtpDyn( [v := <value>] [,a := <value>] [,d := <value>] [,j := <value>] ); Parámetros La tabla siguiente muestra los parámetros de la instrucción "setPtpDyn()": Pará­...
  • Página 215 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Pará­ Tipo de datos Valor pre­ Descripción metro determina­ LREAL Si el valor no se establece en el código del programa, se utiliza el valor inicializado. 0.0 < a ≤ 100.0 Valor porcentual de la aceleración máxima del eje ≤...
  • Página 216 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Ejemplo // set the modal factor of dynamics of a sPTP-motion without jerk limita- tion setPtpDyn( v := 10.0, a := 20.0, d := 30.0, j := 0.0 ); … // set the modal factor of the velocity of a sPTP-motion to 75.0% setPtpDyn( v := 75.0 ) 6.1.14 setDynMax(): Definir los límites de dinámica para movimientos de...
  • Página 217 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetros La tabla siguiente muestra los parámetros de la instrucción "setDynMax()": Pará­ Tipo de datos Valor pre­ Descripción metro determina­ LREAL Valor modal de la velocidad máxima del movimiento de trayectoria El valor modal no cambia.
  • Página 218 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Pará­ Tipo de datos Valor pre­ Descripción metro determina­ LREAL El valor modal no se modifica. Se utiliza el último valor válido ajustado en el código del pro­ grama. Al cargar el programa, el valor modal se inicializa con el valor de configuración guardado en "Parámetros avanzados >...
  • Página 219 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Se aplica a • Cinemática con orientación Efecto sobre otras instrucciones MCL Los parámetros modales son válidos para las siguientes instrucciones MCL: • linAbs() • linRel() • circAbs() • circRel() Sintaxis setOriDynMax( [v := <value>] [,a := <value>] [,d := <value>] [,j := <value>] );...
  • Página 220 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Pará­ Tipo de datos Valor pre­ Descripción metro determina­ LREAL > 0.0 Ajuste predeterminado absoluto del valor límite de la acele­ ración ≤ 0.0 No admisible LREAL Valor modal de la deceleración máxima del movimiento de orientación El valor modal no se modifica.
  • Página 221 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Ejemplos // set max. of jerk // max. values for velocity, acceleration and deceleration // used from technology object data block if not set before in the program setOriDynMax( j := 10000.0 ); setOriDynMax( v := 100.0, // set max.
  • Página 222 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Sintaxis setTrans( <trans> ); Parámetros La tabla siguiente muestra los parámetros de la instrucción "setTrans()": Pará­ Tipo de datos Valor Descripción metro predeter­ minado trans DINT Valor modal para la transición del movimiento a la siguiente orden de los movimientos de trayectoria y sPTP Añadir un movimiento Suavizar la transición con la menor velocidad de ambas órde­...
  • Página 223 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) La velocidad del movimiento de la cinemática en determinadas secciones del recorrido corresponde a los siguientes valores: PROGRAM main Pos2, Pos3, Pos4, Pos5 : TO_Struct_Ipr_Position; END_VAR // set dynamics modally setDyn( v := 100.0, a := 200.0, d := 200.0, j := 3000.0 ); // set blending dynamics modally to the movement without blending setTrans( 0 );...
  • Página 224 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) 6.1.17 setBlend(): Definir el modo de suavizado de transición para movimientos lineales y circulares de la trayectoria de forma modal (S7-1500T) Descripción Si se cambian los parámetros modales para el suavizado de transición entre dos órdenes de trayectoria, estos siempre causan efecto sobre las instrucciones subsiguientes.
  • Página 225 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Pará­ Tipo de datos Valor pre­ Descripción metro determina­ blend DINT Reservado Polinomial Suavizado de transición geométrico con trayectoria polinómica. Una trayectoria polinómica se utiliza como transición entre dos ele­ mentos geométricos dentro de la distancia de suavizado de transi­ ción (ver también "setBlendDist()") Ejemplo 1 El ejemplo siguiente muestra cómo se desplaza la cinemática a dos posiciones.
  • Página 226 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Ejemplo 2 El ejemplo siguiente muestra cómo se desplaza la cinemática a dos posiciones. Desde la posición de parada Pos1, la cinemática ("v" = 1000.0) se desplaza, con suavizado de transición polinomial ("blend" = 2), alta velocidad ("trans" = 2, "v" = 1000.0) y distancia de suavizado de transición, hasta Pos2 (A1) y desde allí...
  • Página 227 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) 6.1.18 setBlendDist(): Definir la distancia de suavizado de transición para movimientos de trayectoria y sPTP lineales y circulares de forma modal (S7-1500T) Descripción Con la instrucción MCL "setBlendDist()" se define la distancia de suavizado de transición de movimientos sPTP lineales y circulares como valor absoluto de forma modal.
  • Página 228 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetros La tabla siguiente muestra los parámetros de la instrucción "setBlendDist()": Pará­ Tipo de datos Valor pre­ Descripción metro determina­ blend­ LREAL Valor modal para el suavizado de transición (para movimientos lineales Dist de la trayectoria y sPTP)/la trayectoria radial del suavizado de transición (para movimientos circulares de la trayectoria)
  • Página 229 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) La distancia máxima de suavizado de transición está definida como la longitud del tramo de la primera orden (A1) entre el punto final de la trayectoria (pos B) y el punto de suavizado de transición A', o como la longitud del tramo de la segunda orden (A2) entre el punto final de la trayectoria (pos B) y el punto de suavizado de transición C' Cuando se alcanza la distancia de suavizado de transición, el movimiento actual pasa con suavidad al nuevo movimiento.
  • Página 230 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) 6.1.19 setBlendFactor(): Definir la distancia máxima de suavizado de transición para movimientos de trayectoria y sPTP lineales y circulares de forma modal (S7-1500T) Descripción Con la instrucción MCL "setBlendFactor()" se define de forma modal el factor de la distancia máxima de suavizado de transición de la cinemática para movimientos de la trayectoria, así...
  • Página 231 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Sintaxis setBlendFactor( <blendFactor> ); Parámetros La tabla siguiente muestra los parámetros de la instrucción "setBlendFactor()": Pará­ Tipo de datos Valor pre­ Descripción metro determina­ blend­ LREAL Valor modal del factor de suavizado de transición Factor = 0.0 Sin suavizado de la transición...
  • Página 232 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Ejemplo 1 El siguiente ejemplo muestra un movimiento lineal con el factor 90.0 % de la distancia máxima posible de suavizado de transición. Este factor se tiene en cuenta si está ajustada la distancia máxima posible de suavizado de transición para el movimiento.
  • Página 233 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Ejemplo 2 El siguiente ejemplo muestra un movimiento lineal con el factor 25.0 % de la distancia máxima posible de suavizado de transición. Este factor se tiene en cuenta si está ajustada la distancia máxima posible de suavizado de transición para el movimiento.
  • Página 234 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) 6.1.20 setPlane(): Definir el plano principal de la trayectoria circular para movimientos circulares de forma modal (S7-1500T) Descripción Con la instrucción MCL "setPlane()" se ajusta el plano principal 2D de forma modal para un movimiento circular de la trayectoria.
  • Página 235 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetros La tabla siguiente muestra los parámetros de la instrucción "setPlane()": Pará­ Tipo de datos Valor pre­ Descripción metro determina­ plane DINT Valor modal para el plano principal de la trayectoria circular Plano XZ Plano YZ Plano XY...
  • Página 236 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) 6.1.21 setOriDirA(): Definir el sentido de movimiento de la orientación cartesiana A para movimientos de trayectoria y sPTP lineales y circulares de forma modal (S7-1500T) Descripción Con la instrucción MCL "setOriDirA()" se ajusta de forma modal la indicación del sentido de movimiento de la orientación cartesiana alrededor de A.
  • Página 237 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetros La tabla siguiente muestra los parámetros de la instrucción "setOriDirA()": Pará­ Tipo de datos Valor pre­ Descripción metro determina­ oDirA DINT Valor modal para el sentido de movimiento de la orientación cartesiana Sentido positivo Sentido negativo Recorrido más corto...
  • Página 238 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) // set the modal value of the direction of the cartesian orientation // around A to 1 (positive direction) setOriDirA( 1 ); linAbs( myPos1, cs := 1, trans := 1, blend := 2 ); linAbs( myPos2 );...
  • Página 239 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Parámetros La tabla siguiente muestra los parámetros de la instrucción "setTurnJoint()": Pará­ Tipo de datos Valor pre­ Descripción metro determina­ tj1, ..., DINT Valor modal para el rango de la posición de destino de las articulaciones J1, ..., J6 El valor modal no cambia.
  • Página 240 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) 6.1.23 setCircDir(): Definir la orientación circular de la trayectoria para movimientos circulares de la trayectoria de forma modal (S7-1500T) Descripción Con la instrucción MCL "setCircDir()" se ajusta el sentido (orientación) de un movimiento circular absoluto o relativo de la trayectoria en el plano principal de forma modal.
  • Página 241 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Efecto sobre otras instrucciones MCL Los parámetros modales son válidos para las siguientes instrucciones MCL: • circAbs() • circRel() Sintaxis setCircDir( <cDir> ); Parámetros La tabla siguiente muestra los parámetros de la instrucción "setCircDir()": Pará­...
  • Página 242 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Ejemplo 1 En el siguiente ejemplo se ajusta el sentido del movimiento circular de la trayectoria en un sentido de giro positivo en el plano principal XZ de forma modal mediante la instrucción MCL "setCircDir()".
  • Página 243 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Ejemplo 2 En el siguiente ejemplo se ajusta el sentido del movimiento circular de la trayectoria al del segmento circular negativo más largo. El sentido se ajusta mediante la instrucción MCL "circAbs()" únicamente para esta indicación: setPlane( 0 );...
  • Página 244 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) setPlane( 0 ); // modal specification main plane XZ setCircDir( 1 ); // shorter negative circle segment // circular motion with interpolation over radius ("cr" = 25.0) and endpoint ("mode" = 2) // with shorter negative circle segment ("cDir"...
  • Página 245 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Efecto sobre otras instrucciones MCL Los parámetros modales son válidos para las siguientes instrucciones MCL: • ptpAbs() • ptpRel() También puede ajustarse el espacio de la posición de destino de la articulación de forma modal con estas instrucciones MCL.
  • Página 246 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) Pará­ Tipo de datos Valor pre­ Descripción metro determina­ DWORD Bit 2 Ángulo α3 del eje A3 positivo/negativo teniendo en cuenta el acoplamiento mecánico de los ejes α3 positivo En caso de brazo articulado de 6 ejes con mano central (KinPlus): El punto de la muñeca se encuentra en la zona es­...
  • Página 247 Instrucciones MCL (S7-1500T) 6.1 Movimientos de la cinemática (S7-1500T) ptpAbs( myPos4, posMode := 1, lc := 16#34, cs := 0 ); END_PROGRAM 6.1.25 setDynAdapt(): Definir la adaptación dinámica para movimientos de trayectoria de forma modal (S7-1500T) Descripción Con la instrucción MCL "setDynAdapt()" se ajusta el modo para la adaptación dinámica de forma modal, a fin de planificar la dinámica teniendo en cuenta los límites de dinámica de los ejes de la cinemática.
  • Página 248 Instrucciones MCL (S7-1500T) 6.2 Sistemas de coordenadas (S7-1500T) Parámetros La tabla siguiente muestra los parámetros de la instrucción "setDynAdapt()": Pará­ Tipo de datos Valor pre­ Descripción metro determi­ nado DINT Valor modal para adaptación dinámica Sin adaptación dinámica Limitar con segmentación de los movimientos de trayectoria Limitar sin segmentación de los movimientos de trayectoria Ejemplo El siguiente ejemplo muestra la activación y desactivación de la adaptación dinámica...
  • Página 249 Instrucciones MCL (S7-1500T) 6.2 Sistemas de coordenadas (S7-1500T) Se aplica a • Cinemática Requisitos • Los objetos tecnológicos (Cinemática, Intérprete, Programa intérprete) se han configurado correctamente. • La cinemática está vinculada con el intérprete. Sintaxis defOcs( <ocs>, <frame> ); Parámetros La tabla siguiente muestra los parámetros de la instrucción MCL "defOcs()": Paráme­...
  • Página 250 Instrucciones MCL (S7-1500T) 6.2 Sistemas de coordenadas (S7-1500T) 6.2.2 defTool() Redefinir la herramienta (S7-1500T) Descripción Con la instrucción MCL "defTool()" se vuelve a definir el frame de una herramienta. Los valores iniciales configurados en "<TO_Kinematics>.Tool[1..3]" no se sobrescriben. Una orden "defTool()" interrumpe la preparación del programa. La preparación del programa se reinicia tras haber finalizado la orden "defTool()".
  • Página 251 Instrucciones MCL (S7-1500T) 6.2 Sistemas de coordenadas (S7-1500T) Sintaxis defTool( <tool>, <frame> ); Parámetros La tabla siguiente muestra los parámetros de la instrucción MCL "defTool()": Paráme­ Tipo de datos Valor pre­ Descripción determina­ tool DINT Número de la herramienta para la que debe definirse el frame Herramienta 1 Herramienta 2 Herramienta 3...
  • Página 252 Instrucciones MCL (S7-1500T) 6.2 Sistemas de coordenadas (S7-1500T) //Declare frame variable myToolFrame : TO_Struct_Ipr_Frame; END_VAR //x coordinate of tool frame myToolFrame.x := 20.0; //z coordinate of tool frame myToolFrame.z := 100.0; //b coordinate of tool frame myToolFrame.b := -90.0; //Define tool frame defTool( 1, myToolFrame );...
  • Página 253 Instrucciones MCL (S7-1500T) 6.2 Sistemas de coordenadas (S7-1500T) Sintaxis trackIn( <axis>, <origin> [,initPos := <val>] [,ocs := <val>] ); Parámetros La tabla siguiente muestra los parámetros de la instrucción MCL "trackIn()": Pará­ Tipo de datos Valor Descripción metro prede­ termina­ axis AXIS_OBJECT Objeto tecnológico apto para valores conductores al que...
  • Página 254 Instrucciones MCL (S7-1500T) 6.2 Sistemas de coordenadas (S7-1500T) Ejemplo La cinemática sigue a un producto sobre la cinta transportadora con el seguimiento de cinta. El manipulador toma el producto en la posición predeterminada y lo coloca sobre un palé de productos.
  • Página 255 Instrucciones MCL (S7-1500T) 6.2 Sistemas de coordenadas (S7-1500T) 6.2.4 setCs(): Definir el sistema de coordenadas de referencia para movimientos de trayectoria y sPTP lineales y circulares de forma modal (S7-1500T) Descripción Con la instrucción MCL "setCs()" se configura el sistema de coordenadas de referencia de forma modal para movimientos de la cinemática.
  • Página 256 Instrucciones MCL (S7-1500T) 6.2 Sistemas de coordenadas (S7-1500T) Instrucciones de Motion Control comparables El sistema de coordenadas de referencia para movimientos lineales y circulares de la trayectoria y movimientos sPTP se parametriza en las instrucciones de Motion Control en el parámetro "CoordSystem".
  • Página 257 Instrucciones MCL (S7-1500T) 6.3 Zonas (S7-1500T) Zonas (S7-1500T) 6.3.1 defWsZone(): Definir la zona del espacio de trabajo (S7-1500T) Descripción Con la instrucción MCL "defWsZone()" se define una zona del espacio de trabajo referida al sistema de coordenadas universal o a un sistema de coordenadas de objeto. Como consecuencia, las zonas definidas en el objeto tecnológico Cinemática (<TO>.WorkspaceZone[1..10]) no se modifican y vuelven a estar disponibles tras reiniciar el objeto tecnológico.
  • Página 258 Instrucciones MCL (S7-1500T) 6.3 Zonas (S7-1500T) Parámetros La tabla siguiente muestra los parámetros de la instrucción MCL "defWsZone()": Paráme­ Tipo de datos Valor pre­ Descripción determina­ ztype DINT -   Tipo de zona Zona de bloqueo Zona de trabajo Zona de señalización DINT Número de zona 1 …...
  • Página 259 Instrucciones MCL (S7-1500T) 6.3 Zonas (S7-1500T) 6.3.2 defKinZone(): Definir una zona de la cinemática (S7-1500T) Descripción Con la instrucción MCL "defKinZone()" se define una zona de la cinemática referida al sistema de coordenadas de la herramienta o brida. Como consecuencia, las zonas definidas en el objeto tecnológico Cinemática (<TO>.KinematicsZone[2..10]) no se modifican y vuelven a estar disponibles tras reiniciar el objeto tecnológico.
  • Página 260 Instrucciones MCL (S7-1500T) 6.3 Zonas (S7-1500T) Parámetros La tabla siguiente muestra los parámetros de la instrucción MCL "defKinZone()": Paráme­ Tipo de datos Valor pre­ Descripción determina­ DINT Número de zona 2 … 10 Zona 2 … 10 geo­ DINT metry Tipo de geometría de la zona Cubo Esfera...
  • Página 261 Instrucciones MCL (S7-1500T) 6.3 Zonas (S7-1500T) Pueden estar activas al mismo tiempo varias zonas de bloqueo y zonas de señalización definidas. En cada momento solo puede haber activa una zona de trabajo definida. Encontrará más información en la documentación de "S7-1500 Funciones cinemáticas" (Página 11).
  • Página 262 Instrucciones MCL (S7-1500T) 6.3 Zonas (S7-1500T) 6.3.4 setWsZoneInactive(): Desactivar una zona del espacio de trabajo (S7-1500T) Descripción Con la instrucción MCL "setWsZoneInactive()" se desactiva la vigilancia de zonas para una o varias zonas activas del espacio de trabajo. Con el parámetro "mode" se determina si deben desactivarse una o varias zonas del espacio de trabajo.
  • Página 263 Instrucciones MCL (S7-1500T) 6.3 Zonas (S7-1500T) Paráme­ Tipo de datos Valor pre­ Descripción determina­ mode DINT Desactivar todas las zonas de bloqueo activas Desactivar todas las zonas de señalización activas Desactivar la zona de trabajo activa DINT Número de zona 1 …...
  • Página 264 Instrucciones MCL (S7-1500T) 6.3 Zonas (S7-1500T) Sintaxis setKinZoneActive( [mode := <val>] [,nr := <val>] ); Parámetros La tabla siguiente muestra los parámetros de la instrucción MCL "setKinZoneActive()": Paráme­ Tipo de datos Valor pre­ Descripción determina­ mode DINT Selección de una o varias zonas de la cinemática Activar la zona de la cinemática definida en el parámetro "nr"...
  • Página 265 Instrucciones MCL (S7-1500T) 6.3 Zonas (S7-1500T) Requisitos • Los objetos tecnológicos (Cinemática, Intérprete, Programa intérprete) se han configurado correctamente. • La cinemática está vinculada con el intérprete. • Los ejes interconectados en la cinemática están habilitados. Sintaxis setKinZoneInactive( [mode := <val>] [,nr := <val>] ); Parámetros La tabla siguiente muestra los parámetros de la instrucción MCL "setKinZoneInactive()": Paráme­...
  • Página 266 Instrucciones MCL (S7-1500T) 6.4 Herramientas (S7-1500T) Herramientas (S7-1500T) 6.4.1 setTool(): Cambiar la herramienta activa (S7-1500T) Descripción Con la instrucción MCL "setTool()" se activa una herramienta. Una orden "setTool()" interrumpe la preparación del programa. La preparación del programa se reinicia tras haber finalizado la orden "setTool()". Encontrará...
  • Página 267 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Instrucciones de Motion Control comparables "MC_SetTool": Cambiar la herramienta activa Ejemplo: Cambiar la herramienta activa En el siguiente ejemplo de programa se ajusta la herramienta 2 como herramienta activa. //Set active tool setTool( 2 ); En el bloque de datos del objeto tecnológico de la cinemática conectada se muestra el número de la herramienta activa en la siguiente variable: <TO_Kinematics>.StatusTool.ActiveTool := 2...
  • Página 268 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Requisitos • El objeto tecnológico Eje se ha configurado correctamente. • El objeto tecnológico Eje está habilitado. • El objeto tecnológico Eje está referenciado. Sintaxis move( <axis>, <v> [,pCtrl := <val>] [,a := <val>] [,d := <val>] [,j := <val>] ); Parámetros La tabla siguiente muestra los parámetros de la instrucción "move()": Pará­...
  • Página 269 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Pará­ Tipo de datos Valor pre­ Descripción metro determina­ LREAL > 0.0 Se utiliza el valor indicado = 0.0 Sin limitación de tirón < 0.0 No admisible Parámetro opcional con valor predeterminado Parámetro modal Instrucciones de Motion Control comparables •...
  • Página 270 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Requisitos • El objeto tecnológico Eje se ha configurado correctamente. • El objeto tecnológico Eje está habilitado. • El objeto tecnológico Eje está referenciado. Sintaxis posAbs( <axis>, <p> [,dir := <val>] [,v := <val>] [,a := <val>] [,d := <val>] [,j := <val>] );...
  • Página 271 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Pará­ Tipo de datos Valor pre­ Descripción metro determina­ LREAL Se utiliza el valor modal. El valor modal se inicializa con "<TO_Axis>.DynamicDefaults.Deceleration". Con setAxisDyn() (Página 274) se puede ajustar otro valor de forma modal. >...
  • Página 272 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) 6.5.3 posRel(): Posicionamiento relativo del eje (S7-1500T) Descripción La instrucción MCL "posRel()" mueve un eje respecto de la posición existente al iniciar el procesamiento de la orden. La instrucción MCL ofrece las posibilidades siguientes: •...
  • Página 273 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Pará­ Tipo de datos Valor pre­ Descripción metro determina­ LREAL > 0.0 Se utiliza el valor indicado ≤ 0.0 No admisible LREAL Aceleración Se utiliza el valor modal. El valor modal se inicializa con "<TO_Axis>.DynamicDefaults.Acceleration".
  • Página 274 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) // using the relative target position with defined dynamics posRel( myAxis, Pos1, v := 100.0, a := 2000.0, d := 3000.0, j := 30000.0 ); // "myAxis" is positioned relatively to the current position, // using the relative target position with negative direction // AXIS_OBJECT Literal ($A2) for parameter "axis"...
  • Página 275 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Parámetros La tabla siguiente muestra los parámetros de la instrucción "setAxisDyn()": Pará­ Tipo de datos Valor pre­ Descripción metro determina­ axis AXIS_OBJECT Objeto tecnológico LREAL Valor modal de la velocidad de movimiento del eje individual El valor modal no cambia.
  • Página 276 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Pará­ Tipo de datos Valor pre­ Descripción metro determina­ LREAL 0.0 < d ≤ Si rel := TRUE: 100.0 Ajuste predeterminado porcentual referido al último valor máximo de deceleración válido ≤ 0.0 No admisible LREAL Valor modal de tirón del movimiento del eje individual El valor modal no cambia.
  • Página 277 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) 6.5.5 setAxisDynMax(): Definir los límites de dinámica para movimientos de eje individual de forma modal (S7-1500T) Descripción Con la instrucción MCL "setAxisDynMax()", se configuran los límites máximos para los parámetros de dinámica modales de movimientos de un eje individual. Puede especificar los valores dinámicos máximos para uno o varios parámetros modales.
  • Página 278 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Parámetros La tabla siguiente muestra los parámetros de la instrucción "setAxisDynMax()": Pará­ Tipo de datos Valor pre­ Descripción metros determina­ axis AXIS_OBJECT Objeto tecnológico LREAL Valor modal de la velocidad máxima del movimiento de un eje indivi­ dual El valor modal no cambia.
  • Página 279 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Pará­ Tipo de datos Valor pre­ Descripción metros determina­ LREAL El valor modal no cambia. Se utiliza el último valor válido establecido en el código del programa. Al cargar el programa, el valor modal se inicializa con el va­ lor de configuración guardado en "Parámetros avanzados >...
  • Página 280 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Requisitos • El objeto tecnológico Eje se ha configurado correctamente. • "Accionamiento listo" está ajustado en el accionamiento ("<TO_Axis>.StatusDrive.InOperation" = TRUE). • La comunicación cíclica por el bus entre el controlador y el encóder se ha establecido ("<TO_Axis>.StatusSensor[1..4].CommunicationOK"...
  • Página 281 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Ejemplo El siguiente ejemplo muestra cómo pueden activarse un eje individual y todos los ejes asignados de la cinemática. // The mapping of <TO_Axis> to "myAxis" tag is done in <TO_InterpreterMapping> // enable mapped "myAxis" and change the control mode to non-position controlled mode powerOn( axis := myAxis, mode := 0 );...
  • Página 282 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Comportamiento de relevo • "powerOff()" no puede cancelarse con ninguna otra orden de Motion Control. • "powerOff()" cancela todas las órdenes de movimiento en el objeto tecnológico correspondiente conforme al "Modo de parada" seleccionado. El usuario no puede cancelar este proceso.
  • Página 283 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Pará­ Tipo de datos Valor pre­ Descripción metro determina­ mode DINT Parada con dinámica especificada Al bloquear el objeto tecnológico, el accionamiento se des­ conecta de la tensión (supresión de impulsos) y cambia al es­ tado Bloqueo de conexión.
  • Página 284 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Se aplica a • Eje de posicionamiento • Eje sincronizado Requisitos • El objeto tecnológico Eje se ha configurado correctamente. • El objeto tecnológico Eje está habilitado (para "mode" = 3, 5). • Los valores reales del encóder son válidos ("<TO_Axis>.StatusSensor[1..4].State" = 2 para "mode"...
  • Página 285 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Pará­ Tipo de datos Valor pre­ Descripción metro determina­ mode DINT Referenciado activo El objeto tecnológico ejecuta un movimiento de referenciado conforme a la configuración. Una vez concluido el movi­ miento, el eje está en el valor del parámetro "p". Referenciado activo (coordenada del punto de referencia, pa­...
  • Página 286 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Ejemplo: Referenciar eje El siguiente ejemplo muestra la ejecución de un desplazamiento al punto de referencia con los ajustes configurados. // The mapping of <TO_Axis> to "myAxis" tag is done in the <TO_InterpreterMapping> // Homing "myAxis" with default values home( myAxis );...
  • Página 287 • El eje está habilitado. • El accionamiento debe soportar la reducción de fuerza/par. Solo los accionamientos PROFIdrive con telegrama 10x de SIEMENS soportan la limitación de fuerza/par. • Interconexión en el accionamiento SINAMICS: – P1522 a un valor fijo de 100 % –...
  • Página 288 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) Parámetros La tabla siguiente muestra los parámetros de la instrucción "torqueLimitOn()": Pará­ Tipo de datos Valor pre­ Descripción metro determina­ axis AXIS_OBJECT Objeto tecnológico limit LREAL -1.0 Valor de la limitación de fuerza/par (en la unidad configurada) Si ni el accionamiento ni el telegrama soportan la limitación de fuer­...
  • Página 289 Instrucciones MCL (S7-1500T) 6.5 Ejes (S7-1500T) 6.5.10 torqueLimitOff(): Desactivar la limitación de fuerza/par o la detección de tope fijo (S7-1500T) Descripción Con la instrucción MCL "torqueLimitOff()", se desactiva una limitación de fuerza/par o una detección de tope fijo. "torqueLimitOff()" puede activarse antes de una orden de movimiento activa y durante esta. "torqueLimitOff()"...
  • Página 290 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) Ejemplo: Desactivación de la limitación de par El siguiente ejemplo muestra la desactivación de la limitación de par para un eje. // The mapping of <TO_Axis> to "myAxis" tag is done in the <TO_InterpreterMapping> // The torque limit of the "myAxis"...
  • Página 291 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) Ejemplo 1 En este ejemplo, la variable del portapapeles "$IPR.clipboard.cbDint[1]" se escribe con la instrucción "writeVar" en la ejecución del programa. … linAbs( pos1 ); // execute in the main task; kinematics has reached position pos1 writeVar( $IPR.clipboard.cbDint[1], 2 );...
  • Página 292 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) 6.6.2 waitTime(): Interrumpir la ejecución del programa durante un intervalo de tiempo determinado (S7-1500T) Descripción La instrucción "waitTime" en el programa intérprete permite interrumpir la ejecución de dicho programa durante el intervalo de tiempo especificado en el parámetro de la instrucción. Se aplica a •...
  • Página 293 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) 6.6.3 waitEvent(): Interrumpir la ejecución del programa hasta un determinado evento (S7-1500T) Descripción La instrucción "waitEvent" detiene la ejecución del programa hasta que se produzca un evento externo específico, o bien hasta que transcurra un intervalo de tiempo opcional programable.
  • Página 294 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) Reglas • El parámetro "timeout" es efectivo si no se cumple la condición del evento en la preparación. La ejecución posterior del programa se detiene hasta que se cumpla la condición de evento (parámetro "event"), o hasta que haya transcurrido el tiempo de espera definido en el parámetro "timeout".
  • Página 295 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) Ejemplo 2 En este ejemplo, "waitEvent" aparece con "mode" = 1 programado tras una instrucción con suavizado de transición. Si el resultado (la variable $IPR.Clipboard.cbBool[1] devuelve TRUE) se cumple a tiempo durante el movimiento actual, puede ejecutarse el movimiento de la trayectoria hacia pos3 con suavizado de transición como corresponda a la programación;...
  • Página 296 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) pWait : TO_Struct_Ipr_Position := ( x := 10.0, y := 0.0, z := 10.0 ); pPick : TO_Struct_Ipr_Position := ( x := 10.0, y := 0.0, z := 0.0 ); pPlace : TO_Struct_Ipr_Position := ( x := 110.0, y := 0.0, z := 0.0 ); p1 : TO_Struct_Ipr_Position := ( x := 10.0, y := 0.0, z := 50.0 );...
  • Página 297 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) Ejemplo 4 En este ejemplo, en la primera ejecución del bucle (i = 1) de la instrucción FOR se produce un evento externo al ejecutar el movimiento lineal de la cinemática. La variable de portapapeles Clipboard Variable $IPR.clipboard.cbBool[1] registra el evento externo.
  • Página 298 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) isTimeout := FALSE; // reset timeout tag writeVar($IPR.clipboard.cbBool[1], FALSE ); // reset event before start of movement linAbs( p1, blend := 2, trans := 1 ); // start movement waitEvent( $IPR.clipboard.cbBool[1], mode := 1, // wait for event, check timeout := T#1s, timeoutState =>...
  • Página 299 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) Estado del eje: Estado Descripción <TO>.StatusInterpreterMotion.StatusWord. • 0 (FALSE): El eje no es controlado por el objeto tecnológico Intérprete (ningu­ na instrucción MCL activa). (ControlledByInterpreter) • 1 (TRUE): El eje es controlado por el objeto tecnológico Intérprete (una ins­ trucción MCL está...
  • Página 300 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) Reglas • Si no se ha especificado el parámetro opcional "obj" o tiene el valor NULL, la instrucción se refiere a la cinemática conectada. • Si el bit <TO>.StatusInterpreterMotion.StatusWord.X0 (ControlledByInterpreter) de una cinemática se ajusta a TRUE, el sistema ajusta el bit <TO>.StatusInterpreterMotion.StatusWord.X0 (ControlledByInterpreter) de los ejes asignados automáticamente a la cinemática a TRUE.
  • Página 301 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) Se aplica a • Cinemática • Eje individual Efecto sobre otras instrucciones MCL Los parámetros modales son válidos para las siguientes instrucciones MCL: • linAbs() • linRel() • circAbs() • circRel() • ptpAbs() •...
  • Página 302 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) Ejemplo El siguiente ejemplo muestra cómo ajustar la corrección del programa: // set dynamics modally setDyn( v := 100.0, a := 5000.0, d := 6000.0, j := 10000.0 ); // linear movement using dynamics which were set by previous command linAbs ( ( x := 20.0, y := 30.0, z := 40.0 ) );...
  • Página 303 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) Sintaxis preHalt(); Parámetro Parámetro Declaración Tipo de datos Valor predeter­ Descripción minado ninguno Reglas • La detención de la interpretación y preparación en la preparación del programa con la función "preHalt" siempre da lugar a la detención del movimiento. •...
  • Página 304 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) 6.6.7 Control de tiempo de la lectura y escritura de variables (S7-1500T) La lectura y escritura de variables de programa y de variables de bloques de datos del objeto tecnológico se ejecutan de forma estándar como parte de la preparación. De forma adicional, es posible controlar la especificación de tiempo para el acceso de lectura y escritura a variables de programa y variables de bloque de datos de objeto tecnológico.
  • Página 305 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) Si se escriben variables durante la ejecución del programa, son posibles diferentes situaciones respecto al tiempo de la ejecución: • Ejecución dentro del procesamiento secuencial del programa (ejemplo 1) • Ejecución en paralelo a instrucciones en curso (ver capítulo "Descripción general del inicio síncrono de instrucciones y secuencias de instrucciones (Página 109)"): –...
  • Página 306 Instrucciones MCL (S7-1500T) 6.6 Otras instrucciones (S7-1500T) Ejemplo 3 En este ejemplo, la variable $IPR.Clipboard.cbDint[1] se ajusta al valor 1 en la preparación del programa intérprete. A continuación, la variable $IPR.Clipboard.cbDint[1] se ajusta al valor 2 en la ejecución del programa, en el punto de suavizado de la transición del movimiento lineal de Pos1 a Pos2.
  • Página 307 Instrucciones MCL (S7-1500T) 6.7 Instrucciones de cadena de bits (S7-1500T) Instrucciones de cadena de bits (S7-1500T) Descripción Cada función estándar Bitstring tiene dos parámetros de entrada, denominados IN y N. La función Bitstring permite rotar o desplazar el patrón de bits n posiciones hacia la izquierda o hacia la derecha.
  • Página 308 Instrucciones MCL (S7-1500T) 6.8 Funciones matemáticas (S7-1500T) Ejemplo Llamada de función Resultado RESULT := ROL ( IN := 2#1101_0011, N := 5 ); 2#0111_1010 (= 122 decimal) RESULT := ROR ( IN := 2#1101_0011, N := 2 ); 2#1111_0100 (= 244 decimal) RESULT := SHL ( IN := 2#1101_0011, N := 3 );...
  • Página 309 Instrucciones MCL (S7-1500T) 6.8 Funciones matemáticas (S7-1500T) Nombre de Tipo de datos del parámetro Tipo de datos del valor Descripción función de entrada de función (IN) (RESULT) ANY_INT, ANY_INT, Define el mínimo entre un mí­ LREAL LREAL nimo de 2 hasta un máximo de 32 valores.
  • Página 310 Instrucciones MCL (S7-1500T) 6.9 Conversiones (S7-1500T) Llamada de función Resultado RESULT := LIMIT( mn := 0, in := 10, mx := 300 ); RESULT := LIMIT( mn := 0, in := -10, mx := 300 ); RESULT := LIMIT( mn := 0, in := 500, mx := 300 ); Conversiones (S7-1500T) Descripción La siguiente tabla describe un grupo de funciones de conversión predefinidas junto con sus...
  • Página 311 Instrucciones MCL (S7-1500T) 6.9 Conversiones (S7-1500T) Nombre de Tipo de datos del parámetro Tipo de datos del Descripción función de entrada valor de función (IN) (RESULT) NORM_X LREAL LREAL Normaliza un valor sobre la base de la siguiente ecuación: VALUE LREAL RESULT = (VALUE –...
  • Página 312 • Identificadores de error en las instrucciones de Motion Control Encontrará una descripción completa del diagnóstico de sistema de la CPU S7‑1500 en el ma­ nual de funciones "Diagnóstico" (https://support.industry.siemens.com/cs/ww/es/view/59192926). Objeto tecnológico Intérprete (S7-1500T) 7.1.1 Bits de estado y de error (S7-1500T) La función de diagnóstico "Objeto tecnológico >...
  • Página 313 Diagnóstico (S7-1500T) 7.1 Objeto tecnológico Intérprete (S7-1500T) Estado del programa intérprete La tabla siguiente muestra los posibles estados del programa intérprete en el objeto tecnológico Intérprete: Estado Descripción Cargando El objeto tecnológico carga el programa intérprete. La preparación del pro­ grama intérprete está...
  • Página 314 Diagnóstico (S7-1500T) 7.1 Objeto tecnológico Intérprete (S7-1500T) Advertencias La tabla siguiente muestra las posibles advertencias: Advertencia Descripción Sistema Se ha producido una advertencia interna del sistema. (<TO>.WarningWord.X0 (SystemWarning)) Configuración Uno o varios parámetros de configuración se adaptan internamente de modo temporal.
  • Página 315 Diagnóstico (S7-1500T) 7.1 Objeto tecnológico Intérprete (S7-1500T) 7.1.2 Estado del intérprete (S7-1500T) La función de diagnóstico "Objeto tecnológico > Diagnóstico > Estado del intérprete" permite vigilar el estado del intérprete en el TIA Portal. La función de diagnóstico está disponible en modo online.
  • Página 316 Instrucciones (S7-1500T) Intérprete (S7-1500T) 8.1.1 MC_LoadProgram V8 (S7-1500T) 8.1.1.1 MC_LoadProgram: Carga/descarga del programa intérprete V8 (S7-1500T) Descripción La instrucción "MC_LoadProgram" de Motion Control carga un programa intérprete en el objeto tecnológico Intérprete. El intérprete prepara el programa intérprete para su ejecución. Para poder cargar un programa intérprete modificado o distinto en el objeto tecnológico Intérprete, en primer lugar descargue el programa intérprete cargado del objeto tecnológico Intérprete.
  • Página 317 Instrucciones (S7-1500T) 8.1 Intérprete (S7-1500T) Parámetros La tabla siguiente muestra los parámetros de la instrucción "MC_LoadProgram" de Motion Control: Parámetro Declara­ Tipo de datos Valor pre­ Descripción ción determina­ Interpreter INPUT TO_Interpreter Objeto tecnológico Intérprete Execute INPUT BOOL FALSE TRUE Inicio de la orden con flanco ascendente Program INPUT...
  • Página 318 Instrucciones (S7-1500T) 8.1 Intérprete (S7-1500T) Parámetro Declara­ Tipo de datos Valor pre­ Descripción ción determina­ ErrorID OUTPUT WORD 16#0000 Identificador de error del parámetro "ErrorID" Encontrará más información en el capítulo "Identificadores de error" de la documentación "S7-1500/S7-1500T Alarmas e identificadores de error de Motion Control"...
  • Página 319 Instrucciones (S7-1500T) 8.1 Intérprete (S7-1500T) Parámetros La tabla siguiente muestra los parámetros de la instrucción "MC_RunProgram" de Motion Control: Parámetros Declara­ Tipo de datos Valor pre­ Descripción ción determina­ Interpreter INPUT TO_Interpreter Objeto tecnológico Intérprete Execute INPUT BOOL FALSE TRUE Inicio de la orden con flanco ascendente Done OUTPUT...
  • Página 320 Instrucciones (S7-1500T) 8.1 Intérprete (S7-1500T) Esta instrucción de Motion Control permite lo siguiente: • Detener la ejecución del programa intérprete (Página 44) Se aplica a • Intérprete Requisitos • El objeto tecnológico Intérprete se ha configurado correctamente. • No hay ninguna otra orden "MC_StopProgram" activa con un modo de dinámica de igual o mayor prioridad en el objeto tecnológico Intérprete.
  • Página 321 Instrucciones (S7-1500T) 8.2 Comportamiento de relevo de órdenes de Motion Control V8 (S7-1500T) Parámetros Declara­ Tipo de datos Valor pre­ Descripción ción determina­ CommandAborted OUTPUT BOOL FALSE TRUE La orden ha sido cancelada por otra du­ rante su procesamiento. Error OUTPUT BOOL FALSE...
  • Página 322 Instrucciones (S7-1500T) 8.2 Comportamiento de relevo de órdenes de Motion Control V8 (S7-1500T) ⇒ Orden en curso MC_Home MC_Home MC_Halt MC_Stop MC_MoveSu­ MC_MotionIn­ "Mode" = 2, 8, "Mode" = 3, 5 MC_MoveAb­ perimposed Velocity ⇓ Nueva orden solute MC_MotionIn­ MC_MotionIn­ MC_MoveRela­ Superimposed Position tive MC_HaltSuper­...
  • Página 323 Instrucciones (S7-1500T) 8.2 Comportamiento de relevo de órdenes de Motion Control V8 (S7-1500T) NOTA Comportamiento de relevo con tope fijo activo Con una limitación de fuerza/par activa con "MC_TorqueLimiting" se cancelan las órdenes en curso si el accionamiento se mantiene en el tope fijo con "InClamping" = TRUE. 8.2.2 Comportamiento de relevo V8: Órdenes de sincronismo (S7-1500T) La tabla siguiente muestra el efecto que tiene una nueva orden de Motion Control de...
  • Página 324 Instrucciones (S7-1500T) 8.2 Comportamiento de relevo de órdenes de Motion Control V8 (S7-1500T) ⇒ Orden en MC_Ge­ MC_Gear­ MC_Gear­ MC_Gear­ MC_Pha­ MC_Offset­ MC_Lea­ MC_Gear­ MC_Gear­ curso arIn InVelocity InPos InPos singAbso­ Absolute dingValue­ MC_CamIn MC_CamIn lute MC_Offset­ Additive MC_Cam­ MC_Cam­ ⇓...
  • Página 325 Instrucciones (S7-1500T) 8.2 Comportamiento de relevo de órdenes de Motion Control V8 (S7-1500T) ⇒ Orden en MC_Ge­ MC_Gear­ MC_Gear­ MC_Gear­ MC_Pha­ MC_Offset­ MC_Lea­ MC_Gear­ MC_Gear­ curso arIn InVelocity InPos InPos singAbso­ Absolute dingValue­ MC_CamIn MC_CamIn lute MC_Offset­ Additive MC_Cam­ MC_Cam­ ⇓...
  • Página 326 Instrucciones (S7-1500T) 8.2 Comportamiento de relevo de órdenes de Motion Control V8 (S7-1500T) 8.2.3 Comportamiento de relevo V8: Órdenes del detector (S7-1500T) La tabla siguiente muestra qué nuevas órdenes de Motion Control relevan las órdenes de detector en curso: ⇒ Orden en curso MC_MeasuringInput MC_MeasuringInputCyclic ⇓...
  • Página 327 Instrucciones (S7-1500T) 8.2 Comportamiento de relevo de órdenes de Motion Control V8 (S7-1500T) ⇒ Orden en curso MC_MoveLinearAbsolute MC_GroupInterrupt MC_GroupStop MC_MoveLinearRelative ⇓ Nueva orden MC_MoveCircularAbsolute MC_MoveCircularRelative MC_MoveDirectAbsolute MC_MoveDirectRelative MC_TrackConveyorBelt MC_DefineWorkspaceZone MC_DefineKinematicsZone MC_SetWorkspaceZoneActive MC_SetWorkspaceZoneInactive MC_SetKinematicsZoneActive MC_SetKinematicsZoneInactive MC_SetOcsFrame MC_Halt MC_MoveAbsolute MC_MoveRelative MC_MoveVelocity MC_MoveJog MC_Stop MC_GearIn...
  • Página 328 Instrucciones (S7-1500T) 8.2 Comportamiento de relevo de órdenes de Motion Control V8 (S7-1500T) 8.2.5 Comportamiento de relevo V8: órdenes de intérprete (S7-1500T) La tabla siguiente muestra qué efecto tiene una nueva orden de Motion Control sobre las órdenes de intérprete en curso: ⇒...
  • Página 329 Instrucciones (S7-1500T) 8.2 Comportamiento de relevo de órdenes de Motion Control V8 (S7-1500T) ⇓ Nueva orden Se ejecuta la nueva orden. La nueva orden cancela la ejecución del programa intérprete. MC_GearIn ✓ ✓ MC_GearInPos MC_GearInVelocity MC_GearOut MC_CamIn MC_CamOut MC_PhasingRelative MC_PhasingAbsolute MC_LeadingValueAdditive ✓...
  • Página 330 Instrucciones (S7-1500T) 8.2 Comportamiento de relevo de órdenes de Motion Control V8 (S7-1500T) NOTA MC_Stop Tenga en cuenta que al inicio de un movimiento controlado por el intérprete no debe estar activa ninguna orden "MC_Stop" porque, de lo contrario, la orden de movimiento se cancelará.
  • Página 331 Variables de los bloques de datos del objeto tecnológico (S7-1500T) Variables del objeto tecnológico Intérprete (S7-1500T) 9.1.1 Leyenda (S7-1500T) Variable Nombre de la variable Tipo de datos Tipo de datos de la variable Valores Rango de valores de la variable: valores mínimo a máximo (L = indicación lineal, R = indicación rotativa) Sin una indicación de valores específica rigen los límites del rango de valores del tipo de datos correspondiente o la indicación bajo "Descripción".
  • Página 332 Variables de los bloques de datos del objeto tecnológico (S7-1500T) 9.1 Variables del objeto tecnológico Intérprete (S7-1500T) 9.1.2 Programa intérprete y mapeo de intérprete (intérprete) (S7-1500T) Las siguientes variables muestran información sobre el programa intérprete y el mapeo de intérprete. Variables Leyenda (Página 331) Variable...
  • Página 333 Variables de los bloques de datos del objeto tecnológico (S7-1500T) 9.1 Variables del objeto tecnológico Intérprete (S7-1500T) Variable Tipo de da­ Valores Descripción StartTimeout LREAL 0.0 … 2.0 Las secuencias de movimiento solamente se ini­ cian cuando están preparadas por completo o cuando se ha alcanzado el número máximo de órdenes que deben prepararse en la cadena de órdenes del intérprete.
  • Página 334 Variables de los bloques de datos del objeto tecnológico (S7-1500T) 9.1 Variables del objeto tecnológico Intérprete (S7-1500T) 9.1.5 Variable "StatusInterpreter" (intérprete) (S7-1500T) La estructura de variables "<TO>.StatusInterpreter.<nombre de variable>" contiene información de estado del objeto tecnológico. Variables Leyenda (Página 331) Variable Tipo de da­...
  • Página 335 Variables de los bloques de datos del objeto tecnológico (S7-1500T) 9.1 Variables del objeto tecnológico Intérprete (S7-1500T) Variable Tipo de da­ Valores Descripción Bit 6 "Done" La ejecución del programa intérprete ha finalizado. Bit 7 "Stopping" La ejecución del programa intérprete se está deteniendo o se ha detenido.
  • Página 336 Variables de los bloques de datos del objeto tecnológico (S7-1500T) 9.1 Variables del objeto tecnológico Intérprete (S7-1500T) 9.1.8 Variable "ErrorDetail" (intérprete) (S7-1500T) La estructura de variables "<TO>.ErrorDetail.<nombre de variable>" contiene el número de alarma y la reacción local efectiva a la alarma tecnológica actualmente presente en el objeto tecnológico.
  • Página 337 Variables de los bloques de datos del objeto tecnológico (S7-1500T) 9.1 Variables del objeto tecnológico Intérprete (S7-1500T) Variable Tipo de da­ Valores Descripción Bit 3 "CommandNotAccepted" Orden no ejecutable. Una instrucción de Motion Control no se puede ejecutar porque no se cumplen las condiciones necesarias. Bit 4 "UserProgramWarning"...
  • Página 338 Índice alfabético Acción síncrona, 29 Literales, 51 Llamada de la función, 135 Cadena de órdenes Intérprete, 38 MC_LoadProgram, 316 Cadena de órdenes del intérprete, 38 MC_RunProgram, 318 Comentarios, 53 MC_StopProgram, 319 Corrección del programa MCL, 48 Programa intérprete, 39 Objeto tecnológico Definición de conceptos, 29 Eje de posicionamiento, 312 defKinZone, 259...
  • Página 339 Índice alfabético setWsZoneActive, 260 setWsZoneInactive(), 262 Tiempo de espera máximo Preparación del programa, 38 Tipo de datos, 54 trackIn(), 252 Valores de retorno, 137 Variables Preparación del programa, 42 Ejecución del programa, 47 S7-1500T Funciones de intérprete V8.0 a partir de STEP 7 V19 Manual de funciones, 11/2023, A5E53131983-AA...