Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Trasduttori A Impulsi


Messaggi consigliati

Alberto Vergani
Inserito:

Ciao a tutti uso un s7-200 cpu 224 e ho la necessità di controllare un flusso tramite dei trasduttori a turbina che mandano una serie di impulsi al Plc.

Questi aumentano di frequenza se aumenta il flusso attraverso la turbina e diminuisco di frequenza nel caso contrario ovviamente. Ora cosa dovrei utilizzare per poter leggere e regolare il flusso in quella condotta usando questo tipo di trasduttori che mi danno quel tipo di ingresso nel PLC.

Come potrei fare?so che ci sono funzioni che leggono "treni di impulsi", mi sapete dire se è la strada giusta e quali avvertimenti o dritte potete darmi?

Grazie a tutti!


Inserita:

Secondo me, se vuoi regolare il flusso della turbina a tuo piacimento devi crearti un PID nel plc

Inserita:

Questi trasduttori leggono solo il flusso o lo regolano anche, e se leggono solo con cosa lo regoli il flusso?

Gabriele Corrieri
Inserita:

Ciao

per renderti conto della frequenza della turbina devi stabilire innanzitutto una scansione temporale (1-2-5-10 secondi o altro) e tramite un HSC contare gli impulsi, a fine scansione trasferisci il valore di HSC e lo resetti per farlo ripartire, la scansione temporale, manco a dirlo, devi farla con una interruzione a tempo, altrimenti ne deriveranno risultati alquanto poco precisi.

Ciao

Alberto Vergani
Inserita:

Questi trasduttori leggono il flusso e per controllarlo devo utilizzare quel valore di flusso per poter impostare un certo fattore di ricircolo dell'acqua che mi andrà a far diminuire il flusso in ingresso precedentemente letto, ma il flusso che ricircolo+il flusso in entrata daranno un flusso complessivo = al valore iniziale che poi verrà filtrato e poi si ripete il tutto, parte viene ricircolata e parte viene mandata ad un serbatoio di accumulo.

Inoltre l'operatore deve poter impostare un valore di flusso desiderato, e tramite quello che imposta l'operatore andrò a fare dei confronti con quello che viene letto in tempo reale e tramite una regolazione di 2 valvole viene fatto tutto.

Consigli?

Gabriele Corrieri
Inserita:

Ciao

poichè la cosa ritorna ogni tanto, ho deciso (tagliando le parti inutili) di trascrivere il MP che Alberto mi ha inviato

volevo chiederti come fare a stabilire quel tempo di scansione per dirgli di leggere il numero di impulsi iin quel lasso. Purtroppo sono nuovo di programmazione e sto imparando a programmare il PLC passo passo con lo sviluppo della macchina che stiamo costruendo e ripeto purtroppo è la prima che implementa il PLC, quindi mi rendo conto della scocciatura che provoco nel continuare a chiedere cose, ma trattandosi di un campo nuovo per me mi trovo costretto a farlo...

Tornando al discorso della lettura degli impulsi, cosa intendevi? l'unica cosa che mi venga in mente sarebbe: far partire un interrupt al primo ciclo tramite un SM, nell'interrupt usare un temporizzatore che conti 2 sec (o meno) che si autoresetta e tiene attivo un HSC che in quei 2 secondi conta il numero di impulsi e trasferisce il valore in una VD che userò poi come confronto per aumentare o diminuire il flusso in ingresso. Penso che riducendo il tempo nel temporizzatore, si possa regolare in modo più fine perchè vede la variazione di frequenza in un lasso di tempo più breve.

Se non è di troppo disturbo ti chiederei di darmi delle dritte e consigli su questa cosa, e su come impostare i vari parametri del contatore.

Gabriele Corrieri
Inserita:

ed ora aggiungo la mia risposta

volevo chiederti come fare a stabilire quel tempo di scansione per dirgli di leggere il numero di impulsi iin quel lasso.
Innanzitutto si parte dalla turbina, siccome è lei che darà il ritmo a tutto devi indicare il range di frequenze che potrà dare in out la turbina, e di che tipo è: se un canale solo, due canali ... (mi espongo al ridicolo in quanto non ho mai utilizzato un dispositivo simile). Da quel dato si inizia a ragionare, altra cosa fondamentale è il tempo di regolazione, cioè il tempo in cui si riesce/ci si aspetta una correzione dell'errore di flusso.

Purtroppo sono nuovo di programmazione e sto imparando a programmare il PLC passo passo con lo sviluppo della macchina che stiamo costruendo e ripeto purtroppo è la prima che implementa il PLC, quindi mi rendo conto della scocciatura che provoco nel continuare a chiedere cose, ma trattandosi di un campo nuovo per me mi trovo costretto a farlo...

