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.
Ingresso |
Tipo di dati |
Descrizione |
---|---|---|
Axis |
Axis_Ref |
Riferimento all'asse per cui deve essere eseguito il blocco funzione. |
Trigger |
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:
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:
|
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
|
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. |
|
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. |
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. |