Camino:  Equipo (Dispositivos) > CFW503 > Ladder > Motion Control Move >

MW_SRamp

Gera Referência de Velocidade com Perfil S

Previous pageReturn to chapter overviewNext page

 

Bloque que envía la referencia de velocidad con perfil S.

 

Representación Ladder

 

MW_SRamp

 

Estructura del Bloque

 

Tipo de Variable

Nombre

Tipo de Dato

Descripción

VAR_INPUT

EN

BOOL

Habilitación del bloque

Velocity

REAL

INT

UINT

WORD

Velocidad deseada [rpm]

Acceleration

REAL

INT

UINT

WORD

Aceleración máxima de movimento [rpm/s]

Jerk0

REAL

INT

UINT

WORD

Jerk inicial do movimento [rpm/s²]

Jerk1

REAL

INT

UINT

WORD

Jerk final do movimento [rpm/s²]

VAR_OUTPUT

ENO

BOOL

Habilitación da salída

Status

INT

UINT

WORD

Estado actual de movimento

 

 

Operación

 

La entrada EN es responsable de habilitar el bloqueo cuando hay una transición positiva.

 

La salida ENO le informa cuando se ha alcanzado la velocidad.

 

Si la entrada EN es 0, el bloque no se ejecuta y la salida ENO es cero.

 

Este bloque genera un perfil de rampa S, controlando la velocidad partiendo de la velocidad actual, hasta alcanzar la velocidad deseada. Si hay una nueva transición en la entrada EN, se ejecuta un nuevo perfil.

 

Si hay una transición de 0 a 1 en la entrada EN, si el variador está habilitado, la referencia es a través de SoftPlc, no hay otro bloque de movimiento activo, excepto otro bloque MW_SRamp, se genera el perfil de velocidad de rampa S , y la salida ENO pasa a 1 cuando se alcanza la velocidad deseada. Durante la trayectoria, el Estado se actualiza según el estado de ejecución del movimiento.

 

Este bloque solo se finaliza si se activa un bloque MW_Stop2.

 

wpshelp_common_fig_note

¡NOTA!

 

Valores de 0 para Jerk0 o Jerk1, deshabilitan el perfil de ruta S. No se permiten valores negativos de aceleración y tirón.

 

 

Códigos e descrição do Status:

 

Código

Descrição

0

deshabilitado

1

movimento iniciado

2

movimento abortado

10

ejecutando Jerk0

11

ejecutando a aceleración constante

12

ejecutando Jerk1

20

Desaceleración programada maior que a máxima permitida.

201

drive desabilitado

202

motor parado

203

referência não está via SoftPLC

204

drive em falha

205

ejecutando outro bloco de movimento

207

aceleración inválida

208

Jerk0 inválido

209

Jerk1 inválido

 

 

Ejemplo en Ladder

 

 MW_SRamp_example01

 

En el ejemplo anterior, si el variador está habilitado y con el comando RUN, cuando ocurre una transición positiva en EN_MW_SRAMP, el bloque MW_SRamp se ejecutará de acuerdo con los valores de los argumentos de entrada. Al alcanzar la velocidad deseada, la salida ENO pasa a 1.

En el gráfico de tendencia a continuación, es posible observar el perfil S de referencia de velocidad en rojo y el estado del bloque en negro. Al inicio del movimiento, Status tiene un valor de 10 y Jerk0 está ejecutando, hasta que alcanza la máxima aceleración cuando comienza a ejecutar el movimiento con aceleración constante y Status tiene un valor de 11. Al final del Perfil S, el bloque ejecuta Jerk1 y el Estado tiene un valor de 12 hasta alcanzar la velocidad deseada. Cuando se alcanza la velocidad deseada, el Estado tiene un valor de 20 y es en ese momento que la salida ENO pasa a 1.

En la gráfica se puede verificar que luego de unos instantes el motor alcanza la velocidad deseada de 1800 rpm, se habilita nuevamente el bloqueo y se ejecuta un nuevo Perfil S hasta alcanzar la nueva velocidad deseada de cero rpm.

 

MW_SRamp_example02

 

Para detener el motor, se debe habilitar el bloque MW_Stop2 o ejecutar el bloque MW_SRamp con el argumento de entrada Velocity con valor cero.

Ejemplo en ST

 

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

 

 

VAR

   GEN_EN, RUN, EN_MW_SRAMP : BOOL := TRUE;

  IN_VELOCITY, EN_STOP, ENO_STOP : BOOL;

   VEL, STS : WORD;

END_VAR

 

CFW_CMD_GENERAL_ENABLE := GEN_EN;

CFW_CMD_RUN_STOP := RUN;

FB_MW_SRamp(

   Execute:=EN_MW_SRAMP,

   Velocity:=VEL,

   Acceleration:=150,

   Jerk0:=25,

  Jerk1:=50,

   Status=>STS,

   Done=>IN_VELOCITY);

 

FB_MW_Stop2(

   Execute:=EN_STOP,

   Deceleration:=1000,

   Control:=1,

   Done=>ENO_STOP);