Clube CNC Brasil

Softwares => Mach 2 e 3 => Tópico iniciado por: natascha em 12/07/11 - 14:43

Título: GCode + VBScript
Enviado 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
Título: Re:GCode + VBScript
Enviado por: fgilii em 12/07/11 - 15:42
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
Título: Re:GCode + VBScript
Enviado por: fgilii em 12/07/11 - 15:46
Voce nao tem permissao p/ ver este link. Registre-se ou faca Login

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...
Título: Re:GCode + VBScript
Enviado por: natascha em 12/07/11 - 15:55
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
Título: Re:GCode + VBScript
Enviado por: fgilii em 12/07/11 - 16:01
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
Título: Re:GCode + VBScript
Enviado por: natascha em 12/07/11 - 16:06
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
Título: Re:GCode + VBScript
Enviado por: Mac_RC em 12/07/11 - 18:13
Voce nao tem permissao p/ ver este link. Registre-se ou faca Login
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
Título: Re:GCode + VBScript
Enviado por: Pravato em 12/07/11 - 19:31
KKKKKKKKKKKKKKKKKKK
Título: Re:GCode + VBScript
Enviado por: fgilii em 13/07/11 - 18:45
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... ;)
Título: Re:GCode + VBScript
Enviado por: Pravato em 13/07/11 - 19:55
Voce nao tem permissao p/ ver este link. Registre-se ou faca Login
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
Título: Re:GCode + VBScript
Enviado por: Mac_RC em 14/07/11 - 10:22
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
Título: Re:GCode + VBScript
Enviado por: natascha em 14/07/11 - 10:53
Eu estava falando certo!  :P
Título: Re:GCode + VBScript
Enviado por: fgilii em 14/07/11 - 13:52
Voce nao tem permissao p/ ver este link. Registre-se ou faca Login
Eu estava falando certo!  :P
E eu também ;)
Título: Re:GCode + VBScript
Enviado por: Pravato em 14/07/11 - 18:20
Voce nao tem permissao p/ ver este link. Registre-se ou faca Login
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
Título: Re:GCode + VBScript
Enviado por: Mac_RC em 14/07/11 - 19:13
Voce nao tem permissao p/ ver este link. Registre-se ou faca Login
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
Título: Re:GCode + VBScript
Enviado por: Pravato em 14/07/11 - 19:27
É 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
Título: Re:GCode + VBScript
Enviado por: natascha em 19/07/11 - 16:25
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