22.06.2015 Views

Portal CERES - [UDESC]

Portal CERES - [UDESC]

Portal CERES - [UDESC]

SHOW MORE
SHOW LESS

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>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!