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.

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 | Herramientas con desplazamiento de posición en la dirección Z y desplazamiento en la orientación |
SCARA 3 cinemática | Todas las herramientas |
cinemática polar | Herramientas con desplazamiento de posición en la dirección Z y desplazamiento en la orientación |
robot articulado de 3 ejes | Herramientas con desplazamiento en la orientación |
robot articulado de 6 ejes | Todas las herramientas |
paletizador de 4 ejes | Todas las herramientas |
bípode | Todas las herramientas |
pórtico de 5 ejes | 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 ymOriZero
está ajustado a la orientación conocida.Si la orientación
R
de la brida se conoce sólo parcialmente en la formaR*vU = vRot
(dondevU
yvRot
son vectores unitarios conocidos), entoncesdof = 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étodoGetOrientationImage2
con la variableVAR_IN_OUT CONSTANT mR_Flange
de tipo de datosSMC_Matrix3
, que contiene la orientación ordenada de la brida.El método vuelve
csTool
yoriinfo
con el tipo de datosOrientationSpace
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 deorinfo
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).