Vai al contenuto

Help utilizzo FB RS con memoria ritentiva

Home Forum Programmazione IEC 61131 (LogicLab) Help utilizzo FB RS con memoria ritentiva

Stai visualizzando 3 post - dal 1 a 3 (di 3 totali)
  • Autore
    Post
  • #35373
    Luca
    Partecipante

    Buongiorno sto utilizzando la semplice funzione RS ed ho un problema sulla ritentività dell’uscita in condizioni di mancata alimentazione.

    Più precisamente: all’uscita Q del blocco RS inserisco una variabile bool (auto) dichiarata Retain nelle variabili globali attivo il comando di set e la variabile passa a On tolgo e rimetto tensione e la variabile la ritrovo ad OFF.

    Ho pensato, allora dovrò mettere retain il blocco RS nelle variabili locali, ma l’unica opzione che mi da è Constant. Come posso fare ?

    #37674
    Sergio Bertana
    Amministratore del forum

    Ho realizzato un semplice programma (Vedi stampa) con il quale cerco di darti la spiegazione di cosa succede.

    Nel programma LDErrato, ho utilizzato il blocco funzione RS appoggiando l’uscita sulla variabile OFlag di tipo Retain, credo sia la stessa cosa che hai fatto tu. In questo caso non si ottiene quello che desideri, alla accensione la variabile è sempre in condizione di reset.

    All’interno del blocco funzione viene gestita una variabile locale che è poi copiata sulla sua uscita. Quindi alla accensione la variabile OFlag è attiva ma poi alla prima esecuzione del programma viene trasferito lo stato della uscita del blocco funzione RS (Che è resettato). Quindi in teoria si dovrebbe rendere Retain il blocco funzione, ma questo non è possibile.

    Per soluzionare il problema dai una occhiata al programma LDOk, viene utilizzato direttamente il Set ed il Reset sulla variabile OFlag che in questo caso mantiene il suo stato alla accensione. Allego anche il programma sorgente con cui puoi testare direttamente il funzionamento.

    #37679
    Luca
    Partecipante

    Ok grazie. Avevo usato il blocco RS perchè avevo l’esigenza che in condizioni di ingresso Set=1 e Reset=1 l’uscita rimanesse a zero.

    Facendolo con le bobine ho dovuto risolvere alla vecchia maniera e cioè mettere in parallelo all’uscita di reset un variabile BOOL e poi mettere questa variabile negata in serie al comando di set.

Stai visualizzando 3 post - dal 1 a 3 (di 3 totali)
  • Devi essere connesso per rispondere a questo topic.