Quindici anni fa un professore di elettronica industriale mi ha insegnato una cosa fondamentale: prima ti fai uno schemino su carta poi inizi a costruire il tuo circuito: naturalmente con gli anni ho imparato a farmi una idea mentale, al posto della carta, ma per me, allora giovane studente, fu una lezione per la vita: mai partire a casaccio: prima pensare poi fare :)

Tornando al discorso della lettura degli impulsi, cosa intendevi? l'unica cosa che mi venga in mente sarebbe: far partire un interrupt al primo ciclo tramite un SM, nell'interrupt usare un temporizzatore che conti 2 sec (o meno) che si autoresetta e tiene attivo un HSC che in quei 2 secondi conta il numero di impulsi e trasferisce il valore in una VD che userò poi come confronto per aumentare o diminuire il flusso in ingresso. Penso che riducendo il tempo nel temporizzatore, si possa regolare in modo più fine perchè vede la variazione di frequenza in un lasso di tempo più breve.

Il discorso primo ciclo è ininfluente: tu devi creare un loop su tre elementi: l'interrupt a tempo che ti faccia una finestra temporale: per la larghezza guarda due righe sopra, che sia freewheeling ossia un qualcosa che giri come una ruota, su se stesso: ogni xx tempo deve leggere il valore di HSC (il secondo elemento), trasportarlo in una MW o VW, e resettare HSC (il trasporto e il reset di HSC sono il terzo elemento). Ogni xx tempo (la scansione temporale) avrai un valore nella tua word che ti indicherà il numero di impulsi contati in quell'arco temporale: a quel punto basta che con una semplice proporzione associ il numero di impulsi a una quantità di liquido transitato.

La prima cosa che ti invito a fare sono due azioni distinte: non pensare visto che sei alle prime armi di scrivere tutto il programma di getto: non funzionerà sicuramente (questo potrebbe succedere anche a me) e soprattutto avresti delle grosse difficoltà di debug. Parti a realizzare prima un interrupt a tempo freewheeling di un paio di secondi, siccome tale tempo non lo trovi di certo in SMB34/35, ti conviene fare una cosa "furba" un interrupt da 200mS (che non stressa troppo la CPU) e un prescaler da 1 a 10, ossia un counter che si attiva ogni 10 interrupt, avrai giustamente un tempo di 2 secondi, asincrono allo scan-time della CPU.

Secondo pezzo è la realizzazione di un contatore HSC con reset esterno (su un input libero o su un Merker bit), e prova a guardare la turbina e il tuo reset "a manina"

Il passo successivo è breve: basta che associ l'interupt freewheeling di tempo al trasferimento di HSC su una word e il reset di HSC stesso, che hai realizzato un "frequenzimetro" degno della migliore precisione.

Ciao

Inserita:

Il vostro discorso, è tanto interessante quanto complesso, sopratutto implementando il progetto in una cpu 200 che, per quanto versatile, ha alcune limitazioni sul software che possono complicare la programmazione, specie ad un programmatore alle prime armi.

Fatte le dovute premesse, sarei per consigliare ad Alberto l'utilizzo di un convertitore freqenza/tensione quì ce n'è uno che ho provato ed adoperato in più occasioni con risultati eccellenti, anche per il controllo di encoders, utilizzare il segnale 0-10V o 4-20 mA se si temono disturbi, per controllare, ritengo più semplicemente il flusso in ingresso e, con il dovuto algoritmo del caso, gestire l'uscita, sempre in analogico.

Inserita:

Consiglio anche io un trasduttore f/i in modo da avere 4/20 mA con il campo che vuoi, e poi lo gestisci a tuo piacimento.

Inserita:

Ciao a tutti, scusate se mi intrometto, sono d'accordo con la soluzione di Gabriele e aggiungo che un 224 si fa questo egregiamente e molto di più per la mia esperienza

Ciao rwhite

Inserita:

Con una 224 pui leggere e misurare la frequenza dgli impulsi e fare un regolazione senza eccessivi problemi. Io, a suo tempo, ho realizzato alberi elettrici con la 214 che era più lenta della 224

Inserita: (modificato)

Salve a tutti.

forse non sono stato chiaro nel mio post, percui vorrei precisare quanto detto; è evvidente che la cpu 200, per quanto meno potente della serie siemens 300 e 400, ( sappiamo tutti che è di derivazione Texas Instrument, utilizzata da Siemens come strumento per accedere al mercato USA ) è altamente versatile e che al di là di ogni ragionevole dubbio possibile convertire il segnale di frequenza d'ingresso in controllo, nella fattispecie, di un processo di regolazione di liquido, ma forse, per Alberto, dichiaratamente alle prime armi, in più con la responsabilità di doverlo fare nei soliti tempi ristretti di sviluppo di una macchina.

