Piccola MACRO

Sezione dedicata a Mach3
Rispondi
SakoTRG
Member
Member
Messaggi: 247
Iscritto il: sabato 16 dicembre 2017, 19:44
Località: Cambiago

Piccola MACRO

Messaggio da SakoTRG » martedì 7 maggio 2024, 11:38

Ciao Ragazzi,

volevo creare una piccolissima Macro dove gli spostamenti sono i seguenti:

G0Z5 si alza in Z di 5 mm
G0x3 si sposta in X di +3mm
G0Y3 si sposta in Y di +3mm
G0Z-5 si abbassa in Z di -5mm

Nella linea di Imput G-code inserissi G0Z5X3Y3Z-5 dovrebbe eseguire i 4 comandi tutti insieme giusto?

Avatar utente
hellfire39
God
God
Messaggi: 3426
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Piccola MACRO

Messaggio da hellfire39 » martedì 7 maggio 2024, 12:13

Se vuoi fare movimenti separati, un asse per volta, devi mettere i comandi su righe separate.
Se scrivi
G0 X3 Y5 Z6
stai chiedendo di andare dalla posizione corrente alla posizione x=3 y=5 z=6 seguendo una linea retta
chiaramente non puoi mettere due valori diversi della stessa coordinata (Z5, Z-5)

Ricorda che ogni riga esegue un movimento

SakoTRG
Member
Member
Messaggi: 247
Iscritto il: sabato 16 dicembre 2017, 19:44
Località: Cambiago

Re: Piccola MACRO

Messaggio da SakoTRG » martedì 7 maggio 2024, 12:56

ah ok capito Grazie

torn24
God
God
Messaggi: 5097
Iscritto il: venerdì 1 febbraio 2008, 11:28
Località: Modena

Re: Piccola MACRO

Messaggio da torn24 » mercoledì 8 maggio 2024, 8:32

Penso che in Mach3 la macro è una funzione M personalizzata. Poi una volta creata la puoi usare nei tuoi programmi pezzo.
Se ti interessa l'argomenti ti do alcune spiegazioni.


Se ad esempio, in un file di testo scrivi i tuoi comandi in questo modo.

code "G0Z5 "
While (IsMoving()) ' la parte while-wend serve per attendere che finisca lo spostamento asse prima di proseguire.
sleep (100)
Wend
code "G0x3"
While (IsMoving())
sleep (100)
Wend
code "G0Y3"
While (IsMoving())
sleep (100)
Wend
code "G0Z-5"
While (IsMoving())
sleep (100)
Wend


Poi salvi il file con un nome M e estensione .m1s, esempio M1000.m1s, lo metti nella cartella macro. Dopo in MDI scrivi M1000 e esegue i movimenti in successione.
CIAO A TUTTI !

Avatar utente
hellfire39
God
God
Messaggi: 3426
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Piccola MACRO

Messaggio da hellfire39 » mercoledì 8 maggio 2024, 10:34

Penso che tutti quei

While (IsMoving())
sleep (100)
Wend

siano inutili. Non stai aspettando un evento esterno come un sensore,
metti i comandi in coda:

Code "G00 Z1"
Code "G00 X3"
Code "G00 Y3"

e saranno eseguiti uno dopo l'altro.

Rispondi

Torna a “Mach3”