Vai al contenuto
PLC Forum


Filtri Ingressi Digitali - siemens step 7


pierotermine

Messaggi consigliati

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.

Link al commento
Condividi su altri siti


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.

Link al commento
Condividi su altri siti

FattoreDiPotenza

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.

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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
Link al commento
Condividi su altri siti

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...