Funções de Posicionamento para Controle de Eixos Resumo Atualmente muitos Controladores Programáveis (CPs) classificados como de pequeno porte possuem, integrados em um único invólucro, uma densidade significativa de pontos de entradas e saídas (E/S). Além de E/S digitais e analógicas, os equipamentos contam com pontos integrados de entradas e saídas rápidas, que permitem o desenvolvimento de aplicações para posicionamento de eixos. Para facilitar esse desenvolvimento, os fornecedores dos CPs disponibilizam funções que implementam características peculiares às aplicações de movimento de eixos. Este artigo apresenta algumas dessas funções, assim como suas principais características. Introdução Os CPs (Controladores Programáveis) classificados como de pequeno porte e que possuem entradas e saídas (E/S) integradas passaram a colocar em seus invólucros também entradas e saídas rápidas. Estas entradas e saídas basicamente são contadores rápidos e saídas do tipo PTO (Pulse Train Output). As entradas para contadores rápidos permitem conectar os controladores a encoders responsáveis por converter os movimentos mecânicos de eixos em pulsos. Os pulsos são contados e através destes a posição de um eixo pode ser calculada. Já a saída rápida do tipo PTO é responsável por gerar um número especifico de pulsos afim de deslocar um eixo até uma posição determinada. Agregasse também a esse tipo de saída a possibilidade de gerar perfis de aceleração. Desta forma um eixo pode ser acelerado de forma que os parâmetros físicos como a inércia do sistema sejam levados em conta. Se for adicionando a isso ainda as características de saídas analógicas também presentes no controlador é possível desenvolver uma biblioteca de Blocos Funcionais padrão da norma IEC 61131. As funções podem ser separadas em quatro tipos: • • • • Utilização de Saídas Rápidas do Tipo PTO para posicionar o motor conectado ao eixo sem um retorno de outro tipo para validar o movimento. Utilização de Saídas Rápidas do Tipo PTO para posicionar o motor conectado ao eixo sem um retorno de outro tipo para validar o movimento, porém durante o referenciamento utiliza a entrada de zero do encoder para referenciar. Utilização de Saídas Rápidas do Tipo PTO para posicionar o motor conectado ao eixo sendo o controle fechado através de uma entrada de contagem rápida conectada a um encoder também ligado ao eixo. Utilização de Saídas Analógicas de tensão para posicionar o motor conectado ao eixo sendo o controle fechado através de uma entrada de contagem rápida conectada a um encoder também ligado ao eixo. Autores: Rafael Lima, Coordenador de Projeto de Produtos Altus Hugo Kiehl, Projetista de Produtos Altus Janeiro/2010 Parâmetros importantes para o Posicionamento Para a montagem de um eixo alguns parâmetros e características que as funções devem possuir são de extrema importância. Além de possuir um bom sistema de referenciamento as funções devem disponibilizar mecanismos de proteção a integridade do equipamento. Dos mecanismos mais consagrados destacasse a utilização de sensores de fim de curso. Estes sensores estão colocados próximos ao limite físico do eixo e visam evitar o choque do eixo contra estes limites, o que causaria danos ao mesmo. Quando estes sensores são acionados uma parada brusca é executa. A parada brusca não executa a desaceleração especificada pelo usuário na parametrização, pois visa ser o último recurso de segurança. Na construção correta de eixo ainda deve ser prevista a utilização dos recursos de fim de curso por software. Figura 1 – Montagem de um eixo Este tipo de mecanismo é uma configuração das funções que indica qual o limite do deslocamento do eixo. Esse limite deve ser calculado de maneira que ao detectar esta condição possa ocorre uma desaceleração segura e o eixo pare antes de chegar aos fins de curso por hardware. Na figura 1 pode ser verificado o diagrama que mostra dois exemplos de como estes parâmetros são configurados. Do lado esquerdo o parâmetro FIM_CURSO_SW_NEGATIVO_DINT e a entrada de FIM_CURSO_HW_NEGATIVO estão montados de maneira correta, de forma que a desaceleração pode ser executada na integra antes da passagem pelo fim de curso por hardware. Já do lado direito da figura está sendo mostrado um fim de curso por software que está muito próximo do fim de curso por hardware, não permitindo a parada suave completa. Além disso, outros recursos importantes para este tipo de função são a parada emergência, que executa uma para brusca após o seu acionamento e a entrada de parada suave. Funcionamento de um Referenciamento Uma característica muito importante para um bom funcionamento de funções de posicionamento é a existência de mecanismos de referenciamento. Este referenciamento pode estar integrado à função de posicionamento ou ser uma função a parte, mas independente disso a metodologia para fazer este procedimento é a mesma. A Figura 2 mostra o diagrama para o referenciamento de um eixo. Nele está representado o perfil de aceleração para a movimentação e as entradas do sensor da zona de referenciamento, Autores: Rafael Lima, Coordenador de Projeto de Produtos Altus Hugo Kiehl, Projetista de Produtos Altus Janeiro/2010 REFER_SENSOR_ZONA_BOOL, assim como a saída do encoder que indica passagem por zero. A zona de referenciamento é a faixa do eixo onde o pulso de zero do encoder é analisado pela função. Desta forma um referenciamento começa deslocando o eixo no sentido declarado pelo usuário. O eixo é acelerado até atingir a velocidade de busca pela zona de referenciamento, REFER_VELOCIDADE_INICIAL_DWORD. Ao encontrar uma borda de subida na entrada do sensor de zona de referenciamento, REFER_SENSOR_ZONA_BOOL, é executada uma parada suave do eixo desacelerando até que este pare. Figura 2 – Diagrama de refernciamento. Se durante este movimento um zero já foi detectado, dentro da zona de referenciamento, este será considerado a posição zero da máquina. Em caso contrário a máquina continua se deslocando no mesmo sentido porém, porém com um percentual da velocidade inicial representado pelo parâmetro REFER_PERCENTUAL_VELOCIDADE_INICIAL_BYTE. Quando encontrar um zero vindo da saída do encoder este ponto é o zero da máquina e uma parada suave é realizada. Sempre que for usado o parâmetro de compensação de folga do eixo diferente de zero, após encontrar o zero da máquina, um deslocamento do tamanho da folga do sistema será gerado, com o objetivo de garantir que a folga estará compensada ao final do referenciamento. Ao final deste processo caso o eixo esteja parado dentro da tolerância de erro nenhum movimento é realizado. Caso esteja fora, novos movimentos devem ser executados para permanecer dentro da faixa de erro máximo em torno do zero. Antes do disparo do referenciamento a entrada REFER_SENSOR_ZONA_BOOL é testada e caso esteja em “True” o referenciamento irá iniciar a busca no sentido contrário ao sentido de busca declarado pelo usuário, afim de sair da zona de referenciamento. Após detectar uma borda de descida do sensor de referenciamento o eixo permanece com a velocidade inicial de busca, REFER_VELOCIDADE_INICIAL_DWORD, por um tempo definido em parâmetros, para depois começar a desacelerar. Ao cessar este movimento a busca prossegue de maneira normal no sentido definido pelo usuário. Recomenda-se que o sensor de zona seja montado de forma que, após ter uma borda de subida, este permaneça em estado “1” até o final do eixo. Se não for desta forma pode acontecer do eixo Autores: Rafael Lima, Coordenador de Projeto de Produtos Altus Hugo Kiehl, Projetista de Produtos Altus Janeiro/2010 estar posicionado fora da zona mas do lado oposto ao sentido de busca. Acontecendo isso o eixo será parado bruscamente pelo fim de curso posicionado deste lado do eixo. No caso de um controle utilizando somente a saída PTO, o contador é zerado para indicar o zero da máquina na borda de subida do REFER_SENSOR_ZONA_BOOL. Isso acontece, pois como não é utilizado o encoder não existe a indicação de passagem pelo zero do encoder. Função com Saída PTO As funções que utilizam uma saída rápida configurada como PTO podem ser configuradas para utilizar um contador bidirecional com um encoder associado ou um contador de pulsos interno como realimentação da malha de controle. Além disso, existe outro modo para ser configurado que reúne as características dos outros dois modos que envolvem a saída PTO. Nesta configuração o comportamento é idêntico ao da configuração como puramente PTO para o posicionamento, porém se o eixo possui uma indicação de posição do zero através de um encoder, por exemplo, este modo deve ser utilizado e o contador de posição será zerado na posição do pulso de zeramento quando o eixo for referenciado. Para selecionar qual o tipo de controle deve ser utilizado deve ser levado em consideração qual é o tipo de acionamento. Nos casos em que o servoacionamento possui controle de posição, ou seja, o laço de controle é fechado dentro do próprio driver, o controle a ser utilizado é o PTO direto. Caso este sistema possua a informação de passagem por zero devesse utilizar o posicionamento do tipo PTO com referenciamento para aumentar a acuidade do referenciamento. Porém se o sistema utiliza um driver com lógica combinacional, como é o caso dos drivers para acionamentos de motores de passo, sendo estes acoplados a um eixo de um encoder, deve-se escolher a utilização do controle com laço fechado com contador rápido. Esta função deve ser chamada periodicamente através de uma POU acionada por interrupção de tempo. Para ter um controle mais preciso, recomenda-se utilizar o menor tempo possível para a chamada desta função. Normalmente este tipo de função não precisa de um número de confirmações maior que um. Porém em sistemas com uma inércia grande se faz necessário aumentar o número de confirmações afim que seja garantido o posicionamento dentro de erro máximo. Caso o valor do erro seja muito pequeno pode ocorrer do eixo não ser posicionado corretamente. Função com Saída Analógica As funções que utilizam uma saída analógica para atuar no processo e o controle é realimentado através de um encoder. Esta saída analógica, que excursiona de 0 a 10 Volts, possui uma saída digital associada para definir o sentido do movimento, onde FALSE define o sentido positivo e TRUE o sentido negativo. Existem ainda função em que se utiliza saída analógica simétrica, -10 a 10 Volts, ou saídas positivos com offset. Em todos os casos o funcionamento é o mesmo. O controle analógico é do tipo proporcional-integral, os ganhos são configurados pelos parâmetros KP_REAL, ganho proporcional, e KI_REAL, ganho integral, na configuração da função. Porém, o controle integral é ativado somente ao final do traçado do perfil teórico, tendo como finalidade corrigir o erro característico de um sistema que utiliza apenas um controle proporcional. Caso não Autores: Rafael Lima, Coordenador de Projeto de Produtos Altus Hugo Kiehl, Projetista de Produtos Altus Janeiro/2010 haja a necessidade de um controle integral, o parâmetro KI_REAL deve ser configurado com o valor zero. Esta função deve ser chamada periodicamente através de uma POU acionada por interrupção de tempo. Para ter um controle mais preciso, recomenda-se utilizar o menor tempo possível para a chamada desta função (1 ms). Após configurar este módulo de controle deve-se chamar periodicamente a função. O laço de controle iniciará em aberto, sendo necessário para fechar o laço de controle é necessário forçar o seu fechamento através do comando e disparar um posicionamento através do comando ou um referenciamento através dos comando da função. Quando o laço de controle está fechado, a verificação do limite de parada estará sendo realizado. Esta verificação serve para garantir que em caso de perda de controle ou movimentações indevidas, geradas por causas externas ao sistema, o laço será aberto, evitando acidentes. Existe também um parâmetro que é o responsável pela configuração do valor do limite de parada. A abertura do laço de controle pode acontecer das seguintes maneiras: pelo comando de emergência, pela passagem do limite de parada, pelo acionamento de um dos fins de curso por hardware (FIM_CURSO_HW_POSITIVO_BOOL ou FIM_CURSO_HW_NEGATIVO_BOOL), pela reinicialização do módulo de controle com valores, pelo estouro da posição atual ou pela tentativa de disparo de um posicionamento com um valor de posição fora da faixa permitida. Existe um erro de acompanhamento entre o perfil teórico gerado pelo módulo de posicionamento e a posição atual medida através do encoder com este dado é possível enxergar o comportamento do sistema em relação aos ganhos definidos. Caso o erro de acompanhamento esteja aumentando constantemente é sinal de que o ganho proporcional não está com um valor suficiente para fazer a posição real acompanhar a posição teórica com um erro constante, assim o ganho proporcional deve ser aumentado. Outra informação importante para a calibração do controle é a saturação da saída. Isso acontece se a saída é setada quando o sinal teórico de controle ultrapassa a tensão máxima da saída analógica. A saturação do sinal leva o erro de acompanhamento a aumentar constantemente. A conclusão de um posicionamento acontece quando a posição do eixo for verificada o número de confirmações consecutivas. Caso o sistema não encontre a posição e uma parada de emergência não for disparada, o controle será aberto após passar o tempo de timeout. Compensação de Folga As funções de posicionamento possuem uma compensação de folga para sistemas que utilizem medição indireta, onde o motor é ligado ao encoder através de um sistema. Para utilizar a compensação de folga é necessário configurar o parâmetro de compensação de folga da função. Quando não houver a necessidade de compensação de folga, este parâmetro deve ser configurado com o valor zero. O sinal da compensação é utilizado para diferenciar entre a situação em que o sistema de medição conta, mas o eixo, devido à folga, não desloca-se (utilizar sinal positivo) e aquela em que o eixo desloca-se e o sistema de medição, devido à folga, inicia atrasado a contagem (utilizar sinal negativo). Autores: Rafael Lima, Coordenador de Projeto de Produtos Altus Hugo Kiehl, Projetista de Produtos Altus Janeiro/2010 Bibliotecas de Posicionamento Os modelos DU350 e DU351, CPs com IHM (Interface Homem Máquina) da Altus são exemplos de CPs que disponibilizam estas características. Eles utilizam a biblioteca DuoMotionLib, que é um biblioteca padrão da Norma IEC 61131 que utiliza os recursos de hardware dos módulos para implementar as funções de posicionamento. Esta biblioteca possui dois Blocos Funcionais de Posicionamento, sendo um para Saídas do tipo PTO e outra para saídas analógicas. As funções possuem característica de referenciamento integrada. Além disso, a biblioteca conta com as funções de inicialização dos dois tipos de movimentos. Conclusão Com a facilidade dos recursos de reaproveitamento de código proposto pela norma IEC 61131 é possível desenvolver bibliotecas com Blocos Funcionais para posicionamento de eixos. Para tanto é essencial que os controladores utilizados possuam entradas e saídas rápidas. As bibliotecas disponibilizadas pelos fabricantes necessitam de algumas características importantes como referenciamento, compensação de folga, mecanismos de proteção do eixo e configuração para vários tipos de sistema. Para decidir qual o tipo de configuração que será utilizada deve ser levado em consideração como é construído e quais suas características físicas. Antes de começar um desenvolvimento é essencial se ter estas informações, pois as funções facilitam a implementações de aplicações, porém elas precisam ser bem configuradas para que os recursos disponibilizados por elas sejam aproveitadas ao máximo. Referências Bibliográficas Manual de Utilização DU350 e DU351 Rev. B - 2009 – http://www.altus.com.br Autores: Rafael Lima, Coordenador de Projeto de Produtos Altus Hugo Kiehl, Projetista de Produtos Altus Janeiro/2010