Vai al contenuto
PLC Forum


Filtri Ingressi Digitali - siemens step 7


Messaggi consigliati

Inserito:

Salve,

ho la necessità di filtrare gli ingressi digitali su step 7, ho trovato la funzione su blocco di sistema --> ingressi digitali, e da li si settano i millisecondi di delay.

Il mio problema è che dovrei filtrare gli ingressi aggiuntivi del modulo em223, e su quella schermata mi ritrovo soltanto gli "I0-15" cioè solo quelli integrati nel modulo della cpu.

Esiste un modo per poterlo tenere sotto controllo?

Vi ringrazio anticipatamente

Piero.


Inserita:

Se devi fare un debouncing (antirimbalzo) c'è un modo abbastanza semplice. Leggi direttamente gli ingressi agni tot tempo, tramite un interrupt in OB35. Consideri valido lo stato dell'ingresso quando è uguale per almeno due letture consecutive.

Il tempo dell'interrupt non impostarlo <10 ms.

Se il ciclo di programma è abbastanza veloce puoi farlo anche a programma ed usare il valore dei registri immagine.

Oppure puoi richiamare la funzione più volte in OB1, però leggendo direttamente la periferia.

Il primo metodo èquello che assicura i tempi costanti.

FattoreDiPotenza
Inserita:

PieroTermine , si è dimenticato di dire che tipo di CPU usa.

Cosa non da poco , in quanto la EM223 è un modulo di ampliamento ingressi digitali per S7-200 , ma omettendo questo dettaglio hai indotto Livio a pensare che si trattasse di unS7-300.

Il consiglio Livio rimane valido , almeno per quello che concerne l'anti-rebound.

Non và bene la questione dell'interurpt a tempo solo nella questione formale dell'OB35 che non esiste nel 200.

Si usa un procedura anddirittura più semplice.

Ora appurato che si tratti di una S7-200 , confermo che il filtraggio degli ingressi di apliamento non è impostabile dalle proprietà della CPU , quindi bisogna agire tramite programmazione.

Non hai inoltre detto che tipo di filtraggio intendi eseguire.

Il filtraggio antirimbalzo , per cui devi leggere il primo fronte del primo segnale che ti arriva ignorando i successivi picchi , oppure attendere che l'ingresso si sia stabilizzato dopo un tempo di sicurezza?Quindi filtraggio contro eventuali disturbi.

Inserita:

Vi ringrazio per avermi risposto e nello stesso tempo mi scuso per la dimenticanza.

Si tratta di un s7200 cpu 224. Modulo di espansione em 223.

Grazie ancora

Piero

Inserita:

Rianalizzando il problema, mi servirebbe il filtraggio contro eventuali disturbi.

Grazie

Piero

Inserita: (modificato)

Non avevo letto la sigla del modulo di espansione. Comunque anche nel caso del 200 la tecnica non muta. Solo che cambia il modo di generare l'interrupt a tempo.

..per cui devi leggere il primo fronte del primo segnale che ti arriva ignorando i successivi picchi ..

In questo caso basta usare l'apposita istruzione per rivelare i fronti di transizione e fa partire un temporizzatore, fino alla scadenza del tempo saranno ignorate tutte le variazioni di stato legate a quell'ingresso. Però prendere un fronte è sempre rischioso, non si sa se è un segnale o un disturbo.

Modificato: da Livio Orsini

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...