Caminho:  Equipamentos (Dispositivos) > SCA06 > Ladder > Motion Control > Motion Control Move >

MC_MoveVelocity

Alteração de velocidade

Previous pageReturn to chapter overviewNext page

Bloco responsável por realizar um movimento para a velocidade programada.

 

Representação Ladder

 

MC_MoveVelocity_block

 

Características de Execução

 

Tamanho de Memória de Programa

66 Bytes

Tamanho de Memória de Dados

24 Bytes

 

Estrutura do Bloco

 

Tipo de Variável

Nome

Tipo de Dado

Descrição

VAR_IN_OUT

Axis

BYTE

Seleção de eixo da operação

(0 - Eixo real)

VAR_INPUT

Execute

BOOL

Habilitação do bloco

ContinuousUpdate

BYTE

Modo de atualização automática

(0 - Borda de subida)

(1 - Tempo real)

Velocity

REAL

Velocidade

Acceleration

REAL

Aceleração

Deceleration

REAL

Desaceleração

Jerk

REAL

Jerk

BufferMode

REAL

Modo de início de execução

(0 - Inicia bloco imediatamente, se houver outro bloco em execução o mesmo será abortado)

(1 - Se outro bloco estiver em execução, o bloco em execução continuará seu movimento até concluí-lo e esse novo bloco aguardará para então ser executado.)

(6 - Se algum outro bloco estiver em execução, este bloco entrará em erro 52 e não será executado. Será mostrado na IHM o alarme A00052.)

VAR_OUTPUT

InVelocity

BOOL

Habilitação da saída

Busy

BOOL

Sinalizador de que o bloco ainda não foi finalizado

Active

BOOL

Sinalizador de bloco com controle sobre o eixo

CommandAborted

BOOL

Sinalizador de comando abortado

Error

BOOL

Sinalizador de erro na execução

ErrorID

WORD

Identificador do erro ocorrido

VAR

MC_MOVEVELOCITY_INST_0

MC_MOVEVELOCITY

Instância de acesso à estrutura do bloco

 

Funcionamento

 

Este bloco, quando detecta uma borda de subida em Execute, executará um movimento para a velocidade configurada no argumento Velocity com uma aceleração/desaceleração configurada nos argumentos Acceleration e Deceleration. A direção do movimento dependerá do sinal da velocidade: se a velocidade for maior que zero, o movimento será na direção positiva (sentido horário) e se a velocidade for menor que zero, o movimento será na direção negativa (sentido anti horário).

 

wpshelp_common_fig_note

NOTA!

Caso o valor do argumento Jerk for diferente de zero, o argumento ContinuousUpdate On-line não terá efeito, sendo considerado os valores dos argumentos no instante da transição positiva de Execute.

 

Ao executar o bloco MC_MoveVelocity, o drive não opera em malha de posição.

 

Na execução do movimento o estado do eixo mudará para Continuous Motion.

 

Quando Execute possui valor FALSE, InVelocity permanece FALSE. A saída InVelocity é ativada quando a velocidade programada é atingida com sucesso, permanecendo em nível TRUE enquanto o bloco estiver ativo. Para finalizar o bloco, é necessária a execução de outro bloco ou o drive passar para o estado Disabled ou Errorstop.

 

Caso haja algum erro na execução, a saída Error é ativada e ErrorID exibe o código do erro segundo a tabela abaixo.

 

Código

Descrição

52

Tentativa de executar bloco com BufferMode em Single quando outro bloco ativo.

60

Velocidade programada menor que a mínima permitida.

61

Velocidade programada maior que a máxima permitida.

62

Aceleração programada menor que a mínima permitida.

63

Aceleração programada maior que a máxima permitida.

64

Desaceleração programada menor que a mínima permitida.

65

Desaceleração programada maior que a máxima permitida.

67

Drive no estado "Disabled" ou "ErrorStop".

69

Drive no estado "Stopping".

70

Tentativa de executar bloco com BufferMode em Buffered quando outro bloco ativo e outro bloco aguardando.

71

P202 diferente de 4.

74

Drive no estado "Homing".

78

Bloco MC não executado - Falha interna.

93

Jerk programado menor que o mínimo permitido.

94

Jerk programado maior que o máximo permitido.

95

Não é permitido executar posicionamento com Jerk quando outro bloco ativo.

 

Exemplo

 

MC_MoveVelocity_example01

 

MC_MoveVelocity_example02

 

MC_MoveVelocity_example03

 

Na transição de subida de MOVE1_EXECUTE, o primeiro bloco MC_MoveVelocity é executado. Com isso, os sinais Busy e Active deste bloco são setados e inicia-se o movimento para chegar a velocidade de 200 RPM.

No instante em que a velocidade atinge 200 RPM, a saída InVelocity é setada.

 

Tendo-se a transição de subida de MOVE2_EXECUTE, o segundo bloco MC_MoveVelocity é instantaneamente executado (BufferMode - Aborting). Com isso os sinais Busy e Active deste bloco são setados e inicia-se o movimento para a velocidade de 100 RPM (neste instante MOVE2_VELOCITY contém o valor 100). Ao mesmo tempo os sinais Busy, Active e InVelocity do primeiro bloco são resetados e o sinal CommandAborted é setado por 1 ciclo de scan.

 

Ao atingir a velocidade de 100 RPM, a saída InVelocity do segundo bloco é setada e permanece até a execução de outro bloco.

 

Como o argumento ContinuousUpdate está configurado como On-line, com a mudança do valor de MOVE2_VELOCITY para 80, a velocidade muda imediatamente para 80 RPM, sem executar uma rampa de aceleração/desaceleração.