Skip to main content

Interrupción de movimientos

Interrupción de los movimientos de un solo eje

Movimientos de un solo eje, como MC_MoveAbsolute, puede interrumpirse en cualquier momento mediante otros movimientos. Puede tratarse de un movimiento hacia una posición diferente o de un cambio en la velocidad máxima, la aceleración o la sacudida con el mismo tipo de movimiento y hacia la misma posición. La interrupción se implementa de tal manera que no se produce un salto en la velocidad. Para todos los tipos de rampas cuadráticas, tampoco hay ningún salto en la aceleración

En casos específicos, la inversión del eje es inevitable debido al movimiento abortado:

  • Si la nueva posición objetivo de un MC_MoveAbsolute existe antes del final de la distancia de desaceleración actual

  • Si se utiliza una desaceleración máxima menor y/o una sacudida máxima menor para el movimiento abortado, lo que a su vez extiende la distancia de desaceleración más allá de la posición objetivo

  • Si SMC_MoveContinuousAbsolute o SMC_MoveContinuousRelative se usa con un EndVelocity al que no se puede llegar desde el estado actual del eje sin invertirlo

Cuando la rampa escribe sin² y cuadrático (suave) se utilizan, puede producirse una inversión durante la interrupción, incluso si no parece necesaria. (Es decir, incluso si los motivos enumerados anteriormente no se aplican. Consulte las explicaciones que figuran a continuación.) Entonces, la nueva posición objetivo podría estar sobrerecorrida, aunque no esté ubicada antes de la posición objetivo anterior. Esto puede suceder incluso si la desaceleración máxima y la sacudida máxima no cambian (o incluso aumentan) y la velocidad final no cambia en comparación con el movimiento abortado. En este caso, se aplican las

  • Para los tipos de rampas trapezoidales y cuadráticas, nunca hay ningún sobrerecorrido.

  • Para el sin² tipo de rampa, no hay sobrerecorrido cuando la nueva posición objetivo y los valores límite de aceleración y deceleración son iguales a los valores anteriores.

  • En todos los demás casos, es posible que se sobreviaje con sin² y cuadrático (suave) tipos de rampa.

Explicación de la sin² tipo de rampa: el movimiento abortado comienza con una nueva rampa de velocidad sin², lo que significa que la aceleración comienza en 0 y aumenta o disminuye gradualmente. Si el eje tiene una aceleración distinta de 0 en el momento de abortar, la aceleración pasa a 0 al inicio de la rampa de velocidad sin². Esto puede provocar un sobreviaje, ya que aumentar o disminuir la

Explicación de la cuadrático (suavizado) tipo de rampa: se aplica la misma explicación que para sin², pero por la sacudida en vez de por la aceleración.

Nota sobre la anulación

Basándose en las explicaciones anteriores, utilizando MC_SetOverride con el sin² y cuadrático (suavizado) no se recomienda el tipo de rampa

Interrupción durante la fase de desaceleración

Movimientos de un solo eje, como MC_MoveAbsolute, puede ser interrumpido en cualquier momento por otros movimientos. Esto puede ser un movimiento a otra posición o un cambio de velocidad o aceleración. Básicamente, la interrupción del movimiento es implementada por otro de tal manera que no hay salto en la velocidad. Para todos los tipos de rampa (excepto trapezoide), tampoco hay salto en la aceleración. Cuando los tipos de rampa pecado² y cuadrático (suave) se utilizan, una inversión puede ocurrir durante la interrupción y no parece necesaria al principio (ver explicación). Luego, la nueva posición de destino se recorre en exceso, aunque no se encuentra antes de la posición de destino anterior. Esto puede ocurrir en las siguientes situaciones:

  • Si se establece un valor de desaceleración máxima más pequeño para el movimiento de cancelación que antes

    En este caso, la distancia de deceleración disponible hasta la nueva posición de destino es posiblemente demasiado corta (para todos los tipos de rampa).

  • En consecuencia, por cuadrático y cuadrático (suave) Tipos de rampa cuando se establece un valor máximo más bajo para jerk

Sin embargo, si estos valores máximos permanecen sin cambios (o aumentan), se aplican las siguientes reglas:

  • Para trapezoide y cuadrático tipos de rampa, nunca hay sobrecarrera.

  • Para el pecado² rampa, no hay sobrecarrera cuando la nueva posición de destino y los valores límite de aceleración y deceleración son iguales a los valores anteriores.

  • En todos los demás casos, puede haber sobrecarrera con pecado² y cuadrático (suave) tipos de rampa

Comentarios sobre la sobrecarrera de la posición de destino (tipo de rampa: sin²)

Cuando se inicia el movimiento de un solo eje, primero se calcula el perfil de movimiento. Esto significa que el cálculo de las fases en las que el movimiento se acelera, se ejecuta a velocidad constante o se desacelera. Para el pecado² tipo rampa, una curva sen² se coloca sobre la fase de aceleración/desaceleración. La curva sin² tiene la propiedad de tener la aceleración igual a cero antes y después, lo que permite una transición constante a otras fases.

Se produce un comportamiento especial cuando se interrumpe un movimiento durante una curva sen². Si la aceleración actual no es igual a cero, entonces no se puede iniciar una curva sen² porque se requiere que comience con aceleración 0.

Debido a que el perfil de la curva sen² garantiza una curva de aceleración constante para el usuario, el generador de trayectoria reduce el valor de aceleración a cero. Utiliza la entrada jerk del bloque de funciones. Si este valor es cero, se utilizará el valor de jaloneo establecido en la configuración del controlador (fRampJerk).

El siguiente gráfico muestra el comportamiento de interrupción: Las señales de posición, velocidad, aceleración y de Execute del bloque interrumpido se muestran de arriba a abajo. Comenzando con el borde ascendente de Execute, la aceleración se reduce linealmente a cero, antes de que se conecte un nuevo perfil sin² (fase entre las marcas verticales).

_sm_img_interrupt_movement_1.png

Sugerencia

Si la selección del valor de jaloneo es demasiado baja en relación con la aceleración, entonces esta fase puede ser demasiado larga y el bloqueo puede conducir a una carrera aparentemente descontrolada. El valor de jerk debe seleccionarse de modo que la reducción de la aceleración tome solo unos pocos milisegundos (por ejemplo, con una aceleración máxima de 10,000 u/s2 y un tirón de 1.000.000 u/s3, esta fase dura 10 ms como máximo).

ejemplo 5. Sobrecarrera de la posición de destino
_sm_img_interrupt_movement_2.png

Se inició un movimiento de la posición 0 a la posición 1 con un valor de velocidad específico de 1 u/s y un valor de aceleración de 10 u/s2. Poco antes de alcanzar la posición de destino cuando ya se ha establecido la desaceleración, un nuevo comando de movimiento interrumpe con una nueva posición de destino de 1,01.

Debido a la fase de aceleración descendente inmediatamente después de comenzar el segundo movimiento, el eje recorre una distancia que significa que el eje debe viajar más allá del objetivo y luego debe regresar.