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

Características de Ejecución
Tamaño de Memoria de Programa |
78 Bytes |
Tamaño de Memoria de Datos |
32 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 |
PhaseShift |
REAL |
Diferença de fase entre mestre e escravo |
|
Velocity |
REAL |
Velocidad [rpm] |
|
Acceleration |
REAL |
Aceleración [rpm / s] |
|
Deceleration |
REAL |
Desaceleración [rpm / s] |
|
VAR_OUTPUT |
Done |
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, verifica el sincronismo entre maestro y esclavo y envía un comando para desplazar el eje maestro de forma de dejarlo desfasado del esclavo en la magnitud de PhaseShift.
Al ejecutar el bloque MC_PhasingRelative, el drive no alterará el modo de operación actual. En la ejecución del bloque, el estado del eje no cambiará.
Cuando Execute tiene valor FALSE, Done permanece FALSE. La salida Done es activada cuando el bloque termina la ejecución exitosamente, permaneciendo en nivel TRUE hasta que Execute reciba FALSE.
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 |
67 |
Drive en estado "Disabled" o "ErrorStop". |
71 |
P202 diferente de 4. |
73 |
Drive no está en estado "Synchronized Motion". |
78 |
Bloque MC no ejecutado - Falla interna |
79 |
Eje Maestro no está en sincronismo. |
96 |
Bloque MC_PhasingRelative en ejecución. |
Ejemplo en Ladder



Teniéndose el sincronismo de posición del eje Real con el Contador Rápido, a través del bloque MC_GearInPos, y ocurriendo una transición de subida en PHASING_EXECUTE, el bloque MC_PhasingRelative es ejecutado y es aplicado al eje maestro un desplazamiento de 0,05 vuelta, resultando en un pulso en la velocidad. La salida Done es ajustada mientras la entrada Execute está ajustada.
Ejemplo en ST
El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.
VAR GEARINPOS_EXECUTE, GEARINPOS_INSYNC, PHASING_EXECUTE, PHASING_DONE : BOOL; GEARINPOS_INST : FB_MC_GearInPos; PHASING_INST : FB_MC_PhasingRelative; END_VAR
GEARINPOS_INST.Execute := GEARINPOS_EXECUTE; GEARINPOS_INST( Master:=0, Slave:=0, RatioNumerator:=1, RatioDenominator:=1, Acceleration:=1000.0, Deceleration:=1000.0, BufferMode:=0); PHASING_DONE := GEARINPOS_INST.InSync;
PHASING_INST.Execute := PHASING_EXECUTE; PHASING_INST( Master:=0, Slave:=0, PhaseShift:=LREAL#0.05, Velocity:=GENERAL_PROFILE_VELOCITY, Acceleration:=GENERAL_PROFILE_ACCELERATION, Deceleration:=GENERAL_PROFILE_DECELERATION); PHASING_DONE := PHASING_INST.Done;
|
|---|