Vai al contenuto
PLC Forum


Come ricavare la velocità di un motore tramite degli impulsi elettrici


manuelflorio01

Messaggi consigliati

manuelflorio01

Buongiorno a tutti,

devo ricavare sulla mia CPU 1500 la velocità di un motore, tramite un sensore (GP12) che manda un segnale digitale.

So che il rapporto della velocità è 400:750, di cui 400 sono gli impulsi al secondo e 750 sono i giri al minuto.

Si può fare? Ci vuole qualche modulo particolare?

Link al commento
Condividi su altri siti


dina_supertramp

Devi usare un ingresso HSC (High Speed Counter) , cioè un ingresso di conteggio veloce.
Qui trovi tutto: Esempi applicativi, manuali

S7-1200: Application Examples for High-Speed Counters (HSC) - ID: 109742346 - Industry Support Siemens

109754525_S71200_HSC_CalcVeloLength_DOC_V10_en.pdf (siemens.com)

Modificato: da dina_supertramp
Link al commento
Condividi su altri siti

manuelflorio01

 

46 minuti fa, dina_supertramp ha scritto:

Devi usare un ingresso HSC (High Speed Counter) , cioè un ingresso di conteggio veloce.
Qui trovi tutto: Esempi applicativi, manuali

S7-1200: Application Examples for High-Speed Counters (HSC) - ID: 109742346 - Industry Support Siemens

109754525_S71200_HSC_CalcVeloLength_DOC_V10_en.pdf (siemens.com)

Questa però è per s7 1200, per s7 1500 cambia qualcosa?

Link al commento
Condividi su altri siti

dina_supertramp

Il 1500 è più potente, quindi quello che fai con il 1200 sicuramente lo puoi fare con il 1500 ma poi il 1500 mette a disposizione ulteriori funzioni.
Cambia anche l'hardware, non so che modello di 1500 stai usando, in ogni caso ti servirà una scheda per ingressi veloci, sinceramente non ricordo se ci sono 1500 con gli HSC di bordo.

In ogni caso qui trovi il manuale delle funzioni di conteggio per S7-1500, se vuoi farlo tramite oggetti tecnologici messi a disposizione dal 1500.
Dovresti essere a posto con questo 😉

Conteggio, misura e rilevamento della posizione (siemens.com)

Ed in generale con una rapida ricerca google trovi manuali, video ed esempi che descrivono come usare gli ingressi veloci nei PLC Siemens,


PS
Ricavati il numero di impulsi a giro dai dati che hai (400PPS : 750RPM), è un dato che serve sempre...

Modificato: da dina_supertramp
Link al commento
Condividi su altri siti

4 ore fa, manuelflorio01 ha scritto:

So che il rapporto della velocità è 400:750

Sarebbe interessante sapere da dove hai preso questi numeri. Se fossero compresi tra 1 e 90, si potrebbero giocare al Lotto.
Sono numeri senza senso.

 

Scherzi a parte, quello che conta è quanti impulsi/giro ricevi.
Devi leggere gli impulsi con un contatore veloce.
Configurando il contatore veloce per la misura di frequenza leggi direttamente, appunto, la frequenza, che non è altro che il numero di impulsi in un secondo.
Per avere la velocità di rotazione in giri/minuto devi moltiplicare la frequenza per 60 (ed ottieni gli impulsi in un minuto) e dividere per il numero di impulsi/giro (ed ottieni i giri in un minuto).

Link al commento
Condividi su altri siti

400 impulsi per 750 giri , così a naso mi sembrano pochini... Sono poco più di 1,8 impulsi a giro...un numero anche strano.

Modificato: da drn5
Link al commento
Condividi su altri siti

manuelflorio01
36 minuti fa, Ctec ha scritto:

A me viene 750rpm = 12.5 giri/s, quindi 400/12.5 = 32 impulsi/giro.

esattamente, noi abbiamo un sensore installato su una ruota fonica di 32 denti, quindi ogni giro sono 32 impulsi.

 

14 ore fa, batta ha scritto:

Sarebbe interessante sapere da dove hai preso questi numeri. Se fossero compresi tra 1 e 90, si potrebbero giocare al Lotto.
Sono numeri senza senso.

 

Scherzi a parte, quello che conta è quanti impulsi/giro ricevi.
Devi leggere gli impulsi con un contatore veloce.
Configurando il contatore veloce per la misura di frequenza leggi direttamente, appunto, la frequenza, che non è altro che il numero di impulsi in un secondo.
Per avere la velocità di rotazione in giri/minuto devi moltiplicare la frequenza per 60 (ed ottieni gli impulsi in un minuto) e dividere per il numero di impulsi/giro (ed ottieni i giri in un minuto).

