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

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



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.