Funzione Quotient & Remainder in LabVIEW: più utile di quanto sembri

Quotient and Remainder LabVIEW swiss knife

La funzione Quotient & Remainder in LabVIEW è fondamentale in molti casi in cui serve ripetere azioni a intervalli regolari, gestire indici ciclici, o organizzare i dati in gruppi.

Un esempio pratico è quando si vuole eseguire un’azione ogni “n” cicli di un loop: si può usare il resto della divisione per contare fino a n e poi riavvolgersi a 0.

Ne abbiamo visto un caso d’uso nell’articolo sulle tabelle a righe alterne o zebra striped.

Che cos’è Quotient & Remainder?

È una funzione aritmetica che prende in input due numeri, x e y, e restituisce:

  • Quoziente: la divisione intera x ÷ y, troncata.
  • Resto: il valore che “avanza” dalla divisione.
Quoziente = int(x / y) Resto = x mod y

In LabVIEW è disponibile come nodo singolo, semplice da usare e facilmente integrabile in loop o algoritmi.

Perché è così utile?

Perché ogni volta che si lavora con periodicità, indici, buffer, cicli o rotazioni, c’è di mezzo una divisione intera. E quando serve sapere “a che punto siamo” dentro un ciclo, il modulo diventa fondamentale.

Vediamo alcuni casi reali in cui Quotient & Remainder fa la differenza.

1. Lettura Encoder: Giri e Angolo

Hai un encoder da 1024 PPR (impulsi per giro)? Vuoi sapere:

  • quanti giri ha fatto (quoziente),
  • qual è l’angolo residuo (resto)?

Ecco come fare:

[Totale impulsi encoder] ─────> Quotient & Remainder ├──> Giri completati (Quoziente) └──> Resto impulsi → ( / PPR ) * 360 = Angolo 

2. Timer ciclico: azione ogni N iterazioni

Vuoi eseguire un’azione ogni 10 loop?

[Loop Counter] mod 10 == 0 → Esegui 

Pratico per:

  • logging periodico
  • aggiornamento UI
  • check condizionali a bassa frequenza

3. Gestione Buffer Circolari

Hai un buffer di 256 elementi? Devi ciclare gli indici da 0 a 255 in loop?

indice = counter mod 256 

Evita errori, overflow e semplifica la logica.

Buffer circolare Lossy Enqueue

4. Sequenze PWM e logica temporale

Vuoi simulare un PWM con duty cycle?

Funziona anche per pattern digitali, blinking, cicli on/off.

5. Distribuzione task

Vuoi inviare task ciclicamente a 4 banchi di test?

I singoli task sono rientranti ogni istanza prende la sua coda


In questo caso il vi rientrante è un poannello grafico che si può lanciare dinamicamente e va in parallelo al codice.

Perfetto per bilanciamento round-robin o assegnazioni distribuite.

Picture of Nicola Bavarone
Nicola Bavarone
Appassionato di LabVIEW CLA CPI

Altri articoli dal nostro Blog

L’alternanza dei colori di sfondo nelle righe di una tabella

Mettiti in contatto