Vai al contenuto
PLC Forum


Contapezzi Al Minuto


Messaggi consigliati

Inserito:

Ciao ragazzi , sono nuovo in questo forum, e volevo sapere se qualcuno mi sa dire come posso crearmi un contatore che visualizzi in continuo le battute al minuto di una pressa. La pressa e comandata dal dal uscita Q 0.7 , quindi mi basterebbe eleborare gli impulsi di questa uscita , e visualizzarli nel panellino, m,a non so come elaborarli. Grazie a tutti voi.


Inserita:

Ciao gigi , l' S7 200 è interfacciata con un pannellino TP170 micro .

Gianmario Pedrani
Inserita:

be non hai detto quanti impulsi fa la tua pressa??? comunque puoi sommare il numero di impulsi per un tempo es ed ogni secondo vai a prendere il valore lo moltiblichi per 60 e resetti la somma cosi hai un aggiornamento degli impulsi ogni secondo..

Inserita:

A quale velocità lavora?

deve essere un dato di produzione o un'estemporanea ovvero adesso vado p.es a 10 battute /minuto e dopo 15 secondi vado a 23 battute al minuto,

questo per capire che soluzione adottare.

Inserita:

ciao ivan, secondo me potresti gestire la cosa con un counter che andrai ad incrementare ogni volta vedi il fronte di salita della tua out q0.7, e con un timer tarato su 60 sec. andrai fermare il conteggio del counter e a memorizzare il dato per poi visualizzarlo sul tp 170 una volta visualizzato il dato io resetterei il counter ma non il dato visualizzato, quest'ultimo lo cambierei solo se al ciclo del minuto successivo il numero di conteggi calcolati sono diversi da quelli che hai già in memoria.

questo solo per non continuare a vedere il tuo dato visualizzato cambiare repentinamente.

ciao e buon lavoro

Inserita:

ciao,

le battute al minuto variano da 7 a 15, mi mandate un programmino esempio per capire come procedere ?

grazie a tutti ciao

Inserita:

se nel funzionamento normale hai un range da 7 a 15 potresti eseguire un campionamento per la durata di 20 sec e portare a video il dato teorico (x3), se cosi risulta poco dinamico puoi dimezzare il tempo , l'alternativa inversa è contare il tempo tra l'intercalare di due battute e portare a video questo dato corretto di un fattore X.

Poi ci sono algoritmi più complessi.

Inserita:

Ciao gigi, scusa se mi aprofitto, potresti mettermi giù il programmino come pensavi tu ? Ti ringrazio.

Inserita:

ciao ivan,

vedo che sei mattiniero... oggi vedo se riesco a liberarmi dagli impegni, poi ci lavoro

Inserita:

Visto il tempo lungo (minimo 4 secondi) tra un ciclo e il successivo, conviene misurare il tempo ad ogni ciclo.

Inserita:

Ciao Gigi, volevo dirti che io sono abituato a lavorare in Kop, e scusa ancora se sto aproffitando di te.

Inserita: (modificato)

ciao ivan dai un'occhiata qui poi fammi sapere

post-212335-0-37883800-1409489831_thumb.

buon lavoro

Modificato: da gigidanesi
Inserita:

Essendo il numero di cicli molto basso, effettuare la lettura dei cicli ogni 60 secondi, oltre ad un aggiornamento molto lento del dato, introduce anche errori molto elevati.

Con questi tempi ciclo, sicuramente conviene leggere direttamente il tempo impiegato per ogni ciclo ed aggiornare subito la lettura.

Per il conteggio del tempo ciclo ci sono vari sistemi.

Se il programma è breve ed il tempo di scansione è limitato, si potrebbe misurare il tempo incrementando continuamente una variabile del tempo dell'ultima scansione (SMW22- Tempo_Ultimo_Ciclo in millisecondi).

Se invece il tempo di scansione rischia di introdurre errori troppo elevati, per la misura del tempo si può incrementare una variabile in un interrupt a tempo (impostato, per esempio, a 10ms).

In entrambi i casi, col fronte di salita del segnale di inizio ciclo, si legge il valore raggiunto dal conteggio (tempo trascorso), si effettuano i calcoli e si azzera il conteggio.

Con un interrupt a 10ms (ma si può scendere a 5), essendo la durata minima del nostro ciclo di 4000ms, l'errore massimo che si commette nella misura è di +/- 0,25%.

Penso ci si potrebbe accontentare.

Inserita:

Grazie Gigi , la prossima settimana sapro dirti come funziona.

Inserita:

Ciao plett ivan.

Se la versione della tua CPU lo prevede potresti usare le funzioni:

BGN_ITIME (Tempo di intervallo iniziale)

CAL_ITIME (Calcola tempo di intervallo)

Inserita:

temo che sarà un aggiornamento lento ed impreciso, ma vediamo in macchina che succede...

Inserita:

Quoto Monica.

Se sono supportate dalla tua cpu, con le istruzioni CAL_ITIME e BGN_ITIME richiamate in una routine di interrupt ti ritrovi ad unire estrema semplicità di programma ad elevata precisione.

  • 4 weeks later...
  • 4 weeks later...
Inserita:

Ciao Gigi, tutto ok , vi ringrazio tutti voi amici delo forum. Mille grazie.

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