Guia CNC Brasil - Tudo sobre CNC, Router, Laser, Torno e 3D Print

SOFTWARES => Controle => Mach 2/3 => Tópico iniciado por: matrix em 24 de Dezembro de 2012, 14:58

Título: VB mover eixo até input
Enviado por: matrix em 24 de Dezembro de 2012, 14:58
Ola a todos, antes de mais, e como a data deste post é 24 de dezembro, um bom natal para todos.

Preciso de criar um script VB em que um eixo se movimente em + ou - até uma entrada seja activada.

Caso tivesse uma cordenada seria exemplo:

code "x200"

mas eu quero que se mova sempre até uma entrada seja activada exemplo:

code "x+"
stop when input1=1

Alguma ideia.

obrigado
Título: Re:VB mover eixo até input
Enviado por: Eneias Eringer em 24 de Dezembro de 2012, 18:09
Por que nao usar o probe input que já funciona assim???
Título: Re:VB mover eixo até input
Enviado por: matrix em 25 de Dezembro de 2012, 09:00
Obrigado pela resposta,

Não sei como funciona o probe, de qualquer forma eu acho que estaria limitado apenas á entrada do probe, ou eu posso
usar mais alguma entrada ser ser a do probe?
Título: Re:VB mover eixo até input
Enviado por: F.Gilii em 26 de Dezembro de 2012, 07:24
Eu creio que tudo dependa do que voce quer fazer...

Dá para fazer praticamente qualquer coisa com VB + Mach3, mas lembre-se que é importante definir o que se deseja ou precisa para se criar a lógica da coisa toda.
Título: Re:VB mover eixo até input
Enviado por: matrix em 26 de Dezembro de 2012, 11:12
Fábio, tenho a perfeita noção que posso fazer tudo com VB, como sabe já tenho feito algumas coisitas, mas sempre com
a vossa ajuda, ou com ajuda de pesquiza na net, com algumas dicas dos comandos eu acho que consigo chegar lá.

Este post é para começar a tirar duvidas para um projecto que ainda está em mente, precisaria de um probe para medir a ferramenta e outro para medir a espessura do material a usinar.

Já tive a fazer a fazer uns teste com a entrada do probe, e acho que posso usar a mesma entrada para dois probes diferentes.

A minha duvida é, se por qualquer motivo não for possivel utilizar a mesma entrada (Probe) para os dois probes, será que posso
usar uma outra entrada para o efeito?
Título: Re:VB mover eixo até input
Enviado por: F.Gilii em 26 de Dezembro de 2012, 11:29
À princípio o Mach3 tem uma entrada (hard coded) que lê o que um probe está sinalizando.

O comando é G31 e pode ser usado em qualquer eixo (um de cada vez).

Já que os comandos são para leitura de ferramentas o melhor é usar os valores contidos em 3 variáveis do sistema - var(2000) p/ X, var(2001) p/ Y e var(2002) p/ o Z porque não se deve ler o valor contido nos DROs.

Um exemplo de código em VB seria:
Code "G31 Z-100.0 F200"
While IsMoving()
Wend
ZProbePos = GetVar(2002)

Como só tem uma entrada de probe, talvez o caminho seja fazer botões com funções distintas - um para ler a ferramenta e outro para ler a posição do material.
Título: Re:VB mover eixo até input
Enviado por: matrix em 26 de Dezembro de 2012, 12:08
Sim, se usar a mesma entrada, teria que ter duas macros diferentes.

Porque não se deve ler os valores contidos nas DROs?


Obrigado.
Título: Re:VB mover eixo até input
Enviado por: F.Gilii em 26 de Dezembro de 2012, 13:54
Porque não se deve ler os valores contidos nas DROs?
Quando se envia um eixo para fazer um contato (com um probe por exemplo) o movimento não se interrompe de imediato!

O eixo continua a se mover um pouco porque há um retardo desde o momento do contato até a atualização dos digitais.

Quando o contato é feito, o valor da dimensão é guardado na variável var# e caso haja necessidade de ter a medida deslocada real, deve-se usar estes valores e não dos DROs