FB_Encoder_M262: abilitazione e monitoraggio encoder.

Descrizione del blocco funzione

Questo blocco funzione viene utilizzato per abilitare e monitorare l'encoder in modalità incrementale o SSI.

È possibile utilizzare solo un'istanza di questo blocco funzione che viene richiamata una sola volta.

Utilizzare le chiamate cicliche per aggiornare i valori.

Rappresentazione grafica

G-SE-0075058.2.gif-high.gif

 

 

Rappresentazione IL e ST

Per la rappresentazione generale in linguaggio IL o ST, fare riferimento al capitolo Rappresen­tazione di funzioni e blocchi funzione.

Descrizione delle variabili di I/O

Questa tabella descrive le variabili di ingresso:

L'ingresso

Tipo

Predefinito

Commenti

ENC_REF_M262

ENC_REF_M262

Riferimento dell’istanza encoder.

xEnable

BOOL

FALSE

TRUE abilita il blocco funzione.

Su un fronte di salita, vengono presi in considerazione i valori dei seguenti parametri di ridimensionamento:

oudiScaling_NbOfIncs

oudiScaling_NbOfUnits

oudiScaling_IncPerTurn

Se si modificano tali valori, attivare un fronte di salita su xEnable per prenderli in considerazione.

udiScaling_NbOfIncs

UDINT

0

0 indica che il ridimensionamento è disattivato. Il valore in unità utente diCurrentValue_Unit equivale al valori in impulsi diCurrentValue.

> 0  indica che il ridimensionamento è attivato . Il valore in unità utente è calcolato dal valore in impulsi diCurrentValue, ad esempio: diCurrentValue_Unit = diCurrentValue × (udiScalingNbOfUnits / udiScalingNbOfIncs).

udiScaling_NbOfUnits

UDINT

0

0 indica che il ridimensionamento è disattivato. Il valore in unità utente diCurrentValue_Unit equivale al valori in impulsi diCurrentValue. Se non vi è ridimensionamento, udiScalingNbOfUnits=udiScalingNbOfIncs.

 > 0  indica che il ridimensionamento è attivato . Il valore in unità utente è calcolato dal valore in impulsi diCurrentValue, ad esempio: diCurrentValue_Unit = diCurrentValue × (udiScalingNbOfUnits / udiScalingNbOfIncs).

udiScaling_IncPerTurn

UDINT

0

Quando uguale a 0, il tipo di asse ha una modalità lineare di contatore. L'intervallo di conteggio è: - 2 147 483 648...2 147 483 647.

Se il numero di incrementi è > 0, il tipo di asse ha una modalità rotatoria di contatore. Il valore udiSaling_IncPerTurn definisce il valore modulo del rollover del contatore (il valore modulo non viene mai raggiunto). L'intervallo di conteggio è: 0...diScaling_IncPerTurn  -1.

Questa tabella descrive le variabili di uscita:

Uscita

Tipo

Predefinito

Commento

xValid

BOOL

FALSE

TRUE indica che i valori di uscita sul blocco funzione sono validi. Se il blocco funzione è disattivato, l'uscita è impostata a FALSE .

xError

BOOL

FALSE

TRUE indica che è stato rilevato un errore.

etErrorId

ET_ENC_ERROR_M262

ENC_ERROR_NO

Indica il codice dell'errore rilevato quando xError è TRUE.

diNbTurns

DINT

0

Indica il valore modulo dell’encoder.

In modalità incrementale, viene incrementato quando il contatore supera il limite superiore. Viene decrementato quando il contatore supera il limite inferiore.

In modalità SSI diNbTurns = raw (valore SSI - valore preimpostato) / udiScaling_IncPerTurn

Il valore raw SSI  proviene direttamente da SSI senza alcuna trasformazione.

diCurrentValue

DINT

0

In modalità reale, indica il valore della posizione del dispositivo in impulsi. Il valore dell’intervallo è: - 2 147 483 648...2 147 483 647.

In modalità rotatoria, indica il valore della posizione in impulsi per ciascuna rotazione della meccanica. Il valore dell’intervallo per diCurrentValue è 0...diScaling_IncPerTurn - 1.

lrCurrentValue_Unit

LREAL

0

Indica il valore dell'encoder in unità di rotazione della meccanica. diCurrentValue_Unit = diCurrentValue / udiScaling_IncPerUnit quando udiScaling_IncPerUnit ≥ 1.