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

MC_MoveAbsolute

Posicionamento absoluto

Previous pageReturn to chapter overviewNext page

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

 

Representação Ladder

 

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

Position

LREAL

Posição

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_MOVEABSOLUTE_INST_0

MC_MOVEABSOLUTE

Instância de acesso à estrutura do bloco

 

Funcionamento

 

Este bloco, quando detecta uma borda de subida em Execute, executará um posicionamento para a posição absoluta configurada no argumento Position, 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_MoveAbsolute, 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_MoveAbsolute_example01

 

MC_MoveAbsolute_example02

 

MC_MoveAbsolute_example03

 

Na transição de subida de MOVEABS1_EXECUTE, o primeiro bloco MC_MoveAbsolute é executado. Com isso, os sinais Busy e Active deste bloco são setados e inicia-se o posicionamento para a posição absoluta "10 voltas".

 

Tendo-se a transição de subida de MOVEABS2_EXECUTE, o segundo bloco MC_MoveAbsolute é instantaneamente executado (BufferMode - Aborting). Com isso, os sinais Busy e Active deste bloco são setados e inicia-se o posicionamento para a posição 15 voltas. 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 atingir a posição 15 voltas, 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.