Código G

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Searchtool.svg
Esta página foi marcada para revisão, devido a incoerências e/ou dados de confiabilidade duvidosa (desde janeiro de 2012). Se tem algum conhecimento sobre o tema, por favor, verifique e melhore a coerência e o rigor deste artigo.

O Código G, do inglês G-Code, é a nome dado à linguagem de programação criada a partir da necessidade de maquinários industriais que faziam uso de sistemas Comando Numérico Computadorizado (CNC).

Até então, cada fabricante ficava responsável por criar sua própria linguagem para definir o processo de usinagem, então esta novidade trouxe padronização para este processo e consequentemente desenvolvimento para esta indústria que passou a ter esta como uma linguagem universal.

Complemento do Código Numérico, tem como função principal instruir a máquina a se mover geometricamente nas três dimensões, x, y e z. É uma linguagem extremamente simples e rudimentar, tratam-se de linhas sequenciais de instruções, cada qual é responsável por uma tarefa específica e o programa é executado linha por linha até o fim do código.

“Os comandos operacionais, que controlam a máquina são executados automaticamente com uma velocidade impressionante, acurácia, eficiência e repetibilidade.”[1]

Com o advento das Impressoras 3D, que também se enquadram como máquinas CNC, tornou-se natural a adoção do Código G como linguagem de controle dessas máquinas, prova disso são os Slicers, softwares utilizados por essas impressoras, que exportam arquivos no formato do Código G.

O aspecto popular proposto por essa tecnologia fez com que mais pessoas tivessem acesso ao Código G, portanto torna-se necessário que os novos usuários dominem esta linguagem para evitar problemas com impressão e conquistar autonomia para calibrar a sua própria impressora[2], por exemplo.

Aplicação[editar | editar código-fonte]

O Código G tem sua maior área de aplicação de uso em máquinas CNC’s, porém, com o advento da Impressão 3D, que tem como base a tecnologia CNC, a mesma linguagem é utilizada pelas aplicações relacionadas a Impressão 3D.

O Código G é interpretado por firmwares desenvolvidos para tal função. O firmware converte o Código G em movimentos nos motores e eixos das máquinas. Existem diversos firmwares de código aberto que podem ser aplicados no uso de Código G, entre eles encontramos:


Sintaxe[editar | editar código-fonte]

“Diferentemente de outras linguagens com padronização oficial e comitês de decisão, o G-Code é uma linguagem extraordinariamente variada, com comandos e até a sintaxe dependendo muito de implementação específica.” - SAMPAIO, Cláudio [3]
O código G não tinha como intenção que todo e qualquer humano, não treinado ou habituado compreendesse o código, portanto os comandos são compactos e representados por uma letra seguida de um número.
A sintaxe do código G possui uma estrutura com os seguintes formatos:

  1. Número de linhas;
  2. Comandos;
  3. Parâmetros dos comandos;
  4. Checksum;
  5. Comentários.

Número de Linha[editar | editar código-fonte]

O número da linha é a primeira parte da linha de código, o número deve ser precedido da letra “N” (logo os primeiros campos da linha 1(um) deve ser “N1”, assim como na linha dois os primeiros campos são “N2”, Ex. N1 M109 S220). Atualmente o formato de número da linha está depreciado para a particularidade do código G para impressão 3D, todavia o campo existe e pode ser utilizado.

Comando[editar | editar código-fonte]

No código G não é aceito mais de um comando por linha. O comando é a palavra reservada (letra seguida de um número, Ex. G28) que declara a ação que deve ser executada, podendo também ser acompanhada de argumentos que complementam a ação (Parâmetros). No caso das impressoras 3D os comandos estão limitados a três tipos de palavras reservadas, as iniciadas por G, M e T.

Parâmetros[editar | editar código-fonte]

Os parâmetros acompanham os comandos, assim como os comandos são representados por palavras reservadas (letras seguidas de números que podem ser positivos ou negativos). Segue lista de parâmetros com maior frequência de utilização.

S (Speed): Designa velocidade de rotação nas CNCs, parâmetro genérico no ramo de impressão 3D (utilizado para distância ou temperatura).
R (Retract):' Velocidade adicional ligada à retração, usado apenas em alguns firmwares.
T : Usado para feedrate de recuperação da retração.O parâmetro T, é utilizado por poucos firmwares ao contrário do comando T que é utilizado por todos os firmwares.
X, Y e Z: Representam as coordenadas/distâncias podendo ser absolutas ou relativas dependendo do comando em si.
E: Quantidade de filamento do extrusor.
A, B e C: Representa as coordenadas ou distâncias angulares, assim como os parâmetros X, Y e Z, podem ser absolutas ou arbitrárias as medidas. Estes parâmetros não são utilizados em impressão 3D.

