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.
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:
|
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
|
Direction |
Valore predefinito: PositiveDirection Direzione del movimento al punto di origine. Valori possibili:
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 |
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:
|
|
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. |
Uscita |
Tipo di dati |
Descrizione |
---|---|---|
Done |
BOOL |
Campo valori: FALSE, TRUE. Valore predefinito: FALSE.
|
Active |
BOOL |
Campo valori: FALSE, TRUE. Valore predefinito: FALSE.
|
CommandAborted |
BOOL |
Campo valori: FALSE, TRUE. Valore predefinito: FALSE.
|
Error |
BOOL |
Campo valori: FALSE, TRUE. Valore predefinito: FALSE.
|
ErrorID |
Questa enumerazione fornisce informazioni diagnostiche. |