Questi numeri derivano dal manuale di installazione del sensore di velocità (GP12) della nostra centrale, cioè dice che la velocità sincrona corrisponde allo standard di 400 impulsi/s. essendo F il numero di denti ed n la velocità di rotazione della turbina in giri/min, si deduce la relazione    F=24000/n   (F=24000/750rpm)

Link al commento
Condividi su altri siti

2 ore fa, manuelflorio01 ha scritto:

esattamente, noi abbiamo un sensore installato su una ruota fonica di 32 denti, quindi ogni giro sono 32 impulsi.

Solo questo conta: 32 impulsi/giro.

2 ore fa, manuelflorio01 ha scritto:

Questi numeri derivano dal manuale di installazione del sensore di velocità (GP12) della nostra centrale, cioè dice che la velocità sincrona corrisponde allo standard di 400 impulsi/s.

Dipende sempre da quei 32 impulsi/giro: 750 / 60 * 32 = 400.

 

Ma quel 400 non ti serve a nulla.

Devi misurare la frequenza con un modulo di conteggio veloce, e poi la velocità di rotazione del motore in rpm sarà:
Vel.Motore = Frequenza * 60 / 32.

 

Che poi 60/32 si riduce a 15/8, e ancche 750/400 si riduce a 15/8.
Non so perché nel manuale abbiano voluto mettere il rapporto 750/400 che, a mio avviso, serve solo a confondere le idee.
 

Link al commento
Condividi su altri siti

manuelflorio01
11 minuti fa, batta ha scritto:

Devi misurare la frequenza con un modulo di conteggio veloce, e poi la velocità di rotazione del motore in rpm sarà:
Vel.Motore = Frequenza * 60 / 32.

 

Con S7-1500 come devo fare, perché cercando online vedo che tra s7-1200 e s7-1500 cambia qualcosa, come ad esempio il blocco CTRL_HSC che su s7-1500 non c'è.

 

E' possibile ricevere un esempio applicativo?

 

Link al commento
Condividi su altri siti

Si può sapere che Hardware hai, se hai un 1500 compatta gli ingressi veloci li hai a bordo, se hai una 1500 normale devi mettere una scheda apposta, se hai in una 1500sp hai bisogno di una scheda differente.

Link al commento
Condividi su altri siti

manuelflorio01
8 minuti fa, acquaman ha scritto:

Si può sapere che Hardware hai, se hai un 1500 compatta gli ingressi veloci li hai a bordo, se hai una 1500 normale devi mettere una scheda apposta, se hai in una 1500sp hai bisogno di una scheda differente.

chiedo scusa pensavo di averla già specificata, la CPU che sto implementando è una S7-1511C-PN, essendo un programma nuovo posso ancora cambiarla se non dovesse andare bene

Link al commento
Condividi su altri siti

dina_supertramp
1 ora fa, batta ha scritto:

Non so perché nel manuale abbiano voluto mettere il rapporto 750/400 che, a mio avviso, serve solo a confondere le idee.

La penso come te: scrivere 32 pulse/round era troppo chiaro, non gli piaceva…

 

Link al commento
Condividi su altri siti

2 ore fa, manuelflorio01 ha scritto:

Con S7-1500 come devo fare

Con la 1511C hai a disposizione 6 contatori veloci.

Per la misura di frequenza, in configurazione hardware, imposta il contatore veloce come segue:
- Selezione del modo di funzionamento: Funzionamento manuale (senza oggetto tecnologico)
- Selezione del tipo di funzionamento: Misura

- Specifica segnali di ingresso/tipo encoder: Impulso (A)
- Frequenza filtro: considerando che con motore a 3000 rpm la frequenza sarà di 1600 Hz, io imposterei il filtro a 10kHz.
- Specifica valori di misura - Grandezza di misura: Frequenza

Il tempo di aggiornamento dipende dalla frequenza che devi misurare. Per frequenze basse (come nel caso in questione, 1600 Hz con motore a 3000 rpm) meglio impostare tempi relativamente lunghi, direi almeno 100 ms.
Ricordati anche di modificare il filtro sull'ingresso che utilizzerai per il contatore veloce che, di default, è impostato a 3,2 ms. Per il tuo caso io suggerirei di impostare 0,1 ms.

 

In alternativa, puoi configurare il contatore veloce per "funzionamento con oggetto tecnologico Conteggio e Misura", inserire nel progetto l'oggetto tecnologico, collegarlo al HSC, e configurare dall'oggetto tecnologico tutti i parametri.
Anzi, questa è forse la strada più semplice, e anche quella consigliata nel manuale.

 

