KUKA KRC4 $POS_ACT Position Mismatch After Loop: Advance Run Troubleshooting — figure 1

KUKA KRC4 $POS_ACT: discrepancia de posición después del bucle: solución de problemas del avance anticipado

KUKA KRC4 $POS_ACT devuelve el doble del desplazamiento A de los datos de herramienta después del primer ciclo del programa. La causa raíz se atribuye al com...

En los controladores KUKA KRC4 con KSS 8.2 u 8.3, los programadores observan ocasionalmente que $POS_ACT informa aproximadamente el doble del desplazamiento A previsto de la herramienta después de la primera iteración de un ciclo de movimiento. El robot no realizó ningún salto físico; el puntero de ejecución anticipada continuó con las instrucciones posteriores mientras $POS_ACT todavía reflejaba una pose comandada, dependiente de la herramienta y la base, que ya no coincidía con la medición que el programador esperaba registrar o utilizar como referencia de marco.

Desajuste de posición de $POS_ACT en KUKA KRC4 después de un ciclo: diagnóstico de la ejecución anticipada — figura 1 Pantalla del smartPAD KUKA KRC4 que compara $POS_ACT comandado con $POS_ACT_MES medido durante un programa de movimiento en ciclo.

$POS_ACT es la posición actual comandada, en el sentido de la pose programada por el controlador, transformada mediante la herramienta y la base activas. Por ello, depende del momento en que el intérprete avanza. $POS_ACT_MES es la posición medida por la ruta de retroalimentación del robot y es la variable más segura cuando se necesita la pose física en un punto de sincronización. Confundir ambas variables produce síntomas de «doble desplazamiento» que parecen un error de calibración de la herramienta después del primer ciclo, especialmente cuando se aplica un desplazamiento de herramienta en el eje A dentro de un ciclo que la ejecución anticipada ya ha evaluado parcialmente.

El puntero de ejecución anticipada como mecanismo

La ejecución anticipada de KUKA ejecuta las instrucciones siguientes antes de que el robot alcance el final exacto del movimiento actual. Esta precarga es esencial para combinar trayectorias, pero significa que las asignaciones y los cálculos de marcos que leen $POS_ACT pueden activarse antes de lo que indica el modelo mental de una persona sobre «cuándo llegamos». En la primera iteración, el momento puede parecer correcto por casualidad. En la segunda iteración, un desplazamiento aplicado con respecto a un $POS_ACT leído prematuramente puede acumularse con la transformación de la herramienta y mostrarse como aproximadamente 2× el componente del desplazamiento A en las pantallas o los registros.

Desajuste de posición de $POS_ACT en KUKA KRC4 después de un ciclo: diagnóstico de la ejecución anticipada — figura 2 Ilustración del puntero de ejecución anticipada que continúa con la lógica del ciclo mientras el robot todavía completa el segmento de movimiento anterior.

