Vai al contenuto
PLC Forum


Contatore Veloce Conta Doppio


spilotromichele

Messaggi consigliati

spilotromichele

Salve a tutti,sto realizzando un'applicazione con un s7 224xm con cui è previsto anche la totalizzazione dei metri cubi di acqua consumati. Per fare ciò sfrutto il segnale impulsivo ( 1l/pulse) fornitomi da un misuratore di portata, la frequenza di questo segnale può variare dai 4 hz ai 20hz e per questo e per essere più preciso utilizzo un contatore veloce che mi conta i litri che poi trasformerò in metricubi.Ho definito il contatore HC0 nel modo 0 e carico un valore di preimpostazione di 20 .Ogni volta che pv=pa attraverso la routine di interrupt carico il valore di HC0 in una vd, con cui mi calcolo la totalizzazione, e riavvio il contatore .Il programma esegue bene tutte le funzioni matematiche ma mi sono accorto che il contatore conta quasi il doppio gli impulsi presenti sull'ingresso I0.0.Infatti ho verificato questo anche mettendo in parallelo all'ingresso I0.0 un comunissimo piccolo totalizzatore elettronico da pannello e, abassando la portata dell'acqua in maniera da avere una frequenza impulsiva di 4 hz, ho contato direttamente sull'ingresso i0.0 senza passare dal contatore veloce .I conteggi sono stati esatti,il problema invece si presenta utilizzando il contatore veloce.Cosa ne pensate?

Link al commento
Condividi su altri siti


ciao,non conosco benessimo il plc s7200,ma in compenso conosco bene altri plc,

in molti contatori veloci e possibile settare il rapporto di conteggio,mi spiego meglio ad ogni impulso ricevuto puoi decidere se contare 1 o 2 o 4, in pratica è un moltiplicatore di conteggio,pertanto proverei se fossi in te a coptrollare che il settaggio del contatore HD0 sia corretto.

Seconda cosa verifica anche l'eventuale settaggio della task ad interrupt forse c'è qualche errore di settaggio anche li.

buon lavoro

ciao arnaldo

Link al commento
Condividi su altri siti

spilotromichele

Stasera a casa ho eseguito le seguenti prove:

ho inanzitutto scaricato nel plc solo la configurazione del contatore veloce senza interrupt e ho visualizzato nella tabella di stato il valore di hc0

ho collegato all'ingresso I0.0 un piccolo swicth ed ho iniziato a contare .

Ho notato subito che a volte il contatore contava due impulsi o tre ad ogni cambio di stato dell'interruttore.

Così ho messo giù due righe per creare una piccola uscita impulsiva di pochi hz ed ho collegato l'uscita del plc all'ingresso I0.0

(uscita a relè)

Il contatore a cominciato a contare all'impazzata 5 10 impulsi alla volta ad ogni cambio di stato di q0.0

Visto che l'uscita è di tipo a relè penso che il problema sia elettrico sull'ingresso o meglio sull' uscita impulsiva del misuratore

perchè, come riporta il manuale s7200, il contatore veloce non filtra l'ingresso come fa il plc quando vede un normale ingresso.

Domani ,nonostante il manuale del misuratore di portata dice che l'uscita impulsiva è optoisolata ,collegherò un mio optoisolatore tra il misuratore di portata e l'ingresso del plc.

Link al commento
Condividi su altri siti

Adelino Rossi
ho collegato all'ingresso I0.0 un piccolo swicth ed ho iniziato a contare

Penso che l'ingresso di un contattore specialmente se veloce dovrebbe essere provato con sensore di ingresso privo di rimbalzi, (tipo elettronico)

e con una velocità di commutazione, (ciclo di isteresi) idonea alla frequenza utilizzata.

Link al commento
Condividi su altri siti

ciao,penso di aver capito,

l'ingresso I0.1 lo colleghi all'ingresso del contatore, in questo caso sull'ingresso devi fare un fronte di salita,questo perche se usi l'ingresso in modalita normale il contatore conta per tutto il tempo che il contatto sta chiuso,questo è un gioco della scansione del plc,ogni volta che la scansione passa dal contatore e trova il contatto chiuso incrementa il contatore,se invece metti il fronte di salita sull'ingresso qunado la scansione passa sul contatore e vede che il contatto di conteggio e un fronte esegue il conteggio una sola volta,per poter incrementare ancora il conteggio l'ingresso deve passare dallo stato 1 allo stato 0 e ritornare ad 1, in questo modo la funzione di fronte si azzera e si ricarica.

usa sempre per contare attuatori elettronici ( cioe componenti che forniscono un'uscita a transistor ) sono piu affidabili e non forniscono rimbalzi di segnale come i contatti standard di un rele o microswich.

buon lavoro

saluti arnaldo

Link al commento
Condividi su altri siti

l'ingresso I0.1 lo colleghi all'ingresso del contatore, in questo caso sull'ingresso devi fare un fronte di salita,questo perche se usi l'ingresso in modalita normale il contatore conta per tutto il tempo che il contatto sta chiuso

Il contatore veloce già di suo conta solo i fronti.

Sicuramente il segnale che ti arriva dal totalizzatore è sporcato da segnali di rimbalzo. Spesso è possibile configurare gli ingressi veloci con un filtro (che, ovviamente, limita la frequenza massima di conteggio). Non so se questo è possibile sul 200.

In ogni caso, per contare impulsi con frequenza massima 20Hz, non ti serve il contatore veloce.

Link al commento
Condividi su altri siti

In genere il contatore veloce lo si usa per contare impulsi in quadratura di un ecoder. In questo caso la quadratura stessa effettua un ottimo filtro antirimbalzo.

Nel tuo caso, avendo il limite di frequenza di 20Hz (50ms) puoi usare un ingresso normale e realizzare un minimo di filtraggio software. Il modo più semplice potrebbe essere: riconoscere l'impulso dal fronte di salita e, al ciclo successivo, verificare che lo stato sia ancora alto. Se vuoi sganciarti dal tempo di ciclo campiona l'ingresso, leggendo direttamente la periferia, a tempi fissi (10ms p.e.) tramite l'interrupt del timer di sistema.

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