In entrambi i casi, puoi anche impostare come grandezza di misura "Velocità" al posto di "Frequenza".
Nel tuo caso, per avere la velocità direttamente in rpm senza fare ulteriori calcoli, dovresti impostare 60 secondi come base tempi per la misura di velocità, e 32 come Incremento per unità.


Per altre informazioni, al seguente link trovi tutti i manuali e tutta la documentazione che ti serve: Manuali


                             

Modificato: da batta
Link al commento
Condividi su altri siti

manuelflorio01
30 minuti fa, batta ha scritto:

Con la 1511C hai a disposizione 6 contatori veloci.

Per la misura di frequenza, in configurazione hardware, imposta il contatore veloce come segue:
- Selezione del modo di funzionamento: Funzionamento manuale (senza oggetto tecnologico)
- Selezione del tipo di funzionamento: Misura

- Specifica segnali di ingresso/tipo encoder: Impulso (A)
- Frequenza filtro: considerando che con motore a 3000 rpm la frequenza sarà di 1600 Hz, io imposterei il filtro a 10kHz.
- Specifica valori di misura - Grandezza di misura: Frequenza

Il tempo di aggiornamento dipende dalla frequenza che devi misurare. Per frequenze basse (come nel caso in questione, 1600 Hz con motore a 3000 rpm) meglio impostare tempi relativamente lunghi, direi almeno 100 ms.
Ricordati anche di modificare il filtro sull'ingresso che utilizzerai per il contatore veloce che, di default, è impostato a 3,2 ms. Per il tuo caso io suggerirei di impostare 0,1 ms.

 

In alternativa, puoi configurare il contatore veloce per "funzionamento con oggetto tecnologico Conteggio e Misura", inserire nel progetto l'oggetto tecnologico, collegarlo al HSC, e configurare dall'oggetto tecnologico tutti i parametri.
Anzi, questa è forse la strada più semplice, e anche quella consigliata nel manuale.

 

In entrambi i casi, puoi anche impostare come grandezza di misura "Velocità" al posto di "Frequenza".
Nel tuo caso, per avere la velocità direttamente in rpm senza fare ulteriori calcoli, dovresti impostare 60 secondi come base tempi per la misura di velocità, e 32 come Incremento per unità.


Per altre informazioni, al seguente link trovi tutti i manuali e tutta la documentazione che ti serve: Manuali


                             

vabene farò così, ma poi il dato della velocità dove lo prendo? su quale variabile va?

 

Link al commento
Condividi su altri siti

Livio Orsini
45 minuti fa, manuelflorio01 ha scritto:

ma poi il dato della velocità dove lo prendo? su quale variabile va?

 

Scusa ma il manuale non lo hai mai letto? Si trova tutto, ed anche abbastanza chiaro.

Link al commento
Condividi su altri siti

manuelflorio01
3 minuti fa, Livio Orsini ha scritto:

 

Scusa ma il manuale non lo hai mai letto? Si trova tutto, ed anche abbastanza chiaro.

Si Livio ho letto il manuale, ma non mi è chiaro come funzioni, non ho mai usato i contatori veloci quindi è una cosa nuova per me e mi sembra piuttosto difficile, appunto sto chiedendo sul forum. D'altronde i forum a questo servono per apprendere anche le conoscenze di chi è più esperto

Link al commento
Condividi su altri siti

Ora non ho voglia di consultare il manuale ma, a memoria, se usi il contatore con la "configurazione manuale" il valore misurato dovrebbe essere in una doppia word (non ricordo se in formato DInt o Real, credo in Real) nei primi 4 byte nell'area degli ingressi.

Se usi l'oggetto tecnologico, il valore misurato lo dovresti trovare in una variabile Real in "NomeOggettoTecnologico".MeasuredValue o qualcosa del genere.

 

Quote

D'altronde i forum a questo servono per apprendere anche le conoscenze di chi è più esperto

Sì, vero, ma più si va avanti con gli anni, e più mi rendo conto che la lettura dei manuali è una cosa oramai accantonata, tenuta come ultima risorsa.
Come detto, ora non ho voglia di mettermi a leggere il manuale, ma sono convinto che queste informazioni sul manuale si trovano senza tanta fatica.

Modificato: da batta
Link al commento
Condividi su altri siti

manuelflorio01
11 minuti fa, batta ha scritto:

