@gino: ho provato a caricare il tuo G-Code su Mach4. Visualizza ed esegue una sola asola.
Mi fa piacere se una persona esperta in tanti sistemi, sopratutto CNC professionali, con @ginosempre x Gino: ho provato a caricarlo anche su CncUsb, e da errore in fase di caricamento.
valuta quanto sopra, come ho già detto l'esperienza e know di certe persone non hanno prezzo.
Ma tornando a noi io sto utilizzando l'ultima versione di Mach4 Industrial Demo, installata qualche settimana fa (domani verifico se esattamente l'ultima, casomai metto quella). L'ho installata e l'unica modifica fatta è stata mettere il sistema metrico ed impostare gli impulsi/velocità/accelerazioni per i 4 assi che mi interessano ed aumentato il numero di blocchi di LOOK-AHEAD da 20 a 1000. Come Demo è pienamente funzionale e limitata solo nel tempo d'esecuzione.
Prima cosa che ho notato con Mach4 e poi ho verificato anche con Mach3 ed è la stessa cosa, impostando tutti e quattro (oppure tre nella configurazione senza A) a 3000mm/min come velocità massima se eseguo il quadrato del codice nel video, anche aumentando l'escursione da X200 e Y200 a X400 e Y400 per essere SICURO di avere velocità costante per gran parte del tratto NON arrivo mai a velocità massima ma mi fermo a 2700mm/min.
Se abbasso la velocità massima a 2700mm/min non vado oltre a 2450mm/min.
Questo non è per niente una cosa normale, ma andiamo avanti ad altro.
Nel programma uso una SUB per creare 10 quadrati in G1.
Le SUB vengono "espanse" come se avessi scritto di seguito dieci G1 X.....
A questo punto il gioco si divide su due moduli: Look AHEAD e gestore raccordi.
Probabilmente @gino ha visto una sola asola perchè ha di default solo 20 blocchi di LOOK-AHEAD mentre io li ho portati a 1000 come di default in RosettaCNC. Potrei anche arrivare a 30.000 blocchi di LOOK-AHEAD ma abbiamo preferito fermarci a 1000 tanto per le lavorazioni sono più che sufficienti.
Il LOOK-AHEAD ha il compito, come dice il nome di "guardare avanti" nel programma G e far si che il profilo generato nell'istante attuale sia consapevole di cosa avviene dopo cercando quindi di ottimizzare la velocità finale.
Il secondo stadio, semplificando di molto, è quello che genera il percorso finale tenendo conto delle accelerazioni/spazio assi interpolati ed ottimizzato tramite la curva spline quadratica (bezier). I due lavorano in accordo. Se il primo è un po' miope invalida i risultati del secondo.
Lavorare su un buon equilibrio tra i due è fondamentale per avere un movimento quantomeno continuo e fluido, evitando strattonamenti alla meccanica per derivate di accelerazioni troppo elevate (jerk).
Provate ad aumentare il LOOK-AHEAD e dovrebbe fare almeno tre asole.
La cosa strana è che con 1000 step di look-ahead non dovrei MAI aver problemi di questo tipo, è una quantità di passi molto grande... BOH !!!
Per la CNCUSB non saprei, sa PLANET-CNC ha il simulatore domani provo.
RosettaCNC implementa un RS274D-v3 standardissimo, con qualche estensione per gestire le SUB e le uscite digitali e qualche altra cavolata che però nell'esempio non ho messo.
L'unica cosa che ho forzato sono il G64 (di default su RosettaCNC) ma non so su Mach, il fatto di aver forzato il G54 con le impostazioni degli assi via codice per non dover pasticciare con le fixture table ed eventualmente un M2 a fine programma necessario perchè Mach3/4 se non lo si mette non gli frega niente se era già messo prima del blocco sub ed esegue una sola chiamata della SUB e poi si ferma.