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

SOFTWARES => Controle => Mach 2/3 => Tópico iniciado por: Bruno Gomes em 30 de Março de 2011, 08:21

Título: É possível criar novas funções "M" no Mach3
Enviado por: Bruno Gomes em 30 de Março de 2011, 08:21
Olá, é possível criar novas funções / códigos M. Ex. para abrir e fechar placa, avançar e recuar contra ponta, no Mach3 torno.
Se possível, como criar?
Obrigado.
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: mandiares em 30 de Março de 2011, 08:52
Criar novas eu não se se é possivel. O que eu sei que pode ser feito do Mach 3 é alterar as saidas dos sinais.

Ou seja, o comando que gera um sinal para ligar o spindle pode ser utilizado para energizar uma solenoide para abrir ou fechar uma valvula, p.ex.

M3, M4 e M5 são originariamente convencionados para ligar e desligar o spindle, mas podem  ser utilizados para outras tarefas.

Espero tê-lo ajudado
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: F.Gilii em 30 de Março de 2011, 09:14
Sim, é possível criar rotinas que são lidas e interpretadas pelo mach3 para operação de periféricos...
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: Bruno Gomes em 30 de Março de 2011, 18:59
Seria muito complicado criar essas rotinas que são lidas e interpretadas pelo mach3 para operação de periféricos...

Mais uma vez, obrigado pela ajuda...
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: F.Gilii em 30 de Março de 2011, 19:55
Bruno,

Não é complicado - é necessário saber o que voce quer ligar e tento te dar uma ajuda...

As macros são editáveis com um bloco de notas, e conhecendo-se os comandos que o Mach3 entende, se pode fazer qualquer coisa...
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: Bruno Gomes em 30 de Março de 2011, 21:13
F.Gilii, boa noite!

O que desejo acionar com funções M, são solenóides de válvulas, para placa pneumática e contra ponta.
No caso precisaria de 4 códigos M. Um para fechar outro para abrir a placa e mais um para avançar e o último para recuar o contra ponta.
Gostaria também de saber se esses macros também podem apenas monitorar uma torre de ferramentas...
A lógica de giro bidirecional da torre seria feita por um pequeno clp, talvez o modelo click da Weg.
Então o que quero saber é se o mach consegue enviar um sinal para o número da ferramenta ex. T01D01, esse sinal informaria o clp para qual posição ele deve fazer o giro e indexar o disco da torre. E se o mach consegue receber um sinal de clp, dizendo que a torre ja esta indexada na posição e pode preceguir com a usinagem.
Bom talvez isso que eu queira fazer seja um pouco mais complexo. Não vou fazer a torre logo, isso seria um projeto futuro, mas gostaria de estudar o assunto.
Obrigado pelas dicas...
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: F.Gilii em 31 de Março de 2011, 08:29
Bruno,

Dá pra fazer tudo isso sim...

O Mach3 pode usar uma segunda porta paralela e pode configutar todos os 17 pinos disponíveis para entradas ou saídas de sinais caso os pinos de entrada da primeira porta LPT nãosejam suficientes...

No caso das macros, voce pode ter quantas macros quiser contanto que respeite algumas regras de nomeação e de sintaxe.

