Istruzioni di controllo flusso programma su MK1/2/3

Sezione dedicata ai controlli di Planet Cnc MK1, MK2, MK2/4, MK3, MK3/4
Rispondi
tecno67
Member
Member
Messaggi: 391
Iscritto il: lunedì 26 febbraio 2007, 14:25
Località: Prov. di Milano

Istruzioni di controllo flusso programma su MK1/2/3

Messaggio da tecno67 » giovedì 23 novembre 2017, 17:36

Buongiorno!
In questi giorni sto cercando di scrivere un po di routine di utilità in G-code col SW di Planet Cnc. Solo nel manuale non ho trovato una descrizione della sintassi dei comandi di controllo del flusso di programma. I vari Goto, Gosub, if then, loop, gestione salti, definizione etichette e pure circa le funzioni matematiche, operatori logici ecc. Trovo solo la descrizione dei codici G, M ed N.
Qualcuno mi sa indicare qualche riferimento, purché specifico proprio del SW Planet Cnc? In rete ho trovato qualcosa, ma la sintassi non esattamente quella. Ad esempio se inserisco un While, me lo accetta solo se preceduto da una etichetta. Le variabili non è possibile definirle letterali ma solo nella forma #xx.

Vi ringrazio in anticipo.

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

Re: Istruzioni di controllo flusso programma su MK1/2/3

Messaggio da torn24 » venerdì 24 novembre 2017, 9:12

Non conosco il programma in questione, quindi non ti posso essere di aiuto specifico. Però posso farti notare che controlli come Mach3 e Colibri, mettono a disposizione solo le variabili e le funzioni matematiche, e non esistono istruzioni condizionali e di salto e i cicli. Solo per farti notare che forse anche questo controllo usa questa strada.
CIAO A TUTTI !

Avatar utente
Pedro
God
God
Messaggi: 7067
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: Istruzioni di controllo flusso programma su MK1/2/3

Messaggio da Pedro » venerdì 24 novembre 2017, 9:39

facciamo ordine: il g-code nasce come un linguaggio per programmazione macchina. E' un vero e proprio linguaggio con la sua sintassi specifica e anche una logica che ha le sue proprie regole: ad esempio, dal sito della planet

https://planet-cnc.com/using-homing-pro ... -software/

si vede nell'esempio a metà pagina una forma di sintassi dove ci sono i while e gli if.

Essendo un linguaggio occorrerebbe studiarselo con un testo specifico, come si fa sul C o sul Python. I creatori del software cnc assumono che si sappia di cosa si parla tralasciando di dover fare manuali specifici sul g-code. Che poi ci siano "dialetti" particolari per specifiche machine è anche una cosa comune a tutti i linguaggi. Ma in rete si trovano tutorial e video sulla programmazione gcode, non posto link ma basta avere google

Diverso è il poter scrivere macro in linguaggi come vbasic o lua o pyton, non so se planet può farlo ma mach3 e 4 che conosco possono, anche kmotion può essere programmato in c++ ad esempio.
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

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

Re: Istruzioni di controllo flusso programma su MK1/2/3

Messaggio da torn24 » venerdì 24 novembre 2017, 10:44

Faccio una considerazione, in ambito cnc professionale, un controllo numerico può disporre di un linguaggio macro, cosi controlli come Fanuc,Mitsubishi ecc.. questi linguaggi sono più orientali alla LAVORAZIONE DEL PEZZO, anche se possono gestire anche delle funzioni macchina, ossia integrando il Gcode, linguaggio ISO, permettono lavorazioni più complesse.
I controlli "amatoriali" come Mach3 e Colibri, questi linguaggi sono implementati solo in parte, come ho detto sono disponibili variabili e funzioni matematiche stile FANUC, che comunque permettono di incrementare la possibilità di lavorazione.
I linguaggi di script , come Vbscript per Mach3, sono più per uso generale e per gestione macchina, infatti non si può inserire direttamente in un programma pezzo questi script, e vengono usati per lo più per gestire la macchina, anche se possono essere usati con fatica per programmi pezzo, creando ad esempio in mach3 codice M personalizzati.

Dall'esempio postato da pedro, il tuo controllo dispone di tutte le strutture condizionali particolari "non sono identiche a cnc professionali", ecco che in questo caso, è una mancanza non avere una minima documentazione a riguardo.
CIAO A TUTTI !

Avatar utente
Pedro
God
God
Messaggi: 7067
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: Istruzioni di controllo flusso programma su MK1/2/3

Messaggio da Pedro » venerdì 24 novembre 2017, 10:52

giusta osservazione, ma come in tantissimi campi dove entra l'informatica ogni produttore poi la canta e la suona come vuole, apposta dicevo che esistono vari dialetti. Vero anche che da quando nacque il g code, ormai tanto tempo fa, le tecnologie delle macchine sono aumentate come i pluri assi e non in ultimo addirittura le stampe 3d che usano anche loro i g code per fare quel che fanno comprese le regolazioni delle temperature. Un buon libro per chi vuole immergersi nel mondo della programmazione aiuterebbe comunque
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

safe60
Senior
Senior
Messaggi: 741
Iscritto il: venerdì 29 maggio 2009, 8:43
Località: Ferrara
Contatta:

Re: Istruzioni di controllo flusso programma su MK1/2/3

Messaggio da safe60 » venerdì 24 novembre 2017, 13:43

Volendo, c'e' "Fanuc CNC Custom Macros" di Peter Smid che mi risulta essere l'unico titolo specifico per la programmazione delle macro.
E' orientato al mondo Fanuc ma penso sia utile anche per i vari dialetti da esso derivati.
Ex arduis perpetuum nomen.

tecno67
Member
Member
Messaggi: 391
Iscritto il: lunedì 26 febbraio 2007, 14:25
Località: Prov. di Milano

Re: Istruzioni di controllo flusso programma su MK1/2/3

Messaggio da tecno67 » giovedì 7 dicembre 2017, 20:11

Ringrazio tutti per le risposte. Nel link qui sotto ho trovato quello che cercavo. Lo allego per gli altri utenti interessati.

http://www.machinekit.io/docs/gcode/ove ... Parameters

Rispondi

Torna a “Planet Cnc”