spilotromichele Inserito: 19 marzo 2008 Segnala Share Inserito: 19 marzo 2008 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 More sharing options...
azzolini Inserita: 19 marzo 2008 Segnala Share Inserita: 19 marzo 2008 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 lavorociao arnaldo Link al commento Condividi su altri siti More sharing options...
spilotromichele Inserita: 19 marzo 2008 Autore Segnala Share Inserita: 19 marzo 2008 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 hc0ho 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.0Visto che l'uscita è di tipo a relè penso che il problema sia elettrico sull'ingresso o meglio sull' uscita impulsiva del misuratoreperchè, 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 More sharing options...
Adelino Rossi Inserita: 19 marzo 2008 Segnala Share Inserita: 19 marzo 2008 ho collegato all'ingresso I0.0 un piccolo swicth ed ho iniziato a contarePenso 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 More sharing options...
azzolini Inserita: 20 marzo 2008 Segnala Share Inserita: 20 marzo 2008 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 lavorosaluti arnaldo Link al commento Condividi su altri siti More sharing options...
batta Inserita: 20 marzo 2008 Segnala Share Inserita: 20 marzo 2008 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 chiusoIl 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 More sharing options...
Livio Orsini Inserita: 21 marzo 2008 Segnala Share Inserita: 21 marzo 2008 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 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