A primeira linha, N0010 posiciona rapidamente a ferramenta longe do canto esquerdo inferior da peça. Na segunda linha, N0020, G01 move a ferramenta para uma posição que seja valor de 1 raio da ferramenta à esquerda do lado da peça (X-.25). A ferramenta de move com 10 polegadas por o minuto (F10). Ela está alinhada agora com o canto esquerda da peça. A linha 30 corta o lado esquerdo da peça e posiciona o centro do eixo de corte além do topo da peça do valor de 1 raio da ferramenta (Y3.25). Isto posiciona a borda da ferramenta para o corte da parte superior da peça. A linha 40 corta o topo da peça. A taxa de alimentação (movimento) é ainda 10 polegadas por o minuto porque nós não a mudamos desde a linha número 20. O centro do eixo é agora posicionado a .25 além da direita da peça. Isto prepara para o corte do lado direito da peça. A linha 50 posiciona a ferramenta no ponto 5. O lado direito da peça está agora completo. O centro da ferramenta também é posicionado a 1 raio abaixo da parte inferior da peça, pronto para iniciar outro corte. A linha 60 corta então o fundo da peça e movimenta a ferramenta completamente fora da área da peça (X.50). Agora, consideremos as partes individuais de um programa de peça por palavras-chave.
Locação da Peça (Zero da Peça a Trabalhar): para programar uma peça, o programador deve determinar onde a referência zero da peça está localizada. Este zero é uma característica da peça que define a maioria das dimensões da peça. Todas as dimensões da peça mostrada na figura precedente vêm do canto inferior esquerdo, que é a escolha lógica para o ponto zero. Bons programadores escolhem uma característica da peça que seja fácil de se usar.
Números Seqüenciais (NXXXX): Os números em seqüência identificam blocos de informação dentro do programa. Na maioria de casos os números em seqüência não são necessários porque a máquina executará blocos de informação na ordem em que os lê. Os números seqüenciais podem ser muito úteis, entretanto, para identificar problemas.
O controlador da máquina pode ser comandado para encontrar blocos da informação por seus números em seqüência.
Funções Preparatórias (Códigos G): As funções preparatórias ajustam o controle para vários movimentos da máquina tais como a interpolação linear (G01) e a translação rápida (G00). Um número de dois dígitos precedido por um código G determina o tipo de ação executada dentro do bloco ou da linha de comandos. Os códigos G ou as funções preparatórias caem sempre em duas categorias: modal ou não-modal. Não-modais ou códigos G “one-shot” são os códigos de comando que permanecem ativos somente no bloco em que são especificados. Os códigos G modais são os códigos de comando que permanecem ativos até que um outro código de G no mesmo grupo o cancele ou substitua. Se cinco linhas de comando determinam movimentos lineares (alimentação), apenas um G01 é necessário na primeira linha. As quatro linhas seguintes usariam o código G01 precedente.
Função de Controle de Rotação (S): As velocidades radiais do eixo da ferramenta são controladas com uma palavra-chave constituída da letra S seguida por até quatro dígitos. Ao programar o centro da ferramenta, a velocidade do eixo é programada em voltas por minuto (RPM). Uma velocidade radial de 600 RPM seria programada como S600.
Funções Variadas (M): As funções variadas ou códigos M executam funções variadas da máquina tais como mudanças de ferramenta, controle do fluido refrigerante, e operações do eixo. Um código M constitui-se de valor numérico de dois ou três dígitos precedido por uma letra M. Palavras-chave do tipo M, como códigos G, podem ser modais ou não-modais.
Chamada de Ferramenta (T): O bloco de chamada de ferramenta é bem direto, embora o centro de usinagem difira ligeiramente de um torno. A chamada da ferramenta começa sempre com um T e logo em seguida o número da ferramenta (T02). Uma mudança da ferramenta em um centro de usinagem requer um código variado M06. O controle então é informado qual ferramenta deve buscar (T02). Um bloco de comandos típico para mudança da ferramenta é N0010 M06 T02. Em um torno, a chamada da ferramenta começa também com um T e então o número da ferramenta (T02), seguido do offset da ferramenta. T0202 é a chamada da ferramenta número 02 com um offset de número 02. Escreve-se 02 porque tipicamente mais de 10 ferramentas e 10 offsets estão disponíveis, por exemplo, T1212 (ferramenta 12, offset 12). O offset dá ao operador a habilidade de corrigir qualquer erro no tamanho da peça. Não é necessário usar um M06 no torno para chamar uma mudança da ferramenta; de fato, um M06 no torno geralmente desconecta o mandril.
Palavras-chave de Eixos (x, y, z): Máquinas ferramentas típicas têm três eixos de movimento: x, y, z. A letra correspondente ao eixo pode ser precedida por um sinal de direção (+ ou -). Um bloco de comando simples para posicionar rapidamente a ferramenta da máquina a 1 polegada acima do zero de referência pode ser exemplificado por esta linha: N010 G0 Z1.0.
Tipos de Movimento
O movimento da ferramenta ou da mesa é controlado de três maneiras: posicionamento rápido, alimentação linear, e alimentação circular.
Posicionamento Rápido (G00): Um bloco de posicionamento rápido consiste em um código preparatório ou código G e na coordenada da posição desejada. Um movimento rápido para uma posição de x10, y5, e z1 é programado como G00 X10.0 Y5.0 Z1.0. Depois que este bloco é comandado, a máquina move-se em uma taxa transversal rápida para esta posição, movendo todos os eixos comandados simultaneamente. A taxa transversal rápida é diferente para cada máquina mas varia normalmente de 100 polegadas por minuto até 600 ou mais polegadas por minuto. A taxa transversal rápida pode geralmente ser cancelada usando o interruptor de movimento transversal rápido situado no controle.
Modo de Alimentação Linear (G01): Uma modalidade de alimentação linear G01 move a ferramenta para uma posição específica em uma linha reta e com uma certa velocidade. A taxa de alimentação é a velocidade em que os eixos da máquina se movem. Os blocos de alimentação linear representam geralmente blocos de corte. A taxa em que o metal é removido é controlada através de um código F (feed). Tipicamente, fresas usam taxas de alimentação em polegadas minuto (ipm). Tornos, por sua vez, são programados regularmente em polegadas por giro do eixo (ipr). Para fazer um corte em linha reta, o bloco de informação seria: G01 X10.0 F10.0. A ferramenta mover-se-ia para uma posição no eixo-x de 10.0 polegadas com uma taxa de alimentação de 10 polegadas por minuto. Os movimentos em linha reta podem também ser angulares. Os controles de uma máquina CNC são capazes de fazer movimentos simultâneos nos dois eixos (x e y).
Exemplo de Interpolação Linear G01: Códigos G00, G01, e F são do tipo modal. Os comandos modais permanecem ativos a menos que haja uma mudança de estado devido a um outro código preparatório. Para programar uma série de movimentos em linha reta, somente um código G01 e uma taxa de alimentação são necessários na primeira linha. As linhas seguintes são controladas pelo G01 e pela taxa de alimentação precedentes. Para mudar a uma modalidade de posicionamento rápido, um G00 é usado no começo da linha. A peça da amostra na figura seguinte incorpora alguns procedimentos de programação básicos. O procedimento objetiva o desbaste do contorno da peça com uma profundidade de .500, com uma broca de .50 pol e com uma taxa de alimentação de 5 polegadas por minuto. A primeira parte do programa ajusta o controle usando procedimentos preliminares. A segunda parte do programa ajusta a chamada da ferramenta. A terceira etapa ajusta o ponto zero da peça. A quarta parte do programa starta o mandril e ajusta a velocidade de rotação por minuto. A quinta parte do programa ajusta rapidamente a posição da ferramenta para perto da peça e começa os movimentos lineares de corte. Depois que o perfil da peça foi cortado, a máquina retorna à posição inicial e termina o programa.