marcob1984 Inserito: 23 maggio 2016 Segnala 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
Lupin Inserita: 23 maggio 2016 Segnala 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
marcob1984 Inserita: 23 maggio 2016 Autore Segnala 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?
Lupin Inserita: 23 maggio 2016 Segnala 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.
marcob1984 Inserita: 23 maggio 2016 Autore Segnala 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?
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