Tipi di dati specifici della libreria

 

Tipi di dati specifici della libreria

Tipo di dati Axis_Ref

Il tipo di dati Axis_Ref è un alias dell'interfaccia IF_Axis della libreria MotionInterface. Per informazioni dettagliate, vedere la libreria MotionInterface.

Tipo di dati MC_Buffer_Mode

Il tipo dati definisce il metodo per l'avvio di un movimento nuovo/nel buffer rispetto al movimento continuo.

Nome

Valore

Descrizione

Aborting

0

Il movimento continuo viene interrotto e il nuovo movimento viene eseguito immediatamente nel successivo ciclo in tempo reale possibile.

Buffered

1

Il movimento nuovo/nel buffer viene eseguito non appena il movimento continuo raggiunge lo stato fisso, corrispondente all'uscita del blocco funzione Done, InVelocity, InSync o EndOfCycle, in base al movimento continuo. Il job nel buffer si attiva immediatamente nel ciclo in tempo reale quando il job precedente raggiunge lo stato fisso. Non attende che le uscite diventino vere poi nel successivo ciclo del task dell'applicazione.

BlendingLow(1)

2

Il movimento nuovo/nel buffer viene eseguito non appena il movimento continuo termina, ma senza fermo nel mezzo. La transizione avviene con il valore delle due velocità più basso del movimento continuo e del movimento nuovo/nel buffer.

BlendingPrevious(1)

3

Il movimento nuovo/nel buffer viene eseguito non appena il movimento continuo termina, ma senza fermo nel mezzo. La transizione avviene con il valore di velocità del movimento continuo.

BlendingNext(1)

4

Il movimento nuovo/nel buffer viene eseguito non appena il movimento continuo termina, ma senza fermo nel mezzo. La transizione avviene con il valore di velocità del movimento nuovo/nel buffer.

BlendingHigh(1)

5

Il movimento nuovo/nel buffer viene eseguito non appena il movimento continuo termina, ma senza fermo nel mezzo. La transizione avviene con il valore delle due velocità più alto del movimento continuo e del movimento nuovo/nel buffer.

(1) Solo per blocchi funzione MC_MoveVelocity, MC_MoveAbsolute, MC_MoveAdditive e MC_MoveRelative.

La tabella seguente fornisce dettagli sul funzionamento del buffering (MC_BufferMode.Buffered) per diversi blocchi funzione:

Blocco funzione

Il movimento del blocco funzione può essere specificato come movimento bufferizzato

Il movimento del blocco funzione può essere seguito da un movimento bufferizzato

Condizione affinché il comando in buffer diventi attivo

MC_Power

No

No(1)

-

MC_MoveVelocity

InVelocity

MC_MoveAbsolute

Done

MC_MoveAdditive

Done

MC_MoveRelative

Done

MC_Home

Done

MC_Stop

No

Done e ingresso Execute impostati a FALSE

MC_Halt

Done

MC_CamIn

(1)

EndOfProfile indipendentemente dall'impostazione dell'ingresso Periodic a TRUE o FALSE

MC_GearIn

InGear

MC_PhasingAbsolute

No

-

MC_MoveSuperImposed

No

No

-

(1) Differisce dalle specifiche secondo PLCopen Motion Control Part 1, Version 2.0.

Il controller esegue il task dell'applicazione utente (in cui vengono chiamati i blocchi funzione di controllo movimento) in un task separato dal processo di movimento in tempo reale (in cui sono calcolati i valori di destinazione e riferimento ciclici, ad esempio). Per avviare un blocco funzione nello stesso ciclo Sercos in cui il blocco funzione attivo raggiunge lo stato fisso (Done, inVelocity, EndOfProfile, InGear), il blocco funzione deve essere bufferizzato in anticipo. Se si attiva l'avvio (Execute) del successivo blocco funzione tramite, ad esempio, il segnale EndOfProfile del blocco funzione precedente invece di inserirlo nel buffer, può verificarsi uno o più cicli di ritardo in cui nessun blocco funzione è attivo e l'asse rimane fermo. Per informazioni, vedere Concetto di task.

