Wait Front Panel Activity

Evitare il polling senza ricorrere a event structure, con il wait panel activity.

Solitamente le interfacce utente sono gestite mediante polling (richiesta continua dello stato delle azioni dei controlli sull’interfaccia) controllate dai WAIT(ms) e WAIT UNTIL NEXT ms MULTIPLE.

Abbiamo visto come utilizzando le OCCURRENCE e la EVENT STRUCTURE si possa limitare le iterazioni solo a quelle effettivamente richieste dagli eventi.

Il Wait For Front Panel Activity Function aiuta a limitare il codice in quanto si comporta esattamente come le OCCURRENCE in occasione di un evento del pannello di controllo.

Possiamo usarlo come proposto nell’help di LV nelle finestre di LOGIN o Moduli di raccolta dati che devono attendere la compilazione dei campi prima di eseguire il codice o di terminare la finestra.

Prima si usava mettere tempi di aggiornamento sui 200ms, ma comunque i controlli sulla finestra vengono ridisegnati continuamente inutilmente.

Con questa tecnica si evita lo spreco di risorse CPU e si rende l’applicazione più efficiente.

Con GENERATE FRONT PANEL ACTIVITY si può generare l’evento programmaticamente.

Nell’ esempio sotto, la string “login” è settata come “update value while typing”, ogni carattere inserito esegue un iterazione, perchè è un attività sul pannello, altrimanti rimane in attesa di un evento senza eseguire loop.

Quando la string login contiene la parola “password” viene terminato il while loop.

Picture of Nicola Bavarone
Nicola Bavarone
Ciao, sono Nicola Bavarone, LabVIEW enthusiast da quando circolava la versione 5.1. Sono certificato CLA e CPI, e da oltre 20 anni lavoro nel mondo dei test e misura, prima come responsabile di laboratorio, oggi come fondatore di Bytelabs e ByteQX. Insieme al mio team aiuto aziende e professionisti a costruire soluzioni robuste, integrate e su misura per i loro processi.

Altri articoli dal nostro Blog

La Multicolumn Listbox in LabVIEW è uno strumento efficace per
In LabVIEW, l’adozione di pattern architetturali (come State Machine, Producer/Consumer,

Mettiti in contatto