Purtroppo sono nuovo di programmazione e sto imparando a programmare il PLC passo passo con lo sviluppo della macchina che stiamo costruendo e ripeto purtroppo è la prima che implementa il PLC, quindi mi rendo conto della scocciatura che provoco nel continuare a chiedere cose, ma trattandosi di un campo nuovo per me mi trovo costretto a farlo...

E' per questo che mi sono sentito di consigliare l'utilizzo, tra l'altro piuttosto semplice, dell'ingresso analogico piuttosto che costruirsi un frequenzimetro col MicroWin.

Concordo pienamente, comunque, che la pratica è la migliore maestra di vita e che capite le cose in uno stato di necessità (bere o affogare), certamente non si dimenticano più!

Infine, nessuno nutriva dubbi che programmatori scafati del calibro di Gabriele e Livio, c'erano già passati e che avranno la soubroutine già pronta, ma che, pariteticamente ricorderanno i momenti in cui, alle prime armi, avevano bisogno di consigli veloci e sbrigativi per risolvere il problema. ;)

Modificato: da busanela
Gabriele Corrieri
Inserita:

Ciao

non intendo rapportarmi all'esperienza che ha Livio, sono ancora lontano e parecchio, e l'orizzonte ancora non si vede, però provare i due esperimenti che ho suggerito due giorni fa non porta via troppo tempo e soprattutto non richiede che tu acquisti un convertitore F/V o F/I che ha comunque la pecca di una doppia conversione (da digitale ad analogico e nuovamente digitale nel modulo PLC) e un ritardo di tempo che, nel peggiore dei casi ti crea instabilità fino ad avere o un PID lento per non essere instabile, o uno troppo nervoso che può produrre una regolazione poco bella (almeno a vedersi), soprattutto se hai una indicazione del flusso della turbina anche il più ignorante ti chiederà "... ma come mai quel numero lì balla così tanto?" Altra cosa oltre al convertitore hai il modulo analogico ... sicchè ti si potrebbe opinare (e ci starebbe) che quei soldi non serviva spenderli lì ...

Secondo me se Alberto piglia la cpu e prova quei due-tre passaggi e al limite chiede (lumi, non il codice pronto e cucinato, stile cookbook) sia io, Livio e tanti altri che masticano S7-200 meglio di me potremmo dargli le dritte necessarie: quando ho iniziato con HSC mi son preso un giorno per giocarci in lungo e in largo, ora più o meno so dove metterci manina anche senza il wizard ... penso che Alberto debba iniziare da questa via.

Ciao

Inserita:

"busanela" se non provi mai sarai sempre alle "prime armi" :) Comunque usare un HSC ed un timer con interrupt non è un'impresa sovrumana, è tutto spiegato chiaramente dal manuale e dall'help in linea. Penso che un principiante con una giornata di prove al massimo, diventi padrone della tecnica.

Per la regolazione invece può essere più difficile, ma il problema non è la programmazione è la tecnica di regolazione.

Inserita:

Ciao Livio,

è vero ciò che dici, l'ho sperimentato più volte in varie occasioni e l'ho detto pure io nella risposta alla discussione e che comunque non voleva avere un tono polemico riguardo i giusti consigli dati da te e Gabriele ad Alberto.

Concordo pienamente, comunque, che la pratica è la migliore maestra di vita e che capite le cose in uno stato di necessità (bere o affogare), certamente non si dimenticano più!

Volevo solo sottolineare la necessità di diventare "padrone della tecnica" come dici tu al di fuori dello stato di necessità imposto dall'incalzare (di solito è così) degli eventi nello sviluppo di prototipi o macchine per terzi, cioè fare le prove con cose che non si conoscono ancora alla perfezione, nel momento in cui si ha la tranquillità e la serenità d'animo di capire ed affrontare i vari intoppi senza nervosismi: molto spesso, "una giornata di prove" sono tempi difficilmente ben accetti da chi aspetta che il lavoro venga terminato.

Inserita:

"busanela" forse non sono riuscito a spiegare chiaramente il punto nodale.

Il vero problema, a mio giudizio, non è la misura della velocità degli impulsi, ma è la regolazione successiva. Se fai la conversione f-->v o f-->i, come hai suggerito, salti solo la parte più semplice del problema. la parte veramente difficoltosa ti rimane.

A questo punto tanto vale spendere un poco di tempo in più per imparare ad usare gli HSC. Tanto Alberto Vergani, che è comunque un principiante in tutto, dovrà spendere la maggior parte del tempo per mettere a punto la regolazione.

Inserita:

E' vero, messa così hai perfettamente ragione! Ciao e buon lavoro a tutti.

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