Hat Inserito: 22 ore fa Segnala Inserito: 22 ore fa Ciao a tutti, sto sviluppando un'applicazione in cui devo gestire un profilo di camma elettronica. Vi descrivo la mia configurazione e il problema che sto riscontrando. Configurazione attuale Assi: Sia il Master che lo Slave sono assi rotativi con modulo a 360° Rapporto: Il rapporto è 1:1 (un giro del master corrisponde a un giro dello Slave tramite il profilo di camma) Fasatura: Per esigenze meccaniche, il profilo dello Slave deve essere sfasato di 142° rispetto al master Il problema: Sincronizzazione al volo (senza ciclo di rincorsa) Attualmente utilizzo la modalità SyncProfileReference = 1. In questo modo l'applicazione funziona, ma il sistema impiega un intero giro di Master per completare la rincorsa ed entrare in sincronia. Il mio obiettivo è far partire il master con lo slave già agganciato in camma, evitando di perdere il primo ciclo di lavoro. Per eliminare questo ciclo di rincorsa, sto provando a passare a SyncProfileReference = 2, ma senza successo: Utilizzo la funzione MC_GetCamFollowingValue per calcolare la posizione teorica in cui deve trovarsi lo Slave in base alla posizione attuale del Master. Pre-posiziono lo slave in quella coordinata esatta. Attivo l'input Execute del blocco MC_CamIn. Fatto questo, quando il master si avvia, lo slave parte disallineato. Mi ritrovo con un errore di sfasamento (offset errato rispetto al master) oppure con il profilo di camma che risulta traslato sullo Slave. Qualcuno ha già affrontato questo problema con SyncProfileReference = 2 e sa indicarmi dove sto sbagliando? Vi allego l'immagine del profilo di camma, e del funzionamento (corretto) al netto del ciclo di sincronizzazione.
84paolo Inserita: 19 ore fa Segnala Inserita: 19 ore fa (modificato) io ho sviluppato poco tempo fa un'applicazione esattamente uguale alla tua. ho il syncprofilereference a 2. L'unica differenza è che per sfasare lo slave sul master(in questo caso un encoder) ho fatto un asse virtuale agganciato un gear sfasato. Sinceramente non ho capito il valore master start distance a 360 Su master sync position metti la posizione attuale del master e lo slave lo posizioni con un absolute al valore calcolato dalla funzione getcamfollowingvalue Poi se devi sfasare lo slave non ho capito perchè hai messo l'offset sul master??? Modificato: 19 ore fa da 84paolo
Hat Inserita: 3 ore fa Autore Segnala Inserita: 3 ore fa Il valore start distance a 360 l'avevo messo per dare tempo (spazio) allo slave di entrare in sync mentre sono in modalità syncprofilereference a 1, senza che ci fossero accelerazioni eccessive. Ora ho trovato la quadra anche con syncprofilereference a 2. La chiave era appunto crearmi un master virtuale agganciato a sua volta al master reale per potermi gestire lo sfasamento desiderato rispetto al master. Ti ringrazio per l'input che mi hai dato.
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora