Tipos de datos específicos de la biblioteca

 

Tipos de datos específicos de la biblioteca

Tipo de datos Axis_Ref

El tipo de datos Axis_Ref es un alias de la interfaz IF_Axis de la biblioteca MotionInterface. Consulte la guía de la biblioteca MotionInterface para obtener más detalles.

Tipo de datos MC_Buffer_Mode

El tipo de datos define el método para el inicio de un movimiento nuevo o del búfer en relación con el movimiento en curso.

Nombre

Valor

Descripción

Aborting

0

El movimiento en curso se cancela y el nuevo movimiento se ejecuta inmediatamente en el próximo ciclo posible en tiempo real.

Buffered

1

El movimiento nuevo o del búfer se ejecuta en cuanto el movimiento en curso alcanza un estado estable, que corresponde a la salida del bloque de funciones Done, InVelocity, InSync o EndOfCycle, en función del movimiento en curso. El trabajo del búfer pasa inmediatamente a estado activo en el ciclo en tiempo real cuando el trabajo anterior alcanza un estado estable. No espera a que las salidas pasen posteriormente a "True" en el próximo ciclo de tarea de aplicación.

BlendingLow(1)

2

El movimiento nuevo o del búfer se ejecuta en cuanto finaliza el movimiento en curso, pero sin parada entre un proceso y otro. La transición tiene lugar con el más bajo de los dos valores de velocidad del movimiento en curso y el movimiento nuevo o del búfer.

BlendingPrevious(1)

3

El movimiento nuevo o del búfer se ejecuta en cuanto finaliza el movimiento en curso, pero sin parada entre un proceso y otro. La transición tiene lugar con el valor de velocidad del movimiento en curso.

BlendingNext(1)

4

El movimiento nuevo o del búfer se ejecuta en cuanto finaliza el movimiento en curso, pero sin parada entre un proceso y otro. La transición tiene lugar con el valor de velocidad del movimiento nuevo o del búfer.

BlendingHigh(1)

5

El movimiento nuevo o del búfer se ejecuta en cuanto finaliza el movimiento en curso, pero sin parada entre un proceso y otro. La transición tiene lugar con el más alto de los dos valores de velocidad del movimiento en curso y el movimiento nuevo o del búfer.

(1) Solo para los bloques de funciones MC_MoveVelocity, MC_MoveAbsolute, MC_MoveAdditive y MC_MoveRelative.

En la siguiente tabla se incluye información sobre cómo funciona el almacenamiento en búfer (MC_BufferMode.Buffered) para diferentes bloques de funciones:

Bloque de funciones

El movimiento del bloque de funciones puede especificarse como movimiento del búfer.

El movimiento del bloque de funciones puede ir seguido de un movimiento del búfer.

Condición para que el comando del búfer pase a estado activo

MC_Power

No

No(1)

-

MC_MoveVelocity

InVelocity

MC_MoveAbsolute

Done

MC_MoveAdditive

Done

MC_MoveRelative

Done

MC_Home

Done

MC_Stop

No

Done y entrada Execute ajustados en FALSE

MC_Halt

Done

MC_CamIn

(1)

EndOfProfile independientemente de si la entrada Periodic está ajustada en TRUE o FALSE

MC_GearIn

InGear

MC_PhasingAbsolute

No

-

MC_MoveSuperImposed

No

No

-

(1) Difiere de las especificaciones según PLCopen Motion Control Part 1, Version 2.0.

El controlador ejecuta la tarea de la aplicación de usuario (en la que se llaman los bloques de funciones para control de movimiento) en una tarea independiente del proceso de movimiento en tiempo real (en el que, por ejemplo, se calculan los valores de referencia cíclica y destino). Para iniciar un bloque de funciones en el mismo ciclo de Sercos en que el bloque de funciones activo alcanza un estado estable (Done, inVelocity, EndOfProfile, InGear), el bloque de funciones tiene que almacenarse con antelación en el búfer. Si activa el inicio (Execute) del siguiente bloque de funciones a través, por ejemplo, de la señal EndOfProfile del bloque de funciones anterior en lugar de almacenarlo en el búfer, se generarán uno o varios ciclos de retardo, en los que no habrá ningún bloque de funciones activo y el eje permanecerá detenido. Para obtener más información consulte el apartado Concepto de la tarea.

