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

MC_HomeDirect

Seta posição de referência

Previous pageReturn to chapter overviewNext page

Bloco responsável pela mudança da posição de referência do usuário.

 

Representação Ladder

 

MC_HomeDirect_block

 

Características de Execução

 

Tamanho de Memória de Programa

46 Bytes

Tamanho de Memória de Dados

16 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

SetPosition

LREAL

Nova posição de referência do usuário

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_HOMEDIRECT_INST_0

MC_HOMEDIRECT

Instância de acesso à estrutura do bloco

 

Funcionamento

 

Este bloco, quando detecta uma borda de subida em Execute, faz com que a posição de referência do usuário (P0051, P0052 e P0053) seja alterada para o valor do argumento SetPosition.

 

Na execução do bloco, se o estado do eixo é Homing, o estado do eixo mudará para Standstill. Caso contrário, permanecerá no estado atual.

 

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.

 

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

71

P202 diferente de 4.

76

Estado do Drive diferente de "StandStill" ou "Homing".

 

Exemplo

 

MC_HomeDirect_example01
 
MC_HomeDirect_example02
 
MC_HomeDirect_example03

 

Na transição de subida de STEPABSSW_EXECUTE, o bloco MC_StepAbsoluteSwitch é executado e inicia-se a busca da AbsoluteSwitch. O estado do eixo é alterado para Homing.

 

No caso 1, ao executar o bloco, a AbsoluteSwitch não está acionada. Como o argumento Direction está configurado como MC_SwitchNegative, o movimento será na direção negativa. Quando ocorrer uma borda de subida em AbsoluteSwitch (SwitchMode = MC_EdgeOn), o motor para e volta para a posição em que a borda ocorreu.

 

No caso 2, ao executar o bloco a AbsoluteSwitch está acionada.  Como o argumento Direction está configurado como MC_SwitchPositive, o movimento será na direção positiva e, ao sair da AbsoluteSwitch, o motor para e muda o movimento para a direção negativa. Quando ocorrer uma borda de subida em AbsoluteSwitch (SwitchMode = MC_EdgeOn), o motor para e volta para a posição em que a borda ocorreu.

 

Todos os movimentos serão realizados com uma aceleração/desaceleração programados em P0100 e P0101.

 

Ao voltar a posição de borda de subida da AbsoluteSwitch, a saída Done do bloco é setada e permanece TRUE enquanto a entrada Execute está setada.

 

Na transição de subida de STEPABSSW_DONE, o bloco MC_StepDirect é executado e a posição de referência do usuário (P0051, P0052 e P0053) é alterada para 3,5 voltas (P0051 = 8192, P0052 = 3 e P0053 = 0). O estado do eixo é alterado para Standstill.

 

Quando STEPABSSW_EXECUTE é resetado, STEPABSSW_DONE e STEPDIR_DONE também são resetados.