iAlexx Inserito: 26 dicembre 2020 Segnala Inserito: 26 dicembre 2020 Buongiorno, chissà se qualcuno riesce ad aiutarmi. Avrei la necessità di variare lo stato di un'uscita e mantenerlo fino a quando lo stato dell'ingresso varia. Sapete se esiste un comando dedicato ? Oppure se qualcuno ha qualche consiglio da darmi. Grazie
iAlexx Inserita: 26 dicembre 2020 Autore Segnala Inserita: 26 dicembre 2020 Il 26/12/2020 alle 14:58 , batta ha scritto: MiaUscita := MioIngresso; Expand Grazie, adesso vedo come usare ciò che mi hai consigliato
max.bocca Inserita: 26 dicembre 2020 Segnala Inserita: 26 dicembre 2020 Il 26/12/2020 alle 14:58 , batta ha scritto: MiaUscita := MioIngresso; Expand Spero che abbiamo capito male quello che intendeva, altrimenti è preoccupante...
batta Inserita: 26 dicembre 2020 Segnala Inserita: 26 dicembre 2020 Il 26/12/2020 alle 18:30 , max.bocca ha scritto: Spero che abbiamo capito male quello che intendeva, altrimenti è preoccupante... Expand Già. La domanda, almeno per me, è tutt'altro che chiara. Rileggendo, viene il dubbio che volesse fare un flip-flop, nel qual caso, l'argomento è stato trattato nel forum svariate volte. In testo strutturato, potrebbe essere fatto così: IF #mioIngresso AND NOT #memFronte THEN #miaUscita := NOT #miaUscita; END_IF; #memFronte := #mioIngresso;
iAlexx Inserita: 27 dicembre 2020 Autore Segnala Inserita: 27 dicembre 2020 Il 26/12/2020 alle 18:44 , batta ha scritto: Già. La domanda, almeno per me, è tutt'altro che chiara. Rileggendo, viene il dubbio che volesse fare un flip-flop, nel qual caso, l'argomento è stato trattato nel forum svariate volte. In testo strutturato, potrebbe essere fatto così: IF #mioIngresso AND NOT #memFronte THEN #miaUscita := NOT #miaUscita; END_IF; #memFronte := #mioIngresso; Expand Ciao, intendevo propio questo, il flip-flop. Ho anche fatto delle ricerche sul forum, senza trovare la risposta. Chiedo scusa se l’argomento era stato trattato e ringrazio per l’aiuto. In merito alla risposta di @max.bocca, sarà anche preoccupante la mia domanda, ma sono alle prime armi, e non so bene come muovermi 😉.
batta Inserita: 27 dicembre 2020 Segnala Inserita: 27 dicembre 2020 Visto che siamo nella sezione didattica, ecco un altro modo per ottenere lo stesso risultato, comodo soprattutto se il fronte di salite dell'ingresso è utilizzato anche in altre parti del programma: // Rileva fronte salita segnale ingresso #fronteIngresso := #mioIngresso AND NOT #memFronte; #memFronte := #mioIngresso; // Cambio stato uscita con fronte salita ingresso #miaUscita := #miaUscita XOR #fronteIngresso;
max.bocca Inserita: 27 dicembre 2020 Segnala Inserita: 27 dicembre 2020 Il 26/12/2020 alle 14:58 , batta ha scritto: MiaUscita := MioIngresso; Expand Spero che abbiamo capito male quello che intendeva, altrimenti è preoccupante...
max.bocca Inserita: 27 dicembre 2020 Segnala Inserita: 27 dicembre 2020 Il 27/12/2020 alle 03:45 , iAlexx ha scritto: in merito alla risposta di @max.bocca, sarà anche preoccupante la mia domanda, ma sono alle prime armi, e non so bene come muovermi 😉. Expand L'interessante e capire, poi le soluzioni si trovano... A volte due parole in più di spiegazione (non è telegramma che le parole costano) sono utili.
iAlexx Inserita: 27 dicembre 2020 Autore Segnala Inserita: 27 dicembre 2020 Il 27/12/2020 alle 13:26 , max.bocca ha scritto: L'interessante e capire, poi le soluzioni si trovano... A volte due parole in più di spiegazione (non è telegramma che le parole costano) sono utili. Expand Ciao, hai perfettamente ragione, e forse son stato troppo sintetico io nel porre la domanda. Grazie ovviamente per l’interessamento ! 😉👍🏼
iAlexx Inserita: 27 dicembre 2020 Autore Segnala Inserita: 27 dicembre 2020 Il 27/12/2020 alle 12:03 , batta ha scritto: Visto che siamo nella sezione didattica, ecco un altro modo per ottenere lo stesso risultato, comodo soprattutto se il fronte di salite dell'ingresso è utilizzato anche in altre parti del programma: // Rileva fronte salita segnale ingresso #fronteIngresso := #mioIngresso AND NOT #memFronte; #memFronte := #mioIngresso; // Cambio stato uscita con fronte salita ingresso #miaUscita := #miaUscita XOR #fronteIngresso; Expand Grazie provo anche questa soluzione, visto che con la precedente non avevo ottenuto il risultato previsto (sicuramente avrò sbagliato io qualche cosa). O meglio, funzionava ma, al cambiamento di stato in ingresso, l’uscita non sempre rimaneva alta e fissa, ma per tot volte rimaneva alta fissa, per altre tot volte appena l’ingresso andava basso anche l’uscita andava bassa. Scusa, per “fronte ingresso” e “mem fronte” intendi l’ingresso che sarebbe il reset circuitale del flip flop ? Grazie PS scusate se non ho usato il multi quote
batta Inserita: 27 dicembre 2020 Segnala Inserita: 27 dicembre 2020 "memFronte" è una variabile booleana (che NON deve essere nell'area "temp") dove viene memorizzato lo stato dell'ingresso per poter rilevare la variazione di stato dell'ingresso stesso. "fronteIngresso" è una variabile booleana che rimane alta per una scansione quando l'ingresso passa da FALSE a TRUE. Prova ad analizzare, riga per riga, quello che succede. Il 27/12/2020 alle 13:42 , iAlexx ha scritto: Grazie provo anche questa soluzione, visto che con la precedente non avevo ottenuto il risultato previsto (sicuramente avrò sbagliato io qualche cosa). Expand Sì, sicuramente hai sbagliato tu qualcosa. Per esempio, se hai dichiarato la variabile "memFronte" come variabile locale (temp), allora non funziona.
iAlexx Inserita: 27 dicembre 2020 Autore Segnala Inserita: 27 dicembre 2020 Il 27/12/2020 alle 16:19 , batta ha scritto: "memFronte" è una variabile booleana (che NON deve essere nell'area "temp") dove viene memorizzato lo stato dell'ingresso per poter rilevare la variazione di stato dell'ingresso stesso. "fronteIngresso" è una variabile booleana che rimane alta per una scansione quando l'ingresso passa da FALSE a TRUE. Prova ad analizzare, riga per riga, quello che succede. Sì, sicuramente hai sbagliato tu qualcosa. Per esempio, se hai dichiarato la variabile "memFronte" come variabile locale (temp), allora non funziona. Expand Io intanto ti ringrazio. Tutte e due le soluzioni funzionano perfettamente. Il mio errore era stato di non aver inserito come variabile "memFronte", una volta fatto tutto è filato liscio.
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora