noviltec Inserito: 27 agosto 2013 Segnala Share Inserito: 27 agosto 2013 Ho acquistato di recente uno starter Kit completo di un pannello operatore. Fino ad ora mi sono cimentato nella programmazione solo di piccoli plc come lo zelio ed il logo. Mi piacerebbe farmi qualche piccola applicazione di domotica per casa mia. Ho difficoltà a comprendere la logica di funzionamento di questo piccolo programma che ho realizzato. Vorrei far accendere e spegnere una luce con un pulsante. Ad ogni pressione del pulsante vorrei invertire lo stato della luce. In pratica il classico relè passo passo. Ho trovato qui sul forum, un esempio postato da Giuseppe Signorella, (mio amico e compaesano) Ho ricopiato l'esempio e l'ho diviso su due segmenti, perché vorrei implementare in futuro l'accensione e lo spegnimento della luce con altri eventi, ad esempio se inserisco l'allarme si spegne, se si mette a suonare la sirena si accende ecc. Solo che da quando ho diviso in due segmenti non mi funziona più e non riesco a comprenderne la motivazione. La luce si accende, ma poi non si spegne più. Eppure (credo) che come logica di funzionamento dovrebbe essere tutto Ok Qualcuno potrebbe spiegarmi il motivo? Allego stampa dei due segmenti. Link al commento Condividi su altri siti More sharing options...
ken Inserita: 27 agosto 2013 Segnala Share Inserita: 27 agosto 2013 1) perché m50.3 è usato 2 volte e non può essere 2) perché quando esegue il secondo segmento q0.1 sarà ad uno perciò si resetta subito Link al commento Condividi su altri siti More sharing options...
Roberto Gioachin Inserita: 27 agosto 2013 Segnala Share Inserita: 27 agosto 2013 Scusa ma non ti manca un segmento? dopo dei due che hai postato dovresti aggiungere un segmento di assegnazione dove la variabile %M50.4 attiva l'uscita %Q0.1 (Luce bagno). Poi vedrai che funziona. Roberto Non avevo visto che %M50.3 è usato due volte, sul secondo segmento metti un'altra memoria. Poi aggiungi il terzo segmento. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 27 agosto 2013 Segnala Share Inserita: 27 agosto 2013 Semplicissimo. Non funziona perché hai usato due volte il merker M50.3. Se vuoi separare i comandi su due segmenti devi creare un terzo segmento nel quale appoggi il fronte di salita del pulsante, e utilizzare poi questo merker nei segmenti successivi. Poi, il sistema che a me piace di più per fare un flip-flop è il seguente: Nel primo segmento potresti inserire un timer con funzione di filtro antirimbalzo (per esempio, tra il contatto per la rilevazione del fronte e la bobina, metti un timer ritardato alla diseccitazione con preset di 100 ms), e nel secondo segmento puoi aggiungere, rispettivamente in AND (serie) o in OR (parallelo) altri eventi per spegnere e accendere la luce. Link al commento Condividi su altri siti More sharing options...
noviltec Inserita: 27 agosto 2013 Autore Segnala Share Inserita: 27 agosto 2013 Grazie a tutti per le vostre risposte. Credo di aver compreso il perché non funziona, anche se qualche dubbio mi permane. Proverò anche l'esempio di Batta. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 28 agosto 2013 Segnala Share Inserita: 28 agosto 2013 Credo di aver compreso il perché non funziona, anche se qualche dubbio mi permane. Nella funzione P_TRIG (così come anche nel rilevamento del fronte fatto come nel mio esempio), il merker serve per rilevare, appunto, il fronte. Per fare questo in pratica memorizza lo stato precedente dell'ingresso. Nel tuo primo segmento quindi il fronte funziona, perché M50.3 "si ricorda" che l'ingresso I0.4 prima era OFF. Una volta eseguita la funzione, M50.3 memorizza lo stato dell'ingresso ON. Ecco che nel secondo segmento non rileva più il fronte, perché ha già rilevato lo stato ON di I0.4 nel segmento precedente. E quindi non c'è un fronte di salita dell'ingresso. Link al commento Condividi su altri siti More sharing options...
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