Clube CNC Brasil

Registre-se ou faça seu Login e tenha acesso a todas as fotos e anexos de nosso Clube.



Autor Tópico: GCode + VBScript  (Lida 4275 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

Offline Pravato

  • Ouro
  • *
  • Mensagens: 1937
  • Total Likes: +7/-0
  • Topic Likes: +0/-0
  • Sexo: Masculino
  • Marau-RS/Ribeirão Preto-SP
  • Sexo: Masculino
Re:GCode + VBScript
« Resposta #15 Online: 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
Pravato
Voce nao tem permissao p/ ver este link. Registre-se ou faca Login

Clube CNC Brasil

Re:GCode + VBScript
« Resposta #15 Online: 14/07/11 - 19:27 »

Offline natascha

  • Madeira
  • *
  • Mensagens: 16
  • Total Likes: +0/-0
  • Topic Likes: +0/-0
  • Sexo: Feminino
Re:GCode + VBScript
« Resposta #16 Online: 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

Natascha
@nshgeek

Clube CNC Brasil

Re:GCode + VBScript
« Resposta #16 Online: 19/07/11 - 16:25 »

 

SiteLock