Vai al contenuto
PLC Forum


Ingressi veloci o standard? 100Hz


marcob1984

Messaggi consigliati

Ciao a tutti.

Ho un quesito che mi assilla e vorrei un vostro consiglio: ho un motore che gira a 3450rpm. Sull'albero è montata una ruota con due denti a cui è applicato un sensore induttivo che mi da di conseguenza 6900 impulsi al minuto, pari a 115 impulsi al secondo e cioè 115Hz.

Il prossimity è collegato ad una scheda ingressi digitali (E0.0) di una CPU 315-2DP.

Secondo voi, inserendo il seguente codice in OB1 (tempo ciclo della CPU 5ms) riesco a conteggiare tutti gli impulsi o ne perdo per strada?

 

      L PEB0

      T EB0

      U     E      0.0
      FP    M     21.0
      =     M     21.1
      U     M     21.1
      SPB   m001
      SPA   m002
m001: L     MD     0
      L     1
      +D    
      T     MD     0
m002: NOP   0

 

 

Oppure mi conviene usare una scheda di ingressi veloci?

Non posso testare il codice sul motore da 3450rpm. L'ho testato però su un motore da 900rpm (quindi molto più lento) e non ho perso nessun impulso.

 

Grazie

Link al commento
Condividi su altri siti


Ciao marcob1984,

allora, in teoria campionando ad una frequenza almeno doppia della massima frequenza del segnale si potrebbe a realizzare senza scheda di conteggio veloce.

Due cose, a mio avviso, sono però necessarie:

1 - Eseguire il tuo codice in una OB di interrupt (OB35 ad esempio) con un tempo di 4 ms. (Facile)

2 - La camma che viene letta dal proximity deve essere di 180° sull'albero, altrimenti il segnale durerebbe troppo poco per l'input digitale. (Più difficile perché devi convincere il meccanico a fare delle modifiche :) )

Se il punto 2 non è realizzabile direi di andare su una scheda di conteggio veloce. Se usi ET200S ti consiglio la 6ES7 138-4DA00-0AB0 C ci sono dei template sul support Siemens.

Saluti

 

 

Link al commento
Condividi su altri siti

Grazie Lupin,

la camma montata sull'albero ha due denti 180° uno dall'altro :smile:

Quote

allora, in teoria campionando ad una frequenza almeno doppia della massima frequenza del segnale si potrebbe a realizzare senza scheda di conteggio veloce

Intendi che impostando a 4ms il richiamo di OB35 mi "garantisce" la lettura che viene fatta dal prossimity (circa 1 impulso ogni 8,5 ms)?

Chiariscimi il dubbio sull'OB35. Se leggo direttamente gli ingressi con L PEB0, farlo da OB1 o da OB35 cosa cambia? Il rischio è quello che se il tempo ciclo passa da 5 a 15ms potrebbe variare il conteggio?

Link al commento
Condividi su altri siti

Ciao,

esatto, eseguendo il codice a 4 ms, quindi una base tempi certa, garantisci che il "refresh" dell'input ( o meglio del byte contenente l'input) come hai giustamente fatto L PEB 0   T EB 0   avvenga almeno 2 volte nel tempo minimo 8.5 ms. 

 

Link al commento
Condividi su altri siti

Grazie ancora Lupin, avevo intuito correttamente insomma. Tenterò la strada per il risparmio quindi. Dovrei farcela.

Visto che hai citato la scheda ingressi veloci ti rimando a quest'altra discussione che ho aperto la settimana scorsa, a cui non ho ricevuto risposta ancora e che è legata allo stesso problema: 

Ho in casa una 6es7 138-4da04-0ab0. La uso in measurement mode  (alla fine della fiera mi interessa calcolare gli rpm del motore). Riesci darmi una dritta?

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