Grazie del report Daniele.
In link metto il firmware ultimo in cui sono state sistemate le cose (anche zippando i file alla massima compressione non posso allegare):
https://www.dropbox.com/s/wrr95doe3tc3f ... 9.sfs?dl=0
https://www.dropbox.com/s/dbej5s405x6x3 ... 9.sfs?dl=0
Quando si riporta un problema è utile allegare anche una foto del pannello "Monitor scheda",
questo ci da modo di capire in che condizioni si è verificato un dato comportamento:
monitor_scheda.png
Eventualmente, tramite il menu "Aiuto->Richiesta di supporto via e-mail (
support@rosettacnc.com)" inviare un'email descrittiva
del problema allegando i contenuti della cartella:
%appdata%\RosettaCNC-1\machines\RosettaCNC
che contiene tutti i settaggi della macchina in uso (RosettaCNC è la machine di default), se se ne usa una diversa e custom allegare quella,
con l'aggiunta del file G che ha generato problemi.
Questo ci permetterà di eseguire un debug approfondito sul problema identificato dall'utente.
aiuto.png
Torniamo agli errori elencati.
Tutti gli errori che iniziano con la lettera
E sono errori rilevati dal compilatore di codice G.
Tutti gli errori che iniziano con la lettera
A sono errori rilevati dalla CNC e quindi dal firmware.
Gli errori in linea 0 sono errori relativi a quanto scritto nella macro "
start.ngc" che viene eseguita SEMPRE prima dell'esecuzione
del programma scritto o letto da file. Tramite la macro start è quindi possibile aggiungere delle operazioni iniziali, configurazioni di
default, azioni di default, da fare ogni volta che si esegue un programma.
Probabilmente hai un file "
start.ngc" molto vecchio e dovresti sostituirlo con quello seguente:
Codice: Seleziona tutto
;
; RosettaCNC (c) 2016-2020
;
; Name : start
; Sub UID : 1
; Version : 1
; Description : START command initializzations executed before the first line of the main program
; Note : this macro must use M99 exit call
; : TAKE CARE: following is only a skeleton macro sample
;
; Arguments:
; #1 is the restarting line, 0 if the program is starting from the beginning.
; #2 is the restarting canon cmd id, or 0 if the program is starting from the beginning.
;
O1
IF [#<cnc.compile.mode> EQ #<compile.mode_mdi>] THEN01
; place here instructions executed only when is STARTING form a MDI
END01
IF [#<cnc.compile.mode> EQ #<compile.mode_macro>] THEN01
; place here instructions executed only when is STARTING from a MACRO
END01
IF [#<cnc.compile.mode> EQ #<compile.mode_program> ] THEN01
; place here instructions executed only when is STARTING a new program
CALL P"FORCE_ALL_AVAILABLE_AXES_GROUPED"
; sets default modal modes
G17 G21 G40 G50 G67 G80 G90 G91.1 G94
M48 ; enable the feed rate and spindle speed override controls
G64 P0.1 Q0 ; set the toolpath control mode:
; - enable continous toolpath mode
; - enable 2000 look-ahead block manager
; - enable trajectory blending with Bezier curves with:
; P = 0.1 mm of trajectory deformation/blending tolerance
; Q = 0.0 mm of points removal threshold
G104 A0 D0 J100 ; set the maximum acceleration and deceleration along the trajectory during interpolated motion:
; A = 0 mm/s2 set the maximum acceleration along the trajectory during interpolated motion
; D = 0 mm/s2 set the maximum acceleration along the trajectory during interpolated motion
; J = 100% set the jerk control to accelerate immediately
END01
IF [#<cnc.compile.mode> EQ #<compile.mode_program_from_line>] THEN01
; place here instructions executed only when is STARTING from a line of the program
CALL P"FORCE_ALL_AVAILABLE_AXES_GROUPED"
END01
IF [#<cnc.compile.mode> EQ #<compile.mode_program_for_resume>] THEN01
; place here instructions executed only when is STARTING from a resume after a STOP
CALL P"FORCE_ALL_AVAILABLE_AXES_GROUPED"
END01
IF [#<cnc.compile.mode> EQ #<compile.mode_program_for_resume_from_line>] THEN01
; place here instructions executed only when is STARTING from a resume from line after a STOP
CALL P"FORCE_ALL_AVAILABLE_AXES_GROUPED"
END01
IF [#<cnc.compile.mode> EQ #<compile.mode_program_for_analysis>] THEN01
; place here instructions executed only when is ANALIZING a program
CALL P"FORCE_ALL_AVAILABLE_AXES_GROUPED"
; sets default modal modes
G17 G21 G40 G50 G67 G80 G90 G91.1 G94
M48 ; enable the feed rate and spindle speed override controls
G64 P0.1 Q0 ; set the toolpath control mode:
; - enable continous toolpath mode
; - enable 2000 look-ahead block manager
; - enable trajectory blending with Bezier curves with:
; P = 0.1 mm of trajectory deformation/blending tolerance
; Q = 0.0 mm of points removal threshold
G104 A0 D0 J100 ; set the maximum acceleration and deceleration along the trajectory during interpolated motion:
; A = 0 mm/s2 set the maximum acceleration along the trajectory during interpolated motion
; D = 0 mm/s2 set the maximum acceleration along the trajectory during interpolated motion
; J = 100% set the jerk control to accelerate immediately
END01
; place here instructions executed in every case
;
F100 ; sets default feed rate
M99
; This sub forces all the available axes to be grouped making customized grouped axes settings non persistent across compilations.
; It is not strictly needed since the compiler handle #5120 initialization using CNC settings when the parameter is NAN.
SUB"FORCE_ALL_AVAILABLE_AXES_GROUPED"
#<_axes_mask> = 0
IF [[#<cnc.x.type>] NE #<axis.type.disabled>] THEN #<_axes_mask> = [#<_axes_mask> + 1]
IF [[#<cnc.y.type>] NE #<axis.type.disabled>] THEN #<_axes_mask> = [#<_axes_mask> + 2]
IF [[#<cnc.z.type>] NE #<axis.type.disabled>] THEN #<_axes_mask> = [#<_axes_mask> + 4]
IF [[#<cnc.a.type>] NE #<axis.type.disabled>] THEN #<_axes_mask> = [#<_axes_mask> + 8]
IF [[#<cnc.b.type>] NE #<axis.type.disabled>] THEN #<_axes_mask> = [#<_axes_mask> + 16]
IF [[#<cnc.c.type>] NE #<axis.type.disabled>] THEN #<_axes_mask> = [#<_axes_mask> + 32]
G101 P#<_axes_mask>
ENDSUB
Ricordo che quando si installa un pacchetto questo mette nelle macchine le macro scritte in quel preciso momento storico.
Ogni volta che si aggiorna online, quindi non un pacchetto completo, non vengono sovrascritte le macro delle macchine esistenti
per non invalidare o modificare le cose attualmente funzionanti, MA in ogni caso le nuove macro scaricate dall'update vengono
messe in una cartella apposita affinchè sia l'utente finale in piena consapevolezza a decidere se aggiornare le macro di una
specifica macchina con le ultime pubblicate:
%appdata%\RosettaCNC-1\standard-machine-files
Per quanto riguarda la variazione OVR da te notificata ho fatto varie prove senza evidenziare alcun problema.
Sono ormai moltissimi i clienti che usano questa funzionalità e questa è la prima volta che mi viene segnalato un problema in questo
comparto.
Gli OVR in rosetta agiscono in modo diretto sull'interpolatore entrando direttamente nella gestione del look-ahead.
Il look-ahead è infatti quel modulo che si occupa di determinare, "collegare", aggiungere smoothing e resto per mantenere
corretta e costante la velocità interpolazione tra i vari blocchi di comandi.
Ogni variazione dell'OVR ricomporta una rianalisi dei dati in look-ahead.
Da test fatti con potenziometro su macchine in azienda tutto ha funzionato correttamente e in modo reattivo.
Chiaramente durante il cambio di velocità vengono applicate le rampe di accelerazione/decelerazione dei signoli assi come
risultante interpolata.
Faremo altri test in questi giorni.
F4000 è una velocità relativamente bassa.
Molti nostri clienti lavorano a F molto superiori con rapidi anche a 80-90 metri minuto.
Direi di provare con la versione firmware nei link e con la prossima che rilasceremo direttamente nella 1.9 dove l'interpolatore
è stato modificato moltissimo per supportare nuove funzionalità.
Il PC con RosettaCNC conta pochissimo in quanto è tutto fatto a scheda.
Di fatto il PC serve solo da interfaccia e per compilare il codice G che viene poi inviato alla scheda sotto forma di un nuovo linguaggio
da essa compreso.
Stay tuned!
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login