IlFincoITA Inserito: 17 gennaio 2019 Segnala Inserito: 17 gennaio 2019 Ciao! avrei bisogno di sapere se un contatore veloce, uno di quelli a bordo della CPU 1214C, sta incrementando il suo valore o no. In pratica per osservare se una ruota sta effettivamente girando. Avevo pensato a dei timer che vedono se il sensore è attivo o no in un certo tempo. Però dovrei rilevare se è ferma o no anche per tempi estremamente brevi. Da qui l'uso del contatore veloce che mi produce un gran numero di conteggi anche per spostamenti veramente minimi. Mi suggerireste come pensare ad una funzione per questo impiego?
alessandropa Inserita: 17 gennaio 2019 Segnala Inserita: 17 gennaio 2019 Potresti verificare, 1 sec o mezzo secondo dopo l'attivazione dell uscita del motore, se la variabile dove salvi il conteggio è cambiata o no se no sai che non ha girato
leleviola Inserita: 17 gennaio 2019 Segnala Inserita: 17 gennaio 2019 Dovrebbe bastare verificare ad ogni scansione di programma se il valore di conteggio è cambiato rispetto alla scansione precedente, basta che appoggi il valore in una variabile e alla scansione dopo verifichi il valore a cui lo hai appoggiato precedentemente, verifichi l'eventuale variazione e risposti il valore di conteggio nella medesima variabile, alla scansione dopo ripeti..... e così via all'infinito. Questo in maniera abbastanza banale, non so se però esiste comunque un registro diagnostico del PLC che certifica la variazione del contatore, di sicuro dovrebbe esserci un registro diagnostico che verifica la rotazione in avanti o indietro non so se c'è anche quello di verifica di movimento effettivo scansione per scansione di programma
acquaman Inserita: 17 gennaio 2019 Segnala Inserita: 17 gennaio 2019 Imposta il contatore veloce per calcolare la velocità, se è 0 non si muove.
step-80 Inserita: 17 gennaio 2019 Segnala Inserita: 17 gennaio 2019 Io farei cosi: IF FirstScan //Aggiorno variabile al primo ciclo per evitare che alla prima scansione con encoder fermo si verifichi comunque quanto descritto nell'IF seguente AppoggioValContatore := ValContatore; END_IF; //Eseguito ad ogni scansione IF ValContatore <> AppoggioValContatore Fai questo....ecc ELSE Fai quest'altro...ecc END_IF AppoggioValContatore := ValContatore; //aggiornamento variabile appoggio ma se hai la possibilità di fare come dice acquaman credo sia la soluzione migliore.
leleviola Inserita: 17 gennaio 2019 Segnala Inserita: 17 gennaio 2019 1 ora fa, step-80 scrisse: ma se hai la possibilità di fare come dice acquaman credo sia la soluzione migliore. Infatti mi pare sia la soluzione migliore, se la velocità è diversa da zero...
IlFincoITA Inserita: 17 gennaio 2019 Autore Segnala Inserita: 17 gennaio 2019 Ciao! Grazie delle idee... ma quindi usando ad esempio la funzione CTRL_HSC_EXT che dovrebbe riguardare direttamente i contatori veloci della CPU?
step-80 Inserita: 17 gennaio 2019 Segnala Inserita: 17 gennaio 2019 (modificato) Non conosco la funzione in questione, il mio esempio era generale...io per esempio uso spesso codice simile per eseguire in automatico istruzioni che invece richiederebbero un execute ...tipo l'operatore inserisce un dato di accelerazione di un asse diverso dal precedente ma per renderlo effettivo bisognerebbe lanciare un istruzione...ecco che allora dentro l'IF metto l'execute , in questo modo in automatico viene lanciato il blocco al variare del dato. Credo comunque che acquaman si riferisse alla configurazione del tuo contatore. Se lo configuri come 'conteggio frequenza', o qualcosa di simile, probabilmente dentro qualche word di stato ti butterà un dato relativo alla velocità alla quale il tuo encoder sta girando. Non conoscendo il plc in questione però, le mie sono soltanto ipotesi. Modificato: 17 gennaio 2019 da step-80
acquaman Inserita: 17 gennaio 2019 Segnala Inserita: 17 gennaio 2019 Devi parametrizzare il tuo ingresso veloce per restituirti la frequenza, che non è altro che la velocità.
IlFincoITA Inserita: 18 gennaio 2019 Autore Segnala Inserita: 18 gennaio 2019 Grazie a tutti e grazie acquaman... in effetti è bastato configurare correttamente il contatore veloce per avere quello che mi serviva.
batta Inserita: 18 gennaio 2019 Segnala Inserita: 18 gennaio 2019 Mi associo ad Acquaman. È la soluzione più semplice e più razionale.
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