Vai al contenuto
PLC Forum


Misurare tempo trascorso tra due eventi


Sadhu

Messaggi consigliati

Avrei bisogno di misurare il tempo di passaggio di un oggetto tra due sensori. Successivamente confrontare il tempo misurato con un tempo impostato di 10s. Se il tempo misurato è superiore a 10s accendere una lampadina rossa.

 

 Il PLC è Siemens 1200 e in linguaggio ladder. L'oggetto può muoversi in entrambi le direzioni - destra sinistra e vice versa.

 

Userei fronte-di-salita del primo sensore per dare inizio alla misura e fronte-di-discesa del secondo sensore per fermare la misura.  Quali funzioni di temo, Contatori   o altro mi servono per realizzare questo programma.

    

Link al commento
Condividi su altri siti


Giuseppe Signorella

Come suggerito da max.botta, al verificarsi del fronte di salita del primo sensore, leggi l'ora di sistema e la memorizzi in una variabile.

Al verificarsi del secondo fronte (salita o discesa è indifferente), dipende dalle tue esigenze, rileggi l'ora di sistema e la memorizzi su un'altra variabile.

Fai la differenza tra le due letture, ed ottieni il tempo che è intercorso tra le due letture. Se hai necessità di una buona precisione, gestirei il tutto con degli interrupt.

Devi ovviamente crearti una piccola logica per gestirti la direzione della provenienza dell'oggetto.

Ciao

Modificato: da Giuseppe Signorella
Link al commento
Condividi su altri siti

  • 3 weeks later...

Per adesso ho fatto cosi:

1. Letto il system clock due volte (RD_SYS_T)

2. Differenza di tempo con T_DIFF

3. Confontato la differenza con un valore fisso

 

 

image.thumb.png.7502fbe57a8bc3a8046bb05d75a96e2e.png

Link al commento
Condividi su altri siti

Se non ho capito male, a Sadhu, più che misurare il tempo intercorso tra due eventi, interessa controllare che questo tempo non superi i 10 secondi.
Basta un timer.
Il primo sensore fa partire il timer, il secondo sensore azzera il timer.
Se viene superato il valore di preset (10s), il timer attiva l'uscita.
Non vedo perché complicarsi la vita con lettura ora di sistema ed altro.

Link al commento
Condividi su altri siti

Batta hai perfettamente ragione  non avevo preso in considerazione di solo 10sec. Leggendo la richiesta ero partito per la tangente.  

Link al commento
Condividi su altri siti

ivan.bortolin

Io ho farei questa implementazione:

ovviamente la lampadina si accende solo durante il tempo che trascorre prima che il pezzo passi sulla seconda fotocellula. Se vuoi mantenerla accesa basta mettere un set-reset dopo il TON

kop_lampadina.jpg

Link al commento
Condividi su altri siti

ivan.bortolin
11 minuti fa, max.bocca scrisse:

Così si accende da quando supera il tempo fino al passaggio sulla fotocellule di uscita. 

Io lavorerei con i fronti sugli ingressi.

Infatti per questo ho scritto che sarebbe da mettere un Set-reset in cascata al TON, per mantenere la luce accesa fino a comando di reset, ma li dipende dall'esigenza della linea.

Per quanto riguarda il senso di marcia, metterei una variabile booleana (0 destra-sinistra 1 sinistra destra) : la metterei a monte del kop sopra ed in base a questa inverte gli ingressi del set-reset.

Modificato: da ivan.bortolin
Link al commento
Condividi su altri siti

il 13/5/2019 at 19:51 , batta scrisse:

Capita anche ai migliori, tranne a me che non sbaglio mai

Batta la qualità che più apprezzo in te è la modestia. 😂😂😂😂

Link al commento
Condividi su altri siti

  • 2 weeks later...

Per ore ho fatto in questo modo per il passaggio da sinistra a desta. Dovrei fare la stessa cosa anche per il passaggio da destra verso sinistra. 

In pratica l'oggetto parte da sinistra verso destra e deve arrivare entro un tempo minimo e non oltre un tempo massimo. Lo stesso per il ritorno.

Se son positivi entrambi i passaggi allora il risultato finale è positivo.

image.thumb.png.c012084b98d86ae4beeef9c02730e14e.png

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