Tipo de datos MC_Direction

Este tipo de datos define la dirección del movimiento.

Para MC_MoveVelocity  y MC_MoveRelative, la dirección invierte la dirección del movimiento (invirtiendo el signo de la velocidad o la distancia). Esto se produce con independencia del tipo de eje (módulo o lineal).

Para MC_MoveAbsolute y la funcionalidad de rampa de entrada de MC_CamIn, la entrada de dirección especifica la dirección en la que se aproxima hacia la posición de destino absoluta. Para estos bloques de funciones, la dirección solo se tiene en cuenta para los ejes de tipo módulo. No se tiene en cuenta para los ejes lineales (ya que las posiciones absolutas sobre ejes lineales se aproximan en la única dirección matemáticamente posible).

Nombre

Valor

Descripción

PositiveDirection

0

Dirección de movimiento positiva

NegativeDirection

1

Dirección de movimiento negativa

ShortestWay(1)

2

La dirección de movimiento dependerá de si la dirección de movimiento positiva o la negativa es la que presenta la distancia más corta hasta la posición de destino.

(1) Solo para los bloques de funciones MC_MoveAbsolute y MC_CamIn.

Tipo de datos MC_Master_Start_Mode

Nombre

Valor

Descripción

Absolute

0

La leva se inicia en la coordenada X equivalente a la posición absoluta del eje maestro en el momento de iniciarse.

Relative

1

La leva se inicia en la coordenada X equivalente a la X del primer punto de la leva, que se supone que está relacionada con la posición del eje maestro en el momento del inicio.

NOTA: PLCopen Motion Control Part 1, Version 2.0 incluye el tipo de datos MC_Start_Mode, así como los dos indicadores booleanos MasterAbsolute y SlaveAbsolute. Para evitar posibles confusiones, esta biblioteca implementa en su lugar los dos tipos de datos MC_Master_Star­t_Mode (una combinación de MC_Start_Mode  y MasterAbsolute) y MC_Slave_Start_Mode (una combinación de MC_Start_Mode y SlaveAbsolute). Este último también incluye la modalidad RampIn.

Tipo de datos MC_Slave_Start_Mode

Nombre

Valor

Descripción

Relative

1

La leva se inicia en la coordenada Y definida mediante f(X start), donde "f()" corresponde a la función de la leva y "X start" se determina mediante la modalidad de inicio maestra (MC_Master_Start_Mode). Esta Y está correlacionada con la posición actual del eje esclavo.

RampIn

2

Se entiende que la posición absoluta del eje esclavo equivale a la coordenada Y de la leva para que esta última esté sincronizada.

Al principio, la leva se inicia como de tipo relativa esclava, lo que significa que f(X start) está correlacionado con la posición absoluta del eje esclavo cuando se inicia la leva. A continuación, se ejecuta un movimiento de rampa de entrada, que desplaza el eje esclavo para alinear el sistema de coordenadas de la posición del eje con el sistema de coordenadas de Y.

NOTA: PLCopen Motion Control Part 1, Version 2.0 incluye el tipo de datos MC_Start_Mode, así como los dos indicadores booleanos MasterAbsolute y SlaveAbsolute. Para evitar posibles confusiones, esta biblioteca implementa en su lugar los dos tipos de datos MC_Master_Star­t_Mode (una combinación de MC_Start_Mode  y MasterAbsolute) y MC_Slave_Start_Mode (una combinación de MC_Start_Mode y SlaveAbsolute). Este último también incluye la modalidad RampIn.

Tipo de datos MC_Trigger_Ref

MC_Trigger_Ref es un alias de DAL.IF_Trigger. Se trata de un tipo de entrada para MC_TouchProbe y MC_AbortTrigger cuyo objetivo es conectar los bloques de funciones con sus entradas TouchProbe correspondientes, de manera parecida a Axis_Ref.

La interfaz MC_Trigger_Ref/DAL.IF_Trigger incluye una propiedad CaptureEdge de tipo UINT, que puede tener un valor de 0 a 2.

Nombre

Valor

Descripción

FallingEdge

0

Flanco descendente

RisingEdge

1

Flanco ascendente

BothEdges

2

Flancos ascendente y descendente