Skip to main content

Panoramica

Modalità buffer

Alcuni blocchi funzione hanno a BufferMode input che viene utilizzato per controllare l'ordine cronologico dei movimenti. La modalità buffer definisce se il blocco funzione funziona in modalità senza buffer ("Aborting", comportamento standard) o in modalità buffer ("Buffered"). La differenza tra queste due modalità è il momento in cui iniziano le loro azioni:

  • "Modalità non bufferizzata": Il comando di movimento ha effetto immediato, anche se questo interrompe un altro movimento. Il buffer dei movimenti comandati viene cancellato.

  • "Buffered Mode": il comando di movimento attende finché il blocco funzione corrente non imposta la sua uscita Done (O InPosition, O InVelocity, eccetera.). Le modalità buffer vengono utilizzate anche per definire come dovrebbe apparire la curva di velocità durante la transizione dei movimenti.

Tabella 38. L'ingresso BufferMode è un ENUM di tipo MC_BUFFER_MODE.

Aborting

Modalità predefinita senza buffering. Il blocco funzione si avvia immediatamente e interrompe un movimento attivo. Il comando ha effetto immediato sull'asse.

Buffered

Il blocco funzione si avvia non appena termina l'ultimo movimento comandato. Qui non avviene alcuna fusione. Il nuovo movimento inizia alla velocità che ha il movimento precedente quando viene raggiunta la condizione finale (Done, InVelocity, InEndVelocity, InGear, InSync, EndOfProfile, eccetera.). Se il movimento precedente fosse MC_MoveAbsolute O MC_MoveRelative, allora il nuovo movimento parte da fermo.

BlendingLow

Il blocco funzione si avvia non appena termina l'ultimo movimento comandato. L'asse non si ferma tra un movimento e l'altro, ma attraversa la posizione finale del primo movimento alla velocità inferiore dei due comandi di movimento.

BlendingPrevious

Il blocco funzione si avvia non appena termina l'ultimo movimento comandato. L'asse non si ferma tra un movimento e l'altro, ma attraversa la posizione finale del primo movimento alla velocità del primo comando di movimento.

BlendingNext

Il blocco funzione si avvia non appena termina l'ultimo movimento comandato. L'asse non si ferma tra un movimento e l'altro, ma attraversa la posizione finale del primo movimento alla velocità del secondo comando di movimento.

BlendingHigh

Il blocco funzione si avvia non appena termina l'ultimo movimento comandato. L'asse non si ferma tra un movimento e l'altro, ma attraversa la posizione finale del primo movimento alla velocità maggiore dei due comandi di movimento.



Blocchi funzione supportati

Tutti i blocchi funzione che possono essere specificati come comandi bufferizzati/combinati hanno i seguenti ingressi e uscite:

  • BufferMode ingresso (MC_BUFFER_MODE tipo)

  • Active produzione: (BOOL tipo)

Un comando viene accettato quando il blocco funzione passa allo stato Busy dopo che è stato comandato un nuovo movimento.

Blocco funzione

Può essere definito come un comando bufferizzato/miscelato

Può essere seguito da un comando bufferizzato/miscelato

Segnale rilevante per l'attivazione del successivo FB bufferizzato/miscelato

MC_Power

NO

NO

MC_Home

NO

NO

MC_Stop

NO

NO

MC_Halt

NO

NO

MC_MoveAbsolute

MC_MoveRelative

Done

MC_MoveAdditive

NO

SÌ (Buffered soltanto)

Done

MC_MoveSuperImposed

MC_HaltSuperImposed

NO

NO

Per ulteriori informazioni, vedere: Comportamento di MC_MoveSuperImposed e MC_HaltSuperImposed

MC_MoveVelocity

SÌ (Buffered soltanto)

InVelocity

SMC_MoveContinuousAbsolute

SMC_MoveContinuousRelative

NO

SÌ (Buffered soltanto)

InEndVelocity

MC_PositionProfile

MC_VelocityProfile

MC_AccelerationProfile

NO

SÌ (Buffered soltanto)

Done

MC_CamIn

Sì (solo Buffered e BlendingPrevious)

Sì, anche se periodico (solo Buffered)

EndOfProfile

MC_CamOut

NO

SÌ (Buffered soltanto)

Done

MC_GearIn

SÌ (BlendingPrevious soltanto)

SÌ (Buffered soltanto)

InGear

MC_GearOut

NO

SÌ (Buffered soltanto)

Done

MC_GearInPos

SÌ (BlendingPrevious soltanto)

SÌ (Buffered soltanto)

InSync

SMC_FollowPosition

SMC_FollowVelocity

SMC_FollowPositionVelocity

SMC_FollowSetValues

NO

NO

SMC_SetTorque

NO

NO

MC_Phasing

NO

NO

MC_Jog

SMC_Inch

NO

NO

Questi blocchi funzione non devono essere utilizzati quando i movimenti vengono comandati in modalità buffer Buffered O Blending*. Il jogging e i movimenti comandati potrebbero interrompersi a vicenda.

SMC_BacklashCompensation

NO

NO

SMC_TrackAxis

NO

NO

SMC_TrackSetValues

NO

NO

Nota per MC_GearInPos E MC_GearIn: Il comportamento di altre modalità buffer come BlendingPrevious è difficile da stabilire. Il problema principale è che la velocità di questi blocchi funzione può cambiare in qualsiasi momento a seconda dell'asse master. Perché la miscelazione funziona meglio solo quando la velocità di miscelazione è nota il più presto possibile BlendingPrevious è supportato.

In caso di BlendingPrevious, anche la direzione dell'asse master può cambiare in qualsiasi momento. Ciò significa che la direzione che dovrà avere l'asse slave per MC_GearInPos è nota solo al termine della fusione. Tuttavia, abbiamo bisogno di una direzione per il movimento di fusione proprio quando inizia la fusione. Ecco perché il primo movimento definisce sia la velocità di fusione che la direzione, indipendentemente dalla direzione definita dal successivo MC_GearIn(Pos).