Vai al contenuto
PLC Forum


Conta impulsi velocità


Canaia

Messaggi consigliati

Buongiorno a tutti, sto cercando di capire come leggere degli impulsi da un sensore proximity, montato su di una ruota dentata.

Sto utilizzando un plc Eaton XV-300, programmato con XSOFT-CODESYS.

Ho notato che ha differenza di somachine non c'è una funzione già fatta.

Io ho provato a risolvere cosi :

Quote

PROGRAM RPM
VAR
 registro_impulsi: BYTE;
 inold_registro: INT;
 vel: INT;
 ton1: ton;
 ton2: ton;
 inold_vel: INT;
 reset_shot: BOOL;
 rps: REAL;
 shot: f_trig;
 rpm: INT;
 imp_vel: BOOL;

 RPM_generatore: INT;
END_VAR
 

imp_vel:=IMPULSO_VELOCITA;

//lettura rpm colea velocità bassa

registro_impulsi:=velocita_generatore;
ton1(in:=TRUE AND NOT ton2.Q,pt:=T#1S);
ton2(in:=ton1.Q,pt:=T#1mS);


IF registro_impulsi<> inold_registro THEN
 inold_registro:=registro_impulsi;
 
 vel:=1+vel;
 
END_IF

shot(CLK:= ton2.q, Q=> reset_shot);

IF  reset_shot THEN
 rps:=vel*0.1429;
 vel:=0;
END_IF

 

RPM_generatore:=rps*60;

 

Però con questo sistema riscontro dei problemi con la visualizzazione del valore, ovvero non è stabile.

Secondo voi c'è un modo per renderla stabile, per non vedere valori ballerini?

Link al commento
Condividi su altri siti


A èarte il fatto che la velocità potrebbe avere delle vriazioni di suo, la visualizzione più o meno stabile di pende da alcuni fattori:

  • La precisione e la costanza della base tempi di misura degli impulsi.
  • Il numero degli impulsi relativi alla velocità che si va a misurare.

 

Poi se si vuole rendere più stabile la lettura si possono usare medie; la più efficace è quella detta "finestra scorrevole" (slide window). QUesto tipo di media, a regime, permette di integrare i valori su di una base tempi lunga ed aggiornamenti rapidi.

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