Vai al contenuto

IlFincoITA

CONTATORE VELOCE - RILEVARE SE STA CONTANDO

Recommended Posts

IlFincoITA

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? 

Condividi questa discussione


Link discussione
Condividi su altri siti
alessandropa

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

Condividi questa discussione


Link discussione
Condividi su altri siti
leleviola

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

Condividi questa discussione


Link discussione
Condividi su altri siti
acquaman

Imposta il contatore veloce per calcolare la velocità, se è 0 non si muove.

Condividi questa discussione


Link discussione
Condividi su altri siti
step-80

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.

 

Condividi questa discussione


Link discussione
Condividi su altri siti
leleviola
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...

Condividi questa discussione


Link discussione
Condividi su altri siti
IlFincoITA

Ciao! Grazie delle idee... ma quindi usando ad esempio la funzione CTRL_HSC_EXT che dovrebbe riguardare direttamente i contatori veloci della CPU?

Condividi questa discussione


Link discussione
Condividi su altri siti
step-80

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. 


Messaggio editato da step-80

Condividi questa discussione


Link discussione
Condividi su altri siti
acquaman

Devi parametrizzare il tuo ingresso veloce per restituirti la frequenza, che non è altro che la velocità.

Condividi questa discussione


Link discussione
Condividi su altri siti
IlFincoITA

Grazie a tutti e grazie acquaman... in effetti è bastato configurare correttamente il contatore veloce per avere quello che mi serviva.

Condividi questa discussione


Link discussione
Condividi su altri siti
batta

Mi associo ad Acquaman. È la soluzione più semplice e più razionale.

Condividi questa discussione


Link discussione
Condividi su altri siti

Registrati o accedi per inserire messaggi

Devi essere un utente registrato per lasciare un messaggio. La registrazione è GRATUITA.

Crea un account

Iscriviti alla nostra comunità. È facile!

Registra un nuovo account

Connettiti

Hai già un account? Connettiti qui

Connettiti adesso

×