Estados dos eixos de controle de movimento
A regra básica para o comportamento do eixo em um nível alto, quando vários blocos de função de controle de movimento são ativados, é que os comandos de movimento sempre são obtidos consecutivamente, mesmo que o controlador suporte o processamento da realidade paralela. Qualquer comando de movimento é uma transição que altera o estado do eixo e, como consequência, modifica a maneira como o movimento atual é computado.
Diagrama de estado do eixo de controle de movimento
O eixo sempre está em um dos estados definidos, como mostrado no diagrama a seguir.
Diagrama de estado do eixo de controle de movimento

Comportamento do estado do eixo de controle de movimento
Não | Observação |
|---|---|
1 | Nos estados Parada de erro e Parando, todos os blocos de função (menos MC_Reset) podem ser chamados, embora não possam ser executados. MC_Reset gera uma transição para o estado Suspenso. Se um erro ocorrer enquanto a máquina estiver no estado Parando, uma transição para o estado Parada de erro é gerada. |
2 | Power.Enable = TRUE e há um erro no eixo. |
3 | Power.Enable = TRUE e não há erro no eixo |
4 | MC_Stop.Done E NÃO MC_Stop.Execute. |
5 | Quando MC_Power é chamada com Enable = FALSE, o eixo entra no estado Desativado para cada estado incluindo Parada de erro. |
6 | Se um erro ocorrer enquanto a máquina estiver no estado Parando, uma transição para o estado Parada de erro é gerada. |
Valores do código do estado do eixo do controle de movimento
Você pode monitorar o estado do eixo usando o recurso Monitor do eixo.
Valor do estado | Nome do estado |
|---|---|
0x00 | Desativado |
0x01 | Suspenso |
0x02 | Movimento Discreto |
0x03 | Movimento Contínuo |
0x04 | Inicialização |
0x06 | Parando |
0x07 | Parada de Erro |
Atualizações do estado do eixo
Na execução do movimento, a atualização do estado do eixo depende de quando o bloco da função de movimento relevante é chamado pela varredura POU. Isso ocorre mesmo que o perfil de movimento seja controlado pelo Mecanismo de movimento como uma tarefa de segundo plano e seja independente da varredura POU.
Por exemplo, em um eixo móvel em uma POU de ladder (estado de uma linha=true), um bloco de função MC_MoveRelative na linha é submetido à varredura e o eixo começa a se mover. Antes que o MC_MoveRelative termine, o estado da linha torna-se FALSE e MC_MoveRelative não é mais submetido à varredura. Nesse caso, o estado do eixo não pode mudar de Movimento discreto para Suspenso, mesmo depois que o eixo parar completamente e a velocidade atingir 0.
Dê sua opinião