FB_HomingDigitalInput

Descrizione funzionale

Questo blocco funzione consente di portare al punto di origine un azionamento in un interruttore di riferimento. Questo tipo di homing è controllato dal controller (vedere MC_Home per homing controllato dall'azionamento).

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

L'ingresso MaxTravelDistance viene utilizzato per specificare una distanza massima per il movimento al punto di origine. Se l'interruttore di riferimento non viene rilevato entro questa distanza, l'esecuzione del blocco funzione viene interrotta con un errore rilevato.

Quando viene rilevato il fronte di salita dell'interruttore di riferimento, la velocità viene impostata all'ingresso LowVelocity (decelerazione specificata all'ingresso Deceleration). La direzione di questo secondo movimento dipende dal valore all'ingresso HomingMode (direzione inversa o stessa direzione). Quando viene rilevato il fronte di discesa dell'interruttore di riferimento, l'ingresso HomePosition viene impostato al valore della posizione dell'asse e l'asse si arresta seguendo la decelerazione specificata all'ingresso Deceleration. La posizione di fermo è diversa da HomePosition della distanza coperta durante la decelerazione.

In base al valore dell'ingresso ReturnToZero, viene eseguito un movimento al punto zero (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 solo quando l'asse è nello stato operativo PLCopen StandStill. Gli stati operativi PLCopen consentiti dopo l'esecuzione del blocco funzione sono Stopping, ErrorStop o StandStill.

Esempio 1:

Impostazioni di ingresso:

  • Direction: PositiveDirection

  • ReturnToZero: False

  • HomingMode: FastNoReverseSlowSetpositionStop

Movimenti:

  • 1: movimento con HighVelocity al fronte di salita dell'interruttore di riferimento e successiva decelerazione a LowVelocity.

  • 2: movimento nella stessa direzione con LowVelocity al fronte di discesa dell'interruttore di riferimento. HomePosition è impostato.

Se viene rilevato il fronte di discesa, ma il valore della velocità è ancora maggiore del valore all'ingresso LowVelocity (ossia la distanza tra il fronte di salita e quello di discesa non è sufficiente per decelerare da HighVelocity a LowVelocity), viene avviato un movimento nella direzione opposta alla ricerca del fronte di salita dopo il completamento della decelerazione a LowVelocity. Quando viene rilevato il fronte di salita, la direzione del movimento viene invertita di nuovo e il movimento continua fino al rilevamento del fronte di discesa. HomePosition è impostato.

Esempio 2:

Impostazioni di ingresso:

  • Direction: PositiveDirection

  • ReturnToZero: False

  • HomingMode: FastReverseSlowSetpositionStop

Movimenti:

  • 1: movimento con HighVelocity al fronte di salita dell'interruttore di riferimento e successiva decelerazione a LowVelocity.

  • 2: movimento inverso con LowVelocity. HomePosition è impostato.

Rappresentazione grafica

Ingressi

Ingresso

Tipo di dati

Descrizione

Axis

Axis_Ref

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

Se il blocco funzione viene avviato per un asse di feedback, l'esecuzione del blocco funzione viene interrotta con un errore rilevato (NotSupportedWithFeedbackAxis).

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.

Se si tenta di eseguire il blocco funzione mentre è in esecuzione un altro blocco funzione, viene rilevato un errore (AxisNotInStandstill).

HomePosition

LREAL

Intervallo di valori: valore LREAL

Valore predefinito: 0

Posizione in unità definite dall'utente, impostata come posizione dell'asse quando il fronte di discesa del segnale dell'interruttore di riferimento viene rilevato in LowVelocity.

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).

MaxTravelDistance

LREAL

Intervallo valori: Valore LREAL positivo o negativo

Valore predefinito: 0

Distanza massima in unità definite dall’utente del movimento per la ricerca del fronte di salita del segnale dell'interruttore di riferimento.

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 di salita del segnale dell'interruttore di riferimento 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.

HighVelocity

LREAL

Intervallo valori: Valore LREAL positivo

Valore predefinito: 0

Valore della velocità in unità definite dall'utente per il movimento al punto di origine verso l'interruttore di riferimento fino al rilevamento del segnale.

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

LowVelocity

LREAL

Intervallo valori: Valore LREAL positivo

Valore predefinito: 0

Valore della velocità in unità definite dall'utente per il movimento di allontanamento dall’interruttore di riferimento dopo il rilevamento del fronte di salita.

Se il valore non è un valore LREAL positivo, 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 verso l'interruttore di riferimento (HighVelocity) e per il movimento di allontanamento dall'interruttore di riferimento (LowVelocity).

Se il valore è zero o negativo, 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 segnale dell'interruttore di riferimento (HighVelocity) e per il movimento di allontanamento dall'interruttore di riferimento (LowVelocity).

Se il valore è zero o negativo, 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.

ReferenceSwitch

BOOL

Campo valori: FALSE, TRUE.

Valore predefinito: FALSE.

Questo ingresso indica se il movimento al punto di origine ha raggiunto l'interruttore di riferimento.

TRUE: il movimento al punto di origine ha raggiunto l'interruttore di riferimento.

FALSE: il movimento al punto di origine non ha raggiunto l'interruttore di riferimento.

HomingMode

MC_HomingMode

Questo tipo di dati è un alias dell'enumerazione ET_HomingMode della libreria MotionInterface. Consente di specificare se il movimento lento con LowVelocity dopo il movimento rapido con HighVelocity viene eseguito o meno con direzione inversa.

Valori possibili:

  • valore FastReverseSlowSetpositionStop

  • valore FastNoReverseSlowSetpositionStop

ReturnToZero

BOOL

Campo valori: FALSE, TRUE.

Valore predefinito: FALSE.

TRUE: dopo l'impostazione della posizione di origine, il movimento continua fino alla posizione zero 0 a HighVelocity (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.