Skip to main content

Previsione

La funzione di previsione può essere utilizzata per interrogare informazioni sul movimento futuro di un asse. Un'importante applicazione della previsione è determinare il tempo fino al raggiungimento di una posizione (simile alla funzionalità di attivazione). Un'altra applicazione è determinare la posizione e la velocità che avrà un asse in un dato momento. In questo modo è possibile compensare i tempi morti all'accensione degli attuatori, ad esempio quando viene acceso un ugello di incollaggio. Può anche essere utilizzato per controllare con precisione attuatori con tempi morti, ad esempio controllare l'uscita di incollaggio in base alla velocità dell'asse 100 ms nel futuro

Per implementare queste applicazioni è possibile utilizzare il file SMC_GetTravelTime E SMC_ReadSetValues blocchi funzione dopo aver configurato la durata della previsione con SMC_SetForecast.

Per un esempio di utilizzo, vedere: Previsione per movimenti ad asse singolo

Blocchi funzione di movimento con funzionalità di previsione

Tabella 39. La seguente panoramica mostra quali blocchi funzione supportano la funzione di previsione.

Blocco funzione

Previsione

MC_Home

--

MC_Stop

MC_Halt

MC_MoveAbsolute

MC_MoveRelative

MC_MoveAdditive

MC_MoveSuperimposed

MC_HaltSuperimposed

MC_MoveVelocity

SMC_MoveContinuousAbsolute

SMC_MoveContinuousRelative

MC_PositionProfile

MC_VelocityProfile

MC_AccelerationProfile

--

MC_CamIn

MC_CamOut

MC_GearIn

MC_GearOut

MC_GearInPos

SMC_FollowPosition

SMC_FollowVelocity

SMC_FollowPositionVelocity

SMC_FollowSetValues

--

SMC_SetTorque

--

MC_Phasing

MC_Jog

SMC_Inch

SMC_BacklashCompensation



Abilitazione della funzione di previsione

La funzione di previsione è disabilitata per impostazione predefinita. Ciò significa che SMC_ReadSetValues restituisce valori validi solo per a TimeOffset tra 0 s (inizio del ciclo del task corrente) e l'intervallo del task (fine del ciclo del task corrente), e SMC_GetTravelTime restituisce un tempo valido solo per le posizioni raggiunte in questo ciclo.

IL SMC_SetForecast Il blocco funzione viene utilizzato per configurare la durata della previsione richiesta e il SMC_GetForecast il blocco funzione viene utilizzato per leggere.

Appunti:

  • La durata della previsione può essere modificata in qualsiasi momento.

  • Evitare una durata della previsione inutilmente lunga poiché il calcolo della previsione consuma tempo di elaborazione. Seleziona il valore più piccolo sufficiente per la tua applicazione.

  • Se si utilizzano blocchi funzione master/slave (come MC_CamIn), allora la previsione deve essere abilitata sia per l'asse master che per l'asse slave.

Chiama ordine

Affinché la funzione di previsione produca i migliori risultati possibili, è importante assicurarsi che i blocchi funzione master/slave vengano richiamati nell'ordine corretto. Questo vale per MC_CamIn, MC_GearIn, MC_GearInPos, MC_Phasing, SMC_BacklashCompensation, E SMC_TrackAxis. Il blocco funzione di movimento dell'asse master deve essere richiamato prima del blocco funzione master/slave.

Anche senza previsione, la traiettoria è migliore quando l’ordine delle chiamate è corretto. Quando l'ordine è sbagliato, il movimento dello slave viene ritardato di un ciclo.

Per MC_SetOverride, questo blocco funzione deve essere richiamato anche prima dei blocchi funzione di movimento dell'asse. Modificando l'override, il movimento dell'asse viene modificato nello stesso ciclo del task. Di conseguenza i valori precedentemente determinati in base alle previsioni perdono la loro validità. Saranno determinati di nuovo la prossima volta SMC_GetTravelTime O SMC_ReadSetValues è chiamato.

Modalità buffer

La funzione di previsione non è limitata a un singolo movimento. Si estende anche a tutti i movimenti successivi comandati in modalità blending o buffered buffer.

Quando viene eseguito un movimento di interruzione su un asse, viene modificato il movimento dell'asse in questo ciclo del task. Di conseguenza i valori precedentemente determinati in base alle previsioni perdono la loro validità. Saranno determinati di nuovo la prossima volta SMC_GetTravelTime O SMC_ReadSetValues è chiamato.

Previsioni/restrizioni efficaci

Idealmente, la durata effettiva della previsione disponibile è uguale alla durata della previsione configurata. Tuttavia, ci sono alcuni fattori che possono far sì che la previsione effettiva sia più breve della previsione configurata.

  • Quando viene eseguito un movimento master/slave, la previsione effettiva dello slave è il minimo tra la previsione effettiva del master e la previsione configurata dello slave.

  • Per gli assi logici e gli assi encoder, la previsione effettiva è sempre 0.

  • Se il blocco funzione di movimento attivo non supporta la funzione di previsione, anche la previsione effettiva sarà 0.

In tutti gli altri casi, la previsione effettiva è la stessa della previsione configurata.