Questa funzione serve ad eseguire il calcolo della differenza fra due grandezze intere, gestendo correttamente lo "scaravolto" dei dati ogni volta che il valore di un parametro entrante ha superato il range della grandezza utilizzata.
Sintassi |
real delta_enc16 (real actEnc, real oldEnc) |
---|---|
actEnc |
Contiene la prima grandezza (valore attuale). (formato int a 16 bit: range -32768-:-32767) |
oldEnc |
Contiene la grandezza da sottrarre alla prima (valore precedente). (formato int a 16 bit: range -32768-:-32767) |
Risultato |
Rende la differenza actEnc - oldEnc, modulata come se fosse una variabile di tipo intero a 16 bit. |
Validità |
Rule, Task. |
Note |
Esempio tipico di utilizzo della funzione è quello della costruzione di una quota reale in base alla lettura di un encoder incrementale.
Nel caso di encoder, se actEnc è la lettura attuale dell'encoder e oldEnc è la lettura effettuata nella precedente battuta di calcolo, la funzione restituisce il numero di bit cui l'encoder si è spostato nel periodo compreso fra le due letture.
Esempio di utilizzo:
|