Então por exemplo, se eu quero uma macro para avançar o contra ponto, posso escrever um comando simples como este exemplo:
ActivateSignal (output#6)

Supondo que eu tenha uma eletroválvula ou solenoide ligado na saída #6 do Mach3 (que será um determinado pino de saída da porta LPT), este será acionado quando o interpretador ler o comando.

As macros podem também conter comandos em código-G ou seja, pode-se executar rotinas de movimentos dos eixos independentemente dos arquivos de corte, como por exemplo executar movimentos preparatórios para levar o magazine para a posiçãode troca de ferramentas...

Se o seu CLP funcionar com comunicação ModBus, poderá fazer com que o Mach3 converse diretamente com seu CLP...
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: F.Gilii em 31 de Março de 2011, 08:31
Este é um exemplo de macro para funcionar com um dispositivo modbus:

Código: [Selecionar]
' Macro To interface To ModIO/TC
'
' The Mach3 Modbus interface should be configured:
' ModIO Checkbox NOT checked
' First line of AutoPolling Input not checked - No inputs can go to Ports
' and Pins
' Second line of Inputs Checked, Slave = x, Start Regs = 1200, # Regs = 3
' First line of Autopolling Output not checked - no output Ports & Pins
' Second line of Output Slave = x, Start Regs = 1100, # Regs = 2

' This macro should be used with M990 in the Mach3 Init string. This is needed
' to synchronisethe Initiation flag values in ModIO and Mach3.
' M999 must be called after a ModIO reset too.

Option Explicit ' requires declarations

Dim tool As Integer
Dim ChangesCalled As Integer
Dim Dummy As Integer

Dim ChangesWere  As Integer ' value before this request
Dim ChangerCount As Integer ' value returned from the ModIO
 

Dim ErrNo as Integer

Const ChangerCurrPos  = 64 ' Inputs  1200 Current tool
Const ChangerCountReg = 65 ' 1201 Change done indicator - this is the
' same as 1101 when done
Const ChangerErrCode  = 66 ' 1202 Error code reply if problems

Const ChangerReqPos   = 64 ' Outputs 1100
Const ChangerInitReg  = 65 ' 1101 initiates a change when made different
' to 1201

Const CallDRONo = 1080


' This just keeps count of the number of changes done
ChangesCalled = GetUserDRO (CallDRONo) ' what we think is current
ChangesCalled = ChangesCalled + 1
SetUserDRO CallDRONo, ChangesCalled ' remember new value in Mach3



' Now lets kick the ModIO/TC
tool = GetSelectedTool() ' what tool does user want

SetModOutput ChangerCurrPos, tool ' output requested tool number

ChangesWere = GetInput (ChangerCountReg) ' read current ChangerCountReg

SetModOutput ChangerInitReg, ChangesWere+1 ' initiate the turret change

ChangerCount = ChangesWere ' How many does it think is has done so far

While (ChangesWere = ChangerCount) And (GetInput (ChangerErrCode) = 0)
' not failed or finished
Sleep(50)
ChangerCount = GetInput (ChangerCountReg)
Wend ' loop until changer tells is it done something

If GetInput (ChangerErrCode) <> 0 Then
ErrNo = GetInput (ChangerErrCode)
Message "Toolchanger raised error " & ErrNo
Code "M0" ' chuck it all in.
' *** Must be a better solution here
Else
Message "Tool changed " & ChangesCalled & " times"
End If

     SetCurrentTool GetInput (ChangerCurrPos)

SetModOutput ChangerCurrPos, 0 ' Clear tool number incase the Mach3 and
' ModIO initiate counters get out of step
' when we might get a spurious change

   
' end of Toolchanger macro
 
' *** Note M6End.M1S should be empty
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: Bruno Gomes em 31 de Março de 2011, 14:33
Muito obrigado pelas informações...
Me ajudou muito.
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: ismael em 13 de Abril de 2011, 20:26
Boa noite.

Estava dando uma olhada neste topico, e preciso acionar uma valvula pneumatica para liberar fluido para furar aluminio, quando o Z avança liberaria o fluido alguem ja usou para furar aluminio. Hoje uso M3 para ligar o Spindle e M5 para desligar como poderia fazer para acionar uma valvula somente quando avança o Z e quando esta usinando ? Pelo que eu vi da para usar o M4 e para desligar usaria qual ? Qual configuração necessaria ?

Abraço Ismael. 
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: F.Gilii em 13 de Abril de 2011, 20:43
Use o sinal de direção do eixo "Z"
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: ismael em 13 de Abril de 2011, 21:14
Fgilli.

Estou usando a placa da pede aquela com Charge Pump, e a saida esta ligada ao drive do servo, teria que usar um rele que esta na placa da pede, tenho como fazer isso com o pino de direção do Z ?

Abraço
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: F.Gilii em 14 de Abril de 2011, 08:38
Ismael,

O mais fácil é fazer uma cirurgia na placa, fazendo um jumper na parte de baixo da BOB onde tem a tomada centronics, entre o pino de direção do eixo Z e o pino de acionamento do relé desejado.

Tem como fazer no Mach3 usando o Brain, mas estou sem tempo no momento - assim que der eu vejo como se pode fazer isso.
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: ismael em 16 de Abril de 2011, 18:43
Fgilli.

A respeito da saida, se eu fizer isso toda vez que eu avançar o Z ira liberar o fluido de corte.
Eu não tenho como usar um M7 para ligar por exemplo output 4 e M9 para desligar, ai so colocar no programa quando quero ligar e desligar, ou não tem como fazer isso ?
Tem que fazer muitas configurações para isso ?

Abraço
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: F.Gilii em 16 de Abril de 2011, 19:33
A respeito da saida, se eu fizer isso toda vez que eu avançar o Z ira liberar o fluido de corte.
Sim - foi o que voce pediu...

Citar
Eu não tenho como usar um M7 para ligar por exemplo output 4 e M9 para desligar, ai so colocar no programa quando quero ligar e desligar, ou não tem como fazer isso ?
Claro que tem - normalmente se usa M7 ou M8 - desliga com M9
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: ismael em 16 de Abril de 2011, 19:37
Fgilli

Mas tem que configurar alguma saida ?

ABraço.
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: F.Gilii em 16 de Abril de 2011, 19:49
Mas tem que configurar alguma saida ?
Claro!
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: ismael em 16 de Abril de 2011, 20:30
Fgilli.

Como seria essa configuração ?

Abraço
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: F.Gilii em 16 de Abril de 2011, 20:57
Como seria essa configuração ?
Da mesma maneira que se configura um relé para ligar/desligar um spindle...

No mach3, há uma tela para isso:
(http://www.guiacnc.com.br/w2box/data/Fabio%20Gilii/Mach3/rel%E9s.PNG)

Claro que precisa indicar o pino e a porta que deseja usar (na aba "Sinais de Saídas")
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: ismael em 17 de Abril de 2011, 13:28
Fgilli

Como ficaria no programa, tem um exemplo ? Tem que colocar qual saida eu quero que acione no output4 ?

Abraço
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: ismael em 19 de Abril de 2011, 20:04
Fgilli.

Vc tem algum exemplo de um programa usando por exemplo M7 e M9 ?

Abraço
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: F.Gilii em 20 de Abril de 2011, 17:57
(Sample Program M08EX7:)
(Workpiece Size: X4, Y3, Z1)
(Tool: Tool #2, 1/4" Slot Drill)
(Tool Start Position: X0, Y0, Z1)

N2 G90 G80 G40 G54 G20 G17 G50 G94 G64 (safety block)
N5 G90 G20
N10 M06 T2 G43 H2
N15 M03 S1200
N20 M08 (Coolant on)
N25 G00 X1 Y1
N30 Z0.1
N35 G01 Z-.25 F5
N40 X3 F20
N45 Y2
N50 X1
N55 Y1
N60 G00 Z1
N65 M09 (Coolant off)
N70 G00 X0 Y0
N75 M05
N80 M30
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: Bruno Gomes em 20 de Outubro de 2011, 08:52
F.Gilii, bom dia.
Por gentileza, poderia me exclarecer uma dúvida?
Eu preciso fazer uma função "M" para abrir uma placa pneumática, para isso o sinal de saida tem que ficar ativo por 3 segundos e depois se desligar.
Estou com a seguinte função na macro:

ActivateSignal (output7)
DeactivateSiganl (output7)

Sei que a primeira linha faz ligar a saida 7, mas qual função eu edito para ficar com o tempo de 3 segundos??
E logo depois o mesmo pino se desliga.

Obrigado
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: F.Gilii em 20 de Outubro de 2011, 10:22
A sintaxe pode ser assim:
Código: [Selecionar]
ActivateSignal (output7)
Code "G04 P3"
DeactivateSignal (output7)
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: robedany em 20 de Outubro de 2011, 11:46
Saudações mestre Gilli
Aproveitando as consultas gostaria de saber como é feito.
Tenho uma rotina de corte dema peça de 10 x 20 mm.
Como é feito a rotina para ser cortada varias vezes.
Tem de fazer varias vezes a mesma rotina mudando o X e Y ou existe uma subroti,na ou um modo de somar uma variael na posição X e Y.

Grato
Roberto
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: sergio nowakowski em 20 de Outubro de 2011, 12:45
Gilli, vou precisar da tua ajuda pois preciso fazer algo bem semelhante ao do nosso amigo Bruno. Já encomendei a clp, só falta chegar.
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: sergio nowakowski em 20 de Outubro de 2011, 14:04
Saudações mestre Gilli
Aproveitando as consultas gostaria de saber como é feito.
Tenho uma rotina de corte dema peça de 10 x 20 mm.
Como é feito a rotina para ser cortada varias vezes.
Tem de fazer varias vezes a mesma rotina mudando o X e Y ou existe uma subroti,na ou um modo de somar uma variael na posição X e Y.

Grato
Roberto


Roberto, dá uma olhada aqui e vê se é isso que precisas.

http://www.guiacnc.com.br/index.php/topic,9977.0.html (http://www.guiacnc.com.br/index.php/topic,9977.0.html)
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: robedany em 20 de Outubro de 2011, 16:39
Oi Sergio
Ja vi a subrotina, mas ela faz o corte no mesmo lugar.
O que procurava  como seria possivel por exemplo fazer 20 peças iguais na mesma chapa com separação de 2mm entre elas
Sei que pode fazer o desenho e gerar o gcode, mas a quantidade de linhas é bem grande,
Usando subrotina seria bem menor o programa.

Roberto
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: marc0 em 20 de Outubro de 2011, 17:13
Ja vi a subrotina, mas ela faz o corte no mesmo lugar.

Não exatamente! Existe algumas maneiras de repetir o corte em locais diferentes.
 Vc pode usar uma sub-rotina para produzir os mesmos movimentos em coordenadas de origem diferentes.
Veja:
http://www.guiacnc.com.br/index.php/topic,5985.msg110337.html#msg110337 (http://www.guiacnc.com.br/index.php/topic,5985.msg110337.html#msg110337)
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: robedany em 20 de Outubro de 2011, 18:13
Caro professor Marcomartin
è isso mesmo que estava procurando e vc. pagou o "pato"
Desculpe por não ter procurado muito, é que a visão anda ruim e até para ler no computador ta dificil.
Mas agora vou estudar um pouco o programa e tentar entender.
Eu também programei muito em basic num PDP-11 da Digital e tenho alguma noção para "pegar o pato!. hi

Abração e obrigado Roberto
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: Bruno Gomes em 20 de Outubro de 2011, 18:34
 F.Gilii

ActivateSignal (output7)
Code "G04 P3"
DeactivateSignal (output7)

Ja tentei, mas não funciona, o mach executa o dwell de 3 segundos, mas não ativa nem desativa o pino de saida.
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: F.Gilii em 20 de Outubro de 2011, 18:49
Testei aqui e funciona normalmente

Configurou a porta de saída no output que deseja?
Título: Re:É possível criar novas funções "M" no Mach3
Enviado por: eletron system em 29 de Janeiro de 2015, 18:59
Olá, Essa é a minha primeira pergunta aqui no fórum, estou fazendo a eletrônica de uma maquina CNC com uma torre rotacional de 6 ferramentas antiga, e gostaria de substituir o software da mesma pelo mach3, tenho uma torre com seis ferramentas e ela tem internamente uma chave rotacional NA (normalmente aberta) que informa em qual ferramenta está posicionada, montei uma interface com microcontrolador que faz com que a mesma para na ferramenta na posição que necessito, estou utilizando duas logica para identificar a ferramenta, a primeira há 6 botões onde aperto o numero, e para na ferramenta chamada, a outra maneira que acabei utilizando é usando dois pinos da porta paralela que movimenta os eixos dos motores uso o da direção para ativar um contador interno do microcontrolador, e o step para gerar a quantidade de pulsos necessários, onde a interface entende qual ferramenta foi chamada.
Minha pergunta é se teria como eu acionar por exemplo a output#1 quando chamar a a ferramenta 1 (M6 T0101), output#2 para ferramenta 2 e assim por diante ? e se eu ao chegar na ferramenta eu usar uma input#1 para falar informar ao mach3 que a ferramenta chegou e que ele podesse seguir a rotina de codigos (g-code) ? pois necessito dos pinos dos motores, pois minha maquina tem 6 eixos, X,Y e Z para movimentos, A e B rotacional, C motor da torre de ferramenta e o Splinde.