Skip to main content

Configuración de una compensación de herramienta

Puede ajustar la compensación entre el sistema de coordenadas de la brida de la cinemática (XYZ) y el sistema de coordenadas TCP de la cinemática (X'Y'Z') mediante la configuración de una corrección de herramienta. Este corrector de herramienta actúa sobre todos los movimientos posteriores.

_sm_tool_and_flange_cooordinate_system.png

TCP: Punto central de la herramienta

El corrector de herramienta se especifica mediante un cambio v=(x,y,z) y una rotacion r=(A,B,C) en ZYZ ángulos de Euler. El desplazamiento y la rotación se expresan en relación con el sistema de coordenadas de brida de la cinemática.

Cuando configura una compensación de herramienta, puede ser incompatible con la cinemática actual. Como resultado, una corrección de herramienta puede provocar que la cinemática no pueda alcanzar orientaciones. En esta situación, se emite un error y se ignora la compensación de herramienta. Por ejemplo, puede configurar una corrección de herramienta en la dirección Z para la cinemática. Kin_Scara2_Z. Por otro lado, un desplazamiento con piezas en la dirección X o Y produce un error. Cuando la cinemática tiene este tipo de restricciones, se describen con el cinemática.

Bloque de funciones: SMC_GroupSetTool

El bloque de funciones configura la compensación de herramienta especificada en la entrada ToolOffset (escribe MC_COORD_REF) para un grupo de ejes. Sin embargo, siempre que el grupo de ejes esté en el estado GroupDisabled o GroupErrorStop, No se puede configurar el corrector de herramienta.

Si la herramienta no es compatible con la cinemática actual, entonces la POU emite el error SMC_AXIS_GROUP_TOOL_OFFSET_INCOMPATIBLE_WITH_KINEMATICS. Este error también se emite si la interfaz ISMKinematicsWithOrientationImage no se ha implementado para la descripción de la cinemática.

Bloque de funciones: SMC_GroupReadTool

Este bloque de función lee la compensación de herramienta: salida ToolOffset (escribe MC_COORD_REF). En este proceso, la entrada ReadMode determina si se debe leer la herramienta del movimiento activo, el último movimiento ordenado o la herramienta configurada actualmente en el grupo de ejes.

cinemáticas compatibles

No todas las cinemáticas admiten todas las compensaciones de herramienta. La siguiente lista muestra qué herramientas son adecuadas para qué cinemática.

Cinemática

Herramienta Compatible

Cinemática SCARA 2 Kin_Scara2_Z

Herramientas con desplazamiento de posición en la dirección Z y desplazamiento en la orientación

SCARA 3 cinemática Kin_Scara3_Z

Todas las herramientas

cinemática polar Kin_Polar, Kin_Polar_Z

Herramientas con desplazamiento de posición en la dirección Z y desplazamiento en la orientación

robot articulado de 3 ejes Kin_Pos_RRR

Herramientas con desplazamiento en la orientación

robot articulado de 6 ejes Kin_ArticulatedRobot_6DOF

Todas las herramientas

paletizador de 4 ejes Kin_4AxisPalletizer

Todas las herramientas

bípode Kin_Bipod_Rotary

Todas las herramientas

pórtico de 5 ejes Kin_5Axes

Todas las herramientas

Sistemas de pórtico

Todas las herramientas

Sistema de pórtico en H

Todas las herramientas

sistema de pórtico en T

Todas las herramientas

Trípode giratorio o lineal

Todas las herramientas

Sugerencia

Si un sistema cinemático no tiene 3 grados de libertad para la orientación, es posible que no todos los correctores de herramientas sean compatibles.

Para cinemática personalizada

Para utilizar su cinemática personalizada con una compensación de herramienta, debe implementar la ISMKinematicsWithOrientationImage interfaz. Para agregar un desplazamiento de herramienta para su cinemática de posición personalizada, primero debe implementar la interfaz ISMPositionKinematics2.

Interfaz: ISMKinematicsWithOrientationImage

La interfaz cinemática proporciona el método GetFlangeOrientationImage con la variable mR_Flange de tipo de datos SMC_Matrix3, que contiene la orientación ordenada de la brida. Como consecuencia, el método devuelve posibles orientaciones resultantes oriInfo como tipo de datos OrientationSpace.

Comportamiento de la interfaz

  • En particular, cuando se conoce la orientación de la brida en la orientación ordenada, dof = zero se devuelve y mOriZero está ajustado a la orientación conocida.

  • Si la orientación R de la brida se conoce sólo parcialmente en la forma R*vU = vRot (donde vU y vRot son vectores unitarios conocidos), entonces dof = one es regresado.mOriZero se establece en una orientación en el espacio alcanzable.

  • De lo contrario, dof = three es regresado.

Una compensación de herramienta especificada es compatible con la cinemática si la posición de la brida se puede calcular de forma única teniendo en cuenta la orientación calculada. Este es siempre el caso cuando la orientación calculada puede lograrse mediante la cinemática. La corrección de la herramienta puede ser incompatible solo si no se pueden alcanzar todas las orientaciones. Además, si el método GetFlangeOrientationImage devoluciones dof = zero, entonces todas las compensaciones de herramienta son compatibles. Si el método devuelve dof = one, entonces solo el desplazamiento de la posición de la herramienta v_off paralelo al vector unitario vU es compatible. En este caso, R*v_off = R*vU*x = vRot*x no depende de las partes desconocidas de la matriz de orientación R. Esto también incluye un corrector de herramienta con v_off = 0 (donde x = 0). Si dof = three se devuelve, entonces solo los cambios de posición sin un desplazamiento en x/y/z son compatibles.

Notas de implementación

  • Implementar la interfaz ISMOrientationKinematicsWithOriImage2 para la cinemática de orientación. Entonces se puede utilizar una corrección de herramienta para acoplar la cinemática de orientación con la cinemática de posición. La interfaz tiene el método GetOrientationImage2 con la variable VAR_IN_OUT CONSTANT mR_Flange de tipo de datos SMC_Matrix3, que contiene la orientación ordenada de la brida.

  • El método vuelve csTool y oriinfo con el tipo de datos OrientationSpace en el sistema de coordenadas base de la cinemática de orientación.

  • Además, el método regresa en bActive si los grados de libertad de orinfo están activos (TRUE) o pasivo (FALSE).

Ejemplo de grados de libertad activos: Kin_CAxis. La rotación sobre el eje z está controlada por el eje cinemático de orientación.

Ejemplo de grados de libertad pasivos: Kin_Wrist2. El grado de libertad restante es la rotación de X/Y sobre el eje Z, que apunta en la dirección programada por el usuario.

Importante

Cuando tanto el último movimiento comandado como el nuevo movimiento son movimientos CP (ambos movimientos lineales o giratorios) durante un cambio de herramienta, el modo de búfer del movimiento subsiguiente cambia de Blending o Aborting a Buffered.

Importante

Si configura una nueva corrección de herramienta después MC_GroupInterrupt y antes MC_GroupContinue, entonces se utiliza la antigua corrección de herramienta para los movimientos interrumpidos. El nuevo corrector de herramienta se utiliza solo para movimientos que se ordenan posteriormente.

Importante

Cuando se cambia la cinemática (MC_SetKinTransform), la corrección de la herramienta se restablece (sin cambio, sin rotación).