Fronte di salita

Discussioni generali sulla programmazione in LabVIEW, domande, problemi e soluzioni.

Moderatore: ILVG mod

  • Advertisement

Fronte di salita

Messaggioda Michele06 » mar apr 21, 2020 8:22 pm

Salve a tutti.
Sto realizzando un progetto su labview che prevede la lettura del fronte di salita del classico pulsante boolean. Il problema è che non so da dove iniziare.Spero che qualcuno possa aiutarmi. Grazie in anticipo.
Michele06
Nuovo Utente
Nuovo Utente
 
Messaggi: 4
Iscritto il: mar apr 21, 2020 8:19 pm

Advertisement

Re: Fronte di salita

Messaggioda gepponline » mer apr 22, 2020 8:20 am

...ma ciao!
Diciamo che l'affermazione "non so da dove iniziare" lascia spazio ad interpretazioni.
1) Non sai come piazzare il pulsante
2) Non sai come si programma in labVIEW
3) Non sai come individuare il fronte di salita.

Cosa ci devi fare poi col fronte di salita?
Anche questo è importante per stabilire come sviluppare il programma.
Partiamo pero' d auna versioen classica e teniamo in considerazione ch eil tuo problema faccia parte della terza ipotesi.
Per prima cosa direi di inseire nel block diagram un ciclo while.
In questo ciclo while puoi fare due cose:
1) soluzione brutta brutta: confronti lo stato del terminale del pulsante con la sua variabile locale (che prende il valore all'iterazione successiva del ciclo), in quetso modo puoi vedere se ha cambiato valore
2) crei uno shift register (basta che vai sul bordo laterale del ciclo while e col tasto destro fai crate->shift register) gli shift register servono per passare un valore da un iterazione a quella successiva del ciclo in cui si trovano.
Prendi lo stato del pulsante e lo passi allo shift register a destra poi prendi quello di sinistra e lo confronti con lo stato del pulsante.

In tutti e due i casi ti trovi con un confronto che ti dice se il pulsante ha cambiato stato.
Questo risultato lo metti in AND con lo stato del pulsante. In questo modo nel momento in cui il pulsante cambierà di stato da false a true, avrai un confronto che ti dirà che TRUE(il pulsante ha cambiato stato) e subito dopo un altro TRUE che ti dirà che oltre ad aver cambiato stato, è passato da false a true.
all'iterazione successiva, il pulsante non avrà piu' cambiato stato, quindi il risultato delle operazioni booleane, restituirà false anche se il pulsante sarà ancora a true. idem se passasse a False.

Ti chiedevo cosa ci devi fare col fronte perchè questa cosa puo' essere anche fatta senza scrivere una riga di codice e cioè impostando la mechanical action del pulsante di tipo latch.
Questo tipo di azioen prevede che il pulsante mantenga il nuovo stato fintanto che non viene letto dal diagramma, dopodichè ritorna allo stato precedente, quindi viene letto una volta sola l'eventuale stato true.

Oppure ancora si potrebbe usare una event structure...
Ma vediamo se cosi' ti basta.
..ma ciao!
Immagine
Avatar utente
gepponline
Moderatore
 
Messaggi: 2148
Iscritto il: ven gen 28, 2005 11:27 am
Località: Monticello Brianza

Re: Fronte di salita

Messaggioda Michele06 » mer apr 22, 2020 11:06 am

Grazie mille per i chiarimenti. La tua supposizione è corretta, infatti ho bisogno di intercettare il fronte di salita del pulsante per accendere un led diverso ad ogni fronte di salita letto. Ho provato la tua soluzione con lo shift register e penso di aver risolto il problema. Ti allego l'immagine del block diagram, così puoi dirmi se ci sono degli errori oppure delle modifiche da fare.Immagine
Michele06
Nuovo Utente
Nuovo Utente
 
Messaggi: 4
Iscritto il: mar apr 21, 2020 8:19 pm

Re: Fronte di salita

Messaggioda Michele06 » mer apr 22, 2020 11:08 am

Se la foto non si vede ecco il link https://imgur.com/meLr737
Michele06
Nuovo Utente
Nuovo Utente
 
Messaggi: 4
Iscritto il: mar apr 21, 2020 8:19 pm

Re: Fronte di salita

Messaggioda gepponline » mer apr 22, 2020 11:58 am

Elimina le due variabili locali che hai creato e collegaci direttamente il filo del terminale del pulsante e sei a posto.
..ma ciao!
Immagine
Avatar utente
gepponline
Moderatore
 
Messaggi: 2148
Iscritto il: ven gen 28, 2005 11:27 am
Località: Monticello Brianza

Re: Fronte di salita

Messaggioda Michele06 » mer apr 22, 2020 12:15 pm

Perfetto grazie ancora
Michele06
Nuovo Utente
Nuovo Utente
 
Messaggi: 4
Iscritto il: mar apr 21, 2020 8:19 pm



  • Advertisement

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Google [Bot] e 7 ospiti

cron

Pannello di Controllo Utente

Login

Advertisement

Chi c’è in linea

In totale ci sono 8 utenti connessi :: 1 iscritto, 0 nascosti e 7 ospiti (basato sugli utenti attivi negli ultimi 5 minuti)
Record di utenti connessi: 119 registrato il dom mar 31, 2013 11:39 pm

Visitano il forum: Google [Bot] e 7 ospiti