Bloco que envia a referência de velocidade com perfil S.
Representação Ladder

Estrutura do Bloco
Tipo de Variável |
Nome |
Tipo de Dado |
Descrição |
VAR_INPUT |
EN |
BOOL |
Habilitação do bloco |
Velocity |
REAL INT UINT WORD |
Velocidade desejada [rpm] |
|
Acceleration |
REAL INT UINT WORD |
Aceleração máxima do 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 |
Habilitação da saída |
Status |
INT UINT WORD |
Estado atual do movimento |
Funcionamento
A entrada EN é responsável pela habilitação do bloco no instante em que houver uma transição positiva.
A saída ENO informa quando a velocidade foi atingida.
Se a entrada EN for 0, o bloco não é executado e a saída ENO é zero.
Este bloco gera um perfil de rampa S, controlando a velocidade partindo da velocidade atual, até atingir a velocidade desejada. Se houver uma nova transição na entrada EN, um novo perfil é executado.
Se houver uma transição de 0 para 1 na entrada EN, caso o drive esteja habilitado, a referência esteja via SoftPlc, não exista um outro bloco de movimento ativo, exceto um outro bloco MW_SRamp, o perfil de velocidade em forma de Rampa S é gerado, e a saída ENO vai a 1 quando a velocidade desejada for atingida. No decorrer da trajetória, o Status é atualizado de acordo com o estado de execução do movimento.
Este bloco somente é finalizado se for ativado um bloco MW_Stop2.
|
NOTA!
Valores em 0 para o Jerk0 ou Jerk1, desabilitam o perfil S de trajetória. Valores negativos para a aceleração e para o jerk não são permitidos. |
Códigos e descrição do Status:
Código |
Descrição |
0 |
desabilitado |
1 |
movimento iniciado |
2 |
movimento abortado |
10 |
executando Jerk0 |
11 |
executando a aceleração constante |
12 |
executando Jerk1 |
20 |
velocidade atingida |
201 |
drive desabilitado |
202 |
motor parado |
203 |
referência não está via SoftPLC |
204 |
drive em falha |
205 |
executando outro bloco de movimento |
207 |
aceleração inválida |
208 |
Jerk0 inválido |
209 |
Jerk1 inválido |
Exemplo em Ladder

No exemplo acima, caso o drive esteja habilitado e com o comando de RUN, ao ocorrer uma transição positiva em EN_MW_SRAMP, o bloco MW_SRamp será executado conforme valores dos argumentos de entrada. Ao atingir a velocidade desejada, a saída ENO vai para 1.
No gráfico de tendência (trend) abaixo, é possível observar o Perfil S da Referência de Velocidade em vermelho e o Status do bloco em preto. No início do movimento o Status tem o valor 10 e está executando o Jerk0, até atingir a aceleração máxima quando passa a executar o movimento com aceleração constante e o Status tem o valor 11. Na parte final do Perfil S o bloco executa o Jerk1 e o Status tem o valor 12 até atingir a velocidade desejada. Quando atinge a velocidade desejada o Status tem o valor 20 e é nesse instante que a saída ENO vai para 1.
No gráfico é possível verificar que após alguns instantes o motor atingir a velocidade desejada de 1800 rpm, o bloco é novamente habilitado e um novo Perfil S é executado até atingir a nova velocidade desejada de zero rpm.

Para parar o motor o bloco MW_Stop2 deverá ser habilitado ou executar o bloco MW_SRamp com o argumento de entrada Velocity com o valor zero.
Exemplo em ST
O exemplo abaixo, exibe as instruções para aplicação do exemplo acima na linguagem 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);
|
|---|