Guia CNC Brasil - Tudo sobre CNC, Router, Laser, Torno e 3D Print
SOFTWARES => Controle => Mach 2/3 => Tópico iniciado por: Biosp em 02 de Maio de 2011, 01:05
-
Para não desviar o assunto do tópico sobre bobinadora do colega samuelluthier (http://www.guiacnc.com.br/index.php/topic,8479.30.html (http://www.guiacnc.com.br/index.php/topic,8479.30.html))resolvi abrir esse para postar minha pergunta;
O Colega minilathe escreveu esses códigos para o EMC ,
( Parâmetros do programa )
#1000 = 5000 ( total de espiras )
#1001 = 20.0 ( largura do carretel, mm )
#1002 = 0.200 ( bitola do fio, mm )
#1003 = 0.0000 ( posição inicial X, mm )
#1004 = 500 ( velocidade de avanço )
(=======================================================)
( Variáveis internas do programa )
#1010 = [#1001 / #1002] ( espiras por camada )
#1011 = [#1000 / #1010] ( camadas )
#1012 = [#1003 + #1001 ] ( posição final X, mm )
#1013 = #1010 ( contador de espiras )
#1014 = #1012 ( posição final do X da camada)
(=======================================================)
G00 X#1003 Y0 Z0
G92 A0
F#1004
O100 REPEAT[50]
G01 X#1014 A#1013
#1013 = [#1013 + 100]
O110 IF[#1014 EQ 0 ]
#1014 = 20.0
O110 ELSE
#1014 = 0.0
O110 ENDIF
O100 ENDREPEAT
M30
................... .Quero saber se é possível usar esse mesmo método ou algo do gênero com variáveis, no Mach3?
Obrigado,
Ivo
-
Sim - eu dei algumas sugestões do que pode ser feito para funcionar com o Mach3
-
Não encontrei a sua resposta sobre como colocar uma variável no código com o Mach, acho que não fiz a pergunta direito. Vou colocar de outra forma mais simplória o que quero saber se é possível e como fazer:
(Variáveis)
Var1=0
Var2=-1
Var3=90
Var4=0
Var5=5
_________
M3 S10000
G52 ZVar1
M98 P1 LVar5
M5
M30
O1
G0 XVar4 YVar4
Var1=Var1+Var2
G1 ZVar1 F750
G0 YVar3 XVar4
Var1=Var1+Var2
G1 ZVar1 F750
G0 YVar4 XVar4
M99
-
(variáveis)
#1=0
#2=-1
#3=90
#4=0
#5=5
_________
M3 S10000
G52 Z#0
M98 P1 L#5
M5
M30
O1
G0 X#4 Y#4
#1=#1=#2
G1 Z#1 F750
G0 Y#3 X#4
#1=#1+#2
G1 Z#1 F750
G0 Y#4 X#4
M99
-
Tô indo pra maquina testar, já volto! ;D
-
Talvez tenha que colocar certas variáveis de cálculos dentro de conchetees:
#1=[#1+#2]
-
Perfeito :)
Funcionou exatamente como eu queria.
Realmente o calculo tem que estar entre os colchetes
Valeu mestre, obrigado. ;)
-
Prezado Gilii,
Variáveis = Ok
E para fazer uma sub-rotina do tipo:
#1=0
#2=0.125
#3=-65
#4=0
#5=0
G00 X-60 Y7 Z5 F500
G00 Z0
N05
#4=[#4-#2]
G01 X0
G02 X0 Y-7 I0 J-7
G01 X-60
G00 Y7 Z#4
IF (#4 GT #3) goto n05
G00 X0.0 Y0.0 Z50
M30
como faço no mach3, já tentei de bastante!
Sem mais, desde já agradeço.
Walldemar
-
Waldemar,
O Mach3 não entende ( ou não aceita ) este tipo de condicional diretamente dentro de um arquivo em codigoG.
O que se poderia fazer é criar uma rotina como esta (ou parecida) dentro de uma macro e fazer a chamada desta macro dentro do arquivo de corte.
Eu alterei o formato da sua idéia para adaptá-lo ao formato que o interpretador de macros usa (Cyperss Basic) - veja como fica:
v2=0.125
v3=-65
v4=0
code "G00 X-60 Y7 Z5 F500"
code "G00 Z0"
For i=0 To v3
v4=(v4-v2)
code "G01 X0"
code "G02 X0 Y-7 I0 J-7"
code "G01 X-60"
code "G00 Y7 Z" & v4
Next i
code "G00 X0.0 Y0.0 Z50"
code "M30"
Se abrir o editor de macros, colar este código e rodar verá que sua rotina é executada.
Neste exemplo eu fiz os códigos todos dentro da macro e não só a condicional
-
Salve!
Valeu Gilii,
Vou testar e depois dou retorno.
Grande abraço!!!
Walldemar