Técnicas correctivas

  • Inserte WAIT SEC 0 en el punto de sincronización donde deba detener la ejecución anticipada antes de leer o escribir datos relacionados con la pose.
  • Llame a BAS(#INITMOV,0) al reinicializar los parámetros de movimiento para que los movimientos posteriores comiencen desde un estado de basado limpio, en lugar de heredar un contexto evaluado parcialmente.
  • Establezca $ADVANCE=0 en las secciones que realicen capturas críticas de la pose, cálculos de desplazamiento de herramienta o actualizaciones de marcos que se transmitan entre iteraciones del ciclo; restablezca después un valor distinto de cero para recuperar el rendimiento de producción.
  • Prefiera $POS_ACT_MES cuando la aplicación necesite la pose cartesiana medida en lugar del valor comandado, dependiente del puntero.
; Ejemplo conceptual de patrón de sincronización
$ADVANCE=0
WAIT SEC 0
; Ahora capture la pose medida
DECL FRAME MySnap
MySnap = $POS_ACT_MES
BAS(#INITMOV,0)
; Restablezca la ejecución anticipada para combinar trayectorias según lo requiera la celda
$ADVANCE=3

Secuencia de diagnóstico

  1. Registre $POS_ACT y $POS_ACT_MES en la misma línea del programa durante las iteraciones 1 y 2 del ciclo que presenta el fallo.
  2. Confirme que los números de herramienta y de base activos no hayan cambiado entre iteraciones.
  3. Establezca temporalmente $ADVANCE=0 y vuelva a realizar la prueba; si desaparece el doble desplazamiento A, se confirma la interacción con la ejecución anticipada.
  4. Sustituya las lecturas de pose utilizadas para los cálculos de desplazamiento por $POS_ACT_MES o protéjalas con WAIT SEC 0.
  5. Vuelva a introducir la ejecución anticipada únicamente fuera de la sección crítica y valide el tiempo de ciclo frente a la calidad de la trayectoria.
Variable / llamada Significado Cuándo usarla
$POS_ACT Pose comandada (dependiente de la herramienta y la base) Contexto general de movimiento; precaución con la ejecución anticipada
$POS_ACT_MES Pose medida Registros, inspecciones y cálculos de desplazamiento en puntos de sincronización
WAIT SEC 0 Interrumpe la ejecución anticipada Antes de lecturas o escrituras críticas
BAS(#INITMOV,0) Reinicializa la base del movimiento Después de una sincronización o de cambios de modo
$ADVANCE=0 Desactiva la ejecución anticipada Secciones estrictas y críticas para la pose (KSS 8.2/8.3)

Confirme la pose medida frente a la comandada después de la sincronización

Recalibrar la herramienta porque $POS_ACT «parece duplicarse» puede dañar permanentemente un TCP correcto. Del mismo modo, añadir desplazamientos compensatorios en el PLC o en un intérprete Submit sin comprender la ejecución anticipada crea soluciones improvisadas dependientes de la versión. Documente qué versión de KSS utiliza la celda —8.2 u 8.3— al capturar registros para el soporte del proveedor, y anote si están activas opciones de precisión absoluta o bases especiales.

Las celdas de integración de robots y PLC que intercambian poses mediante bus de campo deben definir si el marco compartido es comandado o medido, y registrar esa definición en la especificación de la interfaz. Establecer este contrato desde el principio evita eventos de rechazo falsos cuando un secuenciador de sistemas PLC y PAC se activa por una pose que la ejecución anticipada todavía no ha alcanzado realmente.

Sobre la autora

Elena Vogt | Ingeniera de integración robótica – KUKA / Celdas discretas

Elena Vogt se especializa en la puesta en marcha de KUKA KRC4/KSS, el diagnóstico de marcos de herramienta y los intercambios de señales entre PLC y robot en celdas discretas mixtas. Su trabajo se centra en los efectos secundarios de la ejecución anticipada, las variables de pose medida frente a comandada y las compensaciones estables entre tiempo de ciclo y rendimiento.

KUKA KRC4 $POS_ACT: discrepancia de posición después del bucle: solución de problemas del avance anticipado

KUKA KRC4 $POS_ACT devuelve el doble del desplazamiento A de los datos de herramienta después del primer ciclo del programa. La causa raíz se atribuye al comportamiento del puntero de ejecución ant...

En los controladores KUKA KRC4 con KSS 8.2 u 8.3, los programadores observan ocasionalmente que $POS_ACT informa aproximadamente el doble del desplazamiento A previsto de la herramienta después de la primera iteración de un ciclo de movimiento. El robot no realizó ningún salto físico; el puntero de ejecución anticipada continuó con las instrucciones posteriores mientras $POS_ACT todavía reflejaba una pose comandada, dependiente de la herramienta y la base, que ya no coincidía con la medición que el programador esperaba registrar o utilizar como referencia de marco.

Desajuste de posición de $POS_ACT en KUKA KRC4 después de un ciclo: diagnóstico de la ejecución anticipada — figura 1 Pantalla del smartPAD KUKA KRC4 que compara $POS_ACT comandado con $POS_ACT_MES medido durante un programa de movimiento en ciclo.

$POS_ACT es la posición actual comandada, en el sentido de la pose programada por el controlador, transformada mediante la herramienta y la base activas. Por ello, depende del momento en que el intérprete avanza. $POS_ACT_MES es la posición medida por la ruta de retroalimentación del robot y es la variable más segura cuando se necesita la pose física en un punto de sincronización. Confundir ambas variables produce síntomas de «doble desplazamiento» que parecen un error de calibración de la herramienta después del primer ciclo, especialmente cuando se aplica un desplazamiento de herramienta en el eje A dentro de un ciclo que la ejecución anticipada ya ha evaluado parcialmente.

El puntero de ejecución anticipada como mecanismo

La ejecución anticipada de KUKA ejecuta las instrucciones siguientes antes de que el robot alcance el final exacto del movimiento actual. Esta precarga es esencial para combinar trayectorias, pero significa que las asignaciones y los cálculos de marcos que leen $POS_ACT pueden activarse antes de lo que indica el modelo mental de una persona sobre «cuándo llegamos». En la primera iteración, el momento puede parecer correcto por casualidad. En la segunda iteración, un desplazamiento aplicado con respecto a un $POS_ACT leído prematuramente puede acumularse con la transformación de la herramienta y mostrarse como aproximadamente 2× el componente del desplazamiento A en las pantallas o los registros.

Desajuste de posición de $POS_ACT en KUKA KRC4 después de un ciclo: diagnóstico de la ejecución anticipada — figura 2 Ilustración del puntero de ejecución anticipada que continúa con la lógica del ciclo mientras el robot todavía completa el segmento de movimiento anterior.

Técnicas correctivas

  • Inserte WAIT SEC 0 en el punto de sincronización donde deba detener la ejecución anticipada antes de leer o escribir datos relacionados con la pose.
  • Llame a BAS(#INITMOV,0) al reinicializar los parámetros de movimiento para que los movimientos posteriores comiencen desde un estado de basado limpio, en lugar de heredar un contexto evaluado parcialmente.
  • Establezca $ADVANCE=0 en las secciones que realicen capturas críticas de la pose, cálculos de desplazamiento de herramienta o actualizaciones de marcos que se transmitan entre iteraciones del ciclo; restablezca después un valor distinto de cero para recuperar el rendimiento de producción.
  • Prefiera $POS_ACT_MES cuando la aplicación necesite la pose cartesiana medida en lugar del valor comandado, dependiente del puntero.
; Ejemplo conceptual de patrón de sincronización
$ADVANCE=0
WAIT SEC 0
; Ahora capture la pose medida
DECL FRAME MySnap
MySnap = $POS_ACT_MES
BAS(#INITMOV,0)
; Restablezca la ejecución anticipada para combinar trayectorias según lo requiera la celda
$ADVANCE=3

Secuencia de diagnóstico

  1. Registre $POS_ACT y $POS_ACT_MES en la misma línea del programa durante las iteraciones 1 y 2 del ciclo que presenta el fallo.
  2. Confirme que los números de herramienta y de base activos no hayan cambiado entre iteraciones.
  3. Establezca temporalmente $ADVANCE=0 y vuelva a realizar la prueba; si desaparece el doble desplazamiento A, se confirma la interacción con la ejecución anticipada.
  4. Sustituya las lecturas de pose utilizadas para los cálculos de desplazamiento por $POS_ACT_MES o protéjalas con WAIT SEC 0.
  5. Vuelva a introducir la ejecución anticipada únicamente fuera de la sección crítica y valide el tiempo de ciclo frente a la calidad de la trayectoria.
Variable / llamada Significado Cuándo usarla
$POS_ACT Pose comandada (dependiente de la herramienta y la base) Contexto general de movimiento; precaución con la ejecución anticipada
$POS_ACT_MES Pose medida Registros, inspecciones y cálculos de desplazamiento en puntos de sincronización
WAIT SEC 0 Interrumpe la ejecución anticipada Antes de lecturas o escrituras críticas
BAS(#INITMOV,0) Reinicializa la base del movimiento Después de una sincronización o de cambios de modo
$ADVANCE=0 Desactiva la ejecución anticipada Secciones estrictas y críticas para la pose (KSS 8.2/8.3)

Confirme la pose medida frente a la comandada después de la sincronización

Recalibrar la herramienta porque $POS_ACT «parece duplicarse» puede dañar permanentemente un TCP correcto. Del mismo modo, añadir desplazamientos compensatorios en el PLC o en un intérprete Submit sin comprender la ejecución anticipada crea soluciones improvisadas dependientes de la versión. Documente qué versión de KSS utiliza la celda —8.2 u 8.3— al capturar registros para el soporte del proveedor, y anote si están activas opciones de precisión absoluta o bases especiales.

Las celdas de integración de robots y PLC que intercambian poses mediante bus de campo deben definir si el marco compartido es comandado o medido, y registrar esa definición en la especificación de la interfaz. Establecer este contrato desde el principio evita eventos de rechazo falsos cuando un secuenciador de sistemas PLC y PAC se activa por una pose que la ejecución anticipada todavía no ha alcanzado realmente.

Sobre la autora

Elena Vogt | Ingeniera de integración robótica – KUKA / Celdas discretas

Elena Vogt se especializa en la puesta en marcha de KUKA KRC4/KSS, el diagnóstico de marcos de herramienta y los intercambios de señales entre PLC y robot en celdas discretas mixtas. Su trabajo se centra en los efectos secundarios de la ejecución anticipada, las variables de pose medida frente a comandada y las compensaciones estables entre tiempo de ciclo y rendimiento.

Deja un comentario

Tenga en cuenta que los comentarios deben ser aprobados antes de ser publicados.