Portal CERES - [UDESC]
Portal CERES - [UDESC]
Portal CERES - [UDESC]
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
I Congresso de Iniciação Científica e Pós-Graduação –Florianópolis (SC) –setembro 2010<br />
CONTROLADOR NUMÉRICO DE INTERFACE ABERTA STEP-NC 1<br />
Controlador numérico de interface aberta STEP-NC (Parte 2)<br />
Roberto S. U. Rosso Jr. 2 , Allan Y. Hasegawa 3 , Fernando Lafratta 4 , Eduardo Harbs 5 , Hermann J. Finke 6<br />
Palavras-chave: CNC, STEP-NC, Compilador, Java.<br />
Neste trabalho foi desenvolvido um compilador completo para a linguagem STEP-NC em Java<br />
utilizando um modelo típico de front-end e back-end segundo Alfred Aho, et. al, em “Compilers:<br />
Principles, Techniques, & Tools”. Este modelo separa a parte de análise da parte de tradução da<br />
linguagem STEP-NC em linguagem de máquina, facilitando a reutilização do compilador para<br />
diferentes CNC, bastando apenas trocar a back-end ( aplicação ). A front-end é composta pelas<br />
análises léxica, sintática e semântica, onde a semântica é ainda dividida entre tradução do código<br />
STEP-NC para código Java e compilação/instanciação dessa classe dinâmica on-the-fly. Além das<br />
análises, a front-end faz uma reportagem de erros completa, totalizando 22 possíveis erros distintos. A<br />
análise léxica, junto com a sintática, foi feita com o auxílio da biblioteca JavaCC e a semântica foi<br />
desenvolvida usando um método de compilação on-the-fly, ou seja, as entidades STEP-NC são<br />
traduzidas para código Java em forma de classes dinâmicas. Essas classes são compiladas e<br />
instanciadas durante a execução do compilador para gerar os objetos Java, representando as entidades<br />
STEP-NC, e verificar erros de inconsistência. Esses objetos Java agrupados e instanciados formam<br />
uma das saídas do compilador que é um HashMap representando as entidades STEP-NC declaradas<br />
em Java. A back-end desenvolvida nesse projeto é uma aplicação cujas funções são: analisar saída da<br />
front-end e comunicação PC-CNC, através da interface USB, com uma placa microcontroladora<br />
baseada no PIC18F4550 com o auxilio da biblioteca RXTX e o protocolo ModBus RTU. A análise<br />
feita pela back-end é uma interação realizada no HashMap de retorno da front-end, coletando<br />
informações sobre cada feature a ser usinada e enviando para a microcontroladora, deixando a mesma<br />
responsável por gerar a trajetória da ferramenta e acionar os drivers dos motores de passo que acionam<br />
a máquina CNC.<br />
1 Projeto de Pesquisa - N o 1332/2008 – CCT-<strong>UDESC</strong><br />
2 Orientador, Professor do Departamento de Ciência da Computação CCT-<strong>UDESC</strong> – rosso@joinville.udesc.br<br />
3 Acadêmico do Curso de Ciência da Computação – CCT-<strong>UDESC</strong><br />
4 Professor Participante do Departamento de Engenharia Mecânica - CCT-<strong>UDESC</strong><br />
5 Acadêmico do Curso de Engenharia Elétrica – CCT - <strong>UDESC</strong>, bolsista de iniciação científica PIBIC/CNPq<br />
6 Acadêmico de Pós-graduação em Computação Aplicada – CCT-<strong>UDESC</strong>