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

MC_StepAbsoluteSwitch

Busca de posição AbsoluteSwitch

Previous pageReturn to chapter overviewNext page

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

 

Representação Ladder

 

MC_StepAbsoluteSwitch_block

 

Características de Execução

 

Tamanho de Memória de Programa

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

(5 - MC_SwitchPositive: Direção positiva, se AbsoluteSwitch não acionada)

(6 - MC_SwitchNegative: Direção negativa, se AbsoluteSwitch não acionada)

SwitchMode

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_STEPABSOLUTESWITCH_INST_0

MC_STEPABSOLUTESWITCH

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 AbsoluteSwitch.

 

A AbsoluteSwitch 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 SwitchMode. Se SwitchMode for configurado como MC_EdgeOn (borda de subida), a função da entrada digital (P0300, P0301 ou P0302) deverá ser "armazena posição - borda de subida" (opção 8). Se SwitchMode for configurado como MC_EdgeOff (borda de descida), a função da entrada digital (P0300, P0301 ou P0302) deverá ser "armazena posição - borda de descida" (opção 9). Será considerado AbsoluteSwitch a primeira entrada digital configurada conforme SwitchMode a partir da entrada digital 1. Caso nenhuma entrada digital esteja configurada conforme SwitchMode, ocorrerá o erro 77 no bloco e ele não será executado.

 

Se ao buscar a posição da AbsoluteSwitch e atingir a posição de LimitSwitch (fim de curso), o movimento mudará de sentido até a posição da AbsoluteSwitch.

 

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_StepAbsoluteSwitch, 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_StepAbsoluteSwitch_example01
 

MC_StepAbsoluteSwitch_example02
 

MC_StepAbsoluteSwitch_example03

 

 

MC_StepAbsoluteSwitch_example04

 

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

 

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 descida em AbsoluteSwitch (SwitchMode = MC_EdgeOff), 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 descida em AbsoluteSwitch (SwitchMode = MC_EdgeOff), o motor para e volta para a posição em que a borda ocorreu.

 

No caso 3, 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.  Mas ao encontrar a LimitSwitch (fim de curso) o motor para e muda o movimento para a direção positiva. Ao sair da AbsoluteSwitch o motor para novamente e muda o movimento para a direção negativa. Quando ocorrer uma borda de descida em AbsoluteSwitch (SwitchMode = MC_EdgeOff), 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 descida da AbsoluteSwitch, 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.