Checksum[editar | editar código-fonte]

É um campo que tem como objetivo a verificação da consistência do código, o checksum é um campo numérico que contém um asterisco e um número entre 0 e 255, o mesmo é um utilizado para verificar as demais linhas de chegaram na máquina corretamente ou foram afetadas por ruídos no meio. O campo cheksum não é usado em impressão 3D.

Comentário[editar | editar código-fonte]

No código G o comentário é representado pelo caractere “;”(ponto e vírgula), as linha iniciadas por este caractere são totalmente ignoradas pelo interpretador de código G, as linhas que possuem o caractere ponto e vírgula após o comando também são levados em conta pelo interpretador no código G apenas os comandos que antecedem o ponto e vírgula.

Exemplos[editar | editar código-fonte]

O Código G conta com uma lista de mais de 500 comandos, cada comando é específico para uma tarefa e alguns dos comandos são aplicáveis somente a máquinas CNC. Abaixo você encontra uma lista dos comandos mais comuns:

G28 - Home dos eixos.
M115 - Coleta informação do Firmware e outras capacidades da máquina.
M104 - Define temperatura alvo do extrusor.
M140 - Define temperatura alvo da cama de aquecimento.
G0/G1 - Movimentos lineares dos eixos.
G90/G91 - Define se o movimento é via valores absolutos ou relativos.

Aqui temos um código feito para impressora 3D, comentado para fins didáticos:

M190 S110.000000  ;Espera que a base esteja a temperatura de 110 graus.
M109 S220.000000 ;Configura a temperatura do extrusor a 220 graus e aguarda.
;Sliced at: Wed 11-05-2016 17:28:59
;Basic settings: Layer height: 0.2 Walls: 1.2 Fill: 15
;Print time: 17 minutes
;Filament used: 1.094m 3.0g
;Filament cost: None
;M190 S110 ;Espera que a base esteja a temperatura de 110 graus.
;M109 S220 ;Configura a temperatura do extrusor a 220 graus e aguarda.
G21 ;Configura as unidades para milímetros (default do RepRap)
G90 ;Define a posição absoluta (a partir desta linha as coordenadas são referentes a origem da máquina).
M82 ;Configura extrusor para o módulo absoluto, faz com que o extrusor interpreta instruções de posições absolutas.
M107 ;Inicializa com o fan(tipo de exaustor) desligado.
G28 X0 Y0 ;move os eixos X e Y para as coordenadas definidas e para.
G28 Z0 ;move o eixo Z para a coordenada definidas.
G1 Z15.0 F9000 ;move a plataforma 15mm para baixo.
G32 S1 ;auto nivelamento do plano Z (da base)
G92 E0 ;zera o comprimento do extrusor
G1 F200 E3 ;deposita 3mm matéria prima
G92 E0
G1 F9000 ;Define feedrate para 9000mm/m
M117 Printing… ;Imprime no LCD “Printing…”
;Layer count: 127
;LAYER:0
M107
G0 F9000 X97.275 Y94.282 Z0.300 ;Movimentação linear rápida para as coordenadas, passados por parâmetro.
;TYPE:SKIRT
G1 F1200 X98.218 Y93.462 E0.06607 ;Acelera para 1200mm/m
G1 X98.909 Y92.929 E0.11220 ;movimenta linearmente para as coordenadas passadas por parâmetros.

Como o Código G é criado[editar | editar código-fonte]

Um arquivo de Código G pode ser criado a partir de modelos bi ou tridimensionais que são inseridos em programas chamados fatiadores, esses programas analisam o modelo, e “então usam de algoritmos para transladar o modelo em camadas individuais e então gerar o código g que será interpretado pela máquina”[4]

Um modelo tridimensional, normalmente arquivos CAD(Desenho Assistido por Computador), são usados nas transformações para Código G. Os mais comuns, são os arquivos com extensões STL(Standard Tessellation Language). Um arquivo STL é formado por triângulos que são definidos por 3 vértices e o vetor normal.

O algoritmo base corta cada triângulo com um plano. A interseção desse plano com o triângulo gera o código a ser interpretado.[5]

Referências

Ícone de esboço Este artigo sobre linguagem de programação é um esboço. Você pode ajudar a Wikipédia expandindo-o.