Questo blocco funzione attiva l'accoppiamento di un asse master e un asse slave con un fattore di trasmissione dato tra velocità dell'asse master e dell'asse slave.
L'asse slave segue in modo sincrono il movimento dell'asse master (sincronismo della velocità).
Gli ingressi RatioNumerator e RatioDenominator consentono di impostare un rapporto di trasmissione specifico dell'utente per il movimento dell'asse slave.
Nome della libreria e spazio dei nomi
Nome della libreria: PLCopen MC part 1
Spazio dei nomi: PLCO
Ingresso |
Tipo di dati |
Descrizione |
---|---|---|
Master |
Axis_Ref |
Riferimento all'asse per cui deve essere eseguito il blocco funzione. |
Slave |
Axis_Ref |
Riferimento all'asse per cui deve essere eseguito il blocco funzione. |
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. È possibile riavviare questo blocco funzione durante l'esecuzione. I valori di destinazione vengono sovrascritti dai nuovi valori nel momento in cui si verifica il fronte di salita. |
RatioNumerator |
INT |
Intervallo di valori: -2147483648...2147483647 Valore predefinito: 1 Numeratore del rapporto di trasmissione. NOTA: Il valore 0 non è valido. |
RatioDenominator |
UINT |
Campo valori: 1...2147489647 Valore predefinito: 1 Denominatore del rapporto di trasmissione. |
Acceleration Il valore su questo ingresso è utilizzato per raggiungere la velocità di destinazione specificata (accelerazione o decelerazione). |
LREAL |
Intervallo di valori: qualsiasi valore positivo LREAL Valore predefinito: 0 Accelerazione in unità definite dall'utente. |
Uscita |
Tipo di dati |
Descrizione |
---|---|---|
InGear |
BOOL |
Campo valori: FALSE, TRUE. Valore predefinito: FALSE. oTRUE: quando viene raggiunto il rapporto di trasmissione regolato. |
Busy |
BOOL |
Campo valori: FALSE, TRUE. Valore predefinito: FALSE. oFALSE: il blocco funzione non è in fase di esecuzione. oTRUE: il blocco funzione è in fase di esecuzione. |
CommandAborted |
BOOL |
Campo valori: FALSE, TRUE. Valore predefinito: FALSE. oFALSE: l'esecuzione non è stata interrotta. oTRUE: l'esecuzione è stata interrotta da un altro blocco funzione. |
Error |
BOOL |
Campo valori: FALSE, TRUE. Valore predefinito: FALSE. oFALSE: il blocco funzione è in esecuzione, nessun errore è stato rilevato durante l'esecuzione. oTRUE: è stato rilevato un errore nell'esecuzione del blocco funzione. |
ErrorID |
ET_Result |
Questa enumerazione fornisce informazioni diagnostiche. |
L'ingresso Acceleration deve essere impostato a un valore maggiore di 0 prima che venga eseguito il blocco funzione.
È possibile modificare il rapporto di trasmissione durante un movimento. Tuttavia, i nuovi valori vengono presi in considerazione solo con il successivo fronte di salita dell'ingresso Execute.
L'asse slave utilizza i valori di Acceleration e Jerk solo durante la prima fase di accelerazione. L'asse slave segue quindi l'asse master.
La libreria non fornisce un blocco funzione separato MC_GearOut. Un blocco funzione in esecuzione può essere sostituito da un altro blocco funzione.
ErrorId |
Causa |
Correttivo |
---|---|---|
AxisInErrorStop |
Impossibile eseguire il blocco funzione in quanto è stato rilevato un errore dell'asse e l'asse è nello stato operativo ErrorStop. |
Verificare che l'asse non sia nello stato operativo ErrorStop quando si cerca di avviare un nuovo blocco funzione. |
AxisInvalid |
Nessun asse è specificato per l'ingresso Axis oppure l'asse specificato non supporta la funzione richiesta. Per MC_Touchprobe e MC_AbortTrigger: l'asse specificato non supporta la cattura. |
Collegare l'asse per cui si deve eseguire il blocco funzione all'ingresso Axis. Per MC_Touchprobe e MC_AbortTrigger: utilizzare un asse che supporti la cattura. |
AxisIsDisabled |
Impossibile eseguire il blocco funzione in quanto l'asse è nello stato operativo Disabled. |
Verificare che l'asse non sia nello stato operativo Disabled quando si cerca di avviare un nuovo blocco funzione. |
AxisIsStopping |
Impossibile eseguire il blocco funzione in quanto un blocco funzione MC_Stop è attivo e l'asse è nello stato operativo Stopping. |
Verificare che l'asse non sia nello stato operativo Stopping quando si cerca di avviare un nuovo blocco funzione. |
IfMotionCommandNotSupported |
L'asse collegato non supporta tutte le funzioni richieste. |
Verificare che l'asse collegato implementi l'interfaccia IF_MotionCommand della libreria MotionInterface. |
InvalidRatioDenominator |
Il valore all'ingresso RatioDenominator è zero. |
Utilizzare un valore diverso da zero per il denominatore. |
InvalidRatioNumerator |
Il valore all'ingresso RatioNumerator è zero. |
Utilizzare un valore diverso da zero per il numeratore. |
MasterInvalid |
L'oggetto all'ingresso Master non è valido. |
Fornire un riferimento valido all'asse per cui il blocco funzione deve essere eseguito (oggetto dalla Struttura dispositivi, come un asse o un encoder). |
NoBusCommunication |
Il bus di campo non è nello stato Operational (Sercos: fase 4). |
Verificare che il bus di campo sia nello stato Operational (Sercos: fase 4) al fronte di salita dell'ingresso Execute e durante l'esecuzione. |
Ok |
messaggio di stato |
- |
OutOfMemory |
Memoria insufficiente per il comando di movimento. |
Ridurre la memoria richiesta dall'applicazione. |
UnexpectedReturnValue |
Valore restituito non determinabile dal sistema. |
Rivolgersi al rappresentante Schneider Electric. |