Bloque responsable por la ejecución de sincronismo en posición entre los ejes programados.
Representación Ladder

Características de Ejecución
Tamaño de Memoria de Programa |
104 Bytes |
Tamaño de Memoria de Datos |
56 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 |
InSync |
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_GEARINPOS_INST_0 |
MC_GEARINPOS |
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 posición 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.
Al ejecutar el bloque MC_GearInPos, el drive pasará a operar en malla de posición y permanecerá así incluso tras la conclusión del bloque. Se debe ajustar la ganancia proporcional de posición (P0159) para obtener un mejor desempeño del drive.
En la ejecución del bloque, el estado del eje cambiará para Synchronized Motion.
La salida InSync es activada cuando la sincronía es alcanzada. Para finalizar el bloque, es necesaria 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

En la transición de subida de GEARINPOS_EXECUTE, es ejecutado el bloque MC_GearInPos. 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 79:121, si el eje maestro está a 200 RPM, el eje esclavo deberá alcanzar 131 RPM para establecer el sincronismo.
En el instante en que la velocidad alcanza 131 RPM, es ajustada la salida InSync.
Ejemplo en ST
El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.
VAR GEARINPOS_EXECUTE, DONE : BOOL; MC_GEARINPOS_INST_0 : FB_MC_GearInPos; END_VAR
MC_GEARINPOS_INST_0.Execute := GEARINPOS_EXECUTE; MC_GEARINPOS_INST_0( Master:=0, Slave:=0, RatioNumerator:=79, RatioDenominator:=121, Acceleration:=GENERAL_PROFILE_ACCELERATION, Deceleration:=GENERAL_PROFILE_DECELERATION, BufferMode:=0); DONE := MC_GEARINPOS_INST_0.InSync;
|
|---|