Regras gerais para blocos da função de controle de movimento
As regras gerais do Micro800 Instruções de config de movimento seguem as especificações de controle de movimento da PLCopen.
Regra aplicada a | Regra |
|---|---|
Parâmetros de entrada | Com Execute: Os parâmetros são usados com a borda ascendente da entrada de execução. Para modificar qualquer parâmetro, altere os parâmetros de entrada e dispare o movimento novamente. Se uma instância de um bloco da função receber um novo Executar antes de terminar (como uma série de comandos na mesma instância), o novo Executar é ignorado e a instrução previamente emitida continua com sua execução. Com Enable: Os parâmetros são usados com a borda ascendente da entrada Ativar e podem ser modificados continuamente. |
Parâmetros de entrada ausentes | A entrada ausente é capturada durante a compilação do Aplicativo do usuário. Não há manipulação do erro de entrada ausente no nível do controlador. |
Entradas excedendo limites do aplicativo | Se um bloco da função for comandado com parâmetros que resultam em uma violação dos limites do aplicativo, a instância do bloco da função gera um erro. Nesse caso, a saída de Erro é sinalizada como Ligado e as informações de erro são indicadas pela ErrorID da saída. O controlador, na maioria dos casos, permanece no modo de Execução e não há Erro de movimento relatado como uma falha do controlador principal. |
Regras de sinal para entradas | As entradas de Aceleração, Desaceleração e Arremesso sempre são valores positivos. Entradas de Velocidade, Posição e Distância podem ter valores positivos e negativos. |
Posição versus Distância | Posição é um valor definido dentro de um sistema de coordenadas. Distância é uma medição relativa relacionada a unidades técnicas. Distância é a diferença entre duas posições. |
Entrada de Posição/Distância | Apenas o movimento linear é suportado nos controladores Micro800. Para o bloco da função MC_MoveAbsolute, a entrada de posição é o local absoluto a ser comandado para o eixo. Para MC_MoveRelative, a entrada de distância é o local relativo (considerando-se a posição atual do eixo em 0) desde a posição atual. |
Entrada de velocidade | A Velocidade pode ser um valor com sinal, mas também pode usar entrada de Direção para definir o sinal da velocidade (velocidade negativa x direção negativa = velocidade positiva). O parâmetro E "Direção" refere-se à entrada e saída de velocidade por motivos de compatibilidade. |
Entrada de direção | Para o movimento de distância (posição), com a posição de destino (absoluto ou relativo) definida, a direção do movimento é exclusiva. A entrada de direção para o movimento de distância é ignorada. Para o movimento de velocidade, o valor da entrada de direção pode ser 1 (direção positiva), 0 (direção atual) ou -1 (direção negativa). Para qualquer outro valor, é considerado apenas o sinal. Por exemplo, -3 denota direção negativa, +2 denota direção positiva e assim por diante. Para o movimento de velocidade (MC_MoveVelocity), o sinal (velocidade x direção) determina a direção do movimento real se o valor não for 0. Por exemplo, se velocidade x direção = +300, a direção é positiva. |
Entradas de Aceleração, Desaceleração e Arremesso |
|
Exclusividade de saída | Com Execute: Quando Executar for TRUE, uma das saídas Ocupado, Concluído, Erro ou CommandAborted também devem ser TRUE. As saídas são mutuamente exclusivas: apenas uma saída em um bloco da função pode ser VERDADEIRO. Apenas uma das saídas Ativo, Erro, Concluído e CommandAborted é configurada de cada vez. Com Enable: As saídas Válido e Erro são mutuamente exclusivas: apenas uma saída em um bloco da função pode ser VERDADEIRO. |
Status da saída | Com Execute: As saídas Concluído, Erro, ErrorID e CommandAborted são redefinidas com a borda descendente da instrução Executar. No entanto, a borda descendente de Executar não para ou influencia a execução do bloco da função real. Mesmo que Executar seja redefinido antes do bloco da função terminar, as saídas correspondentes são configuradas durante pelo menos um ciclo. Se uma instância de um bloco da função receber um novo comando Executar antes de concluir (como uma série de comandos na mesma instância), o novo comando Executar é ignorado e a instrução previamente emitida continua com a execução. Com Enable: As saídas Válido, Ativado, Ocupado, Erro e ErrorID são redefinidas com a borda descendente de Ativar o quanto antes. |
Comportamento da saída Concluído | A saída Concluído é configurada quando a ação comandada terminou com sucesso. Quando vários blocos de função estão trabalhando no mesmo eixo em uma sequência, o seguinte se aplica: Quando um movimento em um eixo é interrompido por outro movimento no mesmo eixo sem ter alcançado a meta final, Concluído no primeiro bloco da função não será configurado. |
Comportamento da saída Ocupado | Cada bloco da função pode ter uma saída Ocupado, indicando que o bloco da função não está concluído (para blocos de função com uma entrada Executar) ou não está funcionando, e valores de saída novos podem ser esperados (no caso da entrada Ativar). Ocupado é configurado na borda ascendente de Executar e redefine quando uma das saídas Concluído, Cancelado ou Erro é configurada. O bloco de função deve ser mantido no circuito ativo do programa do aplicativo pelo menos enquanto Busy for TRUE, porque as saídas podem mudar. Blocos de função com a mesma instância que está ocupada não podem executar até que não estejam mais ocupadas. Blocos de função com instâncias diferentes podem substituir o bloco da função em execução no momento. |
Comportamento da saída CommandAborted | A saída CommandAborted é configurada quando um movimento comandado é interrompido por outro comando de movimento. O comportamento de redefinição da saída CommandAborted é semelhante à saída Concluído. Quando CommandAborted ocorre, outros sinais de saída são redefinidos como InVelocity. |
Saída Ativo | A saída Ativo é exigida nos blocos de função em buffer e é configurada no momento em que o bloco da função assume o controle de movimento do eixo correspondente. Para o modo sem buffer, as saídas Ativo e Ocupado podem ter o mesmo valor. |
Status Ativar e Válido | A entrada Ativar é combinada a uma saída Válido. Ativar é sensível ao nível e Válido mostra que um conjunto válido de saídas está disponível no bloco da função. A saída Válido é VERDADEIRO enquanto um valor de saída válido estiver disponível e a entrada Ativar for VERDADEIRO. O valor da saída relevante pode ser atualizado desde que a entrada Ativar seja VERDADEIRO. Se houver um erro do bloco da função, a saída não é válida (Válido configurado como FALSO). Quando a condição de erro desaparecer, os valores reaparecem e a saída Válido é configurada novamente. |
Manipulação do erro de saída | Saídas usadas para definir erros: Todos os blocos têm as duas saídas a seguir, que são usadas para os erros que ocorrem durante a execução:
As saídas Concluído e InVelocity são usadas para a conclusão bem-sucedida, portanto são logicamente exclusivas para Erro. Erros de instância nem sempre resultam em um erro de eixo (levando o eixo para Parada de erro). |
Como as saídas de erro são redefinidas:
| |
Tipos de erros:
| |
Convenções de nomeação dos tipos de ENUM | Devido a restrições de nomeação no padrão IEC sobre a exclusividade dos nomes de variáveis, a referência "mc" ao espaço do nome do Controle de movimento PLCopen é usado para os ENUMs. Dessa maneira, evitamos o conflito de que o uso dos tipos de ENUM "positivo" e "negativo" para instâncias com variáveis com esses nomes, durante todo o resto do projeto, uma vez são chamadas de mcPositive e mcNegative respectivamente. |
Dê sua opinião