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

MC_MoveRelative

Posicionamento relativo

Previous pageReturn to chapter overviewNext page

Bloco responsável por realizar um posicionamento para a posição relativa programada.

 

Representação Ladder

 

MC_MoveRelative_block

 

Características de Execução

 

Tamanho de Memória de Programa

72 Bytes

Tamanho de Memória de Dados

32 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)

Distance

LREAL

Distância de deslocamento

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

Done

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_MOVERELATIVE_INST_0

MC_MOVERELATIVE

Instância de acesso à estrutura do bloco

 

Funcionamento

 

Este bloco, quando detecta uma borda de subida em Execute, executará um posicionamento de acordo com a distância relativa à posição atual, configurada no argumento Distance, com uma velocidade máxima configurada no argumento Velocity e uma aceleração/desaceleração configurada nos argumentos Acceleration e Deceleration. Dependendo da distância do posicionamento e dos valores de aceleração e desaceleração, a velocidade do motor não atingirá a velocidade máxima configurada.

 

wpshelp_common_fig_note

NOTA!

Caso o valor do argumento Jerk for diferente de zero:

1) o valor da desaceleração será o mesmo do valor configurado na aceleração;

2) o argumento ContinuousUpdate On-line não terá efeito, sendo considerado os valores dos argumentos no instante da transição positiva de Execute;

3) não é permitido executar o posicionamento com outro bloco ativo, ocorrendo ErrorID 95.

 

Ao executar o bloco MC_MoveRelative, o drive passará a operar em malha de posição e permanece assim mesmo após a conclusão do bloco. Deve-se ajustar o ganho proporcional de posição (P0159) para obter um melhor desempenho do drive.

 

Na execução do posicionamento o estado do eixo mudará para Discrete Motion. Ao concluir o posicionamento o estado do eixo mudará para Standstill.

 

Quando Execute possui valor FALSE, Done permanece FALSE. A saída Done é ativada quando o bloco termina a execução com sucesso, permanecendo em nível TRUE até que Execute receba FALSE.

 

wpshelp_common_fig_note

NOTA!

A saída Done é ativada assim que a trajetória teórica é finalizada, quando a referência de posição for igual a posição desejada. Logo a saída Done poderá ser ativada antes da posição real atingir a posição desejada.

 

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_MoveRelative_example01

 

MC_MoveRelative_example02

 

MC_MoveRelative_example03

 

Na transição de subida de MOVEREL1_EXECUTE, o primeiro bloco MC_MoveRelative é executado. Com isso, os sinais Busy e Active deste bloco são setados e inicia-se o posicionamento de 10 voltas positivas a partir da posição atual.

 

Ao terminar o posicionamento, o primeiro bloco é concluído. Com isso, os sinais Busy e Active deste bloco são resetados e a saída Done é setada por 1 ciclo de scan.

 

Com uma transição de subida de MOVEREL2_EXECUTE, o segundo bloco MC_MoveRelative é executado. Com isso, os sinais Busy e Active deste bloco são setados e inicia-se o posicionamento de 5 voltas positivas a partir da posição atual.

 

Ao terminar o posicionamento, a saída Done do segundo bloco é setada e os sinais Busy e Active deste bloco são resetados. A saída Done permanece TRUE enquanto a entrada Execute está setada.

 

 

MC_MoveRelative_example04

 

Na transição de subida de MOVEREL1_EXECUTE, o primeiro bloco MC_MoveRelative é executado. Com isso, os sinais Busy e Active deste bloco são setados e inicia-se o posicionamento de 10 voltas positivas a partir da posição atual.

 

Tendo-se a transição de subida de MOVEREL2_EXECUTE, o segundo bloco MC_MoveRelative é instantaneamente executado (BufferMode - Aborting). Com isso, os sinais Busy e Active deste bloco são setados e inicia-se o posicionamento de 5 voltas positivas a partir da posição atual. Ao mesmo tempo, os sinais Busy e Active do primeiro bloco são resetados e o sinal CommandAborted é setado por 1 ciclo de scan.

 

Ao terminar o posicionamento, a saída Done do segundo bloco é setada e os sinais Busy e Active deste bloco são resetados. A saída Done permanece TRUE enquanto a entrada Execute está setada.