marcob1984 Inserito: 23 maggio 2016 Segnala Share Inserito: 23 maggio 2016 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 More sharing options...
Lupin Inserita: 23 maggio 2016 Segnala Share Inserita: 23 maggio 2016 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 More sharing options...
marcob1984 Inserita: 23 maggio 2016 Autore Segnala Share Inserita: 23 maggio 2016 Grazie Lupin, la camma montata sull'albero ha due denti 180° uno dall'altro 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 More sharing options...
Lupin Inserita: 23 maggio 2016 Segnala Share Inserita: 23 maggio 2016 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 More sharing options...
marcob1984 Inserita: 23 maggio 2016 Autore Segnala Share Inserita: 23 maggio 2016 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 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