Tipo di dati MC_Direction

Il tipo di dati definisce la direzione di movimento.

Per MC_MoveVelocity  e MC_MoveRelative, la direzione del movimento si inverte (invertendo il segno della velocità o distanza). Ciò è indipendente dal tipo di asse (modulo o lineare).

Per MC_MoveAbsolute e la funzionalità di salita in rampa di MC_CamIn, l'ingresso di direzione specifica la direzione di approccio della posizione di destinazione assoluta. Per questi blocchi funzione, la direzione viene considerata solo per assi modulo. È ignorata per assi lineari (in quanto le posizioni assolute sugli assi lineari vengono raggiunte nella direzione possibile solo matematicamente).

Nome

Valore

Descrizione

PositiveDirection

0

Senso di movimento positivo

NegativeDirection

1

Senso di movimento negativo

ShortestWay(1)

2

La direzione di movimento dipende dalla distanza più breve alla posizione di destinazione risultante dalla direzione positiva o negativa del movimento.

(1) Solo per blocchi funzione MC_MoveAbsolute e MC_CamIn.

Tipo di dati MC_Master_Start_Mode

Nome

Valore

Descrizione

Absolute

0

La camma inizia alla coordinata X uguale alla posizione dell'asse master assoluta al momento di inizio.

Relative

1

La camma inizia alla coordinata X uguale alla X del primo punto camma, che si presume sia correlato alla posizione dell'asse master al momento di inizio.

NOTA: In PLCopen Motion Control Part 1, Version 2.0, vi è un tipo di dati MC_Start_Mode, oltre a due flag booleani MasterAbsolute e SlaveAbsolute. Per maggiore chiarezza, questa libreria implementa invece due tipi di dati MC_Master_Start_Mode (una combinazione di MC_Start_Mode e MasterAbsolute) e MC_Slave_Start_Mode (una combinazione di MC_Start_Mode e SlaveAbsolute). L'ultimo contiene inoltre la modalità RampIn.

Tipo di dati MC_Slave_Start_Mode

Nome

Valore

Descrizione

Relative

1

La camma inizia alla coordinata Y definita da f(X start), dove f() è la funzione camma e l'avvio X è determinato dalla modalità di avvio del master (MC_Master_Start_Mode). Tale Y è correlato alla posizione dell'asse slave corrente.

RampIn

2

Si presume che la posizione dell'asse slave assoluta sia uguale alla coordinata Y della camma, affinché la camma sia sincronizzata.

All'inizio, la camma si avvia come relativa allo slave, ossia f(X start) è correlato alla posizione assoluta dell'asse slave quando si avvia la camma. Viene quindi eseguito un movimento di salita in rampa che sposta l'asse dello slave per allinearsi al sistema di coordinate della posizione dell'asse con il sistema di coordinate di Y.

NOTA: In PLCopen Motion Control Part 1, Version 2.0, vi è un tipo di dati MC_Start_Mode, oltre a due flag booleani MasterAbsolute e SlaveAbsolute. Per maggiore chiarezza, questa libreria implementa invece due tipi di dati MC_Master_Start_Mode (una combinazione di MC_Start_Mode e MasterAbsolute) e MC_Slave_Start_Mode (una combinazione di MC_Start_Mode e SlaveAbsolute). L'ultimo contiene inoltre la modalità RampIn.

Tipo di dati MC_Trigger_Ref

MC_Trigger_Ref è un alias di DAL.IF_Trigger. Si tratta di un tipo di ingresso per MC_TouchProbe e MC_AbortTrigger per collegare i blocchi funzione ai corrispondenti ingressi TouchProbe, analogo a Axis_Ref.

L'interfaccia MC_Trigger_Ref/DAL.IF_Trigger fornisce una proprietà CaptureEdge di tipo UINT che può avere un valore da 0 a 2.

Nome

Valore

Descrizione

FallingEdge

0

Fronte di discesa

RisingEdge

1

Fronte di salita

BothEdges

2

Entrambi i fronti di salita e discesa