Programação
Parametrizada
Talvez este seja o segredo
mais bem guardado sobre conceitos CNC.
Há poucas pessoas envolvidas com CNC que conhecem programação
paramétrica e estas pessoas evitam comentar o uso deste tipo
de programas. Dado aos ganhos que este tipo de programas trazem e
os benefícios que os "experts" possuem em conhecer
os conceitos aplicados em programas parametrizados, é surpreendente
que os grandes usuários deste conceito se restrinjam aos construtores
de máquinas de usinagem, e fabricantes de controles, pois é
quase nulo a informação que se obtém sobre isto
nos meios acadêmicos a não ser grupos de estudos muito
isolados, as escolas técnicas não dizem mais sobre isto.
No Brasil sem exagero pode se contar nos dedos das mãos as
pessoas que conhecem e usam este tipo de programação.
Nesta discussão curta, explicaremos programação
paramétrica e mostraremos suas aplicações principais.
O que é? Programação
paramétrica pode ser comparada a qualquer linguagem de programação
como as linguagens BASIC, linguagem C ou PASCAL.
Porém, esta linguagem de programação reside
direito no controle do CNC e pode ser acessado ao nível do
código G, podemos dizer que podem combinar técnicas
de programação manuais com técnicas de programação
paramétricas.
Características relacionadas aos computadores como as variáveis,
aritmética, declarações de lógica, e
os loopings estão disponíveis nesta linguagem.
Como todas linguagens de programação a programação
paramétrica possui várias versões.
A mais popular é Custom Macro B (usado pela Fanuc e controles
Fanuc compatíveis).
Outros incluem User Task (Okuma), Q Routine (Sodick), e linguagem
de programação Avançada [APL] (G & L).
Além de ter muitas rotinas relacionadas ao computador, a
maioria das versões de programação paramétrica
tem rotinas relacionadas ao CNC com relativa profundidade.
Por exemplo, macros que permitem ao usuário de CNC ter acesso
a muitas propriedades do controle CNC (ferramenta de compensação,
posicionamento dos de eixo, alarmes, geração e edição
de código G codifica, e proteção de programa)
que permite a edição interna do programa CNC.
Estas coisas são impossíveis só com a utilização
do código G normal, ou seja, com os programas CNC normais.
Aplicações:
Muitas companhias têm aplicações excelentes
para macros de usuários e provavelmente não os conheça.
Claro que, se você sabe utiliza-los pode ser que às
vezes não imagine as muitas aplicações possíveis
para estes macros ou então os sub-utilize.
Estes macros podem ser divididos em cinco categorias básicas.
Alguns destes podem te soar familiar, vejamos.
· Famílias de peças.
Quase todas companhias têm pelo menos algumas aplicações
que se ajustem à categoria de macro de usuários.
Possivelmente você tenha peças semelhantes, porém,
com dimensões variáveis, deste modo o programador
deverá referenciar em um quadro no desenho as cotas variáveis
e propor-las em um programa parametrizado, que será acionado
conforme as solicitações das peças a serem
produzidas.
Se você fizer isto, você tem uma aplicação
perfeita para macro de usuário.
· Inventando Ciclos fixos (inclusive referenciando um
código G)
Até mesmo se você não tiver uma família
perfeita de aplicação de peças para macro de
usuário, seguramente você tem algumas peças
que requeiram operações de usinagem semelhantes pelo
menos. Ou talvez você deseje que seu controle CNC tivesse
mais (ou melhores) ciclos fixos.
Com macros de usuários, você pode desenvolver rotinas
de propósito gerais para operações como usinagem
em linha, padrões de furos de roscas específicas,
entalhes ou algum tipo de usinagem em pocket.
Em essência, você pode desenvolver seus próprios
ciclos fixos.
· Movimentos
complexos
Pode haver vezes que
seu controle CNC seja incapaz de gerar um movimento necessário
com facilidade.
Executar uma usinagem em linha de precisão, por exemplo,
seu controle tem que ter a habilidade para formar um movimento espiralado
em XY enquanto formando um movimento linear em Z (movimento helicoidal
não bastará neste caso).
Infelizmente, a maioria dos controles de CNC não possui interpolação
em espiral.
Mas, acredite, com macro de usuário você pode gerar
este movimento desejado.
Em essência, macro de usuário o permite criar suas
próprias formas de interpolação.
· Dispositivos guias opcionais.
Probe (dispositivo
destinado a medir posicionamentos relativos ou absolutos: sonda),
pós-processo que medem sistemas exatos, e muitos outros dispositivos
sofisticados requerem um nível mais alto de programar que
podem não ser encontrados na codificação G
standard.
Macro de usuário é a linguagem de programação
paramétrica mais popular dirigida a estes dispositivos.
Na realidade, se você possui um acesso a probe ou mais em
suas máquinas, talvez você tenha provavelmente em macro
de usuário.
· Utilidades
Há um mundo de coisas que você pode fazer com macro
de usuário que você consideraria nunca poder fazer
sem este tipo de linguagem.
Macro de usuário pode ajudar reduzir a cronometragem da organização,
tempo dos ciclos, tempo de transferência de programa, e em
geral, facilitar o uso de seu equipamento.
Alguns exemplos de aplicações que se ajustam a esta
categoria incluem contadoras de peças, gerenciamento de vida
de ferramenta, mordentes automáticos inclusos as máquinas,
usando as saídas padrões dos próprios controles.
Exemplo:
Para melhorar a explanação do que podemos faser com
programação paramétrica, nós mostramos
um exemplo simples escrito em "Custom macro B" para uma
aplicação de centro de usinagem.
Para usinar um furo de qualquer dimensão em qual quer local.
Note como semelhante este programa é a um programa escrito
linguagem BASIC.
Programa
O0001 (número de Programa)
#100=1. (diâmetro final do furo)
#101=3.0 (X posicionam do furo)
#102=1.5 (Y posicionam do furo)
#103 = .5 (profundidade do furo)
#104=400 (velocidade em RPM)
#105=3.5 (avanço em IPM)
#106=3. (número de compensação do comprimento
da ferramenta)
#107=2.0 (diâmetro do furo)
G90 G54 S#104 M03 (seleção do modo absoluto, coordenada
de sistema, rotação inicial)
G00 X#101 Y#102 (posição corrente X e Y do centro
do furo)
G43 H#106 Z.1 (aciona a compensação de comprimento
da ferramenta, para chegar ao Z corrente)
G01 Z-#103 F[#105 / 2]
Y[#102 + #107 / 2 - #100 / 2] F#105
G02 J-[#107 / 2 - #100 / 2]
G01 Y#102
G00 Z.1
M30
|