MCS Engenharia Manual de Programação - CNC Proteo ÍNDICE Introdução ............................................................................................................. 5 1 - Programação ISO ............................................................................................ 6 1.1 - Coordenadas absolutas / incrementais (G90 / G91) .................................... 6 1.2 - Origens: Absoluta (G53), Peca (G54 a G57) e Incrementa (G58 e G59) .... 6 1.3 - Plano: XY (G17), ZX (G18) e YZ (G19) ....................................................... 7 1.4 - Movimento Rápido (G0)............................................................................... 7 1.5 - Interpolação Linear (G1) .............................................................................. 7 1.6 - Interpolação Circular (G2 / G3) .................................................................... 8 1.7 - Interpolação Helicoidal (G2 / G3)................................................................. 8 1.8 - Tempo de Espera (G4) ................................................................................ 9 1.9 - Desvio (G4) ................................................................................................. 9 1.10 - Fator de Escala (G5) ............................................................................... 10 1.11 - Rotação de Coordenadas (G5) ................................................................ 10 1.12 - Reset Expressão (G6) ............................................................................. 10 1.13 - Sistema de Coordenadas: Cartesianas (G15) / Polares (G16) ................ 10 1.14 - Unidades: Milímetros (G21) / Polegadas (G20) ....................................... 11 1.15 - Round / Chanfro (G7) .............................................................................. 11 1.16 - Ferramenta: Compensação de comprimento(G43 / G49)........................ 12 1.17 - Ferramenta: Compensação de raio (G40 / G41 / G42)............................ 12 1.18 - Aproximação e Saída Tangenciais (G7 / G40 / G41 / G42) ..................... 13 1.19 - Movimento Preciso (G61) ........................................................................ 13 1.20 - Movimento Contínuo - Transição Macia de Cantos (G64) ....................... 14 1.21 - Parada Precisa No Bloco (G9) ................................................................ 14 1.22 - Avanço: mm/min ou rotação/min (G94) ................................................... 14 1.23 - Avanço: mm/rotação (G95)...................................................................... 14 1.24 - Spindle: Giro Do Eixo Árvore (M3 / M4 / M5 / S) ..................................... 14 1.25 - Spindle: Velocidade De Corte Constante (G92 / G96 / G97) ................... 15 1.26 - Spindle: Parada Indexada (M19) ............................................................. 16 1.27 - Spindle: Posicionamento Com Eixo Árvore (M119) ................................. 16 1.28 - Spindle: Eixo Árvore Auxiliar (M45) ......................................................... 17 1.29 - Movimento De Rosca: Passada Única (G32) .......................................... 18 1.30 - Movimento Com Transição De Avanço (M102) ....................................... 19 1.31 - Acoplamento Entre Eixos / Eixo Virtual ................................................... 19 2 - Programação MCS......................................................................................... 20 2.1 - Comandos De Movimento ......................................................................... 20 2.1.1 - Movimento Simples (um eixo por vez) ................................................ 20 2.1.2 - Interpolações Lineares (movimento simultâneo de eixos) .................. 21 2.1.3 - Interpolações Circulares (movimento simultâneo de eixos) ................ 22 2.1.3.1 - Interpolações Circulares (centro definido via POLO).................... 22 V1.00 1 Manual de Programação - CNC Proteo MCS Engenharia 2.1.3.2 - Interpolações Circulares (centro calculado dado o raio)............... 23 2.1.3.3 - Interpolações Helicoidais (centro definido via POLO) .................. 24 2.1.3.4 - Interpolações Helicoidais (centro calculado dado o RAIO)........... 25 2.2 - Ciclos Fixo ................................................................................................. 26 2.2.1 - Ciclo - 0 Reset modal .......................................................................... 26 2.2.2 - Ciclo 1 - Tempo de espera .................................................................. 27 2.2.3 - Ciclo 2 - Atuação de funções auxiliares .............................................. 27 2.2.4 - Ciclo 3 – Rosca ................................................................................... 28 2.2.5 - Ciclo 4 - Translação do sistema de coordenadas ............................... 30 2.2.6 - Ciclo 5 - Verificação do estado de uma entrada ou saída ................... 31 2.2.7 - Ciclo 6 - Salto a uma marca no programa........................................... 33 2.3 - Controle de Fluxo ...................................................................................... 33 2.3.1 - Introdução de marcas (Label) nos programas .................................... 33 2.3.2 - Localização de uma marca (Label) ..................................................... 34 2.3.3 - Chamada de uma marca (Label) ........................................................ 34 2.3.4 - Montagem e execução de sub-rotinas ................................................ 35 2.3.5 - Repetição de execução de parte do programa ................................... 36 2.3.6 - Chamada de sub-programas .............................................................. 37 2.4 - Funções Matemáticas Especiais ............................................................... 38 2.4.1 - Função 0 - Atribuição - ATR................................................................ 39 2.4.2 - Função 1 - Soma - ADD ...................................................................... 39 2.4.3 - Função 2 - Subtração - SUB ............................................................... 40 2.4.4 - Função 3 - Multiplicação - MULT ........................................................ 41 2.4.5 - Função 4 - Divisão - DIV ..................................................................... 41 2.4.6 - Função 5 - Valor absoluto - ABS ......................................................... 42 2.4.7 - Função 6 - Resto de divisão - REST ................................................... 43 2.4.8 - Função 7 - Negação - NEG................................................................. 43 2.4.9 - Função 8 - Raiz quadrada - RAD ........................................................ 44 2.4.10 - Função 9 - Valor de PI - PI................................................................ 45 2.4.11 - Função 10 - Seno - SEN ................................................................... 45 2.4.12 - Função 11 - Cosseno - COS ............................................................. 46 2.4.13 - Função 12 - Tangente - TAN ............................................................ 46 2.4.14 - Função 13 - Arco tangente - ATG ..................................................... 47 2.4.15 - Função 14 - Distância - DIST ............................................................ 47 2.4.16 - Função 15 - Desvio caso igual - JE................................................... 48 2.4.17 - Função 16 - Desvio caso diferente - JNE.......................................... 49 2.4.18 - Função 17 - Desvio caso maior ou igual - JP.................................... 49 2.4.19 - Função 18 - Desvio caso menor - JN ................................................ 50 2.4.20 - Função 19 - Leitura de uma posição de memória - PLCR ................ 51 2.4.21 - Função 20 - Escrita em posição de memória - PLCW ...................... 51 2.4.22 - Função 21 - Leitura de um parâmetro de máquina P - PARR........... 52 2 V1.00 MCS Engenharia Manual de Programação - CNC Proteo 2.4.23 - Função 22 - Leitura de dados de ferramenta - TDFR ....................... 52 2.4.24 - Função 23 - Escrita em dados de ferramenta - TDFW...................... 53 2.4.25 - Função 24 - Expressão geral ............................................................ 54 2.4.26 - Função 25 - Expressão condicional com expressão - IF[ ] THEN[ ] .. 54 2.4.27 - Função 26 - Expressão condicional com salto - IF[ ]THEN GOTO ... 55 3 - Funções auxiliares ........................................................................................ 56 3.1 - Parada de Programa Incondicional - M00 ................................................. 56 3.2 - Parada de Programa Opcional - M01 ........................................................ 56 3.3 - Final de Programa com Reset - M02 ......................................................... 56 3.4 - Liga Rotação Sentido Horário - M03.......................................................... 56 3.5 - Liga Rotação Sentido Anti-Horário - M04 .................................................. 56 3.6 - Desliga Rotação - M05 .............................................................................. 56 3.7 - Troca Automática de Ferramenta - M06 .................................................... 56 3.8 - Liga Refrigeração - M07 ............................................................................ 56 3.8 - Liga Bomba de Refrigeração - M08 ........................................................... 56 3.10 - Desliga Bomba de Refrigeração - M09 .................................................... 56 3.11 - Parada Orientada - M19 .......................................................................... 56 3.12 - Fim de Programa com Reset e Retorno ao Início - M30.......................... 56 3.13 - Eixo Árvore Auxiliar - M45 ....................................................................... 56 3.14 - Libera POT F, POT S e Feed Hold - M48 ................................................ 56 3.15 - Fixa POT F, POT S em 100% e Bloqueia Feed Hold - M49 .................... 57 3.16 - Liga Velocidade de Corte Constante - M58 ............................................. 57 3.17 - Desliga Velocidade de Corte Constante - M59 ........................................ 57 3.18 - Liga Interpolação Spline - M70 (*em implementação) ............................. 57 3.19 - Desliga Interpolação Spline - M71 (*em implementação) ........................ 57 3.20 - Desabilita Gráfico - M75 .......................................................................... 57 3.21 - Habilita Gráfico - M76 .............................................................................. 57 3.22 - Limpa Gráfico - M77 ................................................................................ 57 3.23 - Inicia Modo Simulado / Retomada de Ciclo - M78 ................................... 57 3.24 - Encerra Modo Simulado / Retomada de Ciclo - M79 ............................... 57 3.25 - Origem Polar no Último Circulo - M80 ..................................................... 57 3.26 - Origem Polar no Último Ponto Final- M81 ............................................... 57 3.27 - Desliga Movimento Rotativo pelo Menor Caminho - M82 ........................ 57 3.28 - Liga Movimento Rotativo pelo Menor Caminho - M83 ............................. 57 3.29 - Liga Compensação de Avanço em Círculos- M84 ................................... 57 3.30 - Desliga Compensação de Avanço em Círculos- M85.............................. 57 3.31 - Para Calculo na Frente e Copia Ponto Real - M86 .................................. 57 3.32 - Para Calculo na Frente e Copia Ponto Teórico - M87 ............................. 58 3.33 - Escala de Avanço Normal - M88 ............................................................. 58 3.34 - Escala de Avanço x10 - M89 ................................................................... 58 V1.00 3 Manual de Programação - CNC Proteo MCS Engenharia 3.35 - Desliga Compensação de Raio de Ferramenta - M90 ............................. 58 3.36 - Liga Compensação de Raio a Direita - M91 ............................................ 58 3.37 - Liga Compensação de Raio a esquerda - M92 ....................................... 58 3.38 - Liga Auto Inserção de Raios (Remédio ON) - M93.................................. 58 3.39 - Desliga Auto Inserção de Raios (Remédio OFF) - M94.......................... 58 3.40 - Posicionamento Relativo ao G53 - M95 .................................................. 58 3.41 - Transição Macia de Cantos - M96 ........................................................... 58 3.42 - Posicionamento Preciso - M97 ................................................................ 58 3.43 - Chama Último Ciclo Fixo - M98 ............................................................... 58 3.44 - Final de Sub-rotina - M99 ........................................................................ 58 3.45 - Mach - Mode Enter - M100 ...................................................................... 58 3.46 - Normal ISO - Mode Enter - M101 ............................................................ 58 3.47 - Transição de avanço no Próximo Movimento- M102 ............................... 58 3.48 - Desliga Busca de 2 Intersecções - M103 ................................................ 59 3.49 - Limites do Perfil - M104(*em implementação) ......................................... 59 3.50 - Desliga Busca de todas Intersecções - M105 .......................................... 59 3.51 - Liga Busca de todas Intersecções - M106 ............................................... 59 3.52 - Modo Puncionadeira (PUNCH ON) - M108 ............................................. 60 3.53 - Modo Normal (PUNCH OFF) - M109 ...................................................... 60 3.54 - Busca Limites do Perfil - M110 ................................................................ 60 3.55 - Liga Busca de 2 Intersecções com Sobremetal - M111........................... 60 3.56 - Liga Busca de 2 Intersecções sem Sobremetal - M112........................... 60 3.57 - Habilita Tracking no Monitor de Corte - M113 ......................................... 60 3.58 - Desabilita Traço G00 no Monitor de Corte - M114 .................................. 60 4 V1.00 MCS Engenharia Manual de Programação - CNC Proteo Introdução No CNC MCS Proteo toda a programação pode ser feita na linguagem ISO ou na linguagem MCS. Na tela que está sendo feito o programa, a linguagem que está sendo utilizada é mostrada no primeiro item a esquerda da barra azul superior. Para efetuar a mudança da linguagem de programação devemos pressionar a tecla , feito isso imediatamente verificamos a mudança da linguagem nesta barra. Conforme visto nas figuras a seguir. Ao pressionar a tecla veremos. Neste tutorial mostraremos detalhadamente como programar as principais funções que pode ser executadas pelo CNC MCS Proteo utilizando as duas linguagens disponíveis. V1.00 5 Manual de Programação - CNC Proteo MCS Engenharia 1 - Programação ISO Primeiramente verifique se na tela onde está sendo feito o programa, a linguagem que está sendo utilizada é a ISO (mostrada no primeiro item a esquerda da barra azul superior). Se estiver em MCS pressionar a tecla e automaticamente mudará para ISO. 1.1 - Coordenadas absolutas / incrementais (G90 / G91) G01 G90 X10 Y20 Z10 F1000 G01 G91 X50 G90: programa coordenadas absolutas, valores se referem ao zero peça. G91: programa coordenadas incrementais, valores são somados ao último ponto programado. Padrão: G90 Comando Modal (mantém valor até ser novamente alterado). Bloco pode conter somente o comando ou este pode ser programado junto com bloco de movimento. 1.2 - Origens: Absoluta (G53), Peca (G54 a G57) e Incrementa (G58 e G59) G54 G00 X10 Y10 G53 G00 X20 Y20 G59 G01 X0 Y0 F1000 (1) (2) (3) G53: seleciona origem absoluta (zero máquina), válido somente no bloco. G54: seleciona 1º Zero Peça definido pelo usuário. G55-G56-G57: seleciona outras origens do usuário (zero peça). G58: seleciona origem incremental default a ser somada ao zero peça selecionado. G59: seleciona outra origem incremental. Padrão: G54 e G58 Com exceção do G53, todos os outros são comandos modais. As origens devem ser programadas via Editor de Origens ou Preset dos Eixos. No exemplo acima: - Movimento (1): coordenadas em relação ao G54 + G58 (default). - Movimento (2): coordenadas em relação ao zero máquina (G53). - Movimento (3): coordenadas em relação ao G54 + G59. 6 V1.00 MCS Engenharia Manual de Programação - CNC Proteo 1.3 - Plano: XY (G17), ZX (G18) e YZ (G19) G17 G00 X10 Y10 F1000 G18 G00 X20 Z20 F1000 Define plano de trabalho usado nos movimentos (circular, round/chanfro, compensação de raio de ferramenta...). G17: plano XY G18: plano ZX G19: plano YZ Default: Fresa: G17 , Torno: G18 Comando Modal. Bloco pode conter somente o comando ou este pode ser programado junto com bloco de movimento. 1.4 - Movimento Rápido (G0) G0 X0 Y0 Z0 G0: Executa movimento linear em avanço rápido. Parâmetros: X, Y, Z... Coordenadas do ponto final. Comando Modal. Interpolação Linear com até 6 eixos. Avanço rápido calculado pela interpolação dos parâmetros de velocidade máxima dos eixos, dependendo do movimento. 1.5 - Interpolação Linear (G1) G1 X10 Y10 Z0 F1000 X20 Y30 G1: Executa movimento linear no avanço programado. Parâmetros: X, Y, Z... F Coordenadas do ponto final. Avanço programado (mm/min, mm/rot). Comando Modal (posicionamentos seguintes podem ter somente as coordenadas). Interpolação Linear com até 6 eixos. Caso não seja programado o avanço (F) no bloco, vale o último programado. No exemplo acima, o 2º posicionamento (X20 Y30) também é uma interpolação linear com avanço F1000 (modal). V1.00 7 Manual de Programação - CNC Proteo MCS Engenharia 1.6 - Interpolação Circular (G2 / G3) G0 X100 Y100 Z0 G2 G17 X110 Y100 I5 J0 F1000 G3 G18 X110 Z10 I0 K5 G2 G17 X100 Y100 R5 (3) (1) (2) G2: Executa movimento circular horário no avanço programado com centro do círculo ou raio definido. G3: Executa movimento circular anti-horário no avanço programado com centro do círculo ou raio definido. Parâmetros: = Z) X, Y, Z I, J, K Coordenadas do ponto final do círculo. Coordenadas do centro do círculo (I = X, J = Y, K R F Valores incrementais em relação ao ponto inicial do círculo (ponto final do último movimento). Define raio do círculo. Avanço programado (mm/min, mm/rot). Comando Modal (posicionamentos seguintes podem ter somente as coordenadas). Interpolação Circular somente em um dos 3 planos definidos (XY, ZX, YZ). Caso não seja programado o avanço (F) no bloco, vale o último programado. Plano da circular pode ser definido no mesmo bloco ou anteriormente. No exemplo acima: (1) = Interpolação circular horária no plano XY (G17) com centro do círculo definido. (2) = Interpolação circular anti-horária no plano ZX (G18) com centro do círculo definido. (3) = Interpolação circular horária no plano XY (G17) com raio definido. 1.7 - Interpolação Helicoidal (G2 / G3) G0 X100 Y100 Z0 G2 G17 X110 Y100 Z20 I5 J0 F1000 G2: Executa movimento helicoidal (interpolação circular horária no plano definido com interpolação linear com eixo perpendicular) . G3: Executa movimento helicoidal (interpolação circular anti-horária no plano definido com interpolação linear com eixo perpendicular) . Parâmetros: X, Y, Z 8 Coordenadas do ponto final da hélice. V1.00 MCS Engenharia Manual de Programação - CNC Proteo I, J, K Coordenadas do centro do círculo no plano (I = X, J = Y, K = Z) Valores incrementais em relação ao ponto inicial da hélice (ponto final do último movimento). R F Define raio do círculo no plano. Avanço programado (mm/min, mm/rot). Comando Modal (posicionamentos seguintes podem ter somente as coordenadas). Interpolação Helicoidal é composta por uma interpolação circular em um dos 3 planos definidos (XY, ZX, YZ) interpolando linearmente com um eixo perpendicular (X,Y ou Z). Nesse bloco (G2/G3) são definidos os 3 eixos (X,Y,Z) e o plano da circular pode ser definido nesse mesmo bloco ou anteriormente. Caso não seja programado o avanço (F) no bloco, vale o último programado. No exemplo acima: - Movimento circular em XY com movimento do eixo perpendicular Z. 1.8 - Tempo de Espera (G4) G4 X10 ou G4 F10 G4 X: Tempo de Espera na execução do programa em segundos(s). ou G4 F: Tempo de Espera na execução do programa em segundos(s). Parâmetros: X ou F Tempo em segundos(s). 1.9 - Desvio (G4) G4 H5 N01 ... N05 G0 X0 Y0 G4 H: Desvio incondicional p/ “label” desejado. Parâmetros: H V1.00 Número do “label” a ser desviado. 9 Manual de Programação - CNC Proteo MCS Engenharia Ao executar G4 H5 programa desvia p/ bloco seguinte ao “label” 5 (N05), ou seja, executa G0 X0 Y0. 1.10 - Fator de Escala (G5) G5 X2 Y-2 Z-1 G0 X10 Y10 Z10 G5 XYZ: Fator de Escala das coordenadas dos eixos (XYZ). Parâmetros: XYZ com sinal. Valores do fator de escala em ponto flutuante Valores do fator de escala se referem ao zero peça. No exemplo: - Posicionamento será p/ X20 Y-20 Z-10. Para fazer espelhamento programar o valor do eixo que se deseja espelhar com o valor negativo. Se não deseja utilizar escala, somente o espelhamento, programe os eixos desejados com o valor -1. 1.11 - Rotação de Coordenadas (G5) G5 A45 G0 G17 X20 G5 A: Rotação do plano cartesiano das coordenadas em graus. Parâmetros: A Ângulo de rotação em graus. Rotação das coordenadas se refere ao zero peça. Plano de trabalho (XY, ZX, YZ) define o plano de rotação das coordenadas. No exemplo: - Rotação do plano XY em 45º. - Posicionamento será p/ X14.142 Y14.142. 1.12 - Reset Expressão (G6) Incluir descrição. 1.13 - Sistema de Coordenadas: Cartesianas (G15) / Polares (G16) Primeiramente deve ser selecionado o plano desejado, com isso o primeiro eixo selecionado deve conter a informação sobre o comprimento (raio) e o segundo 10 V1.00 MCS Engenharia Manual de Programação - CNC Proteo eixo deve conter o valor do ângulo (em graus), conforme podemos ver na tabela abaixo. Código G do Plano G17 G18 G19 Plano selecionado XY ZX YZ Primeiro eixo (Raio) X Z Y Segundo eixo (Ângulo) Y X Z Exemplo: :G0 X0 Y0 :G17 :G16 :X10 Y45 :G15 ;coordenada inicial ;seleciona plano xy ;seleciona coordenadas polares ;movimento com raio igual a 10mmm e ângulo 45º ;seleciona coordenadas cartesianas 1.14 - Unidades: Milímetros (G21) / Polegadas (G20) G21: Dados em milímetros G20: Dados em polegadas Parâmetro Geral do CNC define valor padrão (mm ou polegadas). Programa pode alterar unidade com os comandos G20 e G21 que são modais. 1.15 - Round / Chanfro (G7) G0 X0 Y0 Z0 G1 X20 F1000 G7 B5 (1) G1 Y20 G7 B-5 (2) G1 X0 G7 B: Arredondamentos (B>0) ou Chanfros (B<0) nos cantos. Parâmetros: B Valor do chanfro. B>0: Valor do raio de arredondamento / B<0: No exemplo: (1)= Arredondamento de raio 5 no canto (X20,Y0). (2) = Chanfro de valor 5 no canto (X20,Y20). V1.00 11 Manual de Programação - CNC Proteo MCS Engenharia 1.16 - Ferramenta: Compensação de comprimento(G43 / G49) G43: Liga compensação de comprimento de ferramenta. G49: Desliga compensação de comprimento de ferramenta. Default: G49 (compensação desligada) G43 - ao selecionar uma ferramenta (Dn), a compensação de comprimento é ligada automaticamente. Dados da Ferramenta são programados no Editor de Ferramentas. Comando modal. Fresa: - Compensação do comprimento (L) no eixo perpendicular ao plano de trabalho (XY, ZX, YZ). Torno: - Compensação de comprimento (Lx, Lz) nos eixos do plano de trabalho (normalmente ZX). - Compensação de raio ativa: Raio da ferramenta (R) deve ser considerado de acordo com o lado de corte da ferramenta (Lc). 1.17 - Ferramenta: Compensação de raio (G40 / G41 / G42) D1 G0 X10 Y-10 Z0 G41 G1 Y0 F1000 X0 Y20 X20 Y0 X10 G40 Y-10 G40: Desliga compensação de raio de ferramenta. G41: Liga compensação de raio de ferramenta à esquerda da peça. G42: Liga compensação de raio de ferramenta à direita da peça. Default: G40 Raio da ferramenta é compensado nos eixos do plano de trabalho, de acordo com a geometria do movimento. Dados da Ferramenta são programados no Editor de Ferramentas. Comando modal. A compensação de raio deve ser ligada (G41/G42) no movimento de aproximação da peça e desligada (G40) no movimento de afastamento da peça. 12 V1.00 MCS Engenharia Manual de Programação - CNC Proteo Os comandos podem estar no mesmo bloco desse movimento ou isolados no bloco anterior. No exemplo: - Considerando raio de ferramenta de 5mm, os pontos do centro da ferramenta serão: (+10,-10) -> (+10,-5) -> (-5,-5) -> (-5,+25) -> (+25,+25) -> (+25,-5) -> (+10,-5) -> (+10,-10) 1.18 - Aproximação e Saída Tangenciais (G7 / G40 / G41 / G42) D1 G0 X10 Y-20 Z0 G41 G1 Y0 F1000 G7 B8 X0 Y20 X20 Y0 X10 G7 B8 G40 Y-20 Aproximação Tangencial (G41 ou G42 + G7 B): - Liga compensação de raio de ferramenta à esquerda (G41) ou direita (G42) seguido de movimento de round. Saída Tangencial (G7 B + G40): - Movimento de round seguido de desliga compensação de raio de ferramenta. No exemplo: - Considerando raio de ferramenta de 5mm e round de 8mm (B8). - Os pontos do centro da ferramenta na aproximação serão: (+10,-20) -> (+13,-8) -> round(+10,-5) -> (-5,-5) -> (-5,+25) ... - Os pontos do centro da ferramenta na saída serão: ... (+25,-5) -> (+10,-5) -> round(+7,-8) -> (+10,-20) 1.19 - Movimento Preciso (G61) G61: define movimento preciso modal, ou seja, ganhos são ajustados para que o movimento tenha o menor LAG possível, aumentando a precisão da peça. Default: G61 Comando Modal. V1.00 13 Manual de Programação - CNC Proteo MCS Engenharia 1.20 - Movimento Contínuo - Transição Macia de Cantos (G64) G64: define movimento contínuo com transição macia de cantos, ou seja, ganhos são ajustados permitindo que o movimento tenha uma tolerância de contorno definida por parâmetro. Default: G61 (movimento preciso) Comando Modal. Parâmetro de Eixo define a tolerância de contorno (G64) p/ um canto de 90º com avanço F1000. 1.21 - Parada Precisa No Bloco (G9) G9: parada precisa no bloco definido, ou seja, movimento só é concluído após posição real estar dentro da janela de posicionamento definida por parâmetro. Default: G61 (movimento preciso) Comando só vale para o bloco. Parâmetro de Eixo define a janela de posicionamento. Ajuste de melhor precisão da peça. 1.22 - Avanço: mm/min ou rotação/min (G94) G94 G1 X0 F1000 G94: Programa avanço em mm/min (linear) ou rpm (rotativo). Default: G94 Comando Modal. 1.23 - Avanço: mm/rotação (G95) G95 M3 S100 G1 X20 F0.5 G95: Programa avanço em mm/rotação. Default: G94 Comando Modal. 1.24 - Spindle: Giro Do Eixo Árvore (M3 / M4 / M5 / S) 14 V1.00 MCS Engenharia Manual de Programação - CNC Proteo M3 S1000 G95 G1 X20 F0.5 M5 S200 M4 G1 X0 F1 M5 M3: M4: M5: S: Giro do eixo árvore no sentido horário na rotação programada. Giro do eixo árvore no sentido anti-horário na rotação programada. Pára eixo árvore. Programa rotação em rpm. Caso a rotação S não seja programada no mesmo bloco do comando de giro (M3/M4), a última rotação S programada será utilizada. Os comandos de giro do eixo árvore devem ser autorizados pelo PLC. 1.25 - Spindle: Velocidade De Corte Constante (G92 / G96 / G97) G0 X30 G92 S400 G96 M3 S10 G95 G1 X0 F2.5 G97 S100 M5 (1) (2) (3) (4) G92 S: Máxima RPM em velocidade de corte constante. G96 S: Ativa velocidade de corte constante e programa a velocidade em metros/min. G97 S: Desativa velocidade de corte constante e programa a rotação em rpm no modo normal. Default: G97 G96 / G97 são comandos modais. Nesse modo, a rotação do eixo árvore é calculada a partir do diâmetro da peça (eixo X). Quanto menor o diâmetro, maior a rotação, sendo esta limitada pela máxima RPM (G92). Para programar a máxima RPM em velocidade de corte constante G92 e S devem estar no mesmo bloco. Para programar a velocidade de corte constante G96 e S devem estar no mesmo bloco. Se for programado somente o S no bloco, o valor será a rotação em rpm no modo normal. No exemplo: V1.00 15 Manual de Programação - CNC Proteo MCS Engenharia (1) - Programa 400 rpm na máxima RPM em velocidade de corte constante. (2) - Programa 10 m/min na velocidade de corte constante e gira M3 nesse modo, considerando posição do eixo X atual (X30). (3) - Movimenta X p/ 0 com avanço de 2.5 mm/rot (X diminuindo -> rotação aumentando -> avanço F aumentando). (4) - Desativa velocidade de corte constante e programa 100 rpm na rotação S no modo normal. 1.26 - Spindle: Parada Indexada (M19) M3 S200 G0 Z0 M19 S90 G0 Z20 M20 M19: Parada Indexada do eixo árvore no ângulo programado. M20: Cancela parada indexada. S: Programa ângulo da parada indexada em graus. Parâmetros: - Ângulo do M19 (PLC). - Velocidade em M19 (Eixo). - Janela de posicionamento p/ M19 (Eixo). - Ganhos do PID (Eixo). Movimento controlado pelo PLC (M19 precisa de autorização do PLC). Caso não seja programado S no bloco do M19, valor do ângulo é considerado 0. Ao receber código M19, PLC pode programar um novo ângulo antes de autorizar a parada indexada no serviço do GeralS. Nesse caso, o ângulo S do programa é descartado. Caso o eixo árvore já esteja em movimento, desacelera até parar na posição desejada. Caso eixo árvore esteja parado, gira o eixo até a posição desejada, no último sentido programado e limitando a rotação pelo parâmetro de velocidade em M19. M20 cancela parada indexada e também o último giro programado (M3/M4), ou seja, o eixo árvore fica parado. 1.27 - Spindle: Posicionamento Com Eixo Árvore (M119) M4 S400 ... M5 16 V1.00 MCS Engenharia Manual de Programação - CNC Proteo M119 G0 X0 C0 G1 C400 F100 M120 M119: Transforma eixo árvore em um eixo rotativo p/ posicionamentos no programa. M120: Cancela modo posicionamento e devolve controle p/ GeralS (M3/M4/M5). Parâmetros: - Definir canal de execução do eixo árvore. - Letra do eixo usada no posicionamento. - Ajustar velocidade máxima do eixo (rápido) em rpm. - Ajustar p/ malha fechada (ganhos do PID). Default: M120 (GeralS) Comando Modal. Programa deve chamar M119 com eixo árvore parado. Ao final dos posicionamentos desejados, programa deve chamar M120 p/ cancelar esse modo e voltar ao funcionamento normal do eixo árvore. No modo M119, o programa pode usar o eixo árvore como um eixo rotativo com a letra definida no parâmetro e fazer posicionamentos individuais ou interpolados com outros eixos do programa. No caso de posicionamento só com eixos rotativos, o avanço F é programado em rpm. 1.28 - Spindle: Eixo Árvore Auxiliar (M45) M45 M3 S200 ... M45 M5 M45: Comandos nesse bloco são atribuídos ao eixo árvore auxiliar. Parâmetros: M3 M4 M5 S Giro do eixo árvore auxiliar no sentido horário. Giro do eixo árvore auxiliar no sentido anti-horário. Pára eixo árvore auxiliar. Programa rotação do eixo árvore auxiliar em rpm. M45 só vale para o bloco. Comandos do eixo árvore auxiliar são passados ao PLC: - Códigos M são somados a um offset (450): M3 -> M453 , M4 -> M454 , M5 -> M455 - Valor do S é passado numa variável adicional p/ código S do eixo auxiliar. V1.00 17 Manual de Programação - CNC Proteo MCS Engenharia Comando M5 sozinho pára os eixos árvores principal e auxiliar. PLC é responsável pelo controle do eixo árvore auxiliar. 1.29 - Movimento De Rosca: Passada Única (G32) M3 S100 G0 X50 Z10 G32 X50 Z-20 F2 (1) G0 X60 ... G0 X50 Z5 G32 X50 Z-20 F2 (2) G32 X70 Z-40 U2.5 W5 F1 (3) G0 X80 G32: movimento de rosca (passada única) paralela ou cônica, com passo fixo ou variável, ângulo de entrada, saída de “pullout”. Parâmetros: X,Z F U W A P Coordenadas da posição final da rosca. Passo da rosca (mm/rotação). Distância transversal (X) p/ saída de “pullout”. Distância longitudinal (Z) p/ saída de “pullout”. Ângulo de entrada em graus. Incremento do passo por volta. Eixo árvore deve estar rodando ao chamar a rosca. Movimento de rosca vale só no bloco (não é modal). Tipos de Rosca: - Paralela: coordenada transversal (X) inicial igual a final. - Cônica: coordenada transversal (X) inicial diferente da inicial. - Passo Fixo: passo programado (F) é o mesmo durante toda a rosca. - Passo Variável: a cada volta do eixo árvore, passo atual é incrementado por P. - Ângulo de Entrada: pode ser programado ângulo de entrada da rosca diferente de 0. - Saída de “pullout”: rosca termina com um movimento de puxada no eixo transversal (X). No exemplo (considerando X em diâmetro): (1) - Movimento de rosca paralela com passo de 2 mm por volta do eixo árvore. (2) - Igual a rosca (1) porém encadeada com rosca (3). (3) - Movimento de rosca cônica com passo de 1 mm e saída de “pullout” iniciando a uma distância de 5 mm em Z do final da rosca. - Movimentos: (50,-20) -> (65,-35) -> (75,-40) 18 V1.00 MCS Engenharia Manual de Programação - CNC Proteo 1.30 - Movimento Com Transição De Avanço (M102) G0 X0 G1 X20 F2000 M102 G1 X80 F2000 G1 X100 F100 E1 G1 X105 M102 ou E: movimento do bloco com transição de avanço (último avanço -> avanço programado no bloco). Comando só vale p/ o bloco. Precisa ser programado o avanço F no bloco. Movimento inicia com avanço anterior e termina com avanço programado. No exemplo: - X0 -> X20: transição de avanço de aceleração (F0 -> F2000). - X20 -> X80: avanço constante (F2000). - X80 -> X100: transição de avanço de desaceleração (F2000 -> F100). - X100 -> X105: avanço constante (F100). 1.31 - Acoplamento Entre Eixos / Eixo Virtual Por enquanto, somente através do Serviço de Acoplamento do PLC. V1.00 19 Manual de Programação - CNC Proteo MCS Engenharia 2 - Programação MCS 2.1 - Comandos De Movimento Primeiramente verifique se na tela onde está sendo feito o programa, a linguagem que está sendo utilizada é a MCS (mostrada no primeiro item a esquerda da barra azul superior). Se estiver em ISO pressionar a tecla e automaticamente mudará para MCS. 2.1.1 - Movimento Simples (um eixo por vez) Com esta sentença programa-se o movimento de um eixo para a cota desejada, em modo absoluto ou incremental, a velocidade de avanço em mm/min ou mm/rotação e uma função auxiliar. Para inicializar esta função, pressionar a tecla referente ao eixo que se deseja movimentar( , ou ), em seguida digitar a posição desejada seguida do avanço. Pressione a tecla referente a qualquer um dos eixos ( , ou ),. A seguinte janela será aberta. Pressionar 20 e a seguinte janela será aberta. V1.00 MCS Engenharia Manual de Programação - CNC Proteo Digite o valor para o campo desejado e a cada campo tecle , para finalizar o comando tecle . Para selecionar o modo incremental pressione a tecla , com isso a letra “A” após o eixo X (ou o eixo que está sendo utilizado) será mudada para “I”. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: POS X A 100.000 ; movimento simples eixo X move para cota absoluta 100.000 POS Y I 1.000 ; movimento simples eixo Y movimento incremental de 1.000 POS Z A - 20.000 F 2000 ; move eixo Z para -20.000 com avanço 2000 mm/minuto. POS X - 20.000 ; move eixo X para -20.000, ABS x INC depende do estado modal (G90/G91) 2.1.2 - Interpolações Lineares (movimento simultâneo de eixos) Com esta sentença programa-se o movimento simultâneo de dois ou mais eixos em interpolação linear para um ponto desejado, em modo absoluto ou incremental, a velocidade de avanço e uma função auxiliar. Pressione as teclas referentes aos eixos desejados ( e , por exemplo), a seguinte janela será aberta. Pressione , a seguinte janela será aberta. Digite o valor para cada campo, tecle ou com o cursor, selecione outros campos como F ou M se necessário. Para finalizar o comando tecle . V1.00 21 Manual de Programação - CNC Proteo MCS Engenharia Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: POS L X A 10.000 Y A 20.000 ; movimenta eixos X e Y em interpolação linear POS L X A 10.000 Z A 20.000 F1000 ; move eixos X e Z com avanço 1000 mm/min. POS L X A 10.000 Z A 20.000 F 0.75 ; move eixos X e Z com avanço 0.75 mm/rotação. POS T X I 10.000 Y I 20.000 Z I 30.000 F1000 ; move 3 eixos X , Y e Z cotas incrementais POS L X A 1.000 Y A 2.000 Z A 3.000 / U A 4.000 V A 4.000 W A 6.000 F1000 ; linear com 4 ou mais eixos X,Y,Z,U,V,W 2.1.3 - Interpolações Circulares (movimento simultâneo de eixos) 2.1.3.1 - Interpolações Circulares (centro definido via POLO) Na linguagem MCS, para executar este tipo de função, devemos primeiramente definir o pólo. Pressione a tecla . A seguinte janela será aberta. Digite as teclas dos eixos que compõem o plano onde será realizada a interpolação circular, seguido de . A seguinte janela será aberta. Digite os valores para cada campo e em seguida pressione Em seguida pressione 22 . e a seguinte janela será aberta. V1.00 MCS Engenharia Manual de Programação - CNC Proteo Pressione as teclas dos eixos do plano no qual será executada a interpolação e tecle , a seguinte janela será aberta. Digite os valores do ponto final e se necessário outras funções. Deixar o campo R(raio) vazio. Para finalizar pressione . Nesta sentença programa-se além dos pontos do plano de interpolação, o sentido "H" horário ou "AH" anti-horário de interpolação, o avanço e uma função auxiliar M. A escolha do sentido de interpolação é feita teclando-se 1 para sentido horário ou 0 para sentido anti-horário. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: POL X A 0.000 Y A 0.000 ; centro para circulo X,Y em (0,0) POS C H X A 10.000 Y A 20.000 ; move eixos X e Y em circulo sentido horário POS C AH X A 10.000 Y A 20.000 ; move eixos X e Y em circulo sentido antihorário POS C H X A 10.000 Z A 20.000 F1000 ; circular horário X e Z com avanço 1000 mm/min. POS C AH X I 10.000 Y I 20.000 F0.50 ; circular anti-horário X , Y cotas incrementais ; com avanço 0.5 mm/rotação. 2.1.3.2 - Interpolações Circulares (centro calculado dado o raio) Neste caso, o arco de circunferência fica definido pelo ponto atingido antes da execução da sentença de interpolação circular e pelo ponto final e raio da circunferência programados nesta sentença. V1.00 23 Manual de Programação - CNC Proteo Na linguagem MCS, pressione MCS Engenharia e a seguinte janela será aberta. Pressione as teclas dos eixos do plano no qual será executada a interpolação e tecle , a seguinte janela será aberta. Digite os valores do ponto final, o raio e se necessário outras funções.Para finalizar pressione . Nesta sentença programa-se além dos pontos do plano de interpolação, o sentido "H" horário ou "AH" anti-horário de interpolação, o avanço e uma função auxiliar M. A escolha do sentido de interpolação é feita pressionando a tecla 1 para sentido horário ou a tecla 0 para sentido anti-horário. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: POS C H X A 10.000 Y A 20.000 R 1000 ; move eixos X e Y em círculo horário, raio 10.000 POS C AH X I 10.000 Y I 20.000 R 1000 ; move eixos X e Y, cotas incrementais em círculo ; anti-horário, raio 10.000 POS C H X A 10.000 Y A 20.000 R 1000 F1000 ; move eixos X e Y em círculo horário, ; raio 10.000, avanço 1000 mm/minuto POS C H X A 10.000 Y A 20.000 R 1000 F0.500 ; move eixos X e Y em círculo horário, ; raio 10.000, avanço 0.5 mm/rotação POS C AH X I 10.000 Y I 20.000 R 1000 ; move eixos X e Y, cotas incrementais em círculo ; anti-horário, raio 10.000 2.1.3.3 - Interpolações Helicoidais (centro definido via POLO) 24 V1.00 MCS Engenharia Manual de Programação - CNC Proteo Para executar este tipo de função, devemos primeiramente, definir o pólo como visto anteriormente no item Interpolações Circulares 2.1.3.1. Feito isso, pressione a tecla e a tecla seqüencialmente, a seguinte janela será aberta. Pressione e a seguinte janela será aberta. Digite os valores para cada campo e em seguida pressione R(raio) vazio. . Deixar o campo Nesta sentença programa-se além dos pontos do plano de interpolação, o sentido "H" horário ou "AH" anti-horário de interpolação, o avanço e uma função auxiliar M. A escolha do sentido de interpolação é feita pressionando a tecla 1 para sentido horário ou a tecla 0 para sentido anti-horário. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: POL X A 0.000 Y A 0.000 ; centro para hélice plano X,Y em (0,0) POS H H X A 10.000 Y A 20.000 Z A 30.000; move eixos X e Y em circulo sentido horário ; move simultaneamente o eixo Z da hélice. POS H AH X A 10.000 Y A 20.000 Z A 30.000; move eixos X e Y em circulo sentido anti; horário enquanto move o eixo Z da hélice. 2.1.3.4 - Interpolações Helicoidais (centro calculado dado o RAIO) Pressione a tecla V1.00 e a tecla e a seguinte janela será aberta. 25 Manual de Programação - CNC Proteo Pressione MCS Engenharia e a seguinte janela será aberta. Digite os valores para cada campo e em seguida pressione . Nesta sentença programa-se além dos pontos do plano de interpolação, o sentido "H" horário ou "AH" anti-horário de interpolação, o avanço e uma função auxiliar M. A escolha do sentido de interpolação é feita pressionando a tecla 1 para sentido horário ou a tecla 0 para sentido anti-horário. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: POS H H X A 10.000 Y A 20.000 Z A 30.000 R 100.000; move eixos X e Y em circulo sentido ; horário enquanto move simultaneamente o eixo Z da hélice. POS H AH X A 10.000 Y A 20.000 Z A 30.000 R 100.000 ; move eixos X e Y em circulo ; sentido anti-horário enquanto move o eixo Z da hélice. 2.2 - Ciclos Fixo 2.2.1 - Ciclo - 0 Reset modal Restabelece as condições modais iniciais do CNC em relação a compensação de ferramentas, níveis de sub-rotinas, etc. É aconselhável que os programas comecem com esta sentença para assegurar que as condições modais sejam restabelecidas no início dos programas principais. 26 V1.00 MCS Engenharia Manual de Programação - CNC Proteo Subprogramas e ciclos fixos não podem conter esta sentença, pois o zeramento do nível de execução de rotinas faz com que o comando não mais retorne ao programa principal no final destas rotinas. Programação com teclas e . Formato da sentença: :CYC CALL 0 ; comentários 2.2.2 - Ciclo 1 - Tempo de espera Neste ciclo programa-se um tempo de espera em unidades de 0,1s. Inicialização com teclas e . O comando conduz a entrada de dados na sequência: TEMPO ? Entrar com o valor do tempo de espera, em unidades de 0,1s. Formato da sentença: :CYC CALL 1 T 10 ; comentários Faixa de valores programáveis: 1 a 65.535 (o valor máximo corresponde a 6.553,5 s). 2.2.3 - Ciclo 2 - Atuação de funções auxiliares Com o ciclo 2 programa-se até três funções auxiliares M, a rotação S, um número de ferramenta T, um corretor de ferramenta D e inserir um arredondamento ou um chanfro B entre sentenças de posicionamento. Inicialização com teclas e . O comando monta a estrutura do ciclo com todas as opções de programação e conduz a entrada de dados na sequência: FUNÇÃO AUXILIAR ? Caso se deseje programar uma ou mais funções auxiliares na sentença, deve-se entrar com seu número e teclar ; pode-se programar até 3 funções M na mesma sentença. Caso contrário teclar , ou até que o cursor se posicione no campo desejado. V1.00 27 Manual de Programação - CNC Proteo MCS Engenharia NÚMERO DA FERRAMENTA ? (T) Entrar com o número da ferramenta ou teclar , ou . DEFINIÇÃO DA FERRAMENTA ? (D) Digitar o número do corretor da ferramenta ou teclar , ou . ROTAÇÃO DA ARVORE ? (S) Entrar com a rotação desejada ou teclar , ou . ARREDONDAMENTO +B / CHANFRO -B ? (B) Entrar com um valor positivo para inserção de raios ou negativo para inserção de chanfros (ver também itens 5.6 e 5.7). Formato da sentença: :CYC CALL 2 M 03 M 08 M 90 T 01 D 20 S 200 B -10 ; comentários Faixa de valores programáveis: - funções M: 00 a 99. - ferramenta T: 00 a 99. - corretores D: 00 a 99. - rotações S: depende de parâmetros de máquina "P 69". - raios ou chanfros B: +/- 8.000,000 OBSERVAÇÕES: 1. A rotação S é programada diretamente em rpm ou, caso a função auxiliar M58 esteja programada no mesmo bloco, em m/min. 2. O número de ferramenta T representa apenas um código associado à ferramenta para solicitação de troca, não estando associado a um corretor. 3. O corretor de ferramenta D está associado aos dados de correção de ferramenta, o que o torna independente do código T, permitindo associar diversos corretores a um mesmo número de ferramenta T. 2.2.4 - Ciclo 3 – Rosca 28 V1.00 MCS Engenharia Manual de Programação - CNC Proteo Com este ciclo programa-se a usinagem de roscas paralelas ou cônicas, com recuo automático ou não. A usinagem completa de uma rosca é feita programando-se em sentenças à parte o retorno à posição de início e a profundidade de cada passada. A MCS possui um ciclo fixo que realiza a operação completa de rosqueamento (CICLO 33). Inicialização com teclas programar: e . Nos campos de introdução de dados pode-se COTA do eixo auxiliar No caso de roscas paralelas, programar em modo incremental o valor 0 para o e ; eixo sem movimento; para isso teclar , No caso de roscas cônicas, pode-se entrar com o valor incremental que define a conicidade. COTA do eixo principal No caso de roscas paralelas ou cônicas, programar a cota final do comprimento da rosca (modo absoluto ou incremental). PASSO (P) Entrar com o passo da rosca em mm. ÂNGULO (A) Define o ângulo de recuo no caso de recuo automático na saída de rosca. Entrar com o ângulo de recuo. Caso não se deseje recuo automático teclar ; AFASTAMENTO (U) Caso sem recuo automático, teclar . Caso com recuo automático, programar o início do recuo a partir do ponto final da rosca no eixo de maior deslocamento. Formato da sentença: :CYC CALL 3 X I(A)10 Z I(A) -60 P 2.31 A 45 U 2 ; comentários Esta sentença ocupa três passos na memória de programa. Faixa de valores programáveis: - cotas: +/-8.000,000 mm V1.00 29 Manual de Programação - CNC Proteo MCS Engenharia - passo de rosca: 0,01 a 65,000 mm - ângulo de recuo: 0, +/-45 ou +/-60 graus - início de recuo: 0,001 a 65,000 mm OBSERVAÇÕES: 1. O máximo valor programável para o passo da rosca é limitado pelas características da máquina. Porém, dada uma velocidade do eixo árvore, o máximo passo de rosca possível de ser executado é limitado pela fórmula: passo (mm) = rápido (mm/min) ÷velocidade da árvore (rpm) onde o rápido é a máxima velocidade de deslocamento nos eixos da máquina (dado pelos parâmetros de máquina dos respectivos eixos). 2. O sinal de programação do ângulo de recuo deve ser coerente com o sinal do movimento incremental de recuo; para roscas externas, o ângulo deve ser positivo e, para roscas internas, deve ser negativo. 3. Pode-se encadear a execução de roscas programando-se uma sequência de sentenças de rosca. O comando liga de forma contínua a execução das sentenças. 4. Através da função auxiliar M79 o passo de rosca programado é multiplicado por 10, ampliando o passo máximo executável para 650mm. Através da função M78 retorna-se à condição normal. 2.2.5 - Ciclo 4 - Translação do sistema de coordenadas Este ciclo permite deslocar a origem do sistema de coordenadas num dado eixo. Para se deslocar a origem em mais de um eixo é necessário programar nova sentença. e . O comando monta a estrutura do ciclo e conduz a Inicialização com teclas entrada de dados na sequência: EIXO ? Pressionar a tecla do eixo que se deseja deslocar a origem. COORDENADA DE PRESET DO EIXO ? 30 V1.00 MCS Engenharia Manual de Programação - CNC Proteo Entrar com a nova cota desejada para a posição. Formato da sentença: :CYC CALL 4 X(Z) A(I) 10.000 ; comentários Faixa de valores programáveis: +/- 8.000,000 mm OBSERVAÇÕES: 1. O deslocamento pode ser programado em modo absoluto ou incremental. Em modo absoluto o valor programado passa a ser o novo valor de posição para o eixo correspondente. Em modo incremental o valor programado é somado ao valor atual de posição no eixo correspondente. 2. Dependendo do valor do parâmetro P50, a execução do ciclo 4 altera o zero peça corrente. 2.2.6 - Ciclo 5 - Verificação do estado de uma entrada ou saída Com esta sentença pode-se observar o estado das entradas e saídas do comando. É possível ainda a programação de um tempo de guarda durante o qual espera-se que, em funcionamento normal, a referida entrada seja ativada (ou desativada). Caso não ocorra essa ativação durante o tempo de guarda, o comando interrompe a execução do programa e sinaliza falha. Esta sentença pode ser também preparatória para a sentença de salto condicional (CICLO 6). Inicialização com teclas sequência: e . O comando conduz a entrada de dados na OBSERVAR ENTRADA OU SAÍDA ? Teclar para observar entradas e para observar saídas. STATUS DESEJADO ? Teclar para observar o estado “ligado” da entrada ou saída e "desligado". V1.00 para o estado 31 Manual de Programação - CNC Proteo MCS Engenharia E/S A OBSERVAR ? Entrar com o número da entrada ou saída que se deseja observar. TEMPO ? No caso de simples observação do status da entrada ou saída, deve-se cancelar o tempo de guarda teclando . Caso se deseje tempo de guarda deve-se entrar com o valor do tempo de guarda (unidades de 0,1s). Formato da sentença: :CYC CALL 5 E(S) ON(OFF) 5 (T 45) ; comentários Faixa de valores programáveis: - entradas: 0 a 31 - saídas: 0 a 23 - tempo de guarda: 0 a 65.535 OBSERVAÇÕES: 1. Ao iniciar a execução da sentença de observação do estado de uma entrada com tempo de guarda o comando verifica seu estado e o compara com o estado programado na sentença. Caso sejam iguais, o programa passa a executar a próxima sentença; caso contrário, o comando permanece observando a entrada até que seu estado coincida com o programado e, a seguir, continua a execução do programa. Se, durante o tempo de guarda, o estado da entrada observada não coincidir com o estado programado, o comando sinaliza falha e entra em estado de emergência. 2. Programando-se um tempo de guarda igual a zero, a sentença indica qual entrada ou saída será observada durante uma execução especial do ciclo. 3. A ocorrência de falha é sinalizada através do ERRO 09 - ERRO DE SUPERVISÃO DE ENTRADA/SAÍDA. 4. Quando o ciclo é preparatório para salto condicional (ver item 5.19.2), o estado da entrada ou saída não é observado, sendo apenas indicado seu número ao passo seguinte. 5. Deve-se cancelar o tempo de observação no caso de posicionamento com observação simultânea de uma entrada (ver item 5.19.1). 32 V1.00 MCS Engenharia Manual de Programação - CNC Proteo 2.2.7 - Ciclo 6 - Salto a uma marca no programa Com esta sentença é possível desviar a execução do programa de forma incondicional ou de acordo com o estado de entradas ou saídas do comando. Inicialização com teclas sequência: e . O comando conduz a entrada de dados na TIPO DO JUMP ? NO ENT = JMP; 0=ON; 1=OFF Teclar para salto caso entrada ou saída ligada; Teclar para salto caso entrada ou saída desligada; Teclar para salto incondicional. NÚMERO DO LABEL ? Entrar com o número da marca label para a qual a execução do programa deve saltar caso a condição de salto seja satisfeita. Formato da sentença: :CYC CALL 6 J (ON/OFF) 10 ; comentários Faixa de valores programáveis: 1 a 65535 OBSERVAÇÃO: A sentença de salto condicional deve obrigatoriamente ser precedida por uma sentença de observação do estado de uma entrada ou saída (CICLO 5 indica qual entrada ou saída a ser observada). 2.3 - Controle de Fluxo 2.3.1 - Introdução de marcas (Label) nos programas O comando permite a elaboração de sub-rotinas e repetição da execução de parte de programas, além da execução de saltos condicionais ou incondicionais. Para V1.00 33 Manual de Programação - CNC Proteo MCS Engenharia isso são necessárias marcas no programa, também chamadas rótulos ou marcas label. O programa de uma sub-rotina sempre deverá estar inserido entre duas marcas. A primeira marca define o número da sub-rotina e o seu início, e a segunda (marca 0, LBS 0 ou M99), o seu fim. Para a repetição de parte do programa, a marca definirá o ponto a partir do qual o programa será repetido. Pressione a tecla . A seguinte janela será aberta. Entrar com o número da marca que se deseja programar e pressione END. Faixa de valores programáveis: 0 a 65535. 2.3.2 - Localização de uma marca (Label) Com o comando nos modos de programação ou execução, pode-se selecionar diretamente uma dada marca label, mesmo que não se conheça o número da sentença onde ela está programada. Isto pode ser feito com a busca de uma marca label. Tecla até que apareça a janela a seguir. Digitar o número da marca que se deseja selecionar. Na tela será mostrada a sentença onde está definida a marca procurada. Caso não haja no programa a definição da marca procurada, o comando sinaliza “Label não encontrado”. 2.3.3 - Chamada de uma marca (Label) A execução de uma sub-rotina ou de repetição de parte do programa é feita com um salto à marca que define o seu início. Pressione a tecla . A seguinte janela será aberta. 34 V1.00 MCS Engenharia Manual de Programação - CNC Proteo Digite o número do label que deseja saltar e tecle . Dessa forma toda vez que o programa passar por este ponto, efetuará um salto para o label definido, podendo ser usado para efetuar um looping infinito. Se quiser que o programa faça um numero finito de repetições ao passar por este ponto, digite o numero de repetições desejadas em REP. Dessa forma o programa contará o numero de vezes que passar por esse ponto e ao atingir o numero de repetições determinado continuará adiante no programa. Faixa de valores programáveis: - para o número de marca: 1 a 65535. - para o número de repetições: 1 a 65535. 2.3.4 - Montagem e execução de sub-rotinas Uma sub-rotina é iniciada por uma marca LBS SET ou NXXX determinada pelo usuário e terminada obrigatoriamente por uma marca LBS SET 0 ou M99. Através de uma chamada LBC CALL a execução do programa é desviada para o início da sub-rotina chamada. Ao final da sub-rotina (LBS SET 0) a execução do programa volta para a sentença imediatamente posterior àquela da chamada de sub-rotina que ocasiona o desvio. FASES DE EXECUÇÃO 1. O programa é executado normalmente, incluindo sentenças da sub-rotina, até se encontrar a chamada da sub-rotina. V1.00 35 Manual de Programação - CNC Proteo MCS Engenharia 2. A execução do programa é desviada para o início da sub-rotina. 3. A sub-rotina é executada. 4. Ao final da sub-rotina, a execução do programa é desviada novamente para a sentença imediatamente posterior àquela que originou a chamada da subrotina, e o programa continua. OBSERVAÇÕES 1. Pode-se encadear sub-rotinas até 8 níveis. Isto significa que, na programação de uma sub-rotina, pode-se chamar outra, e assim por diante, até um número máximo de oito encadeamentos. 2. Quando o número máximo de níveis de encadeamento de sub-rotinas for ultrapassado, o comando sinaliza ERRO 04 - STACK USUÁRIO. Pressionandose a tecla , o comando passa a sinalizar ERRO 50 - CÓDIGO INCOMPLETO. Neste caso sinaliza-se dois erros para que fique bem caracterizada a ocorrência de um erro de programação (por exemplo, ausência de marca LBS 0 no final de uma sub-rotina) ou de operação. Com a falha ERRO 50 sinalizada, somente será possível sair da condição de erro teclandose a sequência , , , e . Caso contrário, volta a ser sinalizado ERRO 04. 2.3.5 - Repetição de execução de parte do programa O início da parte de programa a ser repetida é marcado com LBS SET n. Através de uma chamada LBR CALL, a execução do programa é desviada para a parte a ser repetida, tantas vezes quantas foram programadas em REP (item 5.12.3). FASES DE EXECUÇÃO 1. O programa é executado normalmente até se encontrar a sentença de repetição de parte do programa. 36 V1.00 MCS Engenharia Manual de Programação - CNC Proteo 2. Neste ponto a execução do programa é desviada para o início da parte de programa a ser repetida. 3. A execução da parte do programa é repetida até encontrar-se novamente a sentença de repetição. 4. Como foram programadas duas repetições e só foi executada uma, a execução do programa é desviada novamente para o início da repetição. 5. A execução da parte do programa é repetida pela segunda vez e, ao se encontrar a sentença de repetição, o comando a ignora, prosseguindo adiante com a execução do programa. OBSERVAÇÃO: Caso seja programado um número N de repetições, na realidade a parte de programa será executada n+1 vezes, pois a primeira vez que ele passa ele não conta, ele vai contar as próximas n repetições. 2.3.6 - Chamada de sub-programas A execução de um subprograma é feita com um salto para o subprograma cujo número está definido na sentença. Pressione a tecla . A seguinte janela será aberta. Pressione a tecla . A seguinte janela será aberta. Digite o número do programa que deseja executar e para finalizar pressione V1.00 . 37 Manual de Programação - CNC Proteo MCS Engenharia O programa identificado nesta sentença pode estar tanto no diretório em que se encontra o programa principal, quanto no diretório de subprogramas(SUB). A sequência de busca do subprograma segue a regra: 1. O comando procura o subprograma no diretório SUB; se encontrar executao; caso contrário passa para 2. 2. O comando procura o subprograma no diretório do programa principal; se encontrar executa-o; caso contrário sinalizará “Erro na execução”, indicando “Numero de programa ilegal”. Faixa de valores programáveis: 1 a 65535. OBSERVAÇÕES: 1. Quando na execução de um programa, uma sentença de chamada de subprograma é executada, a execução salta para o subprograma, até o seu final, quando então retorna automaticamente para a sentença seguinte àquela da chamada do subprograma. 2. A marca LBS 0 indica o retorno ao programa principal quando não usada em sub-rotinas dentro do subprograma. 3. Pode ser usado um numero de repetições finitas, sendo necessário preencher este numero em REP. Incluir. 2.4 - Funções Matemáticas Especiais Com o comando na linguagem MCS, ao pressionar 38 a seguinte tela será exibida. V1.00 MCS Engenharia Manual de Programação - CNC Proteo 2.4.1 - Função 0 - Atribuição - ATR Ao escolher a função 0, a seguinte tela será exibida. A função paramétrica 0 atribui a uma variável H um valor numérico ou o valor de uma outra variável. Para um valor numérico, com o cursor em P1 digite este referido valor. Para que ele assuma o valor de uma outra variável, com o cursor em p1 pressione duas vezes e digite o numero da variável H. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 0 ATR P0 #1 P1 10.00000 Esta instrução faz H1=10 2.4.2 - Função 1 - Soma - ADD Ao escolher a função 1, a seguinte tela será exibida. V1.00 39 Manual de Programação - CNC Proteo MCS Engenharia A função paramétrica 1 realiza a soma entre variáveis H, entre valores numéricos, ou entre variáveis H e valores numéricos. Atribui-se à variável escolhida em P0 o resultado da soma entre o conteúdo da variável em P1 e o conteúdo da variável em P2. Os operandos P1 e P2 podem ser variáveis H ou valores numéricos. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: FUNC 1 ADD P0 #2 P1 #7 P2 10.15000 Esta instrução faz H2 = H7 + 10.15 2.4.3 - Função 2 - Subtração - SUB Ao escolher a função 2, a seguinte tela será exibida. A função paramétrica 2 realiza a subtração entre variáveis H, entre valores numéricos, ou entre variáveis H e valores numéricos. Atribui-se à variável escolhida em P0 o resultado da subtração entre o conteúdo da variável em P1 e o conteúdo da variável em P2. Os operandos P1 e P2 podem ser variáveis H ou valores numéricos. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: 40 V1.00 MCS Engenharia Manual de Programação - CNC Proteo :FUNC 2 SUB P0 #2 P1 #3 P2 27.00000 Esta instrução faz H2 = H3 – 27 2.4.4 - Função 3 - Multiplicação - MULT Ao escolher a função 3, a seguinte tela será exibida. A função paramétrica 3 realiza a multiplicação entre variáveis H, entr0.0e valores numéricos, ou entre variáveis H e valores numéricos. Atribui-se à variável escolhida em P0 o resultado da multiplicação entre o conteúdo da variável em P1 e o conteúdo da variável em P2. Os operandos P1 e P2 podem ser variáveis H ou valores numéricos. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 3 MULT P0 #2 P1 #7 P2 3.14150 Esta instrução faz H2 = H7 * 3.1415 2.4.5 - Função 4 - Divisão - DIV Ao escolher a função 4, a seguinte tela será exibida. V1.00 41 Manual de Programação - CNC Proteo MCS Engenharia A função paramétrica 4 realiza a divisão entre variáveis H, entre valores numéricos, ou entre variáveis H e valores numéricos. Atribui-se à variável escolhida em P0 o resultado da divisão entre o conteúdo da variável em P1 e o conteúdo da variável em P2. Os operandos P1 e P2 podem ser variáveis H ou valores numéricos. O operando P1 representa do dividendo e o operando P2 representa o divisor. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 4 DIV P0 #2 P1 #7 P2 3.14150 Esta instrução faz H2 = H7 / 3.1415 2.4.6 - Função 5 - Valor absoluto - ABS Ao escolher a função 5, a seguinte tela será exibida. A função paramétrica 5 atribui a uma variável H o valor absoluto de uma outra variável H (função matemática módulo) . Atribui-se à variável P0 o valor absoluto do conteúdo do operando P1. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 5 ABS P0 #2 P1 #7 Esta instrução faz H2 = ABS (H7 ) 42 V1.00 MCS Engenharia Manual de Programação - CNC Proteo 2.4.7 - Função 6 - Resto de divisão - REST Ao escolher a função 6, a seguinte tela será exibida. A função paramétrica 6 atribui a uma variável H o resto da divisão entre variáveis H, entre valores numéricos, ou entre variáveis H e valores numéricos. Atribui-se à variável P0 o resto da divisão entre o conteúdo do operando P1 e o conteúdo do operando P2. O operando P1 representa o dividendo e o operando P2 representa o divisor. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 6 REST P0 #2 P1 #7 P2 7.00000 Esta instrução faz H2 = resto ( H7 / 7 ) 2.4.8 - Função 7 - Negação - NEG Ao escolher a função 7, a seguinte tela será exibida. A função paramétrica 7 inverte o sinal de uma variável H ou de um valor numérico. Atribui-se à variável P0 o valor inverso do conteúdo da variável P1. Observar que as funções paramétricas permitem que se realizem operações com uma mesma variável H em mais de um operando. V1.00 43 Manual de Programação - CNC Proteo MCS Engenharia Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 7 NEG P0 #2 P1 #7 Esta instrução faz H2 = - H7 2.4.9 - Função 8 - Raiz quadrada - RAD Ao escolher a função 8, a seguinte tela será exibida. A função paramétrica 8 extrai a raiz quadrada de uma variável H ou de um valor numérico. Atribui-se à variável P0 o resultado da raiz quadrada do conteúdo da variável P1. O valor do operando P1 deve ser necessariamente positivo. Caso seja negativo o valor atribuído ao operando P0 será zero. O valor atribuído ao operando P0 é sempre o valor positivo da raiz quadrada. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 8 RAD P0 #2 P1 16.00000 Esta instrução faz H2 = √16 44 V1.00 MCS Engenharia Manual de Programação - CNC Proteo 2.4.10 - Função 9 - Valor de PI - PI Ao escolher a função 9, a seguinte tela será exibida. A função paramétrica 9 atribui o valor de PI (3,1415927) a uma variável H. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 9 PI P0 #2 Esta instrução faz H2 = 3.1415 2.4.11 - Função 10 - Seno - SEN Ao escolher a função 10, a seguinte tela será exibida. A função paramétrica 10 realiza a função trigonométrica seno de uma variável H ou de um valor numérico. Atribui-se à variável P0 o seno do ângulo associado a variável P1. Observar que os valores do operando P1 são tratados em graus. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 10 SEN P0 #2 P1 #7 Esta instrução faz H2 = seno ( H7 ) V1.00 45 Manual de Programação - CNC Proteo MCS Engenharia 2.4.12 - Função 11 - Cosseno - COS Ao escolher a função 11, a seguinte tela será exibida. A função paramétrica 11 realiza a função trigonométrica cosseno de uma variável H ou de um valor numérico. Atribui-se à variável P0 o cosseno do ângulo associado a variável P1. Observar que os valores do operando P1 são tratados em graus. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 11 COS P0 #2 P1 #7 Esta instrução faz H2 = cosseno ( H7 ) 2.4.13 - Função 12 - Tangente - TAN Ao escolher a função 12, a seguinte tela será exibida. A função paramétrica 12 realiza a função trigonométrica tangente de uma variável H ou de um valor numérico. Atribui-se à variável P0 a tangente do ângulo associado a variável P1. Observar que os valores do operando P1 são tratados em graus. 46 V1.00 MCS Engenharia Manual de Programação - CNC Proteo Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 12 TAN P0 #2 P1 #7 Esta instrução faz H2 = tangente ( H7 ) 2.4.14 - Função 13 - Arco tangente - ATG Ao escolher a função 13, a seguinte tela será exibida. A função paramétrica 13 realiza a função trigonométrica arco tangente de uma variável H ou de um valor numérico. Atribui-se à variável P0 a arco tangente do ângulo associado a variável P1. Observar que os valores do operando P1 são tratados em graus. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 13 ATG P0 #2 P1 #7 Esta instrução faz H2 = arcotangente ( H7 ) 2.4.15 - Função 14 - Distância - DIST Ao escolher a função 14, a seguinte tela será exibida. V1.00 47 Manual de Programação - CNC Proteo MCS Engenharia A função paramétrica 14 realiza a operação raiz quadrada da soma do quadrado de dois valores, que podem ser variáveis H ou valores numéricos (teorema de Pitágoras). Atribui-se à variável P0 o valor da raiz quadrada da soma do quadrado do conteúdo da variável P1 com o quadrado do conteúdo da variável P2. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 14 DIST P0 #2 P1 #7 P2 #4 Esta instrução faz H2 = √ (H7^2 + H4^2) 2.4.16 - Função 15 - Desvio caso igual - JE Ao escolher a função 15, a seguinte tela será exibida. A função paramétrica 15 realizar um desvio condicional na execução de um programa caso os conteúdos dos operandos P1 e P2 sejam iguais. A execução do programa é desviada para o rótulo definido em LBL, caso o conteúdo da variável P1 seja igual a P2. Os operandos P1 e P2 podem ser variáveis H ou valores numéricos. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 15 JE LBL 8 P1 #5 P2 7.00000 Esta instrução faz desvio condicional para label 8 caso (H5==7) 48 V1.00 MCS Engenharia Manual de Programação - CNC Proteo 2.4.17 - Função 16 - Desvio caso diferente - JNE Ao escolher a função 16, a seguinte tela será exibida. A função paramétrica 16 realizar um desvio condicional na execução de um programa caso os conteúdos dos operandos P1 e P2 sejam diferentes. A execução do programa é desviada para o rótulo definido em LBL, caso o conteúdo da variável P1 seja diferente do conteúdo da variável P2. Os operandos P1 e P2 podem ser variáveis H ou valores numéricos. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 16 JNE LBL 8 P1 #5 P2 7.00000 Esta instrução faz desvio condicional para label 8 caso (H5!=7) 2.4.18 - Função 17 - Desvio caso maior ou igual - JP Ao escolher a função 17, a seguinte tela será exibida. A função paramétrica 17 realiza um desvio condicional na execução de um programa caso o conteúdo do operando P1 seja maior ou igual ao conteúdo do operando P2. V1.00 49 Manual de Programação - CNC Proteo MCS Engenharia A execução do programa é desviada para o rótulo definido em LBL, caso o conteúdo da variável P1 seja maior ou igual ao conteúdo da variável P2. Os operandos P1 e P2 podem ser variáveis H ou valores numéricos. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 17 JP LBL 8 P1 #5 P2 7.00000 Esta instrução faz desvio condicional para label 8 caso (H5>=7) 2.4.19 - Função 18 - Desvio caso menor - JN Ao escolher a função 18, a seguinte tela será exibida. A função paramétrica 18 realiza um desvio condicional na execução de um programa caso o conteúdo do operando P1 seja menor ao conteúdo do operando P2. A execução do programa é desviada para o rótulo definido em LBL, caso o conteúdo da variável P1 seja menor ou igual ao conteúdo da variável P2. Os operandos P1 e P2 podem ser variáveis H ou valores numéricos. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 18 JN LBL 8 P1 #5 P2 7.00000 Esta instrução faz desvio condicional para label 8 caso (H5<7) 50 V1.00 MCS Engenharia Manual de Programação - CNC Proteo 2.4.20 - Função 19 - Leitura de uma posição de memória - PLCR Ao escolher a função 19, a seguinte tela será exibida. A função paramétrica 19 permite que se transfira um valor numérico de uma memória da interface do comando para uma variável H. Transfere-se para a variável P0 o conteúdo da memória M do PLC (valor inserido em P1). Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 19 PLCR P0 #2 P1 M200 Esta instrução faz leitura da memória do PLC, endereço = 200 2.4.21 - Função 20 - Escrita em posição de memória - PLCW Ao escolher a função 20, a seguinte tela será exibida. A função paramétrica 20 permite que se transfira um valor numérico ou o conteúdo de uma variável H para a memória do PLC. Por exemplo, se o conteúdo da variável P1 for 19, sua transferência para a memória M24 do PLC bloqueia o potenciômetro de avanço em 100%. Transfere-se para a memória M do PLC (valor inserido em P0) o conteúdo da variável P1. V1.00 51 Manual de Programação - CNC Proteo MCS Engenharia Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 20 PLCW P0 #2 P1 M200 Esta instrução faz escrita na memória do PLC, endereço = 200 2.4.22 - Função 21 - Leitura de um parâmetro de máquina P - PARR Ao escolher a Função 21, a seguinte tela será exibida. A Função paramétrica 21 permite que se transfira um valor numérico de um parâmetro de máquina P para uma variável H. Transfere-se para a variável P0 o conteúdo do parâmetro definido na variável P1. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 21 PARR P0 #2 P1 P 100 Esta instrução faz escrita na memória do PLC, endereço = 100 , valor H2 2.4.23 - Função 22 - Leitura de dados de ferramenta - TDFR Ao escolher a função 22, a seguinte tela será exibida. 52 V1.00 MCS Engenharia Manual de Programação - CNC Proteo A função paramétrica 22 permite a transferência do valor de um corretor para uma variável H. O operando P0 é a variável H destino, o operando P1 indica o número do corretor que se deseja ler e o operando P2 indica qual o campo de correção deve ser transferido. Os campos de correção são assim definidos: campo 1: primeiro comprimento da ferramenta campo 2: raio da ferramenta campo 3: segundo comprimento da ferramenta campo 4: lado de corte da ferramenta Os campos 3 e 4 somente são ativos no caso de ferramentas tipo "torno". Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :FUNC 22 TDFR P0 #7 P1 8 P2 2 Esta instrução faz leitura de dado de corretor de ferramenta: H7 = campo 2 (raio) do corretor D8 2.4.24 - Função 23 - Escrita em dados de ferramenta - TDFW Ao escolher a função 23, a seguinte tela será exibida. A função paramétrica 23 permite a transferência do conteúdo de uma variável H para um campo de corretor de ferramenta. O operando P0 é a variável H cujo conteúdo deve ser transferido, o operando P1 indica o número do corretor a ser alterado e o operando P2 indica o campo de correção destino da transferência. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: V1.00 53 Manual de Programação - CNC Proteo MCS Engenharia :FUNC 23 TDFW P0 #7 P1 8 P2 2 Esta instrução faz escrita no dado de corretor de ferramenta: campo 2 (raio) do corretor D8 = H7 2.4.25 - Função 24 - Expressão geral Ao escolher a função 24, a seguinte tela será exibida. A função paramétrica 24 permite inserir uma expressão ao programa. Esta expressão atribui seu resultado final a uma variável H. Inserir primeiramente a variável H que onde será salvo o resultado da expressão. Depois disso, inserir a expressão desejada. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :#2 = #3 + [4 * #5 / #8] Executa a expressão H2=H3+(4*H5/H8) 2.4.26 - Função 25 - Expressão condicional com expressão - IF[ ] THEN[ ] Ao escolher a função 25, a seguinte tela será exibida. 54 V1.00 MCS Engenharia Manual de Programação - CNC Proteo A função paramétrica 25 permite executar uma expressão, caso a condição definida seja satisfeita. Inserir a expressão que será utilizada para a verificação dentro dos colchetes. Note que quando se abre a tela a condição inicial é para verificar igualdade, mas pode ser verificado também se é diferente, maior que, maior que ou igual, menor que e por ultimo menor que ou igual. Feito isso inserir uma expressão com as mesmas características da expressão vista no item 5.6.25. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :IF [ #2 == 3 ] THEN #0 = 5 se H2 igual a 3 o programa executa a expressão H0 =5 2.4.27 - Função 26 - Expressão condicional com salto - IF[ ]THEN GOTO Ao escolher a função 26, a seguinte tela será exibida. A função paramétrica 26 permite executar um salto para um determinado label do programa, caso a condição definida seja satisfeita. Inserir a expressão que será utilizada para a verificação dentro dos colchetes. Note que quando se abre a tela a condição inicial é para verificar igualdade, mas pode ser verificado também se é diferente, maior que, maior que ou igual, menor que e por ultimo menor que ou igual. Feito isso inserir o numero do ... que se deseja saltar. Depois de efetuado esta seqüência, a sentença aparecerá da seguinte forma no programa: :IF [ #2 == 3 ] THEN GOTO 10 se H2 for igual a 3 salta para o label 10 V1.00 55 Manual de Programação - CNC Proteo MCS Engenharia 3 - Funções auxiliares 3.1 - Parada de Programa Incondicional - M00 Função usada para parada de programa incondicional. 3.2 - Parada de Programa Opcional - M01 Função usada para parada de programa de programa opcional. 3.3 - Final de Programa com Reset - M02 Função usada para final de programa com reset. 3.4 - Liga Rotação Sentido Horário - M03 Função usada para ligar eixo árvore no sentido horário. 3.5 - Liga Rotação Sentido Anti-Horário - M04 Função usada para ligar eixo árvore no sentido anti-horário. 3.6 - Desliga Rotação - M05 Função usada para desligar eixo árvore. 3.7 - Troca Automática de Ferramenta - M06 Função usada para troca automática de ferramentas. 3.8 - Liga Refrigeração - M07 Função usada para ligar refrigeração. 3.8 - Liga Bomba de Refrigeração - M08 Função usada para ligar bomba de refrigeração 3.10 - Desliga Bomba de Refrigeração - M09 Função usada para desligar bomba de refrigeração. 3.11 - Parada Orientada - M19 Função usada para efetuar uma parada orientada. 3.12 - Fim de Programa com Reset e Retorno ao Início - M30 Função usada para finalizar programa com reset e retorno ao início do mesmo. 3.13 - Eixo Árvore Auxiliar - M45 Função usada para comandar eixo árvore auxiliar. 3.14 - Libera POT F, POT S e Feed Hold - M48 Função usada para liberar o POT F, o POT S e o feed hold. 56 V1.00 MCS Engenharia Manual de Programação - CNC Proteo 3.15 - Fixa POT F, POT S em 100% e Bloqueia Feed Hold - M49 Função usada para fixar POT F e POT S em 100% e bloquear feed hold. 3.16 - Liga Velocidade de Corte Constante - M58 Função usada para ligar velocidade de conte constante. 3.17 - Desliga Velocidade de Corte Constante - M59 Função usada para desligar velocidade de conte constante. 3.18 - Liga Interpolação Spline - M70 (*em implementação) Função usada para ligar interpolação spline. 3.19 - Desliga Interpolação Spline - M71 (*em implementação) Função usada para desligar interpolação spline. 3.20 - Desabilita Gráfico - M75 Função usada para desabilitar gráfico. 3.21 - Habilita Gráfico - M76 Função usada para habilitar gráfico. 3.22 - Limpa Gráfico - M77 Função usada para reiniciar o gráfico. 3.23 - Inicia Modo Simulado / Retomada de Ciclo - M78 Função usada para iniciar o modo simulado / retomada de ciclo. 3.24 - Encerra Modo Simulado / Retomada de Ciclo - M79 Função usada para finalizar o modo simulado / retomada de ciclo. 3.25 - Origem Polar no Último Circulo - M80 Função usada para mudar a origem polar para o centro do último circulo. 3.26 - Origem Polar no Último Ponto Final- M81 Função usada para mudar a origem polar para o ponto final do último movimento. 3.27 - Desliga Movimento Rotativo pelo Menor Caminho - M82 Função usada para desligar movimento rotativo pelo menor caminho. 3.28 - Liga Movimento Rotativo pelo Menor Caminho - M83 Função usada para ligar movimento rotativo pelo menor caminho. 3.29 - Liga Compensação de Avanço em Círculos- M84 Função usada para ligar compensação de avanço em círculos. 3.30 - Desliga Compensação de Avanço em Círculos- M85 Função usada para desligar compensação de avanço em círculos. 3.31 - Para Calculo na Frente e Copia Ponto Real - M86 Função usada para calculo na frente e copiar ponto real. V1.00 57 Manual de Programação - CNC Proteo MCS Engenharia 3.32 - Para Calculo na Frente e Copia Ponto Teórico - M87 Função usada para calculo na frente e copiar ponto teórico. 3.33 - Escala de Avanço Normal - M88 Função usada para utilizar escala de avanço normal. 3.34 - Escala de Avanço x10 - M89 Função usada para utilizar escala de avanço x10. 3.35 - Desliga Compensação de Raio de Ferramenta - M90 Função usada para desligar compensação de raio de ferramenta (similar ao G40). 3.36 - Liga Compensação de Raio a Direita - M91 Função usada para ligar compensação de raio de ferramenta à direita (similar ao G42). 3.37 - Liga Compensação de Raio a esquerda - M92 Função usada para ligar compensação de raio de ferramenta à esquerda (similar ao G41). 3.38 - Liga Auto Inserção de Raios (Remédio ON) - M93 Função usada para ligar auto inserção de raios. 3.39 - Desliga Auto Inserção de Raios (Remédio OFF) - M94 Função usada para desligar auto inserção de raios. 3.40 - Posicionamento Relativo ao G53 - M95 Função usada para posicionamento relativo ao G53 3.41 - Transição Macia de Cantos - M96 Função usada para efetuar transição macia de cantos. 3.42 - Posicionamento Preciso - M97 Função usada para efetuar posicionamento preciso. 3.43 - Chama Último Ciclo Fixo - M98 Função usada para chamar último ciclo fixo. 3.44 - Final de Sub-rotina - M99 Função usada para indicar final de sub-rotina. 3.45 - Mach - Mode Enter - M100 Função usada para efetuar Mach – Mode enter. 3.46 - Normal ISO - Mode Enter - M101 Função usada para efetuar normal ISSO – Mode enter. 3.47 - Transição de avanço no Próximo Movimento- M102 Função usada para efetuar transição de avanço no próximo movimento. 58 V1.00 MCS Engenharia Manual de Programação - CNC Proteo 3.48 - Desliga Busca de 2 Intersecções - M103 Esta função é utilizada para finalizar a busca por 2 intersecções em um determinado perfil. Esta função é utilizada após a programação do perfil desejado 3.49 - Limites do Perfil - M104(*em implementação) Função usada para buscar limites de um determinado perfil programado. 3.50 - Desliga Busca de todas Intersecções - M105 Esta função é utilizada para finalizar a busca por todas as intersecções em um determinado perfil. Esta função é utilizada após a programação do perfil desejado. 3.51 - Liga Busca de todas Intersecções - M106 Esta função é utilizada para iniciar a busca por todas as intersecções em um determinado perfil. Numa altura previamente definida. Esta função é utilizada antes da programação do perfil desejado. Para o correto funcionamento desta função devemos programar os seguintes parâmetros: • • • • • • • H80 = sobremetal, somado ao raio da ferramenta. H81 = coordenada perpendicular ao sentido da intersecção (altura do corte), em mm e em relação ao zero peça. H82 = eixo da intersecção (corte), sinal define sentido de aproximação o +1 = X positivo , -1 = X negativo o +2 = Y/Z positivo , -2 = Y/Z negativo H83 = número de intersecções ignoradas. H84 = limite da cota paralela à intersecção (corte), em mm e em relação ao zero peça. H85 = máximo número de intersecções a serem buscadas. H86 = variável H inicial p/ resultados das intersecções. O resultado desta função é obtido a partir do H inicial definido no H86, e é definido da seguinte forma: • • • • • • • H inicial + 0 : número de intersecções encontradas (-1 = erro / caso tangente). H inicial + 1 : coordenada X inicial do perfil, em mm e em relação ao zero peça. H inicial + 2 : coordenada Y/Z inicial do perfil. H inicial + 3 : coordenada X final do perfil. H inicial + 4 : coordenada Y/Z final do perfil. H inicial + 5 : início das intersecções (coordenada X da 1a intersecção). H inicial + 6 : início das intersecções (coordenada Y/Z da 1a intersecção). Com isso o total de variáveis H usadas é: 5 + (num de intersecções * 2). V1.00 59 Manual de Programação - CNC Proteo MCS Engenharia 3.52 - Modo Puncionadeira (PUNCH ON) - M108 Função usada para utilizar o modo puncionadeira. 3.53 - Modo Normal (PUNCH OFF) - M109 Função usada para utilizar modo normal. 3.54 - Busca Limites do Perfil - M110 Função usada para buscar limites de um determinado perfil programado. 3.55 - Liga Busca de 2 Intersecções com Sobremetal - M111 Esta função é utilizada para iniciar a busca por 2 intersecções em um determinado perfil. Numa altura préviamente definida. Para o correto funcionamento desta função devemos programar os seguintes parâmetros: 3.56 - Liga Busca de 2 Intersecções sem Sobremetal - M112 Esta função é utilizada para iniciar a busca por 2 intersecções em um determinado perfil. Numa altura préviamente definida. Esta função é utilizada antes da programação do perfil desejado. Para o correto funcionamento desta função devemos programar os seguintes parâmetros: • • • • • H80 = sobremetal, somado ao raio da ferramenta. H81 = coordenada perpendicular ao sentido da intersecção (altura do corte), em mm e em relação ao zero peça. H82 = eixo da intersecção (corte), sinal define sentido de aproximação o +1 = X positivo , -1 = X negativo o +2 = Y/Z positivo , -2 = Y/Z negativo H83 = número de intersecções ignoradas. H84 = limite da cota paralela à intersecção (corte), em mm e em relação ao zero peça. O resultado desta função é armazenado nas seguintes variáveis: • • • • • H85 = coordenada X da 1a intersecção, em mm e em relação ao zero peça. H86 = coordenada Y/Z da 1a intersecção. H87 = coordenada X da 2a intersecção. H88 = coordenada Y/Z da 2a intersecção. H89 = número de intersecções encontradas (-1,0,1,2 ou 3) o -1 = erro na intersecção (caso tangente) o 3 = mais de 2 intersecções 3.57 - Habilita Tracking no Monitor de Corte - M113 Função usada para habilitar tracking no monitor de corte. 3.58 - Desabilita Traço G00 no Monitor de Corte - M114 Função usada para desabilitar traço G00 no monitor de corte. 60 V1.00