MC_CustomJob

Descripción de funciones

Este bloque de funciones permite controlar un eje mediante un algoritmo personalizado que calcula la posición cíclica establecida, la velocidad y la aceleración del eje.

El bloque de funciones creado por el usuario para programar un perfil de movimiento tiene que ampliar la FB_CustomJobBase de la biblioteca MotionInterface. A continuación, se indica el bloque de funciones en la entrada CustomJob.

Representación gráfica

Entradas

Input

Tipo de datos

Descripción

Master

Axis_Ref

Referencia al eje para el que se ejecutará el bloque de funciones.

Puede dejarse sin asignar si el trabajo personalizado (indicado en la entrada CustomJob) no utiliza un eje maestro.

Si se asigna un eje, la devolución de llamada del bloque de funciones del usuario para definir el perfil de movimiento obtiene los valores de movimiento del eje maestro. De lo contrario, los valores de movimiento del eje maestro se indican como cero.

Axis

Axis_Ref

Referencia al eje para el que se ejecutará el bloque de funciones.

Execute

BOOL

Rango de valores: FALSE, TRUE.

Valor predeterminado: FALSE.

Un flanco ascendente de la entrada Execute inicia el bloque de funciones. El bloque de funciones continúa ejecutándose, y la salida Busy se establece en TRUE.

Este bloque de funciones puede reiniciarse mientras se ejecuta. Los valores de destino se sobrescriben con los nuevos valores en el momento en que se produce el flanco ascendente.

BufferMode

MC_Buffer_Mode

Los valores de destino (posición, velocidad, aceleración) del eje se sobrescriben con los nuevos valores del ciclo de tarea de movimiento cuando se activa el bloque de funciones en el eje.

Valor predeterminado: Aborting

Modalidad de búfer.

Valores posibles:

  • Valor Aborting

  • Valor Buffered

Consulte MC_Buffer_Mode para obtener una descripción de los valores.

OperationMode

MC_OperationMode

Modalidad operativa para el bloque de funciones

Valor predeterminado: Position

CustomJob

MOIN.FB_CustomJobBase

Instancia de un tipo de bloque de funciones creado por el usuario que debe derivarse de FB_CustomJobBase. La instancia de bloque de funciones se puede parametrizar con parámetros adicionales (por ejemplo, posición de destino, velocidad, aceleración, jerk, etc.) en función de los requisitos del algoritmo usado por el trabajo personalizado.

Anule los siguientes métodos:

  • CalculateMovement

  • Prepare

  • ResetJob

No anule los otros métodos de este bloque de funciones.

Salidas

Salida

Tipo de datos

Descripción

InSteadyState

BOOL

Rango de valores: FALSE, TRUE.

Valor predeterminado: FALSE, según indica el trabajo personalizado

  • FALSE: no se ha alcanzado todavía un estado estable o bien se ha detectado un error.

  • TRUE: se ha alcanzado un estado estable. De esta manera, el trabajo personalizado indica que un trabajo del búfer puede pasar a estado activo.

Busy

BOOL

Rango de valores: FALSE, TRUE.

Valor predeterminado: FALSE, según indica el trabajo personalizado

  • FALSE: el bloque de funciones no se está ejecutando.

  • TRUE: el bloque de funciones se está ejecutando.

Active

BOOL

Rango de valores: FALSE, TRUE.

Valor predeterminado: FALSE.

  • FALSE: El bloque de funciones no controla el movimiento del eje.

  • TRUE: El bloque de funciones controla el movimiento del eje.

CommandAborted

BOOL

Rango de valores: FALSE, TRUE.

Valor predeterminado: FALSE.

  • FALSE: la ejecución no se ha interrumpido.

  • TRUE: la ejecución ha sido interrumpida por otro bloque de funciones.

Error

BOOL

Rango de valores: FALSE, TRUE.

Valor predeterminado: FALSE.

  • FALSE: El bloque de funciones se está ejecutando; no se ha detectado ningún error durante la ejecución.

  • TRUE: se ha detectado un error en la ejecución del bloque de funciones.

ErrorID

ET_Result

Esta enumeración incluye información de diagnóstico.

Si utiliza el bloque de funciones MC_SetPosition con un bloque de funciones MC_CustomJob, puede producirse un salto de posición si no tiene en cuenta la posición de compensación en el cálculo de la posición.

 ADVERTENCIA
FUNCIONAMIENTO IMPREVISTO DEL EQUIPO
No utilice el bloque de funciones MC_SetPosition con un bloque de funciones MC_CustomJob sin ajustar la posición de compensación.
Si no se siguen estas instrucciones, pueden producirse lesiones graves, muerte o daños en el equipo.

Para evitar posibles saltos de posición, haga que el cálculo de la posición del eje para el siguiente ciclo se base en la última posición física (según Axis.lrPosition) del eje o bien compruebe que la posición de compensación se tiene en cuenta correctamente en el cálculo de la posición.

Si utiliza el bloque de funciones MC_CustomJob con un eje de módulo, la posición generada mediante el método CalculateMovement se corrige con módulo si se produce un desborde de módulo. Esta corrección se basa en el almacenamiento de la compensación de módulo en MC_CustomJob. Esto implica que, si el cálculo se basa en la última posición de referencia (según Axis.lrPosition), la posición del siguiente ciclo se desplaza según la magnitud del salto de módulo.

 ADVERTENCIA
FUNCIONAMIENTO IMPREVISTO DEL EQUIPO
Compruebe que todos los efectos de los saltos de módulo se tengan en cuenta correctamente en el cálculo de la posición si utiliza el bloque de funciones MC_CustomJob con un eje de módulo.
Si no se siguen estas instrucciones, pueden producirse lesiones graves, muerte o daños en el equipo.

Notas

Si se indica un eje para la entrada Master, los nuevos valores de destino o valores de referencia para el eje maestro del ciclo en tiempo real en ejecución se calculan antes de que se active MC_CustomJob. Esto significa que la implementación del trabajo personalizado obtiene los valores actualizados (se calculan de nuevo a partir del ciclo en tiempo real) del eje maestro cuando se llama para calcular sus valores para el eje esclavo.

Si la modalidad operativa se ajusta en Velocity a través de la entrada OperationMode y el variador no puede funcionar en la modalidad operativa Cyclic Synchronous Velocity, el bloque de funciones MC_CustomJob detectará un error. El eje no queda afectado.