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

MC_StepAbsoluteSwitch

Busca de posição AbsoluteSwitch

Previous pageReturn to chapter overviewNext page

Bloque responsable por la búsqueda de la posición de la AbsoluteSwitch.

 

Representación Ladder

 

MC_StepAbsoluteSwitch_block

 

Características de Ejecución

 

Tamaño de Memoria de Programa

74 Bytes

Tamaño de Memoria de Datos

40 Bytes

 

Estructura del Bloque

 

Tipo de Variável

Nome

Tipo de Dado

Descrição

VAR_IN_OUT

Axis

BYTE

Selección de eje de la operación

(0 - Eje real)

(1 - Eje Virtual 1)

VAR_INPUT

Execute

BOOL

Habilitación del bloque

Direction

BYTE

Dirección de búsqueda

(0 - Dirección positiva)

(1 - Dirección negativa)

(5 - MC_SwitchPositive: Dirección positiva, si AbsoluteSwitch no es accionada)

(6 - MC_SwitchNegative: Dirección negativa, si AbsoluteSwitch no  es accionada)

SwitchMode

BYTE

Modo de búsqueda

(3 - MC_EdgeOn)

(4 - MC_EdgeOff)

Velocity

REAL

Velocidad [rpm]

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_STEPABSOLUTESWITCH_INST_0

MC_STEPABSOLUTESWITCH

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 búsqueda de la posición de la AbsoluteSwitch.

 

La AbsoluteSwitch solamente podrá ser conectada en las entradas digitales 1, 2 o 3, ya que la función programada de la entrada digital deberá ser de acuerdo con el argumento SwitchMode. Si SwitchMode es configurado como MC_EdgeOn (flanco de subida), la función de la entrada digital (P0300, P0301 o P0302) deberá ser "Almacena posición - flanco de subida" (opción 8). Si SwitchMode es configurado como MC_EdgeOff (flanco de bajada), la función de la entrada digital (P0300, P0301 o P0302) deberá ser "Almacena posición - flanco de bajada" (opción 9). Será considerado AbsoluteSwitch la primera entrada digital configurada conforme SwitchMode a partir de la entrada digital 1. En caso de que ninguna entrada digital esté configurada conforme SwitchMode, ocurrirá el Error 77 en el bloque y éste no será ejecutado.

 

Si al buscar la posición de la AbsoluteSwitch es alcanzada la posición de LimitSwitch (fin de curso), el movimiento cambiará de sentido hasta encontrar la posición de la AbsoluteSwitch.

 

A búsqueda será ejecutada con la velocidad configurada en el argumento Velocity y con una aceleración/desaceleración configurada en el Perfil estándar (General Profile).

 

Con la ejecución del bloque MC_StepAbsoluteSwitch, la posición de referencia del usuario (P0051, P0052 y P0053) no es alterada. El drive pasará a operar en malla de posición y permanecerá así 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 Homing y permanecerá así hasta la ejecución de los bloques MC_StepRefPulse, MC_StepDirect o MC_FinishHoming.

 

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

60

Velocidad programada menor que la mínima permitida.

61

Velocidad programada mayor que la máxima permitida.

67

Drive en estado "Disabled" o "ErrorStop".

69

Drive en estado "Stopping".

71

P202 diferente de 4.

76

Estado del Drive diferente de "StandStill" o "Homing".

77

Entradas digitales 1, 2 y 3 no configuradas conforme "SwitchMode".

97

Realimentación de la posición no permitida. Verificar P290 y P360.

 

wpshelp_common_fig_note

¡NOTA!

Bloque permitido solo cuando la realimentación y el sensor de posición se resolver.

 

Ejemplo en Ladder

 

MC_StepAbsoluteSwitch_example01
 

MC_StepAbsoluteSwitch_example02
 

MC_StepAbsoluteSwitch_example03

 

 

MC_StepAbsoluteSwitch_example04

 

En la transición de subida de HOME_EXECUTE, es ejecutado el bloque MC_StepAbsoluteSwitch. Con eso, las señales Busy y Active de este bloque son ajustadas y se inicia la búsqueda de la AbsoluteSwitch.

 

En el caso 1, al ejecutar el bloque, la AbsoluteSwitch no está accionada. Como el argumento Direction está configurado como MC_SwitchNegative, el movimiento será en dirección negativa. Cuando ocurra un flanco de bajada en AbsoluteSwitch (SwitchMode = MC_EdgeOff), el motor parará y volverá a la posición en que ocurrió el flanco.

 

En el caso 2, al ejecutar el bloque, la AbsoluteSwitch estará accionada.  Como el argumento Direction está configurado como MC_SwitchPositive, el movimiento será en la dirección positiva y, al salir de la AbsoluteSwitch, el motor parará y cambiará el movimiento para la dirección negativa. Cuando ocurra un flanco de bajada en AbsoluteSwitch (SwitchMode = MC_EdgeOff), el motor parará y volverá a la posición en que ocurrió el flanco.

 

En el caso 3, al ejecutar el bloque, la AbsoluteSwitch no estará accionada. Como el argumento Direction está configurado como MC_SwitchNegative, el movimiento será en dirección negativa.  No obstante, al encontrar la LimitSwitch (fin de curso) el motor para y cambia el movimiento para la dirección positiva. Al salir de la AbsoluteSwitch, el motor parará nuevamente y cambiará el movimiento para la dirección negativa. Cuando ocurra un flanco de bajada en AbsoluteSwitch (SwitchMode = MC_EdgeOff), el motor parará y volverá a la posición en que ocurrió el flanco.

 

Todos los movimientos serán realizados con una aceleración/desaceleración programada en el "Perfil Estándar", excepto al encontrar la LimitSwitch (fin de curso), donde el motor parará instantáneamente.

 

Al volver a la posición de flanco de bajada de la AbsoluteSwitch, la salida Done del bloque será ajustada y las señales Busy y Active de este bloque serán reseteadas. La salida Done permanecerá TRUE 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

  HOME_EXECUTE, HOME_DONE, HOME_BUSY, HOME_ACTIVE : BOOL;

  MC_STEPABSOLUTESWITCH_INST_0 : FB_MC_StepAbsoluteSwitch;

END_VAR

 

MC_STEPABSOLUTESWITCH_INST_0.Execute := HOME_EXECUTE;

MC_STEPABSOLUTESWITCH_INST_0(

  Axis:=0,

  Direction:=2,

  SwitchMode:=4,

  Velocity:=100.0);

HOME_BUSY := MC_STEPABSOLUTESWITCH_INST_0.Busy;

HOME_ACTIVE := MC_STEPABSOLUTESWITCH_INST_0.Active;

HOME_DONE := MC_STEPABSOLUTESWITCH_INST_0.Done;