Associare routine g-code a pulsanti

Sezione dedicata a Linuxcnc
Rispondi
ross
Member
Member
Messaggi: 351
Iscritto il: mercoledì 3 agosto 2011, 23:16
Località: Macerata (MC)

Associare routine g-code a pulsanti

Messaggio da ross » sabato 16 marzo 2013, 11:44

Buongiorno a tutti,
con la pressione di un pulsante, esterno a linuxcnc o interno è indifferente, devo far eseguire un programma g-code.

Esempio della sequenza:
1)premo il pulsanteA per avviare il programma1 (alcune righe di g-code di inizio ciclo, sempre quelle in tutte le lavorazioni)
2)avvio un programma2 (la lavorazione vera e propria)
3)esecuzione del programma2
4)fine programma2
5)cambio il pezzo sulla macchina e premo il pulsanteB per far ripartire il programma2 oppure premo il pulsanteC per far partire il programma3 (alcune righe di g-code di fine ciclo, sempre quelle in tutte le lavorazioni)

Chi ha qualche info da passarmi o qualche link..?

Grazie.
Ross

bobwolf
Member
Member
Messaggi: 319
Iscritto il: mercoledì 15 novembre 2006, 0:35
Località: Pistoia

Re: Associare routine g-code a pulsanti

Messaggio da bobwolf » domenica 17 marzo 2013, 13:03

ciao

mi viene in mente un paio di cose che potresti usare

con questa crei il pin che puoi collegare ad un pin fisico o software
MDI_COMMAND = G53 G0 X0 Y0 Z0 - An MDI command can be executed by using halui.mdi-command-00. Increment the number for each command listed in the [HALUI] section.

al posto dei codici G dell'esempio puoi mettere un codice di richiamo di subroutine tipo "o<nomesub> call" ed in questa mettere tutto quello che ti pare
qui la spiegazione di come fare il file della subroutine
http://www.linuxcnc.org/docs/html/gcode ... ling_files
ciao

Roberto

"è più immorale il sesso o la guerra?"

ross
Member
Member
Messaggi: 351
Iscritto il: mercoledì 3 agosto 2011, 23:16
Località: Macerata (MC)

Re: Associare routine g-code a pulsanti

Messaggio da ross » domenica 17 marzo 2013, 14:34

Ciao
si, avevo letto le chiamate a files esterni o subroutine con il comando O però mi mancava il collegamento con l'halui ..mi metto subito al lavoro!

Grazie
Ross

ross
Member
Member
Messaggi: 351
Iscritto il: mercoledì 3 agosto 2011, 23:16
Località: Macerata (MC)

Re: Associare routine g-code a pulsanti

Messaggio da ross » domenica 17 marzo 2013, 14:40

Scopro solo ora che c'è anche qualche esempio nella wiki.
http://wiki.linuxcnc.org/cgi-bin/wiki.p ... DI_Buttons

Ross

ross
Member
Member
Messaggi: 351
Iscritto il: mercoledì 3 agosto 2011, 23:16
Località: Macerata (MC)

Re: Associare routine g-code a pulsanti - risolto

Messaggio da ross » domenica 17 marzo 2013, 16:08

OK, funziona!

Posto tutto il necessario da scrivere per associare un comando G (oppure un file .ngc come nel mio caso) ad un pulsante.

1)Creare il file nomedelfile.ngc da eseguire con la pressione del pulsante aggiunto iniziando con o<nomedelfile> sub e terminando con o<nomedelfile> endsub e poi M2 di fine programma. Esempio:

Codice: Seleziona tutto

 o<nomedelfile> sub
 (Filename: nomedelfile.ngc)
 (procedura pulsante)
 (Data: 16/03/2013)
 (Ora: 14:56:12)
 G21
 G40
 G90
 G94
 G64
 G17 (piano XY)
 G49
 M49
 G00 Z35.000
 G00 X1400.000 Y20.000
 G00 Z1.000
 M07
 G04 P10 (pausa di 10 sec)
 G00 Z35.000
 M09
 o<nomedelfile> endsub
 M02
2)Nel file .ini di configurazione, alla voce [DISPLAY] occorre vedere dove punta la variabile PROGRAM_PREFIX oppure SUBROUTINE_PATH (nel mio caso è PROGRAM_PREFIX = /home/ross/linuxcnc/nc_files ), il file nomedelfile.ngc va messo in quella cartella.

3)Sotto la voce [HALUI] del file .ini va inserito

Codice: Seleziona tutto

MDI_COMMAND = o<nomedelfile> call
e non si deve inserire l'estensione ".ngc" altrimenti da errore.

4)Ad ogni MDI_COMMAND = o<nomedelfile> call viene creato un pin hal halui.mdi-command-xx dove xx è un numero progressivo partendo da 00, per ogni riga comando MDI_COMMAND = .. si avrà  halui.mdi-command-00 halui.mdi-command-01 ecc..

5)Nel file custom_postgui.hal inserire i vari collegamenti tra il pulsante fisico su un pin della parallela oppure il pin virtuale del pannello pyvcp (se usate quello) e i pin hal halui.mdi-command-xx tramite il comando net

Codice: Seleziona tutto

net esegui-pulsante halui.mdi-command-01 pyvcp.pulsante-avvia
Grazie
Ross

Rispondi

Torna a “Linuxcnc”