61ª Reunião Anual da SBPC
B. Engenharias - 1. Engenharia - 8. Engenharia Elétrica
DESENVOLVIMENTO DE UMA FERRAMENTA PARA GERAÇÃO AUTOMÁTICA DE CÓDIGO PARA CLP
André Bittencourt Leal 1
José Gregório do Rozário 1
1. Universidade do Estado de Santa Catarina - UDESC
INTRODUÇÃO:

Em virtude do estágio de globalização atual, as grandes indústrias precisam cada vez mais melhorar suas linhas de produção a fim de obter maior qualidade e menor custo para que possam competir no mercado internacional. Neste sentido, a automação de sistemas de produção é uma alternativa que tem sido amplamente empregada pela indústria. Uma ferramenta utilizada no meio acadêmico para a solução de problemas de controle de sistemas de manufatura consiste na Teoria de Controle Supervisório (TCS). A aplicação desta abordagem leva a soluções que são otimizadas e que garantidamente cumprem as especificações de projeto. Entretanto, esta teoria não é usada em ambientes industriais e existe um grande distanciamento entre teoria e prática. Um dos aspectos que contribuem para este distanciamento consiste na falta de ferramentas computacionais que facilitem o emprego da teoria em ambientes industriais. Este trabalho visa contribuir com a diminuição deste distanciamento por intermédio do desenvolvimento de uma ferramenta computacional que facilite a geração automática do código de programação de Controladores Lógico Programáveis (CLPs) a partir dos resultados obtidos na TCS. Utilizou-se a linguagem de programação Java para a criação da interface gráfica interativa com o usuário e a linguagem C foi empregada na parte da ferramenta que é responsável pela tradução dos autômatos de entrada na lógica de controle do CLP.

METODOLOGIA:

A escolha das linguagens de programação foi feita com base nos seguintes aspectos. A linguagem Java possui muitas ferramentas de uso livre e é uma linguagem bastante difundida mundialmente, o que torna possível as trocas de informações com usuários em várias partes do globo. Também foi graças às ferramentas do Java que se pode criar uma interface gráfica para o programa; a linguagem C é também bastante difundida, porém, limita-se a apresentar suas saídas via console, o que dificultaria sua utilização como interface amigável com o usuário. A escolha de C para o tradutor ocorreu por essa ser uma linguagem muito próxima às de baixo nível e, portanto, rápida. Contudo, difere de linguagens como o Assembly por ser mais portável, ou seja, funciona em diferentes sistemas sem necessidade de reestruturação de código. As ferramentas escolhidas para a criação da ferramenta foram: Java 2 Standard Edition, Development Kit (JDK) versão 1.6, update 11; NetBeans IDE versão 6.1; GNU Compiler Collection (GCC) versão 4.3.3; GNU Make file versão 3.80; GNU Debugger versão 6.8. A ferramenta desenvolvida deve ser capaz de receber autômatos que modelam a planta e os supervisores obtidos via TCS e traduzí-los em linguagens de programação de CLPs. No projeto contempla-se a geração de código para os CLPs Siemens e Allen-Bradley.

RESULTADOS:

Dentro do contexto do projeto, foi estabelecido um padrão para a geração do código do CLP a partir dos autômatos encontrados por intermédio da TCS. A ferramenta que faz esta geração de código é composta por uma interface gráfica e por um tradutor que deve seguir o padrão estabelecido. A tela principal, onde ocorrem as entradas dos autômatos e as configurações do CLP, possui componentes e aparência bem simples, o que torna a utilização da ferramenta bastante intuitiva. A geração automática de linguagens para CLPs está em fase de estruturação dos algoritmos, pois graças a estudos preliminares, realizou-se a tradução de autômatos em Ladder (linguagem gráfica para programação de CLPs) manualmente e, assim, obteve-se o mecanismo para a escrita automática de código. As implementações manuais foram fundamentais já que através de comparações entre o código do CLP obtido com auxílio da ferramenta e o código escrito por um programador experiente pode-se validar o código gerado e, conseqüentemente, a ferramenta desenvolvida. Uma contribuição importante deste projeto reside no fato da ferramenta desenvolvida contemplar a solução de problemas de imlementação que são apontados na literatura, mas que não foram solucionados em trabalhos anteriores. Pode-se citar, por exemplo, o tratamento de mais de um evento por ciclo de scan do CLP, e a solução do problema da escolha.

CONCLUSÃO:

A utilização de uma abordagem formal para a solução de problemas de controle de sistemas de manufatura garante que a solução obtida é ótima, ou seja, que é uma solução minimamente restritiva e não bloqueante. Assim, o emprego deste tipo de abordagem para a solução de problemas reais da indústria pode trazer importantes benefícios para o setor produtivo. No estágio atual de desenvolvimento do projeto a metodologia proposta para a geração do código para CLP foi testada sobre problemas acadêmicos e a geração de código foi feita sem auxílio de ferramentas computacionais. As soluções obtidas foram implementadas e obteve-se êxito nos resultados. Desenvolveu-se então a interface gráfica que permite a entrada de informações necessárias para a geração do código de programação do CLP, mas os algoritmos para a geração automática da lógica de controle ainda não foram implementados. Na seqüência do projeto estes algoritmos serão implementados e a ferramenta será validada a partir da solução de problemas reais da indústria. Assim, com o desenvolvimento desta ferramenta espera-se contribuir para que a Teoria de Controle Supervisório seja divulgada e utilizada nas indústrias, contribuindo então, em última instância, para que o conhecimento produzido no ambiente acadêmico seja aplicado pelo segmento produtivo.

Instituição de Fomento: FAPESC, CNPq, SESu/MEC, UDESC
Palavras-chave: Controladores Lógico Programáveis, Automação da Manufatura, Controle Supervisório.