Ora non ho voglia di consultare il manuale ma, a memoria, se usi il contatore con la "configurazione manuale" il valore misurato dovrebbe essere in una doppia word (non ricordo se in formato DInt o Real, credo in Real) nei primi 4 byte nell'area degli ingressi.

Se usi l'oggetto tecnologico, il valore misurato lo dovresti trovare in una variabile Real in "NomeOggettoTecnologico".MeasuredValue o qualcosa del genere.

 

Sì, vero, ma più si va avanti con gli anni, e più mi rendo conto che la lettura dei manuali è una cosa oramai accantonata, tenuta come ultima risorsa.
Come detto, ora non ho voglia di mettermi a leggere il manuale, ma sono convinto che queste informazioni sul manuale si trovano senza tanta fatica.

Va bene grazie per l'informazione, gentilissimo

Link al commento
Condividi su altri siti

Livio Orsini
33 minuti fa, manuelflorio01 ha scritto:

D'altronde i forum a questo servono per apprendere anche le conoscenze di chi è più esperto

 

Certo, però la lettura o, meglio, lo studio dei manuali è fondamentale, costituisce la base della conoscenza.

Poi vengono i forum che ti permettono di approfondire e/o chiarire, ma senza la conoscenza di base rischi di incepparti alle prime difficoltà.

Come ha già scritto Batta sembra che la tendenza sia:"I amnuali non li leggo, tantoci sono i vari forum a cui chiedere". Una risposta di un forum, magari corredata da un esempio, può risolverti velocemente un problema, ma se ti mancano le basi, rimane solo uhna pezza ad un problema.

Link al commento
Condividi su altri siti

dina_supertramp
8 ore fa, manuelflorio01 ha scritto:

vabene farò così, ma poi il dato della velocità dove lo prendo? su quale variabile va?

 

Se usi la guida in linea del TIA (premi F1) trovi quasi al volo le informazioni che ti servono, soprattutto per oggetti tecnologici o funzioni di sistema.
Abituati ad usarla, quelle di Siemens sono delle ottime guide in linea, insieme al manuale ti da tutto quello che serve.
Per gli oggetti tecnologici ad esempio, se premi F1 sul blocco tecnologico richiamato ti apre al volo la guida con spiegati IN/OUT e relative funzioni, e poi ti indica i capitoli dove trovi per dettaglio la struttura dell'oggetto tecnologico o dell'FB di sistema.

Link al commento
Condividi su altri siti

  • 2 weeks later...
manuelflorio01

Buongiorno, dopo diverse prove di simulazione non sono riuscito ad avere un risultato, mi da sulla diagnostica dell'hsc questo errore 16#80C7 "Modulo assente o tensione di alimentazione mancante L+

I parametri impostati sono questi

Il 3/1/2024 alle 13:36 , batta ha scritto:


- Selezione del tipo di funzionamento: Misura

- Specifica segnali di ingresso/tipo encoder: Impulso (A)
- Frequenza filtro: considerando che con motore a 3000 rpm la frequenza sarà di 1600 Hz, io imposterei il filtro a 10kHz.
- Specifica valori di misura - Grandezza di misura: Frequenza

Il tempo di aggiornamento dipende dalla frequenza che devi misurare. Per frequenze basse (come nel caso in questione, 1600 Hz con motore a 3000 rpm) meglio impostare tempi relativamente lunghi, direi almeno 100 ms.
Ricordati anche di modificare il filtro sull'ingresso che utilizzerai per il contatore veloce che, di default, è impostato a 3,2 ms. Per il tuo caso io suggerirei di impostare 0,1 ms.

 

In alternativa, puoi configurare il contatore veloce per "funzionamento con oggetto tecnologico Conteggio e Misura", inserire nel progetto l'oggetto tecnologico, collegarlo al HSC, e configurare dall'oggetto tecnologico tutti i parametri.
Anzi, questa è forse la strada più semplice, e anche quella consigliata nel manuale.

 

 


                             

 

Link al commento
Condividi su altri siti

Visto che hai una 1511C con contatori integrati, il modulo non può essere assente. Rimane che ti manca alimentazione L+.

 

immagine.png.5a766a4ab76f8e10bde83958f3051590.png

Link al commento
Condividi su altri siti

manuelflorio01
2 minuti fa, batta ha scritto:

Visto che hai una 1511C con contatori integrati, il modulo non può essere assente. Rimane che ti manca alimentazione L+.

 

immagine.png.5a766a4ab76f8e10bde83958f3051590.png

Buongiorno batta, io però sto simulando un plc. Non avendo un plc fisico posso simulare la tensione di ingresso? O questa è una prova che posso fare solo all'istallazione?

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