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

MC_StepLimitSwitch

Busca de posição LimitSwitch

Previous pageReturn to chapter overviewNext page

Bloco responsável pela busca da posição da LimitSwitch.

 

Representação Ladder

 

MC_StepLimitSwitch_block

 

Características de Execução

 

Tamanho de Memória de Programa

72 Bytes

Tamanho de Memória de Dados

40 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

Direction

BYTE

Direção de busca

(0 - Direção positiva)

(1 - Direção negativa)

LimitSwitchMode

BYTE

Modo de busca

(3 - MC_EdgeOn)

(4 - MC_EdgeOff)

Velocity

REAL

Velocidade

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_STEPLIMITSWITCH_INST_0

MC_STEPLIMITSWITCH

Instância de acesso à estrutura do bloco

 

Funcionamento

 

Este bloco, quando detecta uma borda de subida em Execute, envia um comando para busca da posição da LimitSwitch.

 

A LimitSwitch somente poderá ser ligada nas entradas digitais 1, 2 ou 3, sendo que a função programada da entrada digital deverá ser de acordo com o argumento "LimitSwitchMode" e o argumento "Direction". Será considerado LimitSwitch a primeira entrada digital configurada conforme a tabela, a partir da entrada digital 1. Caso nenhuma entrada digital esteja configurada conforme LimitSwitchMode e Direction, ocorrerá o erro 77 no bloco e ele não será executado:

 

Direção

Modo Limit Switch

Função Entrada Digital

MC_Positive

MC_EdgeOn

Fim de curso horário ativo alto (opção 12)

MC_Positive

MC_EdgeOff

Fim de curso horário ativo baixo (opção 13)

MC_Negative

MC_EdgeOn

Fim de curso anti-horário ativo alto (opção 14)

MC_Negative

MC_EdgeOff

Fim de curso anti-horário ativo baixo (opção 15)

 

A busca será executada com a velocidade configurada no argumento Velocity e uma aceleração/desaceleração configurado no Perfil Padrão (General Profile).

 

Com a execução do bloco MC_StepLimitSwitch, a posição de referência do usuário (P0051, P0052 e P0053) não é alterada. 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 bloco o estado do eixo mudará para Homing e permanecerá assim até a execução dos blocos MC_StepRefPulse, MC_StepDirect ou MC_FinishHoming.

 

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

60

Velocidade programada menor que a mínima permitida.

61

Velocidade programada maior que a máxima permitida.

67

Drive no estado "Disabled" ou "ErrorStop".

69

Drive no estado "Stopping".

71

P202 diferente de 4.

76

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

77

Entradas digitais 1, 2 e 3 não configuradas conforme "SwitchMode".

97

Realimentação e sensor de posição não permitido. Verificar se P0209 = 0 e P0360 = 0.

 

wpshelp_common_fig_note

NOTA!

Bloco permitido somente quando a realimentação e sensor de posição for resolver.

 

 

Exemplo

 

MC_StepLimitSwitch_example01
 
MC_StepLimitSwitch_example02

 

MC_StepReferencePulse_example03

 

Na transição de subida de HOME_EXECUTE, o bloco MC_StepLimitSwitch é executado. Com isso os sinais Busy e Active deste bloco são setados e inicia-se a busca da LimitSwitch.

 

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

 

No caso 2, ao executar o bloco, a LimitSwitch está acionada. Mesmo com o argumento Direction configurado como MC_Negative, o movimento será na direção positiva e, ao sair da LimitSwitch, o motor para e muda o movimento para a direção negativa. Quando ocorrer a borda de subida em LimitSwitch (LimitSwitchMode = 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, exceto ao encontrar a LimitSwitch (fim de curso), onde o motor para instantaneamente.

 

Ao voltar a posição de borda de subida da LimitSwitch, a saída Done do 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.