FB_HomingTouchProbe

Descrizione funzionale

Questo blocco funzione consente di portare un azionamento in posizione iniziale (homing) sul valore di cattura della posizione di un touchprobe. Questo tipo di homing è controllato dal controller (vedere MC_Home per homing controllato dall'azionamento).

L'ingresso Trigger specifica il fronte del segnale di cattura da rilevare (fronte di discesa o fronte di salita). La direzione del movimento al punto di origine è impostata all'ingresso Direction. L'ingresso MaxTravelDistance viene utilizzato per specificare una distanza massima per il movimento al punto di origine. Se il fronte del segnale di cattura non viene rilevato entro questa distanza, l'esecuzione del blocco funzione viene interrotta con un errore rilevato.

Il movimento al punto di origine viene avviato (ingressi Acceleration e Jerk) a una velocità costante (ingresso Velocity) nella direzione impostata all'ingresso Direction.

Quando viene rilevato il fronte specificato del segnale di cattura, il valore di posizione corrispondente viene impostato come posizione di origine. Il movimento decelera con il valore di decelerazione impostato all'ingresso Deceleration.

In base al valore dell’ingresso ReturnToZero, il movimento si arresta (FALSE) o continua fino al punto zero (TRUE).

Esempio 1 con le impostazioni di ingresso seguenti:

  • Direction: PositiveDirection

  • Trigger: RisingEdge

Movimenti:

Elemento

Movimento

1

Movimento al punto di origine (ricerca del fronte del segnale di cattura posizione).

2

Movimento verso il punto zero (se ReturnToZero è impostato su TRUE).

3

Movimento verso finecorsa (homing non riuscito).

Scenari:

Elemento

Scenario

A

Il movimento al punto di origine viene eseguito con un valore basso all'ingresso Velocity (1). Il fronte di salita viene rilevato e il movimento si arresta. Dopo il movimento al punto di origine, viene eseguito un movimento verso lo zero (2).

B

Il movimento al punto di origine viene eseguito con un valore alto all'ingresso Velocity (1). Il fronte di salita viene rilevato e il movimento si arresta. Dopo il movimento al punto di origine, viene eseguito un movimento verso lo zero (2).

C

Il movimento al punto di origine viene avviato dopo il fronte di salita e prima del fronte di discesa (1), ovvero al trigger. Il movimento viene arrestato dal finecorsa (3). Homing non riuscito perché il movimento al punto di origine non può essere avviato in una posizione tra il fronte di salita e il fronte di discesa.

D

Il movimento al punto di origine viene avviato dopo il fronte di discesa (1). Il movimento viene arrestato dal finecorsa (3). Homing non riuscito.

Esempio 2 con le impostazioni di ingresso seguenti:

  • Direction: PositiveDirection

  • Trigger: FallingEdge

Movimenti:

Elemento

Movimento

1

Movimento al punto di origine (ricerca del fronte del segnale di cattura posizione).

2

Movimento verso il punto zero (se ReturnToZero è impostato su TRUE).

3

Movimento verso finecorsa (homing non riuscito).

Scenari:

Elemento

Scenario

A

Viene eseguito il movimento al punto di origine (1). Il fronte di discesa viene rilevato e il movimento si arresta. Dopo il movimento al punto di origine, viene eseguito un movimento verso lo zero (2).

B

Il movimento al punto di origine viene avviato tra il fronte di salita e il fronte di discesa (1), ovvero al trigger. Il movimento viene arrestato dal finecorsa (3). Homing non riuscito perché il movimento al punto di origine non può essere avviato in una posizione tra il fronte di salita e il fronte di discesa.

C

Il movimento al punto di origine viene avviato dopo il fronte di discesa (1). Il movimento viene arrestato dal finecorsa (3). Homing non riuscito.

Il fronte del segnale di cattura della posizione viene rilevato tramite IDNs nella libreria. Questo implica un ritardo che dipende dalla frequenza con cui si deve chiamare il blocco funzione per il completamento. Se l'ingresso ReturnToZero è impostato su FALSE, il ritardo corrisponde alla distanza dal touchprobe dopo che l'uscita Done del blocco funzione viene impostata su TRUE.

Quando si avvia l'esecuzione del blocco funzione, la proprietà dell'asse IsHomed è impostata su FALSE. Dopo aver impostato l'ingresso HomePosition alla posizione dell'asse, la proprietà dell'asse IsHomed viene impostata su TRUE.

Se viene attivato un finecorsa hardware durante il movimento al punto di origine, l'esecuzione del blocco funzione viene interrotta con un errore rilevato (DriveInError).

Non è possibile avviare il blocco funzione come blocco funzione bufferizzato né eseguire un blocco funzione bufferizzato dopo l'esecuzione del blocco funzione.

Il blocco funzione può essere avviato quando l'asse è nello stato operativo PLCopen StandStill. Gli stati operativi PLCopen consentiti dopo l'esecuzione del blocco funzione sono Stopping, ErrorStop o StandStill.

Rappresentazione grafica

Ingressi

Ingresso

Tipo di dati

Descrizione

Axis

Axis_Ref

Riferimento all'asse per cui deve essere eseguito il blocco funzione.

Trigger

MC_Trigger_Ref

Riferimento alla sorgente di cattura della posizione dell'azionamento per cui deve essere eseguito il blocco funzione. Il blocco funzione rileva il fronte specificato del segnale di cattura e colloca l'asse in questo valore di posizione.

Valori possibili:

  • Valore FallingEdge

  • Valore RisingEdge

Se il valore non è valido, l'esecuzione del blocco funzione viene interrotta con un errore rilevato (InvalidCaptureSource).

Se l'origine di cattura della posizione specificata è in uso all'avvio del blocco funzione, l'esecuzione del blocco funzione viene interrotta con un errore rilevato (CaptureSourceAlreadyInUse).

Se il fronte specificato per il segnale di cattura della posizione non è valido, l'esecuzione del blocco funzione viene interrotta con un errore rilevato (InvalidCaptureEdge).

Se il trigger viene interrotto dal blocco funzione MC_AbortTrigger, l'esecuzione del blocco funzione viene interrotta con un errore rilevato (TriggerExternalAborted).

Execute

BOOL

Campo valori: FALSE, TRUE.

Valore predefinito: FALSE.

Un fronte di salita dell'ingresso Execute avvia il blocco funzione. Il blocco funzione continua a essere eseguito e l'uscita Busy è impostata a TRUE.

Un fronte di salita sull'ingresso Execute viene ignorato durante l'esecuzione del blocco funzione.

HomePosition

LREAL

Intervallo di valori: valore LREAL

Valore predefinito: 0

Posizione in unità definite dall'utente definita come posizione di origine quando viene rilevato il fronte specificato del segnale di cattura.

Se il valore è impostato a un valore al di fuori del campo modulo di un asse modulo, viene rilevato un errore (PositionOutsideModulo).

Se il valore è impostato a un valore al di fuori del campo di movimento consentito di un asse lineare, viene rilevato un errore (HomePositionOutsideLimits).

NOTA: Dopo il movimento al punto di origine, la posizione dell'asse non è identica alla posizione di origine rilevata a causa della decelerazione fino all'arresto (ingresso Deceleration dopo il rilevamento del fronte del segnale di cattura della posizione durante il movimento al punto di origine a velocità costante (Velocity)).

MaxTravelDistance

LREAL

Intervallo valori: Valore LREAL positivo o negativo

Valore predefinito: 0

Distanza massima in unità utente del movimento per la ricerca del fronte del segnale di cattura.

Comportamento:

  • Valore 0: l'esecuzione del blocco funzione viene interrotta con un errore rilevato (InvalidMaxTravelDistance).

  • Valore maggiore di 0: imposta la distanza di movimento massima coperta dal movimento al punto di origine. Se il fronte del segnale di cattura non viene rilevato entro questa distanza, l'esecuzione del blocco funzione viene interrotta con un errore rilevato (MaxTravelDistanceExceeded).

  • Valore inferiore a 0: disabilita il monitoraggio della distanza massima di movimento.

Velocity

LREAL

Intervallo valori: Valore LREAL positivo

Valore predefinito: 0

Valore della velocità in unità definite dall'utente per il movimento al punto di origine a velocità costante.

Se il valore è negativo o zero, l'esecuzione del blocco funzione viene interrotta con un errore rilevato (NonPositiveHomingVelocity).

Acceleration

LREAL

Intervallo valori: Valore LREAL positivo

Valore predefinito: 0

Valore dell'accelerazione in unità definite dall'utente per il movimento al punto di origine a velocità costante.

Se il valore è negativo o zero, l'esecuzione del blocco funzione viene interrotta con un errore rilevato (AccelerationOutOfRange).

Deceleration

LREAL

Intervallo valori: Valore LREAL positivo

Valore predefinito: 0

Valore della decelerazione in unità definite dall'utente per il movimento al punto di origine dopo il rilevamento del fronte del segnale di cattura.

Se il valore è negativo o zero, l'esecuzione del blocco funzione viene interrotta con un errore rilevato (DecelerationOutOfRange).

Jerk

LREAL

Intervallo valori: Valore LREAL positivo

Valore predefinito: 0

  • Valori positivi: limite jerk (in unità/s3) (jerk massimo con cui si modifica l'accelerazione).

  • Zero: limite jerk disattivato. L'accelerazione passa da zero al valore massimo (jerk infinito).

Direction

MC_Direction

Valore predefinito: PositiveDirection

Direzione del movimento al punto di origine.

Valori possibili:

  • Valore PositiveDirection

  • Valore NegativeDirection

Se il valore non è valido, l'esecuzione del blocco funzione viene interrotta con un errore rilevato (DirectionInvalid).

Per una descrizione dei valori, vedere MC_Direction.

ReturnToZero

BOOL

Campo valori: FALSE, TRUE.

Valore predefinito: FALSE.

TRUE: dopo l'impostazione della posizione di origine, il movimento continua alla posizione zero (corrispondente a un movimento con MC_MoveAbsolute alla posizione 0.0).

NOTA: Se il blocco funzione MC_SetPosition viene eseguito con ReturnToZero impostato su TRUE, continua il movimento al punto zero come calcolato in origine.

FALSE: non viene eseguito alcun movimento dopo l'impostazione della posizione di origine.

Lo stato operativo PLCopen rimane Homing per tutta la durata del movimento di ritorno allo zero.

Uscite

Uscita

Tipo di dati

Descrizione

Done

BOOL

Campo valori: FALSE, TRUE.

Valore predefinito: FALSE.

  • FALSE: l'esecuzione non è stata terminata o è stato rilevato un errore.

  • TRUE: esecuzione terminata senza errori rilevati.

Active

BOOL

Campo valori: FALSE, TRUE.

Valore predefinito: FALSE.

  • FALSE: il blocco funzione non controlla il movimento dell'asse.

  • TRUE: il blocco funzione controlla il movimento dell'asse.

CommandAborted

BOOL

Campo valori: FALSE, TRUE.

Valore predefinito: FALSE.

  • FALSE: l'esecuzione non è stata interrotta.

  • TRUE: l'esecuzione è stata interrotta da un altro blocco funzione.

Error

BOOL

Campo valori: FALSE, TRUE.

Valore predefinito: FALSE.

  • FALSE: il blocco funzione è in esecuzione, nessun errore è stato rilevato durante l'esecuzione.

  • TRUE: è stato rilevato un errore nell'esecuzione del blocco funzione.

ErrorID

ET_Result

Questa enumerazione fornisce informazioni diagnostiche.