Camino:  Equipo (Dispositivos) > LDW900 > Ladder > Motion Control > Motion Control Gear >

MC_GearIn

Sincronismo em velocidade

Previous pageReturn to chapter overviewNext page

Bloque responsable por la ejecución de sincronismo en velocidad entre los ejes programados.

 

Representación Ladder

 

MC_GearIn_block

 

Características de Ejecución

 

Tamaño de Memoria de Programa

74 Bytes

Tamaño de Memoria de Datos

28 Bytes

 

Estructura del Bloque

 

Tipo de Variável

Nome

Tipo de Dado

Descrição

VAR_IN_OUT

Master

BYTE

Selección de maestro de la operación

(0 - Entradas digitales rápidas)

(1 - CANopen)

(2 - Encoder 1)

(3 - Eje virtual)

(4 - Encoder 2)

Slave

BYTE

Selección de esclavo de la operación

(0 - Eje real)

(1 - Eje Virtual 1)

VAR_INPUT

Execute

BOOL

Habilitación del bloque

RatioNumerator

INT

Numerador de la relación de sincronismo

RatioDenominator

WORD

Denominador de la relación de sincronismo

Acceleration

REAL

Aceleración  [rpm / s]

Deceleration

REAL

Desaceleración  [rpm / s]

BufferMode

BYTE

Modo de inicio de ejecución

(0 - Inicia bloque inmediatamente, si hay otro bloque en ejecución, éste será abortado)

(1 - Si está en ejecución otro bloque, el bloque en ejecución continuará su movimiento hasta concluirlo. El nuevo bloque aguardará para entonces ser ejecutado.)

(6 - Si está en ejecución algún otro bloque, este bloque entrará en error 52 y no será ejecutado. Será mostrada en la IHM la alarma A00052.)

VAR_OUTPUT

InGear

BOOL

Habilitación de la salida

Busy

BOOL

Señalizador de que el bloque aún no fue finalizado

Active

BOOL

Señalizador de bloque con control sobre el eje

CommandAborted

BOOL

Señalizador de comando abortado

Error

BOOL

Señalizador de error en la ejecución

ErrorID

WORD

Identificador del error ocurrido

VAR

MC_GEARIN_INST_0

MC_GEARIN

Instancia de acceso a la estructura del bloque

 

 

Operación

 

Este bloque, cuando detecta un flanco de subida en Execute, envía un comando para sincronismo en velocidad entre los ejes programados.

 

Para que el eje esclavo alcance la velocidad del eje maestro, será realizado un movimiento con una aceleración/desaceleración configurada en los argumentos Acceleration y Deceleration. La dirección del movimiento dependerá de la señal del RatioNumerator. Si el RatioNumerator es mayor que cero, el movimiento será en la misma dirección del eje maestro y si el RatioNumerator es menor que cero, el movimiento será en la dirección opuesta al eje maestro.

 

La salida InGear es activada cuando la sincronía es alcanzada. Para finalizar el bloque, es necesario la ejecución de otro bloque, o que el drive pase al estado Disabled o Errorstop.

 

En caso de que haya algún error en la ejecución, la salida Error será activada y ErrorID exhibirá el código del error según la tabla de abajo.

 

Código

Descrição

52

Intento de ejecutar bloque con BufferMode en Single cuando otro bloque esté activo.

62

Aceleración programada menor que la mínima permitida.

63

Aceleración programada mayor que la máxima permitida.

64

Desaceleración programada menor que la mínima permitida.

65

Desaceleración programada mayor que la máxima permitida.

67

Drive en estado "Disabled" o "ErrorStop".

69

Drive en estado "Stopping".

70

Intento de ejecutar bloque con BufferMode en Buffered cuando otro bloque esté activo y otro bloque esté aguardando.

71

P202 diferente de 4.

72

Relación de sincronismo inválida.

74

Drive en estado "Homing".

78

Bloque MC no ejecutado - Falla interna

 

Ejemplo en Ladder

 

MC_GearIn_example01

 

MC_GearIn_example02

 

MC_GearIn_example03

 

En la transición de subida de GEARIN1_EXECUTE, es ejecutado el primer bloque MC_GearIn. Con eso, las señales Busy y Active de este bloque son ajustadas y se inicia la búsqueda del sincronismo con la aceleración configurada. Como la relación configurada es 1:2 y el eje maestro está a 200 RPM, el eje esclavo deberá alcanzar 100 RPM para establecer el sincronismo.

En el instante en que la velocidad alcanza 100 RPM, la salida InGear es ajustada.

 

Teniéndose la transición de subida de GEARIN2_EXECUTE, el segundo bloque MC_GearIn es instantáneamente ejecutado. Con eso, las señales Busy y Active de este bloque son ajustadas y se inicia la búsqueda del sincronismo con la desaceleración configurada. Como la relación configurada es 1:4 y el eje maestro está a 200 RPM, el eje esclavo deberá alcanzar 50 RPM para establecer el sincronismo. Al mismo tiempo, las señales Busy, Active e InGear del primer bloque son reseteadas y la señal CommandAborted es ajustada por 1 ciclo de scan.

 

Al alcanzar la velocidad de 50 RPM, la salida InGear del segundo bloque es ajustada y permanece hasta la ejecución de otro bloque.

 

Ejemplo en ST

 

 El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.

 

 

VAR

  GEARIN1_EXECUTE, GEARIN1_INGEAR, GEARIN2_EXECUTE, GEARIN2_INGEAR,

      GEARIN1_BUSY, GEARIN1_ACTIVE, GEARIN1_CMDABORTED,

      GEARIN2_BUSY, GEARIN2_ACTIVE, GEARIN2_CMDABORTED : BOOL;

  GEARIN1_INST, GEARIN2_INST : FB_MC_GearIn;

END_VAR

 

GEARIN1_INST.Execute := GEARIN1_EXECUTE;

GEARIN1_INST(

  Master:=0,

  Slave:=0,

  RatioNumerator:=1,

  RatioDenominator:=2,

  Acceleration:=1000.0,

  Deceleration:=1000.0,

  BufferMode:=0);

GEARIN1_BUSY := GEARIN1_INST.Busy;

GEARIN1_ACTIVE := GEARIN1_INST.Active;

GEARIN1_CMDABORTED := GEARIN1_INST.CommandAborted;

GEARIN1_INGEAR := GEARIN1_INST.InGear;

 

GEARIN2_INST.Execute := GEARIN2_EXECUTE;

GEARIN2_INST(

  Master:=0,

  Slave:=0,

  RatioNumerator:=1,

  RatioDenominator:=4,

  Acceleration:=500.0,

  Deceleration:=500.0,

  BufferMode:=0);

GEARIN2_BUSY := GEARIN2_INST.Busy;

GEARIN2_ACTIVE := GEARIN2_INST.Active;

GEARIN2_CMDABORTED := GEARIN2_INST.CommandAborted;

GEARIN2_INGEAR := GEARIN2_INST.InGear;