Clube CNC Brasil
Softwares => Mach 2 e 3 => Tópico iniciado por: natascha em 12/07/11 - 14:43
-
Olá pessoal! Este é minha primeira dúvida, e sou iniciante no assunto, portanto me dêem um desconto ;)
Bom, é o seguinte:
Fui fazer meu primeiro GCode, o qual terá alguns comandos repetidos. Ao pesquisar como fazer looping em GCode, achei um tutorial bacana de TurboCNC e fiz, massss, descobri que não serve para o Mach3 (ex.: usei declaração de variável com #, por exemplo).
Então, vi que o Mach tem editor VB Script, e fiz o algoritmo. Masss outro problema: ao fazer checagem deu erro nos códigos G.
Minha dúvida é se no VBScript uso o GCode em sua forma normal, porque não estou achando muitas coisas na Internet no que se refere a como colocar o deslocamento das coordenadas em VBScript para interpretação do Mach.
Outra coisa, montei minha tela no Mach3 Screen e quando coloco código G (simplezinho) no botão e depois vou testar (carregando a tela *.set no Mach, claro) não faz nada, tem alguma configuração especial para a tela montada no Mach3Screen rodar certinho no Mach3?
Obrigada!!
Natascha
-
Natascha,
O Mach3 tem uma série de comandos dele, mas que podem ser usados com VBscript.
Veja aqui algumas dicas.
http://www.machsupport.com/MachCustomizeWiki/pdfs/VB-Script-Commands.pdf (http://www.machsupport.com/MachCustomizeWiki/pdfs/VB-Script-Commands.pdf)
Aqui encontrará uma série de funções específicas do Mach3:
http://www.machsupport.com/forum/index.php?action=dlattach;topic=12730.0;attach=18221 (http://www.machsupport.com/forum/index.php?action=dlattach;topic=12730.0;attach=18221)
E aqui as páginas do Wiki do Mach3:
http://www.machsupport.com/MachCustomizeWiki/index.php?title=Main_Page (http://www.machsupport.com/MachCustomizeWiki/index.php?title=Main_Page)
Se precisar de alguma coisa, sou representante do Mach3 para o Brasil e talvez possa te ajudar.
Fabio Gilii
-
Outra coisa, montei minha tela no Mach3 Screen e quando coloco código G (simplezinho) no botão e depois vou testar (carregando a tela *.set no Mach, claro) não faz nada, tem alguma configuração especial para a tela montada no Mach3Screen rodar certinho no Mach3?
Creio que nessa nova tela voce precise inserir um comando "Jog On/Off" e também um comando "RESET" - ambos são funções internas do Mach3...
-
Olá Fábio, obrigada por responder e bacana ter alguém representante do Mach3 para auxiliar.
Esse primeiro link que postou eu já havia visto antes de postar o tópico - é uma apostila de Visual Basic, não tem nada específico para Mach, CNC ou algo do tipo. Inclusive, quem aprender VB para Mach com essa apostila se tornará capaz de desenvolver software em Visual Basic.
Já o segundo link sim, começou a ficar detalhado! :D
Agradeço o link do Wiki também. Tentarei a sugestão dada sobre o Match3Screen.
Qual é a pronuncia correta do software? Algo como "Match" ou "Mac"? ???
Muito obrigada!
Natascha
-
Natascha,
Na verdade o Mach3 usa uma versão de VB da "Cypress", e o documento foi escrito tento em vista o Mach3 especificamente, mas como é uma softwarehouse séria, o conteúdo do documento serve muito bem para outras funções...
Este primeiro documento pode ser usado em conjunto com o segundo, e foi por isso que eu o enviei ;)
Olha, eu creio que a pronúncia certa de "Mach3" é "Metx3" (pronuncie como se lê)
Fabio Gilii
-
Comentei da apostila porque já programei Visual Basic e é idêntico!
Já consultei a 2ª apostila, alterei o código conforme a mesma e o editor do Mach3 validou :D
Só falta testar no simulador.
Então, eu estava dizendo "Metx", mas o pessoal da Ferramentaria fala "Mec", aí achei que estava falando bobagem rs.
Olha só, depois de 4 mensagens me tornei membro "madeira"! hehe
Natascha
-
Então, eu estava dizendo "Metx", mas o pessoal da Ferramentaria fala "Mec", aí achei que estava falando bobagem rs.
Natascha,
Com certeza é MAC ... melhor, Mac_RC ... rsrsrs ;D
-
KKKKKKKKKKKKKKKKKKK
-
Natascha,
Não liga não - esses dois aí - Mac e Pravato quando se juntam é só besteira...
Continua pronunciando do jeito que voce achar melhor e boas... ;)
-
Natascha,
Não liga não - esses dois aí - Mac e Pravato quando se juntam é só besteira...
Continua pronunciando do jeito que voce achar melhor e boas... ;)
Agora vou rir da sua resposta,antes eu ri foi da resposta do Mac,KKKKKKKKKKKKKKKKKKK
Abraços
PS:contei os K's,pra nao puxar pra lado nenhum,são 19 pros dois... ;D
-
Pravato,
Vc não tem que rir não ... a má companhia aqui é vc, eu sou um Santo ! ... ?_13
Por isto que minha mãe sempre falou p/ eu nunca andar com más companhias ... ?_39
Mas a pronuncia certa esta aqui: http://translate.google.com.br/translate_t?hl=pt-PT&rlz=1C1AVSA_enBR424BR424&biw=1024&bih=645&q=match3&gs_sm=s&gs_upl=4489l4850l0l6826l2l2l0l0l0l1l365l715l3-2l2&um=1&ie=UTF-8&sa=N&tab=wT (http://translate.google.com.br/translate_t?hl=pt-PT&rlz=1C1AVSA_enBR424BR424&biw=1024&bih=645&q=match3&gs_sm=s&gs_upl=4489l4850l0l6826l2l2l0l0l0l1l365l715l3-2l2&um=1&ie=UTF-8&sa=N&tab=wT)
Clica em ouvir ... rsrsrs ?_46
-
Eu estava falando certo! :P
-
Eu estava falando certo! :P
E eu também ;)
-
Pravato,
Vc não tem que rir não ... a má companhia aqui é vc, eu sou um Santo ! ... ?_13
Por isto que minha mãe sempre falou p/ eu nunca andar com más companhias ... ?_39
Fala assim não,isso deve ser porque cheguei depois,mas isso da Vossa mãe falar,eu tambem ouvia da minha,ainda ouço de vez em quando,agora pergunto:Dever ter uma cartilha de mãe,pois estou vendo que elas falam sempre a mesma coisa.hihihhihihihihi
Abraços
-
Fala assim não,isso deve ser porque cheguei depois,mas isso da Vossa mãe falar,eu tambem ouvia da minha,ainda ouço de vez em quando,agora pergunto:Dever ter uma cartilha de mãe,pois estou vendo que elas falam sempre a mesma coisa.hihihhihihihihi
Abraços
Pior é que a gente nunca ouve, no entanto saímos repetindo p/ nossos filhos, que também não nos ouvem e assim caminha a humanidade .... ehehehe ;D
Mas não tem pobrema, nós vai se comportemos direitinho daqui pra frente... ?_23 ?_35
-
É bem assim mesmo,mas fazer o que?Se não ouvimos não podemos esperar que nos ouçam...Eu ainda não vi bananeira dar outra fruta.RSRSRSRSRSRSRSRS
Abraxx
-
Pessoal, voltando ao assunto.... fiz o codigo em VB Script usando o Jog, recomendado aqui no fórum e alimentei no MachScreen no meu botão. Ao executar, ele rodou o script, perguntando os valores das coordenadas bonitinho, mas não exibe a simulação!
Meu código coloquei lá ao final...: ?_23
Coloquei "F" (fator de avanço) e o editor VBScriptou não validou! Não é suportado?
Outra coisa, parti para VBScript porque no CNC Simulator dava erro quando encontrava um #. Hoje conversando com uma pessoa que programa em G a mesma me disse que é normal criar variaveis com #, que é universal do GCode - mas então o CNC simulator não deveria aceitar?
Obrigada!
Segue GCode e VBScript.....
G00 G21 G28 G60 (POSICIONAMENTO RAPIDO - UNIDADE MILIMETRO - HOME DOS EIXOS - POSICIONAMENTO EXATO FINO)
G90 X0 Y0 Z0 (POSICIONAMENTO ABSOLUTO)
#1 = 0 (CONTADOR Y)
N3
N4 IF #1 LT 10 M97 N6 (10 FILEIRAS NO EIXO Y)
N5 #2 = 0 (CONTADOR X)
(COMECA LOOPING)
N7 G01 G91 X28 F12 (POSIC. INCREMENTAL)
G01 G91 Z-50 F12 (POSIC. INCREMENTAL)
M07 (DOSA RESINA)
G01 G91 Z50 F12 (POSIC. INCREMENTAL)
#2 = #2+1 (ALIMENTA CONTADOR)
IF #2 LT 10 (10 FILEIRAS NO EIXO X)
N13 M98 O7 (LOOPING X DE DOSAGEM)
N14 M97 N16 (CONTINUA, SAI DO LOOPING)
(FIM LOOPING)
N16 G01 G91 Y28 F12 (POSIC. INCREMENTAL)
#1 = #1 + 1 (CONTADOR Y)
P1000 (PAUSA DE 1 SEG ANTES DE IR PARA PROXIMA FILEIRA)
G0 G90 X0 (RETORNA PARA INICIO DA NOVA FILEIRA Y NO INICIO X - POSIC. ABSOLUTO)
N20
G90 X0 Y0 Z0 (ZERAGEM DOS EIXOS)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Sub Main
Code ("G00 G21")
Code ("G28")
Code ("G60")
Code ("G90 X0 Y0 Z0")
Dim limx, limy, passox, passoy, passoz, paradosa, cont As Integer
Dim var, erro
Dim vetor (6) As Integer
Dim descvetor(6) As String
descvetor(0) = "quantidade de passos em x:"
descvetor(1) = "quantidade de passos em y:"
descvetor(2) = "medida do passo de x (mm):"
descvetor(3) = "medida do passo de y (mm):"
descvetor(4) = "medida do passo de z (mm):"
descvetor(5) = "altura z de encerramento de dosagem: (mm)"
For cont=0 To 5
While (vetor(cont) = 0 Or IsNumeric(vetor(cont)) = FALSE)
vetor(cont) = InputBox ("Informe "&descvetor(cont))
Wend
Next
var = Dosadora (vetor(0), vetor(1), vetor(2), vetor(3), vetor(4), vetor(5))
Code ("G90 X0 Y0 Z0")
End Sub
Function Dosadora (limx, limy, passox, passoy, passoz, paradosa)
Dim varx, vary As Integer
Dim posz As Double
vary = 0 'Seta variavel y
While vary < limy
varx = 0 'Seta variavel x
While varx < limx 'Se x < limite, continua no looping
JogOn (0, 0) 'Inicia movimentacao positiva eixo x
Code ("G01 G91 X"&passox) 'Desolca em x
JogOff(0) 'Para movimentacao eixo x
JogOn (2, 1) 'Inicia movimentacao negativa eixo z
Code ("G01 G91 Z-"&passoz) 'Desloca negativo em z
JogOff (2) 'Para movimentacao eixo x
Code ("M07") 'Inicia dosagem
JogOn (2, 0) 'Inicia movimentacao positiva eixo z
Code ("G01 G91 Z"&passoz) 'Desloca positivo em z
posz = GetParam(ZMachine) 'Coleta posicao atual eixo Z
If posz = paradosa Then 'Verifica posicao atual eixo z
Code ("M07") 'Para Dosagem quando z = -10
End If
varx = varx+1 'Soma 1 ao contador y
JogOff (2) 'Para movimentacao eixo z
Wend
Code ("P1000") 'Pausa de 01 segundo
JogOn (1, 0) 'Inicia movimentacao positiva eixo y
Code ("G01 G91 Y"&passoy) 'Desloca em y
JogOff (1) 'Para movimentacao eixo x
Code ("G01 G91 X-"&(limx*passox)) 'Retorna ao inicio da placa
vary = vary+1 'Soma 1 ao contador y
Sleep (2000) 'Pausa 2 segundos e muda fileira
Wend
End Function